summaryrefslogtreecommitdiffstats
path: root/js/controller
diff options
context:
space:
mode:
authorBernhard Posselt <dev@bernhard-posselt.com>2014-09-13 12:00:54 +0200
committerBernhard Posselt <dev@bernhard-posselt.com>2014-09-13 12:00:54 +0200
commit021b68025223f2f3fdc8a7f588ae2e87128cbbc0 (patch)
tree173361a56ca40f263031915d10d0b26d4da0033d /js/controller
parent1cb7d9ad1f47c4fce59dad43cc88568524ebc974 (diff)
better folder undelete
Diffstat (limited to 'js/controller')
-rw-r--r--js/controller/NavigationController.js36
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);
};