summaryrefslogtreecommitdiffstats
path: root/js/app/services/models
diff options
context:
space:
mode:
authorBernhard Posselt <nukeawhale@gmail.com>2013-03-30 23:43:55 +0100
committerBernhard Posselt <nukeawhale@gmail.com>2013-04-02 10:38:00 +0200
commit635a9d779549832b4dacb2c5b9f4033d846bf154 (patch)
treeb473bad6fb12533ffc3165b01b883a6be9c98235 /js/app/services/models
parentf1afe719bbe162d8737f1e5d65a4cff99979e5ff (diff)
split logic into business layers
Diffstat (limited to 'js/app/services/models')
-rw-r--r--js/app/services/models/itemmodel.coffee21
1 files changed, 19 insertions, 2 deletions
diff --git a/js/app/services/models/itemmodel.coffee b/js/app/services/models/itemmodel.coffee
index 09c187443..61030b50e 100644
--- a/js/app/services/models/itemmodel.coffee
+++ b/js/app/services/models/itemmodel.coffee
@@ -21,8 +21,8 @@ License along with this library. If not, see <http://www.gnu.org/licenses/>.
###
angular.module('News').factory '_ItemModel',
-['_Model', '_MaximumQuery', '_MinimumQuery',
-(_Model, _MaximumQuery, _MinimumQuery) ->
+['_Model', '_MaximumQuery', '_MinimumQuery', 'StatusFlag',
+(_Model, _MaximumQuery, _MinimumQuery, StatusFlag) ->
class ItemModel extends _Model
@@ -41,6 +41,8 @@ angular.module('News').factory '_ItemModel',
# in case we get updated items with the same two fields we
# also need to update the field
add: (data, clearCache=true) ->
+ @_bindMethods(data)
+
hash = data.feedId + '_' + data.guidHash
entry = @_guidFeedIdHash[hash]
@@ -52,6 +54,21 @@ angular.module('News').factory '_ItemModel',
super(data, clearCache)
+ _bindMethods: (data) ->
+ data.isRead = ->
+ return !((@status & StatusFlag.UNREAD) == StatusFlag.UNREAD)
+ data.setRead = ->
+ @status &= ~StatusFlag.UNREAD
+ data.setUnread = ->
+ @status |= StatusFlag.UNREAD
+ data.isStarred = ->
+ return (@status & StatusFlag.STARRED) == StatusFlag.STARRED
+ data.setStarred = ->
+ @status |= StatusFlag.STARRED
+ data.setUnstarred = ->
+ @status &= ~StatusFlag.STARRED
+
+
update: (data, clearCache=true) ->
hash = data.feedId + '_' + data.guidHash
entry = @_guidFeedIdHash[hash]