]> git.apps.os.sepia.ceph.com Git - ceph.git/blob
f26f63e755a6e58227b16d294bf6c0e1e0352e78
[ceph.git] /
1 <cd-alert-panel
2   *ngIf="(snapScheduleModuleStatus$ | async) === false"
3   type="info"
4   spacingClass="mb-3"
5   i18n
6   class="align-items-center"
7 >
8   In order to access the snapshot scheduler feature, the snap_scheduler module must be enabled
9   <button
10     class="btn btn-light mx-2"
11     type="button"
12     (click)="enableSnapshotSchedule()">
13     Enable
14   </button>
15 </cd-alert-panel>
16
17 <ng-template
18   #pathTpl
19   let-row="row">
20   <span
21     class="fw-bold"
22     [ngbTooltip]="fullpathTpl"
23     triggers="click:blur">
24     {{ row.path?.split?.("@")?.[0] | path }}
25   </span>
26
27   <span
28   *ngIf="row.active; else inactiveStatusTpl">
29     <i
30       [ngClass]="[icons.success, icons.large]"
31       ngbTooltip="{{ row.path?.split?.('@')?.[0] }} is active"
32       class="text-success"
33     ></i>
34   </span>
35
36   <ng-template #inactiveStatusTpl>
37     <i
38       [ngClass]="[icons.warning, icons.large]"
39       class="text-warning"
40       ngbTooltip="{{ row.path?.split?.('@')?.[0] }} has been deactivated"
41     ></i>
42   </ng-template>
43
44   <ng-template #fullpathTpl>
45     <span
46       data-toggle="tooltip"
47       [title]="row.path"
48       class="font-monospace"
49       >{{ row.path?.split?.("@")?.[0] }}
50       <cd-copy-2-clipboard-button
51         *ngIf="row.path"
52         [source]="row.path?.split?.('@')?.[0]"
53         [byId]="false"
54         [showIconOnly]="true"
55       >
56       </cd-copy-2-clipboard-button>
57     </span>
58   </ng-template>
59 </ng-template>
60
61 <ng-template
62   #retentionTpl
63   let-row="row">
64   <ul *ngIf="row.retentionCopy.length; else noDataTpl">
65     <li *ngFor="let ret of row.retentionCopy">{{ ret }}</li>
66   </ul>
67 </ng-template>
68
69 <ng-template
70   #subvolTpl
71   let-row="row">
72   <span *ngIf="row.subvol; else noDataTpl">
73     {{row.subvol}}
74   </span>
75 </ng-template>
76
77
78
79 <ng-template #noDataTpl>-</ng-template>
80
81 <cd-table
82   [data]="snapshotSchedules$ | async"
83   *ngIf="snapScheduleModuleStatus$ | async"
84   columnMode="flex"
85   [columns]="columns"
86   selectionType="single"
87   [hasDetails]="false"
88   (fetchData)="fetchData()"
89   (updateSelection)="updateSelection($event)"
90 >
91   <div class="table-actions btn-toolbar">
92     <cd-table-actions
93       [permission]="permissions.cephfs"
94       [selection]="selection"
95       class="btn-group"
96       [tableActions]="tableActions$ | async"
97     >
98     </cd-table-actions>
99   </div>
100 </cd-table>