summaryrefslogtreecommitdiffstats
path: root/js/app
diff options
context:
space:
mode:
authorBernhard Posselt <dev@bernhard-posselt.com>2013-12-20 17:24:50 +0100
committerBernhard Posselt <dev@bernhard-posselt.com>2013-12-20 17:25:01 +0100
commit67daf1074702f8ee8e0720c6f864bc4b8eb3780c (patch)
tree7b17318ad4a1ef70415589e152ebafbfa62bba86 /js/app
parentee9810ede5a5e3e10b214a771d0a58dcbb29bc36 (diff)
prevent multiple autopage requests, fix #201
Diffstat (limited to 'js/app')
-rw-r--r--js/app/services/businesslayer/businesslayer.coffee2
-rw-r--r--js/app/services/businesslayer/itembusinesslayer.coffee1
-rw-r--r--js/app/services/persistence.coffee10
3 files changed, 10 insertions, 3 deletions
diff --git a/js/app/services/businesslayer/businesslayer.coffee b/js/app/services/businesslayer/businesslayer.coffee
index 14d692084..f7b02baea 100644
--- a/js/app/services/businesslayer/businesslayer.coffee
+++ b/js/app/services/businesslayer/businesslayer.coffee
@@ -27,9 +27,11 @@ angular.module('News').factory '_BusinessLayer', ->
constructor: (@_activeFeed, @_persistence, @_itemModel, @_type,
@_$rootScope) ->
+ @_preventAutopage = false
load: (id) ->
+ @_preventAutopage = false
@_$rootScope.$broadcast 'loadingNewItems'
@_itemModel.clear()
@_persistence.getItems @_type, id, 0, =>
diff --git a/js/app/services/businesslayer/itembusinesslayer.coffee b/js/app/services/businesslayer/itembusinesslayer.coffee
index 1382df190..82d19de8e 100644
--- a/js/app/services/businesslayer/itembusinesslayer.coffee
+++ b/js/app/services/businesslayer/itembusinesslayer.coffee
@@ -106,6 +106,7 @@ StarredBusinessLayer, NewestItem) ->
loadNext: (callback) ->
+
lowestItemId = @_itemModel.getLowestId()
if lowestItemId != 0
@_persistence.getItems @_activeFeed.getType(),
diff --git a/js/app/services/persistence.coffee b/js/app/services/persistence.coffee
index 176589e9c..1bbe754eb 100644
--- a/js/app/services/persistence.coffee
+++ b/js/app/services/persistence.coffee
@@ -30,7 +30,7 @@ $rootScope, $q) ->
constructor: (@_request, @_feedLoading, @_autoPageLoading, @_newLoading,
@_config, @_activeFeed, @_$rootScope) ->
-
+ @_preventUselessAutoPageRequest = false
init: ->
###
@@ -64,13 +64,16 @@ $rootScope, $q) ->
# show different loading signs
if offset == 0
+ @_preventUselessAutoPageRequest = false
loading = @_feedLoading
else
loading = @_autoPageLoading
# loading sign handling
loading.increase()
- successCallbackWrapper = (data) ->
+ successCallbackWrapper = (data) =>
+ if data.items.length == 0
+ @_preventUselessAutoPageRequest = true
onSuccess(data)
loading.decrease()
failureCallbackWrapper = (data) ->
@@ -85,7 +88,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) ->