diff options
author | Bernhard Posselt <nukeawhale@gmail.com> | 2013-04-04 19:58:51 +0200 |
---|---|---|
committer | Bernhard Posselt <nukeawhale@gmail.com> | 2013-04-04 19:59:06 +0200 |
commit | 346346e01c5c61e61b522520248de90e0ede3f17 (patch) | |
tree | 9d38239274db7e26eac9eda9f1853113e655857b /js/app/services/bl/folderbl.coffee | |
parent | 2d8b635796ba117619063792b0a00c50dc91d2a6 (diff) |
added most of the bl functionality
Diffstat (limited to 'js/app/services/bl/folderbl.coffee')
-rw-r--r-- | js/app/services/bl/folderbl.coffee | 45 |
1 files changed, 36 insertions, 9 deletions
diff --git a/js/app/services/bl/folderbl.coffee b/js/app/services/bl/folderbl.coffee index e869453f2..16e020063 100644 --- a/js/app/services/bl/folderbl.coffee +++ b/js/app/services/bl/folderbl.coffee @@ -21,11 +21,17 @@ License along with this library. If not, see <http://www.gnu.org/licenses/>. ### -angular.module('News').factory '_FolderBl', -> +angular.module('News').factory 'FolderBl', +['_Bl', 'FolderModel', 'FeedBl', 'Persistence', 'FeedType', 'ActiveFeed', +'ItemModel', 'ShowAll', +(_Bl, FolderModel, FeedBl, Persistence, FeedType, ActiveFeed, +ItemModel, ShowAll)-> - class FolderBl + class FolderBl extends _Bl - constructor: (@_folderModel, @_feedBl, @_persistence) -> + constructor: (@_folderModel, @_feedBl, @_showAll, activeFeed, + persistence, @_feedType, itemModel) -> + super(activeFeed, persistence, itemModel, @_feedType.Folder) delete: (folderId) -> @@ -37,11 +43,6 @@ angular.module('News').factory '_FolderBl', -> return @_feedBl.getFeedsOfFolder(folderId).length - markFolderRead: (folderId) -> - for feed in @_feedBl.getFeedsOfFolder(folderId) - @_feedBl.markFeedRead(feed.id) - - toggleFolder: (folderId) -> folder = @_folderModel.getById(folderId) @@ -53,4 +54,30 @@ angular.module('News').factory '_FolderBl', -> @_persistence.collapseFolder(folder.id) - return FolderBl + markFolderRead: (folderId) -> + for feed in @_feedBl.getFeedsOfFolder(folderId) + @_feedBl.markFeedRead(feed.id) + + + getUnreadCount: (folderId) -> + return @_feedBl.getFolderUnreadCount(folderId) + + + isVisible: (folderId) -> + if @_showAll.getShowAll() + return true + else + if @isActive(folderId) or + @_feedBl.getFolderUnreadCount(folderId) > 0 + return true + if @_activeFeed.getType() == @_feedType.Feed + for feed in @_feedBl.getFeedsOfFolder(folderId) + if feed.id == @_activeFeed.getId() + return true + return false + + + return new FolderBl(FolderModel, FeedBl, ShowAll, ActiveFeed, Persistence, + FeedType, ItemModel) + +]
\ No newline at end of file |