diff options
Diffstat (limited to 'js/service')
-rw-r--r-- | js/service/FeedResource.js | 7 | ||||
-rw-r--r-- | js/service/FolderResource.js | 27 |
2 files changed, 34 insertions, 0 deletions
diff --git a/js/service/FeedResource.js b/js/service/FeedResource.js index 5308b4635..51d98f1bd 100644 --- a/js/service/FeedResource.js +++ b/js/service/FeedResource.js @@ -27,6 +27,13 @@ app.factory('FeedResource', function (Resource, $http, BASE_URL, $q) { this.updateFolderCache(); }; + FeedResource.prototype.clear = function () { + Resource.prototype.clear.call(this); + this.unreadCount = 0; + this.folderUnreadCount = {}; + this.folderIds = {}; + this.ids = {}; + }; FeedResource.prototype.updateUnreadCache = function () { this.unreadCount = 0; diff --git a/js/service/FolderResource.js b/js/service/FolderResource.js index 997ba1652..f17cd11a0 100644 --- a/js/service/FolderResource.js +++ b/js/service/FolderResource.js @@ -14,11 +14,35 @@ app.factory('FolderResource', function (Resource, $http, BASE_URL, $q) { Resource.call(this, $http, BASE_URL, 'name'); this.deleted = null; this.$q = $q; + this.ids = {}; }; FolderResource.prototype = Object.create(Resource.prototype); + FolderResource.prototype.add = function (value) { + Resource.prototype.add.call(this, value); + if (value.id !== undefined) { + this.ids[value.id] = this.hashMap[value.name]; + } + }; + + FolderResource.prototype.clear = function () { + Resource.prototype.clear.call(this); + this.ids = {}; + }; + + FolderResource.prototype.delete = function (name) { + var folder = this.get(name); + if (folder !== undefined && folder.id) { + delete this.ids[folder.id]; + } + + Resource.prototype.delete.call(this, name); + + return folder; + }; + FolderResource.prototype.toggleOpen = function (folderName) { var folder = this.get(folderName); folder.opened = !folder.opened; @@ -58,6 +82,9 @@ app.factory('FolderResource', function (Resource, $http, BASE_URL, $q) { return deferred.promise; }; + FolderResource.prototype.getById = function (id) { + return this.ids[id]; + }; FolderResource.prototype.create = function (folderName) { folderName = folderName.trim(); |