3 *ngIf="subVolumeGroups$ | async as subVolumeGroups">
4 <cd-vertical-navigation title="Groups"
5 [items]="subvolumeGroupList"
6 inputIdentifier="group-filter"
7 (emitActiveItem)="selectSubVolumeGroup($event)"></cd-vertical-navigation>
9 <div class="col-10 vertical-line">
10 <cd-table [data]="subVolumes$ | async"
13 selectionType="single"
15 (fetchData)="fetchData()"
16 (updateSelection)="updateSelection($event)">
18 <div class="table-actions">
19 <cd-table-actions [permission]="permissions.cephfs"
20 [selection]="selection"
22 id="cephfs-subvolume-actions"
23 [tableActions]="tableActions">
30 <ng-template #quotaUsageTpl
32 <cd-usage-bar *ngIf="row.info.bytes_pcent && row.info.bytes_pcent !== 'undefined'; else noLimitTpl"
33 [total]="row.info.bytes_quota"
34 [used]="row.info.bytes_used"
36 decimals="2"></cd-usage-bar>
38 <ng-template #noLimitTpl>
39 <span ngbTooltip="Quota limit is not set"
40 *ngIf="row.info.bytes_pcent === 'undefined'"
42 {{row.info.bytes_used | dimlessBinary}}</span>
47 let-value="data.value">
48 <cd-label [value]="value"></cd-label>
51 <ng-template #modeToHumanReadableTpl
52 let-value="data.value">
53 <span *ngFor="let result of (value | octalToHumanReadable)"
54 [ngClass]="result.class"
55 [ngbTooltip]="result.toolTip">
62 <span class="fw-bold">{{row.name}}</span>
64 <span *ngIf="row?.info?.state === 'complete'; else snapshotRetainedTpl">
65 <i [ngClass]="[icons.success, icons.large]"
66 ngbTooltip="{{row.name}} is ready to use"
67 class="text-success"></i>
70 <ng-template #snapshotRetainedTpl>
71 <i [ngClass]="[icons.warning, icons.large]"
73 ngbTooltip="{{row.name}} is removed after retaining the snapshots"></i>
76 <cd-label [value]="row?.info?.type"
77 *ngIf="row?.info?.type !== 'subvolume'"></cd-label>
79 <cd-label value="namespaced"
80 *ngIf="row?.info?.pool_namespace"
81 [tooltipText]="row?.info?.pool_namespace"></cd-label>
84 <ng-template #removeTmpl
86 <ng-container [formGroup]="form">
87 <ng-container formGroupName="child">
88 <cd-alert-panel *ngIf="errorMessage.length > 1"
92 <div class="form-group">
93 <div class="custom-control custom-checkbox">
94 <input type="checkbox"
95 class="custom-control-input"
96 name="retainSnapshots"
98 formControlName="retainSnapshots">
99 <label class="custom-control-label"
100 for="retainSnapshots"
101 i18n>Retain snapshots <cd-helper>The subvolume can be removed retaining
102 existing snapshots using this option.
103 If snapshots are retained, the subvolume is considered empty for all
104 operations not involving the retained snapshots.</cd-helper></label>