summaryrefslogtreecommitdiffstats
path: root/js/app/controllers/feedcontroller.coffee
diff options
context:
space:
mode:
authorBernhard Posselt <nukeawhale@gmail.com>2013-03-25 21:50:49 +0100
committerBernhard Posselt <nukeawhale@gmail.com>2013-03-25 21:50:49 +0100
commit0430a6ca38545463d7eea070204d77bddb447437 (patch)
tree8a0b9dcbc54aab0b327f7b794d2d74861c26d019 /js/app/controllers/feedcontroller.coffee
parent7ade1165ddd0aa2d650ea28ae2f38a412375f9cc (diff)
added more feedcontroller methods
Diffstat (limited to 'js/app/controllers/feedcontroller.coffee')
-rw-r--r--js/app/controllers/feedcontroller.coffee24
1 files changed, 24 insertions, 0 deletions
diff --git a/js/app/controllers/feedcontroller.coffee b/js/app/controllers/feedcontroller.coffee
index ddd35d2f8..2feec2a1c 100644
--- a/js/app/controllers/feedcontroller.coffee
+++ b/js/app/controllers/feedcontroller.coffee
@@ -81,6 +81,7 @@ angular.module('News').factory '_FeedController', ->
getUnreadCount: (type, id) ->
+ # TODO: use polymorphism instead of switches
switch type
when @_feedType.Subscriptions
count = @_feedModel.getUnreadCount()
@@ -98,6 +99,7 @@ angular.module('News').factory '_FeedController', ->
loadFeed: (type, id) ->
+ # TODO: use polymorphism instead of switches
if type != @_active.getType() or id != @_active.getId()
@_itemModel.clear()
@_persistence.getItems(type, id, 0)
@@ -112,9 +114,31 @@ angular.module('News').factory '_FeedController', ->
delete: (type, id) ->
+ # TODO: use polymorphism instead of switches
+ switch type
+ when @_feedType.Feed
+ count = @_feedModel.removeById(id)
+ @_persistence.deleteFeed(id)
+ when @_feedType.Folder
+ count = @_folderModel.removeById(id)
+ @_persistence.deleteFolder(id)
markAllRead: (type, id) ->
+ # TODO: use polymorphism instead of switches
+ switch type
+ when @_feedType.Subscriptions
+ for feed in @_feedModel.getAll()
+ @markAllRead(@_feedType.Feed, feed.id)
+ when @_feedType.Feed
+ feed = @_feedModel.getById(id)
+ if angular.isDefined(feed)
+ feed.unreadCount = 0
+ highestItemId = @_itemModel.getHighestId()
+ @_persistence.setFeedRead(id, highestItemId)
+ when @_feedType.Folder
+ for feed in @_feedModel.getAllOfFolder(id)
+ @markAllRead(@_feedType.Feed, feed.id)
getFeedsOfFolder: (folderId) ->