diff options
author | Bernhard Posselt <dev@bernhard-posselt.com> | 2014-10-07 15:12:39 +0200 |
---|---|---|
committer | Bernhard Posselt <dev@bernhard-posselt.com> | 2014-10-07 15:12:39 +0200 |
commit | ef1ed919da40b33bbc3f2fc8d94daff7e355dab6 (patch) | |
tree | 1a8efccd0e5707219503074a8864128632ab55bb /js/service | |
parent | 608ffd302640fb3fa990f138fa343527d3ce83ab (diff) |
fix #75
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(); |