From 0430a6ca38545463d7eea070204d77bddb447437 Mon Sep 17 00:00:00 2001 From: Bernhard Posselt Date: Mon, 25 Mar 2013 21:50:49 +0100 Subject: added more feedcontroller methods --- js/app/controllers/feedcontroller.coffee | 24 ++++++++++++++++++++++++ js/app/services/models/itemmodel.coffee | 10 ++++++++++ 2 files changed, 34 insertions(+) (limited to 'js/app') 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) -> diff --git a/js/app/services/models/itemmodel.coffee b/js/app/services/models/itemmodel.coffee index a2191fdbf..890f18964 100644 --- a/js/app/services/models/itemmodel.coffee +++ b/js/app/services/models/itemmodel.coffee @@ -37,5 +37,15 @@ angular.module('News').factory '_ItemModel', return null + getHighestId: -> + query = new _MaximumQuery('id') + highestId = @get(query) + + if angular.isDefined(highestId) + return highestId.id + else + return 0 + + return ItemModel ] \ No newline at end of file -- cgit v1.2.3