]> git.proxmox.com Git - ceph.git/blame - ceph/src/pybind/mgr/dashboard/frontend/src/app/ceph/block/rbd-list/rbd-list.component.html
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / pybind / mgr / dashboard / frontend / src / app / ceph / block / rbd-list / rbd-list.component.html
CommitLineData
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>&nbsp;
67 <span *ngIf="value.length === 3"
39ae355f 68 class="badge badge-info">{{ value[1] }}</span>&nbsp;
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>