diff options
author | Bernhard Posselt <dev@bernhard-posselt.com> | 2013-12-20 17:30:51 +0100 |
---|---|---|
committer | Bernhard Posselt <dev@bernhard-posselt.com> | 2013-12-20 17:30:51 +0100 |
commit | 0454021bc3e65dba6f2509498d0bcff26ff82a6d (patch) | |
tree | e47c19832f864a5d2a06e0edb66e2d23599510ef /js | |
parent | 67daf1074702f8ee8e0720c6f864bc4b8eb3780c (diff) |
Revert "prevent multiple autopage requests, fix #201"
This reverts commit 67daf1074702f8ee8e0720c6f864bc4b8eb3780c.
Diffstat (limited to 'js')
-rw-r--r-- | js/app/services/businesslayer/businesslayer.coffee | 2 | ||||
-rw-r--r-- | js/app/services/businesslayer/itembusinesslayer.coffee | 1 | ||||
-rw-r--r-- | js/app/services/persistence.coffee | 10 | ||||
-rw-r--r-- | js/public/app.js | 14 | ||||
-rw-r--r-- | js/tests/services/businesslayer/itembusinesslayerSpec.coffee | 16 | ||||
-rw-r--r-- | js/tests/services/persistenceSpec.coffee | 33 |
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) - - |