summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBernhard Posselt <dev@bernhard-posselt.com>2014-05-19 03:41:28 +0200
committerBernhard Posselt <dev@bernhard-posselt.com>2014-05-19 03:41:28 +0200
commit928ccf49fb5c6deb405358ad38221b0cd205fb6b (patch)
treedb5b4921eed3fe8193dbcaeb07cefb7e6c714c34
parent90584316b8f275fcad904b644676544eb0322636 (diff)
periodically update
-rw-r--r--js/app/Config.js6
-rw-r--r--js/app/Run.js20
-rw-r--r--js/build/app.js15
-rw-r--r--js/controller/ItemController.js (renamed from js/controller/ItemsController.js)2
-rw-r--r--js/tests/e2e/main.js9
-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;