From 8c38ef40bd9b1ff794de218ea71d43971bef4c59 Mon Sep 17 00:00:00 2001 From: Bernhard Posselt Date: Sat, 13 Sep 2014 01:19:39 +0200 Subject: delete feed + undo --- js/service/FeedResource.js | 39 ++++++++++++++++----------------------- js/service/FolderResource.js | 5 +++++ 2 files changed, 21 insertions(+), 23 deletions(-) (limited to 'js/service') diff --git a/js/service/FeedResource.js b/js/service/FeedResource.js index 742855d4a..fa2ffd044 100644 --- a/js/service/FeedResource.js +++ b/js/service/FeedResource.js @@ -16,7 +16,6 @@ app.factory('FeedResource', function (Resource, $http, BASE_URL, $q) { this.unreadCount = 0; this.folderUnreadCount = {}; this.folderIds = {}; - this.deleted = null; this.$q = $q; }; @@ -67,20 +66,6 @@ app.factory('FeedResource', function (Resource, $http, BASE_URL, $q) { }; - FeedResource.prototype.delete = function (url) { - var feed = this.get(url); - this.deleted = feed; - delete this.ids[feed.id]; - - Resource.prototype.delete.call(this, url); - - this.updateUnreadCache(); - this.updateFolderCache(); - - return this.http.delete(this.BASE_URL + '/feeds/' + feed.id); - }; - - FeedResource.prototype.markRead = function () { this.values.forEach(function (feed) { feed.unreadCount = 0; @@ -221,17 +206,25 @@ app.factory('FeedResource', function (Resource, $http, BASE_URL, $q) { }; - FeedResource.prototype.undoDelete = function () { - if (this.deleted) { - this.add(this.deleted); + FeedResource.prototype.reversiblyDelete = function (id) { + return this.http.delete(this.BASE_URL + '/feeds/' + id); + }; - return this.http.post( - this.BASE_URL + '/feeds/' + this.deleted.id + '/restore' - ); - } - this.updateFolderCache(); + FeedResource.prototype.delete = function (id) { + var feed = this.ids[id]; + var url = feed.url; + delete this.ids[id]; + + Resource.prototype.delete.call(this, url); + this.updateUnreadCache(); + this.updateFolderCache(); + }; + + + FeedResource.prototype.undoDelete = function (id) { + return this.http.post(this.BASE_URL + '/feeds/' + id + '/restore'); }; diff --git a/js/service/FolderResource.js b/js/service/FolderResource.js index 6867b4e86..cd5adc266 100644 --- a/js/service/FolderResource.js +++ b/js/service/FolderResource.js @@ -94,6 +94,11 @@ app.factory('FolderResource', function (Resource, $http, BASE_URL, $q) { }; + FolderResource.prototype.reversiblyDeleteFolder = function (id) { + return this.http.delete(this.BASE_URL + '/folders/' + id); + }; + + FolderResource.prototype.undoDelete = function () { // TODO: check for errors if (this.deleted) { -- cgit v1.2.3