summaryrefslogtreecommitdiffstats
path: root/js
diff options
context:
space:
mode:
authorBernhard Posselt <dev@bernhard-posselt.com>2013-12-20 17:30:51 +0100
committerBernhard Posselt <dev@bernhard-posselt.com>2013-12-20 17:30:51 +0100
commit0454021bc3e65dba6f2509498d0bcff26ff82a6d (patch)
treee47c19832f864a5d2a06e0edb66e2d23599510ef /js
parent67daf1074702f8ee8e0720c6f864bc4b8eb3780c (diff)
Revert "prevent multiple autopage requests, fix #201"
Diffstat (limited to 'js')
-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
-rw-r--r--js/public/app.js14
-rw-r--r--js/tests/services/businesslayer/itembusinesslayerSpec.coffee16
-rw-r--r--js/tests/services/persistenceSpec.coffee33
6 files changed, 5 insertions, 71 deletions
diff --git a/js/app/services/businesslayer/businesslayer.coffee b/js/app/services/businesslayer/businesslayer.coffee
index f7b02baea..14d692084 100644
--- a/js/app/services/businesslayer/businesslayer.coffee
+++ b/js/app/services/businesslayer/businesslayer.coffee
@@ -27,11 +27,9 @@ 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 82d19de8e..1382df190 100644
--- a/js/app/services/businesslayer/itembusinesslayer.coffee
+++ b/js/app/services/businesslayer/itembusinesslayer.coffee
@@ -106,7 +106,6 @@ 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 1bbe754eb..176589e9c 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,16 +64,13 @@ $rootScope, $q) ->
# show different loading signs
if offset == 0
- @_preventUselessAutoPageRequest = false
loading = @_feedLoading
else
loading = @_autoPageLoading
# loading sign handling
loading.increase()
- successCallbackWrapper = (data) =>
- if data.items.length == 0
- @_preventUselessAutoPageRequest = true
+ successCallbackWrapper = (data) ->
onSuccess(data)
loading.decrease()
failureCallbackWrapper = (data) ->
@@ -88,8 +85,7 @@ $rootScope, $q) ->
onSuccess: successCallbackWrapper
onFailure: failureCallbackWrapper
- if not @_preventUselessAutoPageRequest
- @_request.get 'news_items', params
+ @_request.get 'news_items', params
getNewItems: (type, id, lastModified, onSuccess) ->
diff --git a/js/public/app.js b/js/public/app.js
index c709dccab..e314695ca 100644
--- a/js/public/app.js
+++ b/js/public/app.js
@@ -1051,12 +1051,10 @@ License along with this library. If not, see <http://www.gnu.org/licenses/>.
this._itemModel = _itemModel;
this._type = _type;
this._$rootScope = _$rootScope;
- this._preventAutopage = false;
}
BusinessLayer.prototype.load = function(id) {
var _this = this;
- this._preventAutopage = false;
this._$rootScope.$broadcast('loadingNewItems');
this._itemModel.clear();
this._persistence.getItems(this._type, id, 0, function() {
@@ -2732,7 +2730,6 @@ License along with this library. If not, see <http://www.gnu.org/licenses/>.
this._config = _config;
this._activeFeed = _activeFeed;
this._$rootScope = _$rootScope;
- this._preventUselessAutoPageRequest = false;
}
Persistence.prototype.init = function() {
@@ -2763,23 +2760,18 @@ License along with this library. If not, see <http://www.gnu.org/licenses/>.
Persistence.prototype.getItems = function(type, id, offset, onSuccess) {
- var failureCallbackWrapper, loading, params, successCallbackWrapper,
- _this = this;
+ var failureCallbackWrapper, loading, params, successCallbackWrapper;
if (onSuccess == null) {
onSuccess = null;
}
onSuccess || (onSuccess = function() {});
if (offset === 0) {
- this._preventUselessAutoPageRequest = false;
loading = this._feedLoading;
} else {
loading = this._autoPageLoading;
}
loading.increase();
successCallbackWrapper = function(data) {
- if (data.items.length === 0) {
- _this._preventUselessAutoPageRequest = true;
- }
onSuccess(data);
return loading.decrease();
};
@@ -2796,9 +2788,7 @@ License along with this library. If not, see <http://www.gnu.org/licenses/>.
onSuccess: successCallbackWrapper,
onFailure: failureCallbackWrapper
};
- if (!this._preventUselessAutoPageRequest) {
- return this._request.get('news_items', params);
- }
+ return this._request.get('news_items', params);
};
Persistence.prototype.getNewItems = function(type, id, lastModified, onSuccess) {
diff --git a/js/tests/services/businesslayer/itembusinesslayerSpec.coffee b/js/tests/services/businesslayer/itembusinesslayerSpec.coffee
index 9ac0a9e24..75804323d 100644
--- a/js/tests/services/businesslayer/itembusinesslayerSpec.coffee
+++ b/js/tests/services/businesslayer/itembusinesslayerSpec.coffee
@@ -264,19 +264,3 @@ describe 'ItemBusinessLayer', ->
expect(@persistence.getNewItems).toHaveBeenCalledWith(
@FeedType.Feed, 3, 4, callback)
-
-
- it 'should autopage the next items if there are none', =>
- @NewestItem.handle(13)
- @persistence.getItems = jasmine.createSpy('autopage')
- callback = ->
-
- @ItemModel.add({id: 2, guidHash: 'abc', feedId: 2, status: 16})
- @ItemModel.add({id: 3, guidHash: 'abcd', feedId: 2, status: 16})
- @ItemModel.add({id: 1, guidHash: 'abce', feedId: 2, status: 16})
- @ItemModel.add({id: 6, guidHash: 'abcf', feedId: 2, status: 16})
-
- @ItemBusinessLayer.loadNext(callback)
-
- expect(@persistence.getItems).toHaveBeenCalledWith(
- @FeedType.Feed, 3, 1, jasmine.any(Function)) \ No newline at end of file
diff --git a/js/tests/services/persistenceSpec.coffee b/js/tests/services/persistenceSpec.coffee
index 323a41330..b9250b974 100644
--- a/js/tests/services/persistenceSpec.coffee
+++ b/js/tests/services/persistenceSpec.coffee
@@ -74,37 +74,6 @@ describe 'Persistence', ->
expect(@req.get).toHaveBeenCalledWith('news_items', expected)
- it 'should reset the autopage lock when loading a new feed', =>
- data =
- items: []
- called = 0
- @req.get.andCallFake (route, params) ->
- params.onSuccess(data)
- called++
-
- success = ->
- @Persistence.getItems(2, 3, 4, success)
- @Persistence.getItems(2, 3, 0, success)
-
- expect(called).toBe(2)
-
-
- it 'should not send autopage request if reqeust returned nothing', =>
- data =
- items: []
- called = 0
- @req.get.andCallFake (route, params) ->
- params.onSuccess(data)
- called++
-
- success = ->
- @Persistence.getItems(2, 3, 4, success)
- @Persistence.getItems(2, 3, 4, success)
-
- expect(called).toBe(1)
-
-
-
it 'should send a load new items request', =>
success = ->
params =
@@ -477,5 +446,3 @@ describe 'Persistence', ->
expect(@req.post).toHaveBeenCalledWith('news_usersettings_setcompact',
expected)
-
-