]> git.proxmox.com Git - ceph.git/blame - ceph/src/pybind/mgr/dashboard/frontend/src/app/ceph/block/rbd-list/rbd-list.component.html
import ceph 16.2.7
[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"
11fdf7f2
TL
9 forceIdentifier="true"
10 selectionType="single"
e306af50 11 [hasDetails]="true"
f67539c2
TL
12 [status]="tableStatus"
13 [autoReload]="-1"
14 (fetchData)="taskListService.fetch()"
e306af50 15 (setExpandedRow)="setExpandedRow($event)"
11fdf7f2
TL
16 (updateSelection)="updateSelection($event)">
17 <cd-table-actions class="table-actions"
18 [permission]="permission"
19 [selection]="selection"
20 [tableActions]="tableActions">
21 </cd-table-actions>
22 <cd-rbd-details cdTableDetail
e306af50 23 [selection]="expandedRow">
11fdf7f2
TL
24 </cd-rbd-details>
25</cd-table>
26
27<ng-template #usageNotAvailableTooltipTpl>
28 <div i18n
29 [innerHtml]="'Only available for RBD images with <strong>fast-diff</strong> enabled'"></div>
30</ng-template>
31
a4b75251
TL
32<ng-template #provisionedNotAvailableTooltipTpl
33 let-row="row">
34 <span *ngIf="row.disk_usage === null; else provisioned"
35 [ngbTooltip]="usageNotAvailableTooltipTpl"
36 placement="top"
37 i18n>N/A</span>
38 <ng-template #provisioned
39 i18n>{{row.disk_usage | dimlessBinary}}</ng-template>
40</ng-template>
41
42<ng-template #totalProvisionedNotAvailableTooltipTpl
43 let-row="row">
44 <span *ngIf="row.total_disk_usage === null; else totalProvisioned"
45 [ngbTooltip]="usageNotAvailableTooltipTpl"
46 placement="top"
47 i18n>N/A</span>
48 <ng-template #totalProvisioned
49 i18n>{{row.total_disk_usage | dimlessBinary}}</ng-template>
50</ng-template>
51
11fdf7f2
TL
52<ng-template #parentTpl
53 let-value="value">
9f95a23c
TL
54 <span *ngIf="value">{{ value.pool_name }}<span
55 *ngIf="value.pool_namespace">/{{ value.pool_namespace }}</span>/{{ value.image_name }}@{{ value.snap_name }}</span>
11fdf7f2
TL
56 <span *ngIf="!value">-</span>
57</ng-template>
58
59<ng-template #flattenTpl
60 let-value>
61 You are about to flatten
62 <strong>{{ value.child }}</strong>.
63 <br>
64 <br> All blocks will be copied from parent
65 <strong>{{ value.parent }}</strong> to child
66 <strong>{{ value.child }}</strong>.
67</ng-template>
9f95a23c
TL
68
69<ng-template #deleteTpl
70 let-hasSnapshots="hasSnapshots"
71 let-snapshots="snapshots">
72 <div class="alert alert-warning"
73 *ngIf="hasSnapshots"
74 role="alert">
75 <span i18n>Deleting this image will also delete all its snapshots.</span>
76 <br>
77 <ng-container *ngIf="snapshots.length > 0">
78 <span i18n>The following snapshots are currently protected and will be removed:</span>
79 <ul>
80 <li *ngFor="let snapshot of snapshots">{{ snapshot }}</li>
81 </ul>
82 </ng-container>
83 </div>
84</ng-template>
b3b6e05e
TL
85
86<ng-template #removingStatTpl
87 let-column="column"
88 let-value="value"
89 let-row="row">
90
91 <i [ngClass]="[icons.spinner, icons.spin]"
92 *ngIf="row.cdExecuting"></i>
93 <span [ngClass]="column?.customTemplateConfig?.valueClass">
94 {{ value }}
95 </span>
96 <span *ngIf="row.cdExecuting"
97 [ngClass]="column?.customTemplateConfig?.executingClass ?
98 column.customTemplateConfig.executingClass :
99 'text-muted italic'">
100 ({{ row.cdExecuting }})
101 </span>
102 <i *ngIf="row.source && row.source === 'REMOVING'"
103 i18n-title
104 title="RBD in status 'Removing'"
105 class="{{ icons.warning }} warn"></i>
106</ng-template>