Improve app backup view
This commit is contained in:
+34
-22
@@ -406,29 +406,36 @@ angular.module('Application').controller('AppController', ['$scope', '$location'
|
||||
|
||||
$scope.updates = {
|
||||
busy: false,
|
||||
error: {},
|
||||
success: false,
|
||||
busyCheck: false,
|
||||
|
||||
currentEnableAutomaticUpdate: false,
|
||||
enableAutomaticUpdate: false,
|
||||
|
||||
show: function () {
|
||||
var app = $scope.app;
|
||||
|
||||
$scope.updates.enableAutomaticUpdate = app.enableAutomaticUpdate;
|
||||
$scope.updates.currentEnableAutomaticUpdate = app.enableAutomaticUpdate;
|
||||
},
|
||||
|
||||
submit: function () {
|
||||
toggleAutomaticUpdates: function () {
|
||||
$scope.updates.busy = true;
|
||||
$scope.updates.error = {};
|
||||
|
||||
Client.configureApp($scope.app.id, 'automatic_update', { enable: $scope.updates.enableAutomaticUpdate }, function (error) {
|
||||
Client.configureApp($scope.app.id, 'automatic_update', { enable: !$scope.updates.enableAutomaticUpdate }, function (error) {
|
||||
if (error) return Client.error(error);
|
||||
|
||||
$scope.updates.currentEnableAutomaticUpdate = $scope.updates.enableAutomaticUpdate;
|
||||
$scope.updates.success = true;
|
||||
$scope.updates.busy = false;
|
||||
$timeout(function () {
|
||||
$scope.updates.enableAutomaticUpdate = !$scope.updates.enableAutomaticUpdate;
|
||||
$scope.updates.busy = false;
|
||||
}, 1000);
|
||||
});
|
||||
},
|
||||
|
||||
check: function () {
|
||||
$scope.updates.busyCheck = true;
|
||||
|
||||
Client.checkForUpdates(function (error) {
|
||||
if (error) Client.error(error);
|
||||
|
||||
$scope.updates.busyCheck = false;
|
||||
});
|
||||
}
|
||||
};
|
||||
@@ -436,10 +443,8 @@ angular.module('Application').controller('AppController', ['$scope', '$location'
|
||||
$scope.backups = {
|
||||
busy: false,
|
||||
error: {},
|
||||
success: false,
|
||||
copyBackupIdDone: false,
|
||||
|
||||
currentEnableBackup: false,
|
||||
enableBackup: false,
|
||||
backups: [],
|
||||
|
||||
@@ -459,14 +464,17 @@ angular.module('Application').controller('AppController', ['$scope', '$location'
|
||||
Client.backupApp($scope.app.id, function (error) {
|
||||
if (error) Client.error(error);
|
||||
|
||||
trackAppTask();
|
||||
trackAppTask(function (error) {
|
||||
if (error) return Client.error(error);
|
||||
|
||||
$scope.backups.show();
|
||||
});
|
||||
});
|
||||
},
|
||||
|
||||
show: function () {
|
||||
var app = $scope.app;
|
||||
|
||||
$scope.backups.currentEnableBackup = app.enableBackup;
|
||||
$scope.backups.enableBackup = app.enableBackup;
|
||||
|
||||
Client.getAppBackups(app.id, function (error, backups) {
|
||||
@@ -476,16 +484,17 @@ angular.module('Application').controller('AppController', ['$scope', '$location'
|
||||
});
|
||||
},
|
||||
|
||||
submit: function () {
|
||||
toggleAutomaticBackups: function () {
|
||||
$scope.backups.busy = true;
|
||||
$scope.backups.error = {};
|
||||
|
||||
Client.configureApp($scope.app.id, 'automatic_backup', { enable: $scope.backups.enableBackup }, function (error) {
|
||||
Client.configureApp($scope.app.id, 'automatic_backup', { enable: !$scope.backups.enableBackup }, function (error) {
|
||||
if (error) return Client.error(error);
|
||||
|
||||
$scope.backups.currentEnableBackup = $scope.backups.enableBackup;
|
||||
$scope.backups.success = true;
|
||||
$scope.backups.busy = false;
|
||||
$timeout(function () {
|
||||
$scope.backups.enableBackup = !$scope.backups.enableBackup;
|
||||
$scope.backups.busy = false;
|
||||
}, 1000);
|
||||
});
|
||||
},
|
||||
|
||||
@@ -674,12 +683,15 @@ angular.module('Application').controller('AppController', ['$scope', '$location'
|
||||
});
|
||||
}
|
||||
|
||||
function trackAppTask() {
|
||||
function trackAppTask(callback) {
|
||||
callback = callback || function (error) { if (error) Client.error(error); };
|
||||
|
||||
Client.getApp(appId, function (error, app) {
|
||||
if (error) Client.error(error);
|
||||
if (error) return callback(error);
|
||||
else $scope.app = app;
|
||||
|
||||
if ($scope.app.taskId) $timeout(trackAppTask, 2000); // not yet done
|
||||
if ($scope.app.taskId) $timeout(trackAppTask.bind(null, callback), 2000); // not yet done
|
||||
else callback();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user