diff options
author | Bernhard Posselt <nukeawhale@gmail.com> | 2013-03-27 18:07:48 +0100 |
---|---|---|
committer | Bernhard Posselt <nukeawhale@gmail.com> | 2013-03-27 18:07:48 +0100 |
commit | d97e2b1f0e26b113f870a09c5cc3ab384f1c1d94 (patch) | |
tree | 99061e8fda3265dec807b0fc1a67e65520f9b3e7 /js/app/services/models/feedmodel.coffee | |
parent | d1d775da219e79e134c55d978ebc96c728d77958 (diff) |
fixed bug that didnt add feeds when they were deleted once
Diffstat (limited to 'js/app/services/models/feedmodel.coffee')
-rw-r--r-- | js/app/services/models/feedmodel.coffee | 42 |
1 files changed, 29 insertions, 13 deletions
diff --git a/js/app/services/models/feedmodel.coffee b/js/app/services/models/feedmodel.coffee index 4a186e659..96f187e75 100644 --- a/js/app/services/models/feedmodel.coffee +++ b/js/app/services/models/feedmodel.coffee @@ -37,7 +37,7 @@ angular.module('News').factory '_FeedModel', super() - add: (item) -> + add: (item, clearCache=true) -> if item.faviconLink == null item.faviconLink = 'url(' + @_utils.imagePath('news', 'rss.svg') + ')' @@ -46,20 +46,36 @@ angular.module('News').factory '_FeedModel', # the same url entry = @_urlHash[item.urlHash] if angular.isDefined(entry) - # first update id that could have changed - delete @_dataMap[entry.id] - @_dataMap[item.id] = entry - - # now copy over the elements data attrs - for key, value of item - if key == 'urlHash' - continue - else - entry[key] = value - + @update(item, clearCache) else @_urlHash[item.urlHash] = item - super(item) + super(item, clearCache) + + + update: (item, clearCache=true) -> + entry = @_urlHash[item.urlHash] + + # first update id that could have changed + delete @_dataMap[entry.id] + @_dataMap[item.id] = entry + + # now copy over the elements data attrs + for key, value of item + if key == 'urlHash' + continue + else + entry[key] = value + + + + removeById: (id) -> + item = @getById(id) + delete @_urlHash[item.urlHash] + super(id) + + + getByUrlHash: (urlHash) -> + return @_urlHash[urlHash] getUnreadCount: -> |