Headless CMS and Content Managment Hub
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

95 lines
4.0 KiB

<sqx-title message="{app} | Backups | Settings" parameter1="app" [value1]="appsState.appDisplayName"></sqx-title>
<sqx-panel desiredWidth="50rem" [showSidebar]="true">
<ng-container title>
Backups
</ng-container>
<ng-container menu>
<button type="button" class="btn btn-text-secondary mr-1" (click)="reload()" title="Refresh backups (CTRL + SHIFT + R)">
<i class="icon-reset"></i> Refresh
</button>
<sqx-shortcut keys="ctrl+shift+r" (trigger)="reload()"></sqx-shortcut>
<button type="button" class="btn btn-success" [disabled]="backupsState.maxBackupsReached | async" *ngIf="backupsState.canCreate | async" (click)="start()">
Start Backup
</button>
</ng-container>
<ng-container content>
<ng-container *ngIf="(backupsState.isLoaded | async) && (backupsState.backups | async); let backups">
<div class="panel-alert panel-alert-danger" *ngIf="backupsState.maxBackupsReached | async">
Your have reached the maximum number of backups: 10.
</div>
<div class="table-items-row table-items-row-empty" *ngIf="backups.length === 0">
No backups created yet.
<button type="button" class="btn btn-success btn-sm ml-2" (click)="start()">
Start Backup
</button>
</div>
<div class="table-items-row" *ngFor="let backup of backups; trackBy: trackByBackup">
<div class="row">
<div class="col-auto" [ngSwitch]="backup.status">
<sqx-status-icon size="lg" [status]="backup.status"></sqx-status-icon>
</div>
<div class="col-auto">
<div>
Started:
</div>
<div>
Duration:
</div>
</div>
<div class="col-3">
<div>
{{backup.started | sqxFromNow}}
</div>
<div *ngIf="backup.stopped">
{{backup | sqxBackupDuration}}
</div>
</div>
<div class="col">
<div>
<span title="Archived events">
Events: <strong class="backup-progress">{{backup.handledEvents | sqxKNumber}}</strong>
</span>,
<span title="Archived assets">
Assets: <strong class="backup-progress">{{backup.handledAssets | sqxKNumber}}</strong>
</span>
</div>
<div *ngIf="backup.stopped && !backup.isFailed">
Download:
<a href="{{apiUrl.buildUrl(backup.downloadUrl)}}" sqxExternalLink="noicon">
Ready <i class="icon-external-link"></i>
</a>
</div>
</div>
<div class="col-auto">
<button type="button" class="btn btn-text-danger mt-1"
[disabled]="!backup.canDelete"
(sqxConfirmClick)="delete(backup)"
confirmTitle="Delete backup"
confirmText="Do you really want to delete the backup?">
<i class="icon-bin2"></i>
</button>
</div>
</div>
</div>
</ng-container>
</ng-container>
<ng-container sidebar>
<div class="panel-nav">
<a class="panel-link" routerLink="help" routerLinkActive="active" title="Help" titlePosition="left">
<i class="icon-help"></i>
</a>
</div>
</ng-container>
</sqx-panel>
<router-outlet></router-outlet>