summaryrefslogtreecommitdiffstats
path: root/js/app
diff options
context:
space:
mode:
authorBernhard Posselt <nukeawhale@gmail.com>2013-09-14 02:44:32 +0200
committerBernhard Posselt <nukeawhale@gmail.com>2013-09-14 02:44:32 +0200
commitbfa090ed5d6fd8fa22487d239d3bb1e0b5e60f69 (patch)
tree9cc16eb2573fa7a8ff552230b2b9a612720c5474 /js/app
parentdf8f6b5fee643c5b2af8e8d33a7865e898518485 (diff)
dont do pull to refresh when loading in items
Diffstat (limited to 'js/app')
-rw-r--r--js/app/directives/pulltorefresh.coffee16
-rw-r--r--js/app/services/businesslayer/businesslayer.coffee7
-rw-r--r--js/app/services/businesslayer/feedbusinesslayer.coffee4
-rw-r--r--js/app/services/businesslayer/folderbusinesslayer.coffee4
-rw-r--r--js/app/services/businesslayer/starredbusinesslayer.coffee11
-rw-r--r--js/app/services/businesslayer/subscriptionsbusinesslayer.coffee12
6 files changed, 35 insertions, 19 deletions
diff --git a/js/app/directives/pulltorefresh.coffee b/js/app/directives/pulltorefresh.coffee
index 436280793..00f3bcae5 100644
--- a/js/app/directives/pulltorefresh.coffee
+++ b/js/app/directives/pulltorefresh.coffee
@@ -20,11 +20,21 @@ License along with this library. If not, see <http://www.gnu.org/licenses/>.
###
-angular.module('News').directive 'newsPullToRefresh', ->
+angular.module('News').directive 'newsPullToRefresh', ['$rootScope',
+($rootScope) ->
+
+ allowed = false
+ $rootScope.$on 'loadingNewItems', ->
+ allowed = false
+ $rootScope.$on 'loadedNewItems', ->
+ allowed = true
+
+
directive =
restrict: 'A'
link: (scope, elm, attrs) ->
scrollTop = 0
elm.scroll ->
- if @scrollTop == 0
- scope.$apply attrs.newsPullToRefresh \ No newline at end of file
+ if @scrollTop == 0 && allowed
+ scope.$apply attrs.newsPullToRefresh
+] \ No newline at end of file
diff --git a/js/app/services/businesslayer/businesslayer.coffee b/js/app/services/businesslayer/businesslayer.coffee
index fdf74817d..14d692084 100644
--- a/js/app/services/businesslayer/businesslayer.coffee
+++ b/js/app/services/businesslayer/businesslayer.coffee
@@ -25,12 +25,15 @@ angular.module('News').factory '_BusinessLayer', ->
class BusinessLayer
- constructor: (@_activeFeed, @_persistence, @_itemModel, @_type) ->
+ constructor: (@_activeFeed, @_persistence, @_itemModel, @_type,
+ @_$rootScope) ->
load: (id) ->
+ @_$rootScope.$broadcast 'loadingNewItems'
@_itemModel.clear()
- @_persistence.getItems(@_type, id, 0)
+ @_persistence.getItems @_type, id, 0, =>
+ @_$rootScope.$broadcast 'loadedNewItems'
@_activeFeed.handle({id: id, type: @_type})
diff --git a/js/app/services/businesslayer/feedbusinesslayer.coffee b/js/app/services/businesslayer/feedbusinesslayer.coffee
index 9b5f08a1c..fd92209ab 100644
--- a/js/app/services/businesslayer/feedbusinesslayer.coffee
+++ b/js/app/services/businesslayer/feedbusinesslayer.coffee
@@ -31,9 +31,9 @@ FeedModel, NewLoading, _ExistsError, Utils, $rootScope, NewestItem)->
class FeedBusinessLayer extends _BusinessLayer
constructor: (@_showAll, @_feedModel, persistence, activeFeed, feedType,
- itemModel, @_newLoading, @_utils, @_$rootScope,
+ itemModel, @_newLoading, @_utils, $rootScope,
@_newestItem) ->
- super(activeFeed, persistence, itemModel, feedType.Feed)
+ super(activeFeed, persistence, itemModel, feedType.Feed, $rootScope)
@_feedType = feedType
diff --git a/js/app/services/businesslayer/folderbusinesslayer.coffee b/js/app/services/businesslayer/folderbusinesslayer.coffee
index e6e582d6b..6c5457e91 100644
--- a/js/app/services/businesslayer/folderbusinesslayer.coffee
+++ b/js/app/services/businesslayer/folderbusinesslayer.coffee
@@ -33,8 +33,8 @@ FeedModel, $rootScope) ->
constructor: (@_folderModel, @_feedBusinessLayer, @_showAll, activeFeed,
persistence, @_feedType, itemModel, @_opmlParser,
- @_newestItem, @_feedModel, @_$rootScope) ->
- super(activeFeed, persistence, itemModel, @_feedType.Folder)
+ @_newestItem, @_feedModel, $rootScope) ->
+ super(activeFeed, persistence, itemModel, @_feedType.Folder, $rootScope)
getById: (folderId) ->
diff --git a/js/app/services/businesslayer/starredbusinesslayer.coffee b/js/app/services/businesslayer/starredbusinesslayer.coffee
index 38e7a2437..50ef0f37f 100644
--- a/js/app/services/businesslayer/starredbusinesslayer.coffee
+++ b/js/app/services/businesslayer/starredbusinesslayer.coffee
@@ -23,14 +23,15 @@ License along with this library. If not, see <http://www.gnu.org/licenses/>.
angular.module('News').factory 'StarredBusinessLayer',
['_BusinessLayer', 'StarredCount', 'Persistence', 'ActiveFeed', 'FeedType',
-'ItemModel',
-(_BusinessLayer, StarredCount, Persistence, ActiveFeed, FeedType, ItemModel) ->
+'ItemModel', '$rootScope',
+(_BusinessLayer, StarredCount, Persistence, ActiveFeed, FeedType, ItemModel,
+$rootScope) ->
class StarredBusinessLayer extends _BusinessLayer
constructor: (@_starredCount, feedType,
- persistence, activeFeed, itemModel) ->
- super(activeFeed, persistence, itemModel, feedType.Starred)
+ persistence, activeFeed, itemModel, $rootScope) ->
+ super(activeFeed, persistence, itemModel, feedType.Starred, $rootScope)
isVisible: ->
if @isActive(0)
@@ -51,5 +52,5 @@ angular.module('News').factory 'StarredBusinessLayer',
@_starredCount.setStarredCount(@_starredCount.getStarredCount() - 1)
return new StarredBusinessLayer(StarredCount, FeedType, Persistence,
- ActiveFeed, ItemModel)
+ ActiveFeed, ItemModel, $rootScope)
]
diff --git a/js/app/services/businesslayer/subscriptionsbusinesslayer.coffee b/js/app/services/businesslayer/subscriptionsbusinesslayer.coffee
index d0f9b33ab..0851e18a4 100644
--- a/js/app/services/businesslayer/subscriptionsbusinesslayer.coffee
+++ b/js/app/services/businesslayer/subscriptionsbusinesslayer.coffee
@@ -23,15 +23,17 @@ License along with this library. If not, see <http://www.gnu.org/licenses/>.
angular.module('News').factory 'SubscriptionsBusinessLayer',
['_BusinessLayer', 'FeedBusinessLayer', 'Persistence', 'ShowAll', 'ActiveFeed',
-'FeedType', 'ItemModel', 'FeedModel', 'NewestItem',
+'FeedType', 'ItemModel', 'FeedModel', 'NewestItem', '$rootScope',
(_BusinessLayer, FeedBusinessLayer, Persistence, ShowAll, ActiveFeed, FeedType,
-ItemModel, FeedModel, NewestItem) ->
+ItemModel, FeedModel, NewestItem, $rootScope) ->
class SubscriptionsBusinessLayer extends _BusinessLayer
constructor: (@_feedBusinessLayer, @_showAll, feedType,
- persistence, activeFeed, itemModel, @_feedModel, @_newestItem) ->
- super(activeFeed, persistence, itemModel, feedType.Subscriptions)
+ persistence, activeFeed, itemModel, @_feedModel, @_newestItem,
+ $rootScope) ->
+ super(activeFeed, persistence, itemModel, feedType.Subscriptions,
+ $rootScope)
isVisible: ->
if @isActive(0) and @_feedBusinessLayer.getNumberOfFeeds() > 0
@@ -62,5 +64,5 @@ ItemModel, FeedModel, NewestItem) ->
return new SubscriptionsBusinessLayer(FeedBusinessLayer, ShowAll, FeedType,
Persistence, ActiveFeed, ItemModel,
- FeedModel, NewestItem)
+ FeedModel, NewestItem, $rootScope)
]