]> git.apps.os.sepia.ceph.com Git - ceph.git/blob
a742f216944739fd852f9e3a0656add9e9520668
[ceph.git] /
1 <cd-table [data]="data"
2           columnMode="flex"
3           selectionType="single"
4           (updateSelection)="updateSelection($event)"
5           [columns]="columns">
6   <div class="table-actions">
7     <div class="btn-group"
8          dropdown>
9       <button type="button"
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>
15       </button>
16       <button type="button"
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>
23       </button>
24       <button type="button"
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>
31       </button>
32       <button type="button"
33               dropdownToggle
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>
38       </button>
39       <ul *dropdownMenu
40           class="dropdown-menu"
41           role="menu">
42         <li role="menuitem"
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>
48           </a>
49         </li>
50         <li role="menuitem"
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>
56           </a>
57         </li>
58         <li role="menuitem"
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>
65             </span>
66             <span *ngIf="selection.first()?.is_protected">
67               <i class="fa fa-fw fa-unlock"></i>
68               <span i18n>Unprotect</span>
69             </span>
70           </a>
71         </li>
72         <li role="menuitem"
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>
79           </a>
80         </li>
81         <li role="menuitem"
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>
88           </a>
89         </li>
90         <li role="menuitem"
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>
97           </a>
98         </li>
99         <li role="menuitem"
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>
106           </a>
107         </li>
108       </ul>
109     </div>
110   </div>
111 </cd-table>
112
113 <ng-template #protectTpl
114              let-value="value">
115   <span *ngIf="value"
116         class="label label-success">PROTECTED</span>
117   <span *ngIf="!value"
118         class="label label-info">UNPROTECTED</span>
119 </ng-template>
120
121 <ng-template #rollbackTpl
122              let-value>
123   You are about to rollback
124   <strong>{{ value.snapName }}</strong>.
125 </ng-template>