Add backup listing UI
This commit is contained in:
+37
-3
@@ -129,9 +129,10 @@ angular.module('Application').controller('BackupsController', ['$scope', '$locat
|
||||
message: '',
|
||||
errorMessage: '',
|
||||
taskId: '',
|
||||
taskType: '',
|
||||
|
||||
checkStatus: function () {
|
||||
Client.getLatestTaskByType('backup', function (error, task) {
|
||||
Client.getLatestTaskByType($scope.createBackup.taskType, function (error, task) {
|
||||
if (error) return console.error(error);
|
||||
|
||||
if (!task) return;
|
||||
@@ -166,6 +167,7 @@ angular.module('Application').controller('BackupsController', ['$scope', '$locat
|
||||
$scope.createBackup.percent = 0;
|
||||
$scope.createBackup.message = '';
|
||||
$scope.createBackup.errorMessage = '';
|
||||
$scope.createBackup.taskType = 'backup';
|
||||
|
||||
Client.startBackup(function (error, taskId) {
|
||||
if (error) {
|
||||
@@ -189,7 +191,22 @@ angular.module('Application').controller('BackupsController', ['$scope', '$locat
|
||||
});
|
||||
},
|
||||
|
||||
stopBackup: function () {
|
||||
startCleanup: function () {
|
||||
$scope.createBackup.busy = true;
|
||||
$scope.createBackup.percent = 0;
|
||||
$scope.createBackup.message = '';
|
||||
$scope.createBackup.errorMessage = '';
|
||||
$scope.createBackup.taskType = 'cleanBackups';
|
||||
|
||||
Client.cleanupBackups(function (error, taskId) {
|
||||
if (error) console.error(error);
|
||||
|
||||
$scope.createBackup.taskId = taskId;
|
||||
$scope.createBackup.updateStatus();
|
||||
});
|
||||
},
|
||||
|
||||
stopTask: function () {
|
||||
Client.stopTask($scope.createBackup.taskId, function (error) {
|
||||
if (error) {
|
||||
if (error.statusCode === 409) {
|
||||
@@ -207,6 +224,22 @@ angular.module('Application').controller('BackupsController', ['$scope', '$locat
|
||||
}
|
||||
};
|
||||
|
||||
$scope.listBackups = {
|
||||
copyBackupIdDone: false,
|
||||
|
||||
copyBackupId: function (backup) {
|
||||
var copyText = document.getElementById('backupIdHelper');
|
||||
copyText.value = backup.id;
|
||||
copyText.select();
|
||||
document.execCommand('copy');
|
||||
|
||||
$scope.listBackups.copyBackupIdDone = true;
|
||||
|
||||
// reset after 2.5sec
|
||||
$timeout(function () { $scope.listBackups.copyBackupIdDone = false; }, 2500);
|
||||
},
|
||||
};
|
||||
|
||||
$scope.s3like = function (provider) {
|
||||
return provider === 's3' || provider === 'minio' || provider === 's3-v4-compat'
|
||||
|| provider === 'exoscale-sos' || provider === 'digitalocean-spaces'
|
||||
@@ -228,9 +261,10 @@ angular.module('Application').controller('BackupsController', ['$scope', '$locat
|
||||
document.body.removeChild(element);
|
||||
}
|
||||
|
||||
$scope.downloadConfig = function () {
|
||||
$scope.downloadConfig = function (backup) {
|
||||
// secrets and tokens already come with placeholder characters we remove them
|
||||
var tmp = {
|
||||
backupId: backup.id,
|
||||
encrypted: !!$scope.backupConfig.password // we add this just to help the import UI
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user