in src/SfxWeb/src/app/views/application/backup/backup.component.ts [53:122]
setUpActions() {
if (!this.actions) {
this.actions = new ActionCollection(this.telemetry);
this.actions.add(new IsolatedAction(
this.data.dialog,
'enableApplicationBackup',
'Enable/Update Application Backup',
'Enabling Application Backup',
{
enable: (backupName: string) => this.data.restClient.enableApplicationBackup(this.app, backupName).pipe(mergeMap(() => {
return this.app.applicationBackupConfigurationInfoCollection.refresh();
})),
data: this
},
PartitionEnableBackUpComponent,
() => true,
));
this.actions.add(new IsolatedAction(
this.data.dialog,
'disableApplicationBackup',
'Disable Application Backup',
'Disabling Application Backup',
{
enable: (cleanBackup: boolean) => this.data.restClient.disableApplicationBackup(this.app, cleanBackup).pipe(mergeMap(() => {
return this.app.applicationBackupConfigurationInfoCollection.refresh();
})),
data: this
},
PartitionDisableBackUpComponent,
() => this.app.applicationBackupConfigurationInfoCollection.collection.length && this.app.applicationBackupConfigurationInfoCollection.collection[0].raw &&
this.app.applicationBackupConfigurationInfoCollection.collection[0].raw.Kind === 'Application' &&
this.app.applicationBackupConfigurationInfoCollection.collection[0].raw.PolicyInheritedFrom === 'Application',
));
this.actions.add(new ActionWithConfirmationDialog(
this.data.dialog,
'suspendApplicationBackup',
'Suspend Application Backup',
'Suspending...',
() => this.data.restClient.suspendApplicationBackup(this.app.id).pipe(map(() => {
this.app.applicationBackupConfigurationInfoCollection.refresh();
})),
() => this.app.applicationBackupConfigurationInfoCollection.collection.length && this.app.applicationBackupConfigurationInfoCollection.collection[0].raw &&
this.app.applicationBackupConfigurationInfoCollection.collection[0].raw.Kind === 'Application' &&
this.app.applicationBackupConfigurationInfoCollection.collection[0].raw.PolicyInheritedFrom === 'Application' &&
this.app.applicationBackupConfigurationInfoCollection.collection[0].raw.SuspensionInfo.IsSuspended === false,
'Confirm Application Backup Suspension',
`Suspend application backup for ${this.app.name} ?`,
this.app.name));
this.actions.add(new ActionWithConfirmationDialog(
this.data.dialog,
'resumeApplicationBackup',
'Resume Application Backup',
'Resuming...',
() => this.data.restClient.resumeApplicationBackup(this.app.id).pipe(map(() => {
this.app.applicationBackupConfigurationInfoCollection.refresh();
})),
() => this.app.applicationBackupConfigurationInfoCollection.collection.length && this.app.applicationBackupConfigurationInfoCollection.collection[0].raw &&
this.app.applicationBackupConfigurationInfoCollection.collection[0].raw.Kind === 'Application' &&
this.app.applicationBackupConfigurationInfoCollection.collection[0].raw.PolicyInheritedFrom === 'Application' &&
this.app.applicationBackupConfigurationInfoCollection.collection[0].raw.SuspensionInfo.IsSuspended === true,
'Confirm Application Backup Resumption',
`Resume application backup for ${this.app.name} ?`,
this.app.name));
}
}