diff --git a/src/theme.scss b/src/theme.scss index e799473cd..99bb45a5c 100644 --- a/src/theme.scss +++ b/src/theme.scss @@ -494,21 +494,6 @@ multiselect { } } -.task-indicator { - font-size: 18px; - position: fixed; - right: 20px; - bottom: 45px; - background: $brand-primary; - color: white; - padding: 10px; - box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.1); - - span { - margin: 0 10px; - } -} - .app-configure-links { div { cursor: pointer; diff --git a/src/views/app.html b/src/views/app.html index 8d08e90cb..dfcc695e3 100644 --- a/src/views/app.html +++ b/src/views/app.html @@ -237,11 +237,6 @@ Back to My Apps -
- - {{ app | installationStateLabel:user }} -
-
@@ -253,9 +248,7 @@

{{ app.label || app.fqdn }}
- - {{ app | installationStateLabel:user }} - + {{ app | installationStateLabel:user }}

Documentation @@ -265,6 +258,14 @@
+
+
+
+
+
+
+
+
diff --git a/src/views/app.js b/src/views/app.js index 873b1cfc0..6da18dcbe 100644 --- a/src/views/app.js +++ b/src/views/app.js @@ -551,9 +551,6 @@ angular.module('Application').controller('AppController', ['$scope', '$location' enableBackup: false, backups: [], - taskProgress: 0, - taskMessage: '', - copyBackupId: function (backup) { var copyText = document.getElementById('backupIdHelper'); copyText.value = backup.id; @@ -574,12 +571,8 @@ angular.module('Application').controller('AppController', ['$scope', '$location' $scope.backups.busyCreate = false; - trackAppTask(function (data) { - $scope.backups.taskProgress = data.percent; - $scope.backups.taskMessage = data.message; - }, function (error) { + waitForAppTask(function (error) { if (error) return Client.error(error); - $scope.backups.show(); }); }); @@ -587,8 +580,6 @@ angular.module('Application').controller('AppController', ['$scope', '$location' createBackup: function () { $scope.backups.busyCreate = true; - $scope.backups.taskProgress = 0; - $scope.backups.taskMessage = ''; Client.backupApp($scope.app.id, function (error) { if (error) Client.error(error); @@ -927,6 +918,18 @@ angular.module('Application').controller('AppController', ['$scope', '$location' Client.getApp($scope.app.id, function (error, app) { if (error) return callback(error); + if (app.taskId) { + Client.getTask(app.taskId, function (error, task) { + if (error) return callback(error); + + app.taskProgress = task ? task.percent : 10; // start with 10 to avoid empty progress bar + app.taskProgressMessage = task ? task.message : ''; + }); + } else { + app.taskProgress = 0; + app.taskProgressMessage = ''; + } + $scope.app = app; // Immediately move to debug view on error @@ -936,20 +939,13 @@ angular.module('Application').controller('AppController', ['$scope', '$location' }); } - function trackAppTask(progressCallback, callback) { - progressCallback = progressCallback || function () {}; + function waitForAppTask(callback) { callback = callback || function () {}; if (!$scope.app.taskId) return callback(); - Client.getTask($scope.app.taskId, function (error, result) { - if (error) console.error(error); - - progressCallback(result); - - // app will be refreshed on interval - $timeout(trackAppTask.bind(null, progressCallback, callback), 2000); // not yet done - }); + // app will be refreshed on interval + $timeout(waitForAppTask.bind(null, callback), 2000); // not yet done } Client.onReady(function () { @@ -981,7 +977,7 @@ angular.module('Application').controller('AppController', ['$scope', '$location' $scope.backups.show(); $scope.updates.show(); - var refreshTimer = $interval(function () { refreshApp(); }, 3000); // call with inline function to avoid iteration argument passed see $interval docs + var refreshTimer = $interval(function () { refreshApp(); }, 2000); // call with inline function to avoid iteration argument passed see $interval docs $scope.$on('$destroy', function () { $interval.cancel(refreshTimer); });