Show better backup progress in settings ui

This commit is contained in:
Johannes Zellner
2017-01-19 17:30:01 +01:00
parent 70e861b106
commit c301e9b088
2 changed files with 16 additions and 6 deletions

View File

@@ -362,15 +362,20 @@
</div>
</div>
<!-- If a backup is blocked (not triggered), the UI does not give feedback currently. This button is only available in dev at the moment! -->
<div class="row" ng-show="backupConfig.provider !== 'caas' || config.isDev">
<br/>
<div class="col-xs-6">
<div class="col-md-12">
<div ng-show="createBackup.busy" class="progress progress-striped active animateMe">
<div class="progress-bar progress-bar-success" role="progressbar" style="width: {{ createBackup.percent }}%">Backup in progress</div>
<div class="progress-bar progress-bar-success" role="progressbar" style="width: {{ createBackup.percent }}%">{{ createBackup.percent }}%</div>
</div>
<br/>
</div>
<div class="col-xs-6 text-right">
</div>
<div class="row" ng-show="backupConfig.provider !== 'caas' || config.isDev">
<div class="col-md-6">
<p ng-show="createBackup.busy">{{ createBackup.message }}</p>
</div>
<div class="col-md-6 text-right">
<button class="btn btn-outline btn-primary pull-right" ng-click="configureBackup.show()" ng-disabled="createBackup.busy">Configure</button>
<button class="btn btn-outline btn-primary" ng-click="createBackup.doCreateBackup()" ng-disabled="createBackup.busy" style="margin-right: 10px">Backup now</button>

View File

@@ -100,11 +100,13 @@ angular.module('Application').controller('SettingsController', ['$scope', '$loca
$scope.createBackup = {
busy: false,
percent: 100,
message: '',
errorMessage: '',
doCreateBackup: function () {
$scope.createBackup.busy = true;
$scope.createBackup.percent = 0;
$scope.createBackup.message = '';
$scope.createBackup.errorMessage = '';
Client.backup(function (error) {
@@ -131,12 +133,15 @@ angular.module('Application').controller('SettingsController', ['$scope', '$loca
// check if we are done
if (!data.backup || data.backup.percent >= 100) {
if (data.backup && data.backup.message) console.error('Backup message: ' + data.backup.message); // backup error message
fetchBackups();
$scope.createBackup.busy = false;
return;
$scope.createBackup.message = '';
return fetchBackups();
}
$scope.createBackup.percent = data.backup.percent;
$scope.createBackup.message = data.backup.message;
window.setTimeout(checkIfDone, 250);
});
}