diff options
author | Bernhard Posselt <dev@bernhard-posselt.com> | 2014-09-13 12:00:54 +0200 |
---|---|---|
committer | Bernhard Posselt <dev@bernhard-posselt.com> | 2014-09-13 12:00:54 +0200 |
commit | 021b68025223f2f3fdc8a7f588ae2e87128cbbc0 (patch) | |
tree | 173361a56ca40f263031915d10d0b26d4da0033d /js/controller | |
parent | 1cb7d9ad1f47c4fce59dad43cc88568524ebc974 (diff) |
better folder undelete
Diffstat (limited to 'js/controller')
-rw-r--r-- | js/controller/NavigationController.js | 36 |
1 files changed, 5 insertions, 31 deletions
diff --git a/js/controller/NavigationController.js b/js/controller/NavigationController.js index 697bd05d4..7be2c497e 100644 --- a/js/controller/NavigationController.js +++ b/js/controller/NavigationController.js @@ -229,12 +229,10 @@ function ($route, FEED_TYPE, FeedResource, FolderResource, ItemResource, }; this.reversiblyDeleteFeed = function (feed) { - feed.deleted = true; FeedResource.reversiblyDelete(feed.id); }; this.undoDeleteFeed = function (feed) { - feed.deleted = false; FeedResource.undoDelete(feed.id); }; @@ -243,42 +241,18 @@ function ($route, FEED_TYPE, FeedResource, FolderResource, ItemResource, }; - this._deletedFeedsBackup = {}; this.reversiblyDeleteFolder = function (folder) { - folder.deleted = true; - - var self = this; - var feeds = FeedResource.getByFolderId(folder.id); - - // keep feeds for undo - feeds.forEach(function (feed) { - self._deletedFeedsBackup[folder.name] = - self._deletedFeedsBackup[folder.name] || []; - self._deletedFeedsBackup[folder.name].push(feed); - FeedResource.delete(feed.url); - self.reversiblyDeleteFeed(feed); - }); - - FolderResource.reversiblyDelete(folder.id); + FeedResource.reversiblyDeleteFolder(folder.id); + FolderResource.reversiblyDelete(folder.name); }; this.undoDeleteFolder = function (folder) { - folder.deleted = false; - - var deletedFeeds = this._deletedFeedsBackup[folder.name]; - if (deletedFeeds !== undefined) { - deletedFeeds.forEach(function (feed) { - self.undoDeleteFeed(feed); - }); - FeedResource.receive(deletedFeeds); - } - - FolderResource.undoDelete(folder.id); - delete this._deletedFeedsBackup[folder.name]; + FeedResource.undoDeleteFolder(folder.id); + FolderResource.undoDelete(folder.name); }; this.deleteFolder = function (folder) { - delete this._deletedFeedsBackup[folder.name]; + FeedResource.deleteFolder(folder.id); FolderResource.delete(folder.name); }; |