diff options
Diffstat (limited to 'js/app/services')
-rw-r--r-- | js/app/services/models/feedmodel.coffee | 33 | ||||
-rw-r--r-- | js/app/services/models/itemmodel.coffee | 15 | ||||
-rw-r--r-- | js/app/services/showall.coffee | 3 | ||||
-rw-r--r-- | js/app/services/starredcount.coffee | 4 |
4 files changed, 53 insertions, 2 deletions
diff --git a/js/app/services/models/feedmodel.coffee b/js/app/services/models/feedmodel.coffee index 25cc48d88..838f240c1 100644 --- a/js/app/services/models/feedmodel.coffee +++ b/js/app/services/models/feedmodel.coffee @@ -21,7 +21,9 @@ License along with this library. If not, see <http://www.gnu.org/licenses/>. ### -angular.module('News').factory '_FeedModel', ['_Model', (_Model) -> +angular.module('News').factory '_FeedModel', +['_Model', '_EqualQuery', +(_Model, _EqualQuery) -> class FeedModel extends _Model @@ -35,6 +37,35 @@ angular.module('News').factory '_FeedModel', ['_Model', (_Model) -> super(item) + getUnreadCount: -> + count = 0 + for feed in @getAll() + count += feed.unreadCount + + return count + + + getFeedUnreadCount: (feedId) -> + feed = @getById(feedId) + if angular.isDefined(feed) + return feed.unreadCount + else + return 0 + + + getFolderUnreadCount: (folderId) -> + query = new _EqualQuery('folderId', folderId) + count = 0 + for feed in @get(query) + count += feed.unreadCount + + return count + + + getAllOfFolder: (folderId) -> + query = new _EqualQuery('folderId', folderId) + return @get(query) + return FeedModel ]
\ No newline at end of file diff --git a/js/app/services/models/itemmodel.coffee b/js/app/services/models/itemmodel.coffee index d53f17f15..a2191fdbf 100644 --- a/js/app/services/models/itemmodel.coffee +++ b/js/app/services/models/itemmodel.coffee @@ -20,9 +20,22 @@ License along with this library. If not, see <http://www.gnu.org/licenses/>. ### -angular.module('News').factory '_ItemModel', ['_Model', (_Model) -> +angular.module('News').factory '_ItemModel', +['_Model', '_MaximumQuery', '_MinimumQuery', +(_Model, _MaximumQuery, _MinimumQuery) -> class ItemModel extends _Model + + getLastModified: -> + query = new _MaximumQuery('lastModified') + lastModified = @get(query) + + if angular.isDefined(lastModified) + return lastModified.lastModified + else + return null + + return ItemModel ]
\ No newline at end of file diff --git a/js/app/services/showall.coffee b/js/app/services/showall.coffee index 25b093735..a40f176bc 100644 --- a/js/app/services/showall.coffee +++ b/js/app/services/showall.coffee @@ -37,5 +37,8 @@ angular.module('News').factory '_ShowAll', -> return @_showAll + setShowAll: (showAll) -> + @_showAll = showAll + return ShowAll diff --git a/js/app/services/starredcount.coffee b/js/app/services/starredcount.coffee index aaa8fdaff..9d3d9deb5 100644 --- a/js/app/services/starredcount.coffee +++ b/js/app/services/starredcount.coffee @@ -33,6 +33,10 @@ angular.module('News').factory '_StarredCount', -> @_count = data + setStarredCount: (count) -> + @_count = count + + getStarredCount: -> return @_count |