summaryrefslogtreecommitdiffstats
path: root/js/app/services/persistence.coffee
diff options
context:
space:
mode:
authorBernhard Posselt <dev@bernhard-posselt.com>2013-12-20 22:54:32 +0100
committerBernhard Posselt <dev@bernhard-posselt.com>2013-12-20 22:54:32 +0100
commitb5553a83dbd593fa6c7b22e508c3b0fabe1ab9a3 (patch)
tree46dcda33fc6f943e45e51ce0e26719c2de844a16 /js/app/services/persistence.coffee
parent0454021bc3e65dba6f2509498d0bcff26ff82a6d (diff)
debug
Diffstat (limited to 'js/app/services/persistence.coffee')
-rw-r--r--js/app/services/persistence.coffee30
1 files changed, 25 insertions, 5 deletions
diff --git a/js/app/services/persistence.coffee b/js/app/services/persistence.coffee
index 176589e9c..59b3083ff 100644
--- a/js/app/services/persistence.coffee
+++ b/js/app/services/persistence.coffee
@@ -30,7 +30,8 @@ $rootScope, $q) ->
constructor: (@_request, @_feedLoading, @_autoPageLoading, @_newLoading,
@_config, @_activeFeed, @_$rootScope) ->
-
+ @_preventUselessAutoPageRequest = false
+ @_lastFeedChange = new Date().getTime()
init: ->
###
@@ -65,14 +66,32 @@ $rootScope, $q) ->
# show different loading signs
if offset == 0
loading = @_feedLoading
+ # every change of the feed should inevitably reset the
+ # autopage prevention
+ @_lastFeedChange = new Date().getTime()
+ @_preventUselessAutoPageRequest = false
else
loading = @_autoPageLoading
# loading sign handling
loading.increase()
- successCallbackWrapper = (data) ->
- onSuccess(data)
- loading.decrease()
+
+
+ successCallbackWrapper = ->
+ lastChange = @_lastFeedChange
+ # back up last change value in closure so we can compare it properly
+ do (lastChange, offset) =>
+ successCallbackWrapper = (data) =>
+ console.log data
+ console.log offset
+ console.log lastChange
+ console.log @_lastFeedChange
+ if data.items.length == 0 &&
+ lastChange == @_lastFeedChange &&
+ offset != 0
+ @_preventUselessAutoPageRequest = true
+ onSuccess(data)
+ loading.decrease()
failureCallbackWrapper = (data) ->
loading.decrease()
@@ -85,7 +104,8 @@ $rootScope, $q) ->
onSuccess: successCallbackWrapper
onFailure: failureCallbackWrapper
- @_request.get 'news_items', params
+ if not @_preventUselessAutoPageRequest
+ @_request.get 'news_items', params
getNewItems: (type, id, lastModified, onSuccess) ->