summaryrefslogtreecommitdiffstats
path: root/js/app/controllers/feedcontroller.coffee
diff options
context:
space:
mode:
authorBernhard Posselt <nukeawhale@gmail.com>2013-03-25 21:13:09 +0100
committerBernhard Posselt <nukeawhale@gmail.com>2013-03-25 21:13:09 +0100
commit7ade1165ddd0aa2d650ea28ae2f38a412375f9cc (patch)
treed2afa45ede7e721e2e0c0efdc0106bc3e049db17 /js/app/controllers/feedcontroller.coffee
parent29b4fc15528cd88ab1b7b77aa7b9b4632042dd0c (diff)
added feedcontroller methods and tests
Diffstat (limited to 'js/app/controllers/feedcontroller.coffee')
-rw-r--r--js/app/controllers/feedcontroller.coffee35
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