summaryrefslogtreecommitdiffstats
path: root/js/app/services/businesslayer/subscriptionsbusinesslayer.coffee
diff options
context:
space:
mode:
authorBernhard Posselt <nukeawhale@gmail.com>2013-05-09 12:57:35 +0200
committerBernhard Posselt <nukeawhale@gmail.com>2013-05-09 12:57:35 +0200
commitb8b4dfb4969e1baf84a14fb65a5dc153b0f5fae4 (patch)
tree27e211e26f442efd72a7f34903953ad57b1a9b76 /js/app/services/businesslayer/subscriptionsbusinesslayer.coffee
parentfe0de2ab84a88cb4c742f4f10fd43716934b7282 (diff)
only make one request for mark all read and mark folder read, fix #171, fix a bug that prevented readding of feeds when its folder was deleted, fix a bug that would not allow mark read for feeds when the app was started for the first time
Diffstat (limited to 'js/app/services/businesslayer/subscriptionsbusinesslayer.coffee')
-rw-r--r--js/app/services/businesslayer/subscriptionsbusinesslayer.coffee20
1 files changed, 14 insertions, 6 deletions
diff --git a/js/app/services/businesslayer/subscriptionsbusinesslayer.coffee b/js/app/services/businesslayer/subscriptionsbusinesslayer.coffee
index 23cedc955..8c0025946 100644
--- a/js/app/services/businesslayer/subscriptionsbusinesslayer.coffee
+++ b/js/app/services/businesslayer/subscriptionsbusinesslayer.coffee
@@ -23,14 +23,14 @@ 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',
+'FeedType', 'ItemModel', 'FeedModel', 'NewestItem',
(_BusinessLayer, FeedBusinessLayer, Persistence, ShowAll, ActiveFeed, FeedType,
-ItemModel) ->
+ItemModel, FeedModel, NewestItem) ->
class SubscriptionsBusinessLayer extends _BusinessLayer
constructor: (@_feedBusinessLayer, @_showAll, feedType,
- persistence, activeFeed, itemModel) ->
+ persistence, activeFeed, itemModel, @_feedModel, @_newestItem) ->
super(activeFeed, persistence, itemModel, feedType.Subscriptions)
isVisible: ->
@@ -45,8 +45,15 @@ ItemModel) ->
return visible
- markAllRead: ->
- @_feedBusinessLayer.markAllRead()
+ markRead: ->
+ newestItemId = @_newestItem.getId()
+
+ if newestItemId != 0
+ for feed in @_feedModel.getAll()
+ feed.unreadCount = 0
+ for item in @_itemModel.getAll()
+ item.setRead()
+ @_persistence.setAllRead(newestItemId)
getUnreadCount: ->
@@ -54,5 +61,6 @@ ItemModel) ->
return new SubscriptionsBusinessLayer(FeedBusinessLayer, ShowAll, FeedType,
- Persistence, ActiveFeed, ItemModel)
+ Persistence, ActiveFeed, ItemModel,
+ FeedModel, NewestItem)
]