summaryrefslogtreecommitdiffstats
path: root/js/app/services/bl/folderbl.coffee
diff options
context:
space:
mode:
authorBernhard Posselt <nukeawhale@gmail.com>2013-04-04 19:58:51 +0200
committerBernhard Posselt <nukeawhale@gmail.com>2013-04-04 19:59:06 +0200
commit346346e01c5c61e61b522520248de90e0ede3f17 (patch)
tree9d38239274db7e26eac9eda9f1853113e655857b /js/app/services/bl/folderbl.coffee
parent2d8b635796ba117619063792b0a00c50dc91d2a6 (diff)
added most of the bl functionality
Diffstat (limited to 'js/app/services/bl/folderbl.coffee')
-rw-r--r--js/app/services/bl/folderbl.coffee45
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