diff options
author | Bernhard Posselt <nukeawhale@gmail.com> | 2013-03-25 21:13:09 +0100 |
---|---|---|
committer | Bernhard Posselt <nukeawhale@gmail.com> | 2013-03-25 21:13:09 +0100 |
commit | 7ade1165ddd0aa2d650ea28ae2f38a412375f9cc (patch) | |
tree | d2afa45ede7e721e2e0c0efdc0106bc3e049db17 /js/app/controllers/feedcontroller.coffee | |
parent | 29b4fc15528cd88ab1b7b77aa7b9b4632042dd0c (diff) |
added feedcontroller methods and tests
Diffstat (limited to 'js/app/controllers/feedcontroller.coffee')
-rw-r--r-- | js/app/controllers/feedcontroller.coffee | 35 |
1 files changed, 33 insertions, 2 deletions
diff --git a/js/app/controllers/feedcontroller.coffee b/js/app/controllers/feedcontroller.coffee index 535ed00ac..ddd35d2f8 100644 --- a/js/app/controllers/feedcontroller.coffee +++ b/js/app/controllers/feedcontroller.coffee @@ -25,8 +25,9 @@ angular.module('News').factory '_FeedController', -> class FeedController - constructor: (@$scope, @_folderModel, @_feedModel, @_active, - @_showAll, @_feedType, @_starredCount) -> + constructor: (@$scope, @_folderModel, @_feedModel, @_active, + @_showAll, @_feedType, @_starredCount, @_persistence, + @_itemModel) -> # bind internal stuff to scope @$scope.feeds = @_feedModel.getAll() @@ -80,12 +81,34 @@ angular.module('News').factory '_FeedController', -> getUnreadCount: (type, id) -> + switch type + when @_feedType.Subscriptions + count = @_feedModel.getUnreadCount() + when @_feedType.Starred + count = @_starredCount.getStarredCount() + when @_feedType.Feed + count = @_feedModel.getFeedUnreadCount(id) + when @_feedType.Folder + count = @_feedModel.getFolderUnreadCount(id) + + if count > 999 + count = '999+' + + return count loadFeed: (type, id) -> + if type != @_active.getType() or id != @_active.getId() + @_itemModel.clear() + @_persistence.getItems(type, id, 0) + @_active.handle({id: id, type: type}) + else + lastModified = @_itemModel.getLastModified() + @_persistence.getItems(type, id, 0, null, lastModified) hasFeeds: (folderId) -> + return @_feedModel.getAllOfFolder(folderId).length delete: (type, id) -> @@ -95,7 +118,15 @@ angular.module('News').factory '_FeedController', -> getFeedsOfFolder: (folderId) -> + return @_feedModel.getAllOfFolder(folderId) + setShowAll: (showAll) -> + @_showAll.setShowAll(showAll) + if showAll + @_persistence.userSettingsReadShow() + else + @_persistence.userSettingsReadHide() + return FeedController
\ No newline at end of file |