in src/SfxWeb/src/app/views/partition/backups/backups.component.ts [144:231]
attemptSetActions() {
if (!this.actions) {
this.actions = new ActionCollection(this.telemetry);
this.actions.add(new IsolatedAction(
this.data.dialog,
'enablePartitionBackup',
'Enable/Update Partition Backup',
'Enabling Partition Backup',
{
enable: (backupName: string) => this.data.restClient.enablePartitionBackup(this.partition, backupName).pipe(mergeMap(() => {
return this.partition.partitionBackupInfo.partitionBackupConfigurationInfo.refresh();
})),
data: this
},
PartitionEnableBackUpComponent,
() => true
));
this.actions.add(new IsolatedAction(
this.data.dialog,
'disablePartitionBackup',
'Disable Partition Backup',
'Disabling Partition Backup',
{
enable: (cleanBackup: boolean) => this.data.restClient.disablePartitionBackup(this.partition, cleanBackup).pipe(mergeMap(() => {
return this.partition.partitionBackupInfo.partitionBackupConfigurationInfo.refresh();
})),
data: this
},
PartitionDisableBackUpComponent,
() => true
));
this.actions.add(new ActionWithConfirmationDialog(
this.data.dialog,
'suspendPartitionBackup',
'Suspend Partition Backup',
'Suspending...',
() => this.data.restClient.suspendPartitionBackup(this.partition.id).pipe(mergeMap(() => {
return this.partition.partitionBackupInfo.partitionBackupConfigurationInfo.refresh();
})),
() => this.partition.partitionBackupInfo.partitionBackupConfigurationInfo.raw &&
this.partition.partitionBackupInfo.partitionBackupConfigurationInfo.raw.Kind === 'Partition' &&
this.partition.partitionBackupInfo.partitionBackupConfigurationInfo.raw.PolicyInheritedFrom === 'Partition' &&
this.partition.partitionBackupInfo.partitionBackupConfigurationInfo.raw.SuspensionInfo.IsSuspended === false,
'Confirm Partition Backup Suspension',
`Suspend partition backup for ${this.partition.name} ?`,
this.partition.name));
this.actions.add(new ActionWithConfirmationDialog(
this.data.dialog,
'resumePartitionBackup',
'Resume Partition Backup',
'Resuming...',
() => this.data.restClient.resumePartitionBackup(this.partition.id).pipe(mergeMap(() => {
return this.partition.partitionBackupInfo.partitionBackupConfigurationInfo.refresh();
})),
() => this.partition.partitionBackupInfo.partitionBackupConfigurationInfo.raw &&
this.partition.partitionBackupInfo.partitionBackupConfigurationInfo.raw.Kind === 'Partition' &&
this.partition.partitionBackupInfo.partitionBackupConfigurationInfo.raw.PolicyInheritedFrom === 'Partition' &&
this.partition.partitionBackupInfo.partitionBackupConfigurationInfo.raw.SuspensionInfo.IsSuspended === true,
'Confirm Partition Backup Resumption',
`Resume partition backup for ${this.partition.name} ?`,
this.partition.name));
this.actions.add(new IsolatedAction(
this.data.dialog,
'triggerPartitionBackup',
'Trigger Partition Backup',
'Triggering Partition Backup',
this.partition,
PartitionTriggerBackUpComponent,
() => true
));
this.actions.add(new IsolatedAction(
this.data.dialog,
'restorePartitionBackup',
'Restore Partition Backup',
'Restoring Partition Backup',
this.partition,
PartitionRestoreBackUpComponent,
() => true
));
}
}