From d01c46bfee98443b894ff0999fb17053587bf762 Mon Sep 17 00:00:00 2001 From: Johannes Zellner Date: Tue, 20 Nov 2018 14:47:39 +0100 Subject: [PATCH] Refresh addon status automatically --- src/views/addons.js | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/views/addons.js b/src/views/addons.js index 046006d97..ba257f170 100644 --- a/src/views/addons.js +++ b/src/views/addons.js @@ -2,7 +2,7 @@ /* global angular */ -angular.module('Application').controller('AddonsController', ['$scope', '$location', 'Client', function ($scope, $location, Client) { +angular.module('Application').controller('AddonsController', ['$scope', '$location', '$interval', 'Client', function ($scope, $location, $interval, Client) { Client.onReady(function () { if (!Client.getUserInfo().admin) $location.path('/'); }); $scope.ready = false; @@ -16,6 +16,12 @@ angular.module('Application').controller('AddonsController', ['$scope', '$locati }); } + function refreshAll() { + Object.keys($scope.addons).forEach(function (a) { + refresh(a); + }); + } + $scope.startAddon = function (addonName) { Client.startAddon(addonName, function (error) { if (error) return Client.error(error); @@ -38,11 +44,13 @@ angular.module('Application').controller('AddonsController', ['$scope', '$locati result.forEach(function (a) { $scope.addons[a] = { name: a }; - - // just kick off the status fetching - refresh(a); }); + // just kick off the status fetching + refreshAll(); + + $interval(refreshAll, 5000); + $scope.ready = true; }); });