summaryrefslogtreecommitdiffstats
path: root/js/service
diff options
context:
space:
mode:
authorBernhard Posselt <dev@bernhard-posselt.com>2014-09-13 01:19:39 +0200
committerBernhard Posselt <dev@bernhard-posselt.com>2014-09-13 01:19:39 +0200
commit8c38ef40bd9b1ff794de218ea71d43971bef4c59 (patch)
tree5547ceda7b7dd350d379073b1cdf7a423e6c7d16 /js/service
parent72c4fc9acb1380021eb4665af78ef8e26058c86a (diff)
delete feed + undo
Diffstat (limited to 'js/service')
-rw-r--r--js/service/FeedResource.js39
-rw-r--r--js/service/FolderResource.js5
2 files changed, 21 insertions, 23 deletions
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) {