diff options
Diffstat (limited to 'js/app/services/models')
-rw-r--r-- | js/app/services/models/feedmodel.coffee | 20 | ||||
-rw-r--r-- | js/app/services/models/foldermodel.coffee | 22 |
2 files changed, 42 insertions, 0 deletions
diff --git a/js/app/services/models/feedmodel.coffee b/js/app/services/models/feedmodel.coffee index 5c4473b3a..405ea2651 100644 --- a/js/app/services/models/feedmodel.coffee +++ b/js/app/services/models/feedmodel.coffee @@ -144,5 +144,25 @@ angular.module('News').factory '_FeedModel', return @get(query) + removeByUrlHash: (urlHash, clearCache=true) -> + ### + Remove an entry by id + ### + + # remove from data map + for key, value of @_dataMap + if @_dataMap[key].urlHash == urlHash + delete @_dataMap[key] + break + + for entry, counter in @_data + if entry.urlHash == urlHash + @_data.splice(counter, 1) + delete @_urlHash[urlHash] + + if clearCache + @_invalidateCache() + break + return FeedModel ]
\ No newline at end of file diff --git a/js/app/services/models/foldermodel.coffee b/js/app/services/models/foldermodel.coffee index eb1059fc8..5dad0bdae 100644 --- a/js/app/services/models/foldermodel.coffee +++ b/js/app/services/models/foldermodel.coffee @@ -116,5 +116,27 @@ angular.module('News').factory '_FolderModel', return folderName.trim().toLowerCase() + removeByName: (name, clearCache=true) -> + ### + Remove an entry by id + ### + name = name.toLowerCase() + + # remove from data map + for key, value of @_dataMap + if @_dataMap[key].name == name + delete @_dataMap[key] + break + + for entry, counter in @_data + if entry.name == name + @_data.splice(counter, 1) + delete @_nameCache[name] + + if clearCache + @_invalidateCache() + break + + return FolderModel ]
\ No newline at end of file |