]>
Commit | Line | Data |
---|---|---|
9f95a23c TL |
1 | <cd-rbd-tabs></cd-rbd-tabs> |
2 | ||
11fdf7f2 TL |
3 | <cd-table #table |
4 | [data]="images" | |
5 | columnMode="flex" | |
6 | [columns]="columns" | |
f6b5b4d7 | 7 | identifier="unique_id" |
9f95a23c | 8 | [searchableObjects]="true" |
2a845540 TL |
9 | [serverSide]="true" |
10 | [count]="count" | |
11fdf7f2 TL |
11 | forceIdentifier="true" |
12 | selectionType="single" | |
e306af50 | 13 | [hasDetails]="true" |
f67539c2 | 14 | [status]="tableStatus" |
2a845540 | 15 | [maxLimit]="25" |
f67539c2 | 16 | [autoReload]="-1" |
2a845540 | 17 | (fetchData)="taskListService.fetch($event)" |
e306af50 | 18 | (setExpandedRow)="setExpandedRow($event)" |
11fdf7f2 TL |
19 | (updateSelection)="updateSelection($event)"> |
20 | <cd-table-actions class="table-actions" | |
21 | [permission]="permission" | |
22 | [selection]="selection" | |
23 | [tableActions]="tableActions"> | |
24 | </cd-table-actions> | |
25 | <cd-rbd-details cdTableDetail | |
e306af50 | 26 | [selection]="expandedRow"> |
11fdf7f2 TL |
27 | </cd-rbd-details> |
28 | </cd-table> | |
29 | ||
2a845540 | 30 | <ng-template #scheduleStatus> |
11fdf7f2 TL |
31 | <div i18n |
32 | [innerHtml]="'Only available for RBD images with <strong>fast-diff</strong> enabled'"></div> | |
33 | </ng-template> | |
34 | ||
a4b75251 TL |
35 | <ng-template #provisionedNotAvailableTooltipTpl |
36 | let-row="row"> | |
20effc67 | 37 | <span *ngIf="row.disk_usage === null && !row.features_name.includes('fast-diff'); else provisioned" |
a4b75251 TL |
38 | [ngbTooltip]="usageNotAvailableTooltipTpl" |
39 | placement="top" | |
40 | i18n>N/A</span> | |
41 | <ng-template #provisioned | |
42 | i18n>{{row.disk_usage | dimlessBinary}}</ng-template> | |
43 | </ng-template> | |
44 | ||
45 | <ng-template #totalProvisionedNotAvailableTooltipTpl | |
46 | let-row="row"> | |
20effc67 | 47 | <span *ngIf="row.total_disk_usage === null && !row.features_name.includes('fast-diff'); else totalProvisioned" |
a4b75251 TL |
48 | [ngbTooltip]="usageNotAvailableTooltipTpl" |
49 | placement="top" | |
50 | i18n>N/A</span> | |
51 | <ng-template #totalProvisioned | |
52 | i18n>{{row.total_disk_usage | dimlessBinary}}</ng-template> | |
53 | </ng-template> | |
54 | ||
11fdf7f2 TL |
55 | <ng-template #parentTpl |
56 | let-value="value"> | |
9f95a23c TL |
57 | <span *ngIf="value">{{ value.pool_name }}<span |
58 | *ngIf="value.pool_namespace">/{{ value.pool_namespace }}</span>/{{ value.image_name }}@{{ value.snap_name }}</span> | |
11fdf7f2 TL |
59 | <span *ngIf="!value">-</span> |
60 | </ng-template> | |
61 | ||
2a845540 TL |
62 | <ng-template #mirroringTpl |
63 | let-value="value" | |
64 | let-row="row"> | |
65 | <span *ngIf="value.length === 3; else probb" | |
66 | class="badge badge-info">{{ value[0] }}</span> | |
67 | <span *ngIf="value.length === 3" | |
39ae355f | 68 | class="badge badge-info">{{ value[1] }}</span> |
2a845540 TL |
69 | <span *ngIf="row.primary === true" |
70 | class="badge badge-info" | |
71 | i18n>primary</span> | |
72 | <span *ngIf="row.primary === false" | |
73 | class="badge badge-info" | |
74 | i18n>secondary</span> | |
75 | <ng-template #probb> | |
76 | <span class="badge badge-info">{{ value }}</span> | |
77 | </ng-template> | |
78 | </ng-template> | |
79 | ||
1e59de90 | 80 | <ng-template #ScheduleTpl |
39ae355f TL |
81 | let-value="value" |
82 | let-row="row"> | |
83 | <span *ngIf="value.length === 3" | |
84 | class="badge badge-info">{{ value[2] | cdDate }}</span> | |
85 | </ng-template> | |
86 | ||
11fdf7f2 TL |
87 | <ng-template #flattenTpl |
88 | let-value> | |
89 | You are about to flatten | |
90 | <strong>{{ value.child }}</strong>. | |
91 | <br> | |
92 | <br> All blocks will be copied from parent | |
93 | <strong>{{ value.parent }}</strong> to child | |
94 | <strong>{{ value.child }}</strong>. | |
95 | </ng-template> | |
9f95a23c TL |
96 | |
97 | <ng-template #deleteTpl | |
98 | let-hasSnapshots="hasSnapshots" | |
99 | let-snapshots="snapshots"> | |
100 | <div class="alert alert-warning" | |
101 | *ngIf="hasSnapshots" | |
102 | role="alert"> | |
103 | <span i18n>Deleting this image will also delete all its snapshots.</span> | |
104 | <br> | |
105 | <ng-container *ngIf="snapshots.length > 0"> | |
106 | <span i18n>The following snapshots are currently protected and will be removed:</span> | |
107 | <ul> | |
108 | <li *ngFor="let snapshot of snapshots">{{ snapshot }}</li> | |
109 | </ul> | |
110 | </ng-container> | |
111 | </div> | |
112 | </ng-template> | |
b3b6e05e TL |
113 | |
114 | <ng-template #removingStatTpl | |
115 | let-column="column" | |
116 | let-value="value" | |
117 | let-row="row"> | |
118 | ||
119 | <i [ngClass]="[icons.spinner, icons.spin]" | |
120 | *ngIf="row.cdExecuting"></i> | |
121 | <span [ngClass]="column?.customTemplateConfig?.valueClass"> | |
122 | {{ value }} | |
123 | </span> | |
124 | <span *ngIf="row.cdExecuting" | |
125 | [ngClass]="column?.customTemplateConfig?.executingClass ? | |
126 | column.customTemplateConfig.executingClass : | |
127 | 'text-muted italic'"> | |
128 | ({{ row.cdExecuting }}) | |
129 | </span> | |
130 | <i *ngIf="row.source && row.source === 'REMOVING'" | |
131 | i18n-title | |
132 | title="RBD in status 'Removing'" | |
133 | class="{{ icons.warning }} warn"></i> | |
134 | </ng-template> | |
1e59de90 TL |
135 | |
136 | <ng-template #forcePromoteConfirmation> | |
137 | <cd-alert-panel type="warning">{{ errorMessage }}</cd-alert-panel> | |
138 | <div class="m-4" | |
139 | i18n> | |
140 | <strong> | |
141 | Do you want to force the operation? | |
142 | </strong> | |
143 | </div> | |
144 | </ng-template> |