diff options
author | Bernhard Posselt <dev@bernhard-posselt.com> | 2014-11-20 10:58:58 +0100 |
---|---|---|
committer | Bernhard Posselt <dev@bernhard-posselt.com> | 2014-11-20 10:58:58 +0100 |
commit | 193bd948d7e628f1b0544f9b7b0304cdd1067a4a (patch) | |
tree | 0d7a7442977a4ac4c573a3d496a14fdc4393826b /js/app | |
parent | a2054d20b7b9616b7cb4cbf8b66bfb7d4c520246 (diff) |
fix multiple bugs
Diffstat (limited to 'js/app')
-rw-r--r-- | js/app/Config.js | 106 | ||||
-rw-r--r-- | js/app/Run.js | 6 |
2 files changed, 65 insertions, 47 deletions
diff --git a/js/app/Config.js b/js/app/Config.js index 76b0bdafb..415fd9d3b 100644 --- a/js/app/Config.js +++ b/js/app/Config.js @@ -47,29 +47,71 @@ app.config(function ($routeProvider, $provide, $httpProvider) { $httpProvider.interceptors.push('CSRFInterceptor'); // routing - var getResolve = function (type) { + var getItemResolve = function (type) { return { // request to items also returns feeds data: /* @ngInject */ function ( - $http, $route, $q, BASE_URL, ITEM_BATCH_SIZE) { + $http, $route, $q, BASE_URL, ITEM_BATCH_SIZE, SettingsResource) { - var parameters = { - type: type, - limit: ITEM_BATCH_SIZE - }; + var showAll = SettingsResource.get('showAll'); + var oldestFirst = SettingsResource.get('oldestFirst'); - if ($route.current.params.id !== undefined) { - parameters.id = $route.current.params.id; + 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({}); + } else { + var parameters = { + type: type, + limit: ITEM_BATCH_SIZE, + showAll: showAll, + oldestFirst: oldestFirst + }; + + if ($route.current.params.id !== undefined) { + parameters.id = $route.current.params.id; + } + + + $http({ + url: BASE_URL + '/items', + method: 'GET', + params: parameters + }).success(function (data) { + deferred.resolve(data); + }); } + return deferred.promise; + } + }; + }; + + var getExploreResolve = function () { + return { + sites: /* @ngInject */ function ( + $http, $q, BASE_URL, Publisher, SettingsResource) { var deferred = $q.defer(); - $http({ - url: BASE_URL + '/items', - method: 'GET', - params: parameters - }).success(function (data) { - deferred.resolve(data); + $http.get(BASE_URL + '/settings').then(function (data) { + Publisher.publishAll(data); + + var url = SettingsResource.get('exploreUrl'); + var language = SettingsResource.get('language'); + return $http({ + url: url, + method: 'GET', + params: { + lang: language + } + }); + + }).then(function (data) { + deferred.resolve(data.data); + }).catch(function () { + deferred.reject(); }); return deferred.promise; @@ -81,56 +123,30 @@ app.config(function ($routeProvider, $provide, $httpProvider) { .when('/items', { controller: 'ContentController as Content', templateUrl: 'content.html', - resolve: getResolve(feedType.SUBSCRIPTIONS), + resolve: getItemResolve(feedType.SUBSCRIPTIONS), type: feedType.SUBSCRIPTIONS }) .when('/items/starred', { controller: 'ContentController as Content', templateUrl: 'content.html', - resolve: getResolve(feedType.STARRED), + resolve: getItemResolve(feedType.STARRED), type: feedType.STARRED }) .when('/items/feeds/:id', { controller: 'ContentController as Content', templateUrl: 'content.html', - resolve: getResolve(feedType.FEED), + resolve: getItemResolve(feedType.FEED), type: feedType.FEED }) .when('/items/folders/:id', { controller: 'ContentController as Content', templateUrl: 'content.html', - resolve: getResolve(feedType.FOLDER), + resolve: getItemResolve(feedType.FOLDER), type: feedType.FOLDER }).when('/explore', { controller: 'ExploreController as Explore', templateUrl: 'explore.html', - resolve: { - sites: /* @ngInject */ function ( - $http, $q, BASE_URL, Publisher, SettingsResource) { - var deferred = $q.defer(); - - $http.get(BASE_URL + '/settings').then(function (data) { - Publisher.publishAll(data); - - var url = SettingsResource.get('exploreUrl'); - var language = SettingsResource.get('language'); - return $http({ - url: url, - method: 'GET', - params: { - lang: language - } - }); - - }).then(function (data) { - deferred.resolve(data.data); - }).catch(function () { - deferred.reject(); - }); - - return deferred.promise; - } - }, + resolve: getExploreResolve(), type: feedType.EXPLORE }).when('/shortcuts', { templateUrl: 'shortcuts.html', diff --git a/js/app/Run.js b/js/app/Run.js index b05df1930..2d9815fdf 100644 --- a/js/app/Run.js +++ b/js/app/Run.js @@ -7,7 +7,7 @@ * @author Bernhard Posselt <dev@bernhard-posselt.com> * @copyright Bernhard Posselt 2014 */ -app.run(function ($rootScope, $location, $http, $q, $interval, Loading, +app.run(function ($rootScope, $location, $http, $q, $interval, $route, Loading, ItemResource, FeedResource, FolderResource, SettingsResource, Publisher, BASE_URL, FEED_TYPE, REFRESH_RATE) { 'use strict'; @@ -67,13 +67,14 @@ app.run(function ($rootScope, $location, $http, $q, $interval, Loading, }); var feedDeferred = $q.defer(); - var folders, feeds; + var feeds; $http.get(BASE_URL + '/feeds').success(function (data) { feeds = data; feedDeferred.resolve(); }); var folderDeferred = $q.defer(); + var folders; $http.get(BASE_URL + '/folders').success(function (data) { folders = data; folderDeferred.resolve(); @@ -102,6 +103,7 @@ app.run(function ($rootScope, $location, $http, $q, $interval, Loading, ] ) .then(function () { + $route.reload(); Loading.setLoading('global', false); }); |