]> git.apps.os.sepia.ceph.com Git - ceph.git/blob
a9961f72ff67c38184591b3f917fca8a1b8a5cba
[ceph.git] /
1 <ng-template #emptyCluster>
2   <ng-container class="container h-75"
3                 *ngIf="managedByConfig$ | async as managedByConfig">
4     <div class="row h-100 justify-content-center align-items-center">
5       <div class="blank-page">
6         <i class="mx-auto d-block"
7            [ngClass]="[icons.large, icons.wrench]">
8         </i>
9       <div class="mt-4 text-center">
10         <h4 class="mt-3">This cluster is already managed by cluster -
11           <a target="_blank"
12              [href]="managedByConfig['MANAGED_BY_CLUSTERS'][0]['url']">
13             {{ managedByConfig['MANAGED_BY_CLUSTERS'][0]['fsid'] }}
14             <i class="fa fa-external-link"></i>
15           </a>
16         </h4>
17       </div>
18       </div>
19     </div>
20   </ng-container>
21 </ng-template>
22
23 <ng-container *ngIf="managedByConfig$ | async as managedByConfig">
24   <div *ngIf="managedByConfig['MANAGED_BY_CLUSTERS'].length === 0; else emptyCluster">
25     <nav ngbNav
26          #nav="ngbNav"
27          class="nav-tabs">
28       <ng-container ngbNavItem>
29         <a ngbNavLink
30            i18n>Clusters List</a>
31         <ng-template ngbNavContent>
32           <cd-table #table
33                     [data]="data"
34                     [columns]="columns"
35                     columnMode="flex"
36                     selectionType="single"
37                     [hasDetails]="true"
38                     (setExpandedRow)="setExpandedRow($event)"
39                     [maxLimit]="25"
40                     (updateSelection)="updateSelection($event)">
41             <cd-table-actions [permission]="permissions.user"
42                               [selection]="selection"
43                               class="table-actions"
44                               id="cluster-actions"
45                               [tableActions]="tableActions">
46             </cd-table-actions>
47             <cd-multi-cluster-details *cdTableDetail
48                                       [permissions]="permissions"
49                                       [selection]="expandedRow">
50             </cd-multi-cluster-details>
51           </cd-table>
52         </ng-template>
53       </ng-container>
54     </nav>
55     <div [ngbNavOutlet]="nav"></div>
56   </div>
57 </ng-container>
58
59 <ng-template #urlTpl
60              let-row="data.row">
61   <a target="_blank"
62      [href]="row.url">
63       {{ row?.url?.endsWith('/') ? row?.url?.slice(0, -1) : row.url }}
64     <i class="fa fa-external-link"></i>
65   </a>
66 </ng-template>
67
68 <ng-template #durationTpl
69              let-column="data.column"
70              let-value="data.value"
71              let-row="data.row">
72   <span *ngIf="row.remainingTimeWithoutSeconds > 0 && row.cluster_alias !== 'local-cluster'">
73     <i *ngIf="row.remainingDays < 8"
74        i18n-title
75        title="Cluster's token is about to expire"
76        [class.icon-danger-color]="row.remainingDays < 2"
77        [class.icon-warning-color]="row.remainingDays < 8"
78        class="{{ icons.warning }}"></i>
79     <span title="{{ value | cdDate }}">{{ row.remainingTimeWithoutSeconds / 1000 | duration }}</span>
80   </span>
81   <span *ngIf="row.remainingTimeWithoutSeconds <= 0 && row.remainingDays <=0 && row.cluster_alias !== 'local-cluster'">
82     <i i18n-title
83        title="Cluster's token has expired"
84        class="{{ icons.danger }}"></i>
85     <span class="text-danger">Token expired</span>
86   </span>
87   <span *ngIf="row.cluster_alias === 'local-cluster'">N/A</span>
88 </ng-template>