summaryrefslogtreecommitdiffstats
path: root/js/app/services
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/services
parent29b4fc15528cd88ab1b7b77aa7b9b4632042dd0c (diff)
added feedcontroller methods and tests
Diffstat (limited to 'js/app/services')
-rw-r--r--js/app/services/models/feedmodel.coffee33
-rw-r--r--js/app/services/models/itemmodel.coffee15
-rw-r--r--js/app/services/showall.coffee3
-rw-r--r--js/app/services/starredcount.coffee4
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