diff options
author | Bernhard Posselt <dev@bernhard-posselt.com> | 2014-05-19 15:51:26 +0200 |
---|---|---|
committer | Bernhard Posselt <dev@bernhard-posselt.com> | 2014-05-19 15:51:26 +0200 |
commit | 11f0246acd0daab1067eb32099fa26f05a26ea21 (patch) | |
tree | 67012a66a89be2f43910dee41a6e023d7645b29b /js/app/Run.js | |
parent | 928ccf49fb5c6deb405358ad38221b0cd205fb6b (diff) |
subscribe to more channels and fetch more feeds on init
Diffstat (limited to 'js/app/Run.js')
-rw-r--r-- | js/app/Run.js | 41 |
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 () { |