diff options
author | Bernhard Posselt <dev@bernhard-posselt.com> | 2014-05-19 03:41:28 +0200 |
---|---|---|
committer | Bernhard Posselt <dev@bernhard-posselt.com> | 2014-05-19 03:41:28 +0200 |
commit | 928ccf49fb5c6deb405358ad38221b0cd205fb6b (patch) | |
tree | db5b4921eed3fe8193dbcaeb07cefb7e6c714c34 /js | |
parent | 90584316b8f275fcad904b644676544eb0322636 (diff) |
periodically update
Diffstat (limited to 'js')
-rw-r--r-- | js/app/Config.js | 6 | ||||
-rw-r--r-- | js/app/Run.js | 20 | ||||
-rw-r--r-- | js/build/app.js | 15 | ||||
-rw-r--r-- | js/controller/ItemController.js (renamed from js/controller/ItemsController.js) | 2 | ||||
-rw-r--r-- | js/tests/e2e/main.js | 9 | ||||
-rw-r--r-- | js/tests/unit/controller/ItemControllerSpec.js (renamed from js/tests/unit/controller/AllItemsControllerSpec.js) | 2 |
6 files changed, 37 insertions, 17 deletions
diff --git a/js/app/Config.js b/js/app/Config.js index 67a5e7215..290726343 100644 --- a/js/app/Config.js +++ b/js/app/Config.js @@ -11,8 +11,10 @@ app.config(function ($routeProvider, $provide, $httpProvider) { 'use strict'; // constants + $provide.constant('CONFIG', { + REFRESH_RATE: 60 // refresh feeds every 60 seconds + }); $provide.constant('BASE_URL', OC.generateUrl('/apps/news')); - $provide.constant('FEED_TYPE', { FEED: 0, FOLDER: 1, @@ -38,7 +40,7 @@ app.config(function ($routeProvider, $provide, $httpProvider) { // routing $routeProvider .when('/items', { - controller: 'ItemsController', + controller: 'ItemController', templateUrl: 'content.html', resolve: {} }) diff --git a/js/app/Run.js b/js/app/Run.js index 936a03b9d..ad5d80ca1 100644 --- a/js/app/Run.js +++ b/js/app/Run.js @@ -7,8 +7,9 @@ * @author Bernhard Posselt <dev@bernhard-posselt.com> * @copyright Bernhard Posselt 2014 */ -app.run(function ($rootScope, $location, $http, $q, Loading, Item, Feed, Folder, - Settings, Publisher, BASE_URL, FEED_TYPE) { +app.run(function ($rootScope, $location, $http, $q, $interval, Loading, Item, + Feed, Folder, Settings, Publisher, BASE_URL, FEED_TYPE, + CONFIG) { 'use strict'; // show Loading screen @@ -57,10 +58,17 @@ app.run(function ($rootScope, $location, $http, $q, Loading, Item, Feed, Folder, activeFeedDeferred.resolve(); }); - - $q.all([settingsDeferred.promise, activeFeedDeferred.promise]).then(function () { - Loading.setLoading('global', false); - }); + // disable loading if all initial requests finished + $q.all([settingsDeferred.promise, activeFeedDeferred.promise]) + .then(function () { + Loading.setLoading('global', false); + }); + + // refresh feeds and folders + $interval(function () { + $http.get(BASE_URL + '/feeds'); + $http.get(BASE_URL + '/folders'); + }, CONFIG.REFRESH_RATE * 1000); $rootScope.$on('$routeChangeStart', function () { diff --git a/js/build/app.js b/js/build/app.js index a20648bd5..42eff7be1 100644 --- a/js/build/app.js +++ b/js/build/app.js @@ -15,6 +15,7 @@ app.config([ function ($routeProvider, $provide, $httpProvider) { 'use strict'; // constants + $provide.constant('CONFIG', { REFRESH_RATE: 60 }); $provide.constant('BASE_URL', OC.generateUrl('/apps/news')); $provide.constant('FEED_TYPE', { FEED: 0, @@ -37,7 +38,7 @@ app.config([ $httpProvider.interceptors.push('CSRFInterceptor'); // routing $routeProvider.when('/items', { - controller: 'ItemsController', + controller: 'ItemController', templateUrl: 'content.html', resolve: {} }).when('/items/starred', { @@ -60,6 +61,7 @@ app.run([ '$location', '$http', '$q', + '$interval', 'Loading', 'Item', 'Feed', @@ -68,7 +70,8 @@ app.run([ 'Publisher', 'BASE_URL', 'FEED_TYPE', - function ($rootScope, $location, $http, $q, Loading, Item, Feed, Folder, Settings, Publisher, BASE_URL, FEED_TYPE) { + 'CONFIG', + function ($rootScope, $location, $http, $q, $interval, Loading, Item, Feed, Folder, Settings, Publisher, BASE_URL, FEED_TYPE, CONFIG) { 'use strict'; // show Loading screen Loading.setLoading('global', true); @@ -104,12 +107,18 @@ app.run([ $location.path(url); activeFeedDeferred.resolve(); }); + // disable loading if all initial requests finished $q.all([ settingsDeferred.promise, activeFeedDeferred.promise ]).then(function () { Loading.setLoading('global', false); }); + // refresh feeds and folders + $interval(function () { + $http.get(BASE_URL + '/feeds'); + $http.get(BASE_URL + '/folders'); + }, CONFIG.REFRESH_RATE * 1000); $rootScope.$on('$routeChangeStart', function () { Loading.setLoading('content', true); }); @@ -134,7 +143,7 @@ app.controller('AppController', [ }; } ]); -app.controller('ItemsController', function () { +app.controller('ItemController', function () { 'use strict'; console.log('here'); }); diff --git a/js/controller/ItemsController.js b/js/controller/ItemController.js index 61ca72fdc..ffada2a5c 100644 --- a/js/controller/ItemsController.js +++ b/js/controller/ItemController.js @@ -7,7 +7,7 @@ * @author Bernhard Posselt <dev@bernhard-posselt.com> * @copyright Bernhard Posselt 2014 */ -app.controller('ItemsController', function () { +app.controller('ItemController', function () { 'use strict'; console.log('here'); diff --git a/js/tests/e2e/main.js b/js/tests/e2e/main.js index 328556326..5b0ea5d82 100644 --- a/js/tests/e2e/main.js +++ b/js/tests/e2e/main.js @@ -23,14 +23,15 @@ describe('news page', function () { it('should show the first run page', function () { - var firstRun, - greeting; + var firstRun; + firstRun = browser.findElement(By.id('first-run')); - greeting = firstRun.findElement(By.tagName('h1')); + firstRun.findElement(By.tagName('h1')).then(function (greeting) { + expect(greeting.getText()).toBe('Welcome to the ownCloud News app!'); + }); expect(firstRun.isDisplayed()).toBe(true); - expect(greeting.getText()).toBe('Welcome to the ownCloud News app!'); }); });
\ No newline at end of file diff --git a/js/tests/unit/controller/AllItemsControllerSpec.js b/js/tests/unit/controller/ItemControllerSpec.js index 74292e628..cf0eb0d4d 100644 --- a/js/tests/unit/controller/AllItemsControllerSpec.js +++ b/js/tests/unit/controller/ItemControllerSpec.js @@ -7,7 +7,7 @@ * @author Bernhard Posselt <dev@bernhard-posselt.com> * @copyright Bernhard Posselt 2014 */ -describe('AllItemsController', function () { +describe('ItemController', function () { 'use strict'; var controller; |