summaryrefslogtreecommitdiffstats
path: root/js/app/Run.js
diff options
context:
space:
mode:
authorBernhard Posselt <dev@bernhard-posselt.com>2014-05-19 15:51:26 +0200
committerBernhard Posselt <dev@bernhard-posselt.com>2014-05-19 15:51:26 +0200
commit11f0246acd0daab1067eb32099fa26f05a26ea21 (patch)
tree67012a66a89be2f43910dee41a6e023d7645b29b /js/app/Run.js
parent928ccf49fb5c6deb405358ad38221b0cd205fb6b (diff)
subscribe to more channels and fetch more feeds on init
Diffstat (limited to 'js/app/Run.js')
-rw-r--r--js/app/Run.js41
1 files changed, 31 insertions, 10 deletions
diff --git a/js/app/Run.js b/js/app/Run.js
index ad5d80ca1..829c9666c 100644
--- a/js/app/Run.js
+++ b/js/app/Run.js
@@ -9,7 +9,7 @@
*/
app.run(function ($rootScope, $location, $http, $q, $interval, Loading, Item,
Feed, Folder, Settings, Publisher, BASE_URL, FEED_TYPE,
- CONFIG) {
+ REFRESH_RATE) {
'use strict';
// show Loading screen
@@ -17,23 +17,25 @@ app.run(function ($rootScope, $location, $http, $q, $interval, Loading, Item,
// listen to keys in returned queries to automatically distribute the
// incoming values to models
- Publisher.subscribe(Item).toChannel('items');
- Publisher.subscribe(Folder).toChannel('folders');
- Publisher.subscribe(Feed).toChannel('feeds');
- Publisher.subscribe(Settings).toChannel('settings');
+ Publisher.subscribe(Item).toChannels('items', 'newestItemId', 'starred');
+ Publisher.subscribe(Folder).toChannels('folders');
+ Publisher.subscribe(Feed).toChannels('feeds');
+ Publisher.subscribe(Settings).toChannels('settings');
// load feeds, settings and last read feed
var settingsDeferred,
- activeFeedDeferred;
+ activeFeedDeferred,
+ folderDeferred,
+ feedDeferred;
settingsDeferred = $q.defer();
- $http.get(BASE_URL + '/settings').then(function (data) {
+ $http.get(BASE_URL + '/settings').success(function (data) {
Publisher.publishAll(data);
settingsDeferred.resolve();
});
activeFeedDeferred = $q.defer();
- $http.get(BASE_URL + '/feeds/active').then(function (data) {
+ $http.get(BASE_URL + '/feeds/active').success(function (data) {
var url;
switch (data.type) {
@@ -58,8 +60,27 @@ app.run(function ($rootScope, $location, $http, $q, $interval, Loading, Item,
activeFeedDeferred.resolve();
});
+ folderDeferred = $q.defer();
+ $http.get(BASE_URL + '/folders').success(function (data) {
+ Publisher.publishAll(data);
+ folderDeferred.resolve();
+ });
+
+ feedDeferred = $q.defer();
+ $http.get(BASE_URL + '/feeds').success(function (data) {
+ Publisher.publishAll(data);
+ feedDeferred.resolve();
+ });
+
// disable loading if all initial requests finished
- $q.all([settingsDeferred.promise, activeFeedDeferred.promise])
+ $q.all(
+ [
+ settingsDeferred.promise,
+ activeFeedDeferred.promise,
+ feedDeferred.promise,
+ folderDeferred.promise
+ ]
+ )
.then(function () {
Loading.setLoading('global', false);
});
@@ -68,7 +89,7 @@ app.run(function ($rootScope, $location, $http, $q, $interval, Loading, Item,
$interval(function () {
$http.get(BASE_URL + '/feeds');
$http.get(BASE_URL + '/folders');
- }, CONFIG.REFRESH_RATE * 1000);
+ }, REFRESH_RATE * 1000);
$rootScope.$on('$routeChangeStart', function () {