apps: add edit backup UI

This commit is contained in:
Girish Ramakrishnan
2022-04-08 10:57:45 -07:00
parent 6d04b2645c
commit 153abc8078
3 changed files with 98 additions and 4 deletions
+51 -1
View File
@@ -1203,6 +1203,14 @@ angular.module('Application').controller('AppController', ['$scope', '$location'
});
},
refresh: function () {
Client.getAppBackups($scope.app.id, function (error, backups) {
if (error) return Client.error(error);
$scope.backups.backups = backups;
});
},
toggleAutomaticBackups: function () {
$scope.backups.busyAutomaticBackups = true;
$scope.backups.error = {};
@@ -1424,6 +1432,48 @@ angular.module('Application').controller('AppController', ['$scope', '$location'
},
};
$scope.editBackup = {
busy: false,
error: null,
backup: null,
label: '',
persist: false,
show: function (backup) {
$scope.editBackup.backup = backup;
$scope.editBackup.label = backup.label;
$scope.editBackup.persist = backup.preserveSecs === -1;
$scope.editBackup.error = null;
$scope.editBackup.busy = false;
$('#editBackupModal').modal('show');
},
submit: function () {
$scope.editBackup.error = null;
$scope.editBackup.busy = true;
Client.editAppBackup($scope.app.id, $scope.editBackup.backup.id, $scope.editBackup.label, $scope.editBackup.persist ? -1 : 0, function (error) {
$scope.editBackup.busy = false;
if (error) return $scope.editBackup.error = error.message;
$scope.backups.refresh();
$('#editBackupModal').modal('hide');
});
}
};
$scope.backupDetails = {
backup: null,
show: function (backup) {
$scope.backupDetails.backup = backup;
$('#backupDetailsModal').modal('show');
}
};
$scope.uninstall = {
busy: false,
error: {},
@@ -2014,7 +2064,7 @@ angular.module('Application').controller('AppController', ['$scope', '$location'
};
// setup all the dialog focus handling
['appUninstallModal', 'appUpdateModal', 'appRestoreModal', 'appCloneModal'].forEach(function (id) {
['appUninstallModal', 'appUpdateModal', 'appRestoreModal', 'appCloneModal', 'editBackupModal'].forEach(function (id) {
$('#' + id).on('shown.bs.modal', function () {
$(this).find('[autofocus]:first').focus();
});