summaryrefslogtreecommitdiffstats
path: root/js
diff options
context:
space:
mode:
authorDaniel Schaal <daniel@schaal.email>2017-06-08 05:10:34 +0200
committerDaniel Schaal <daniel@schaal.email>2017-06-10 11:19:07 +0200
commit7cebc63defdd640b822132a1e24b489345ac06e9 (patch)
tree34fb03b39d0a2a472aae12f0c7eae2454834f63d /js
parent2eddf6242be77e21a4a9d05b56dc9cc0125472c3 (diff)
Use regular promise for http calls
Diffstat (limited to 'js')
-rw-r--r--js/admin/Admin.js2
-rw-r--r--js/app/Config.js27
-rw-r--r--js/app/Run.js55
-rw-r--r--js/controller/ContentController.js9
-rw-r--r--js/controller/SettingsController.js2
-rw-r--r--js/service/FeedResource.js15
-rw-r--r--js/service/FolderResource.js27
-rw-r--r--js/service/ItemResource.js2
8 files changed, 59 insertions, 80 deletions
diff --git a/js/admin/Admin.js b/js/admin/Admin.js
index 18866b9fb..d60dd483f 100644
--- a/js/admin/Admin.js
+++ b/js/admin/Admin.js
@@ -71,7 +71,7 @@
url: url,
data: JSON.stringify(data),
dataType: 'json'
- }).success(function (data) {
+ }).then(function (data) {
saved();
autoPurgeMinimumIntervalInput
.val(data.autoPurgeMinimumInterval);
diff --git a/js/app/Config.js b/js/app/Config.js
index 2152615c6..4df6c9b00 100644
--- a/js/app/Config.js
+++ b/js/app/Config.js
@@ -92,12 +92,10 @@ app.config(function ($routeProvider, $provide, $httpProvider) {
var oldestFirst = SettingsResource.get('oldestFirst');
var search = $location.search().search || '';
- var deferred = $q.defer();
-
// if those two values are null it means we did not receive
// the settings request from the server so dont query the server
if (showAll === null || oldestFirst === null) {
- deferred.resolve({});
+ return {};
} else {
var parameters = {
type: type,
@@ -125,16 +123,14 @@ app.config(function ($routeProvider, $provide, $httpProvider) {
}
}
- $http({
+ return $http({
url: BASE_URL + '/items',
method: 'GET',
params: parameters
- }).success(function (data) {
- deferred.resolve(data);
+ }).then(function (response) {
+ return response.data;
});
}
-
- return deferred.promise;
}
};
};
@@ -143,16 +139,15 @@ app.config(function ($routeProvider, $provide, $httpProvider) {
return {
sites: /* @ngInject */ function (
$http, $q, BASE_URL, $location, Publisher, SettingsResource) {
- var deferred = $q.defer();
-
// always use the code from the url
var language = $location.search().lang;
if (!language) {
language = SettingsResource.get('language');
}
- $http.get(BASE_URL + '/settings').then(function (data) {
- Publisher.publishAll(data);
+ return $http.get(
+ BASE_URL + '/settings').then(function (response) {
+ Publisher.publishAll(response.data);
// get url and strip trailing slashes
var url = SettingsResource.get('exploreUrl')
@@ -166,13 +161,9 @@ app.config(function ($routeProvider, $provide, $httpProvider) {
return $http.get(defaultExploreUrl);
});
- }).then(function (data) {
- deferred.resolve(data.data);
- }).catch(function () {
- deferred.reject();
+ }).then(function (response) {
+ return response.data;
});
-
- return deferred.promise;
}
};
};
diff --git a/js/app/Run.js b/js/app/Run.js
index 2a9842104..eb4ec76fd 100644
--- a/js/app/Run.js
+++ b/js/app/Run.js
@@ -24,25 +24,25 @@ app.run(function ($rootScope, $location, $http, $q, $interval, $route, Loading,
Publisher.subscribe(SettingsResource).toChannels(['settings']);
// load feeds, settings and last read feed
- var settingsDeferred = $q.defer();
- $http.get(BASE_URL + '/settings').success(function (data) {
- Publisher.publishAll(data);
- settingsDeferred.resolve();
+ var settingsPromise = $http.get(BASE_URL + '/settings').then(
+ function (response) {
+ Publisher.publishAll(response.data);
+ return response.data;
});
- var activeFeedDeferred = $q.defer();
var path = $location.path();
- $http.get(BASE_URL + '/feeds/active').success(function (data) {
+ var activeFeedPromise = $http.get(BASE_URL + '/feeds/active')
+ .then(function (response) {
var url;
- switch (data.activeFeed.type) {
+ switch (response.data.activeFeed.type) {
case FEED_TYPE.FEED:
- url = '/items/feeds/' + data.activeFeed.id;
+ url = '/items/feeds/' + response.data.activeFeed.id;
break;
case FEED_TYPE.FOLDER:
- url = '/items/folders/' + data.activeFeed.id;
+ url = '/items/folders/' + response.data.activeFeed.id;
break;
case FEED_TYPE.STARRED:
@@ -63,26 +63,25 @@ app.run(function ($rootScope, $location, $http, $q, $interval, $route, Loading,
$location.path(url);
}
- activeFeedDeferred.resolve();
+ return response.data;
});
- var feedDeferred = $q.defer();
var feeds;
- $http.get(BASE_URL + '/feeds').success(function (data) {
- feeds = data;
- feedDeferred.resolve();
+ var feedPromise = $http.get(BASE_URL + '/feeds').then(function (response) {
+ feeds = response.data;
+ return feeds;
});
- var folderDeferred = $q.defer();
var folders;
- $http.get(BASE_URL + '/folders').success(function (data) {
- folders = data;
- folderDeferred.resolve();
+ var folderPromise = $http.get(BASE_URL + '/folders')
+ .then(function (response) {
+ folders = response.data;
+ return folders;
});
$q.all([
- feedDeferred.promise,
- folderDeferred.promise
+ feedPromise,
+ folderPromise
]).then(function () {
// first publish feeds to correctly update the folder resource unread
// cache
@@ -96,10 +95,10 @@ app.run(function ($rootScope, $location, $http, $q, $interval, $route, Loading,
// disable loading if all initial requests finished
$q.all(
[
- settingsDeferred.promise,
- activeFeedDeferred.promise,
- feedDeferred.promise,
- folderDeferred.promise
+ settingsPromise,
+ activeFeedPromise,
+ feedPromise,
+ folderPromise
]
)
.then(function () {
@@ -109,11 +108,11 @@ app.run(function ($rootScope, $location, $http, $q, $interval, $route, Loading,
// refresh feeds and folders
$interval(function () {
- $http.get(BASE_URL + '/feeds').success(function (data) {
- Publisher.publishAll(data);
+ $http.get(BASE_URL + '/feeds').then(function (response) {
+ Publisher.publishAll(response.data);
});
- $http.get(BASE_URL + '/folders').success(function (data) {
- Publisher.publishAll(data);
+ $http.get(BASE_URL + '/folders').then(function (response) {
+ Publisher.publishAll(response.data);
});
}, REFRESH_RATE * 1000);
diff --git a/js/controller/ContentController.js b/js/controller/ContentController.js
index dbd8bbc75..51f8eca69 100644
--- a/js/controller/ContentController.js
+++ b/js/controller/ContentController.js
@@ -178,10 +178,10 @@ app.controller('ContentController',
Loading.setLoading('autopaging', true);
ItemResource.autoPage(type, id, oldestFirst, showAll, search)
- .success(function (data) {
- Publisher.publishAll(data);
+ .then(function (response) {
+ Publisher.publishAll(response.data);
- if (data.items.length >= ITEM_AUTO_PAGE_SIZE) {
+ if (response.data.items.length >= ITEM_AUTO_PAGE_SIZE) {
self.isAutoPagingEnabled = true;
} else {
self.isNothingMoreToAutoPage = true;
@@ -190,7 +190,8 @@ app.controller('ContentController',
if (self.isAutoPagingEnabled && self.autoPageAgain) {
self.autoPage();
}
- }).error(function () {
+ return response.data;
+ }, function () {
self.isAutoPagingEnabled = true;
}).finally(function () {
Loading.setLoading('autopaging', false);
diff --git a/js/controller/SettingsController.js b/js/controller/SettingsController.js
index 1507fdf55..c20f801c8 100644
--- a/js/controller/SettingsController.js
+++ b/js/controller/SettingsController.js
@@ -74,7 +74,7 @@ app.controller('SettingsController',
var articles = JSON.parse(content);
var self = this;
- ItemResource.importArticles(articles).success(function (data) {
+ ItemResource.importArticles(articles).then(function (data) {
Publisher.publishAll(data);
}).finally(function () {
self.isArticlesImporting = false;
diff --git a/js/service/FeedResource.js b/js/service/FeedResource.js
index 3e138a952..bb1f30f3f 100644
--- a/js/service/FeedResource.js
+++ b/js/service/FeedResource.js
@@ -184,9 +184,7 @@ app.factory('FeedResource', function (Resource, $http, BASE_URL, $q) {
this.add(feed);
this.updateFolderCache();
- var deferred = this.$q.defer();
-
- this.http({
+ return this.http({
method: 'POST',
url: this.BASE_URL + '/feeds',
data: {
@@ -196,15 +194,12 @@ app.factory('FeedResource', function (Resource, $http, BASE_URL, $q) {
user: user || null,
password: password || null
}
- }).success(function (data) {
- deferred.resolve(data);
- }).error(function (data) {
+ }).then(function (response) {
+ return response.data;
+ }, function (response) {
feed.faviconLink = '';
- feed.error = data.message;
- deferred.reject();
+ feed.error = response.data.message;
});
-
- return deferred.promise;
};
diff --git a/js/service/FolderResource.js b/js/service/FolderResource.js
index c5105e521..43ff8422d 100644
--- a/js/service/FolderResource.js
+++ b/js/service/FolderResource.js
@@ -60,26 +60,21 @@ app.factory('FolderResource', function (Resource, $http, BASE_URL, $q) {
FolderResource.prototype.rename = function (folderName, toFolderName) {
var folder = this.get(folderName);
- var deferred = this.$q.defer();
var self = this;
- this.http({
+ return this.http({
url: this.BASE_URL + '/folders/' + folder.id + '/rename',
method: 'POST',
data: {
folderName: toFolderName
}
- }).success(function () {
+ }).then(function () {
folder.name = toFolderName;
delete self.hashMap[folderName];
self.hashMap[toFolderName] = folder;
-
- deferred.resolve();
- }).error(function (data) {
- deferred.reject(data.message);
+ }, function (response) {
+ return response.data.message;
});
-
- return deferred.promise;
};
FolderResource.prototype.getById = function (id) {
@@ -94,21 +89,17 @@ app.factory('FolderResource', function (Resource, $http, BASE_URL, $q) {
this.add(folder);
- var deferred = this.$q.defer();
-
- this.http({
+ return this.http({
url: this.BASE_URL + '/folders',
method: 'POST',
data: {
folderName: folderName
}
- }).success(function (data) {
- deferred.resolve(data);
- }).error(function (data) {
- folder.error = data.message;
+ }).then(function (response) {
+ return response.data;
+ }, function (response) {
+ folder.error = response.data.message;
});
-
- return deferred.promise;
};
diff --git a/js/service/ItemResource.js b/js/service/ItemResource.js
index 6e1f83400..159216797 100644
--- a/js/service/ItemResource.js
+++ b/js/service/ItemResource.js
@@ -216,6 +216,8 @@ app.factory('ItemResource', function (Resource, $http, BASE_URL,
data: {
json: json
}
+ }).then(function(response) {
+ return response.data;
});
};