1 <cd-table [data]="data"
4 (updateSelection)="updateSelection($event)"
6 <div class="table-actions">
10 class="btn btn-sm btn-primary"
11 *ngIf="permission.create && (!permission.update || !selection.hasSingleSelection)"
12 (click)="openCreateSnapshotModal()">
13 <i class="fa fa-fw fa-plus"></i>
14 <span i18n>Create</span>
17 class="btn btn-sm btn-primary"
18 *ngIf="permission.update && (!permission.create || permission.create && selection.hasSingleSelection)"
19 [ngClass]="{'disabled': !selection.hasSingleSelection || selection.first().executing}"
20 (click)="openEditSnapshotModal()">
21 <i class="fa fa-fw fa-pencil"></i>
22 <span i18n>Rename</span>
25 class="btn btn-sm btn-primary"
26 *ngIf="permission.delete && !permission.update && !permission.create"
27 [ngClass]="{'disabled': !selection.hasSingleSelection || selection.first().executing}"
28 (click)="deleteSnapshotModal()">
29 <i class="fa fa-fw fa-trash-o"></i>
30 <span i18n>Delete</span>
34 class="btn btn-sm btn-primary dropdown-toggle dropdown-toggle-split"
35 *ngIf="permission.create || permission.update">
36 <span class="caret"></span>
37 <span class="sr-only"></span>
43 *ngIf="permission.create">
44 <a class="dropdown-item"
45 (click)="openCreateSnapshotModal()">
46 <i class="fa fa-fw fa-plus"></i>
47 <span i18n>Create</span>
51 *ngIf="permission.update"
52 [ngClass]="{'disabled': !selection.hasSingleSelection || selection.first().executing}">
53 <a class="dropdown-item" (click)="openEditSnapshotModal()">
54 <i class="fa fa-fw fa-pencil"></i>
55 <span i18n>Rename</span>
59 *ngIf="permission.update"
60 [ngClass]="{'disabled': !selection.hasSingleSelection || selection.first().executing}">
61 <a class="dropdown-item" (click)="toggleProtection()">
62 <span *ngIf="!selection.first()?.is_protected">
63 <i class="fa fa-fw fa-lock"></i>
64 <span i18n>Protect</span>
66 <span *ngIf="selection.first()?.is_protected">
67 <i class="fa fa-fw fa-unlock"></i>
68 <span i18n>Unprotect</span>
73 *ngIf="permission.create"
74 [ngClass]="{'disabled': !selection.hasSingleSelection || selection.first().executing}">
75 <a class="dropdown-item"
76 routerLink="/rbd/clone/{{ poolName | encodeUri }}/{{ rbdName | encodeUri }}/{{ selection.first()?.name | encodeUri }}">
77 <i class="fa fa-fw fa-clone"></i>
78 <span i18n>Clone</span>
82 *ngIf="permission.create"
83 [ngClass]="{'disabled': !selection.hasSingleSelection || selection.first().executing}">
84 <a class="dropdown-item"
85 routerLink="/rbd/copy/{{ poolName | encodeUri }}/{{ rbdName | encodeUri }}/{{ selection.first()?.name | encodeUri }}">
86 <i class="fa fa-fw fa-copy"></i>
87 <span i18n>Copy</span>
91 *ngIf="permission.update"
92 [ngClass]="{'disabled': !selection.hasSingleSelection || selection.first().executing}">
93 <a class="dropdown-item"
94 (click)="rollbackModal()">
95 <i class="fa fa-fw fa-undo"></i>
96 <span i18n>Rollback</span>
100 *ngIf="permission.delete"
101 [ngClass]="{'disabled': !selection.hasSingleSelection || selection.first().executing || selection.first().is_protected}">
102 <a class="dropdown-item"
103 (click)="deleteSnapshotModal()">
104 <i class="fa fa-fw fa-trash-o"></i>
105 <span i18n>Delete</span>
113 <ng-template #protectTpl
116 class="label label-success">PROTECTED</span>
118 class="label label-info">UNPROTECTED</span>
121 <ng-template #rollbackTpl
123 You are about to rollback
124 <strong>{{ value.snapName }}</strong>.