]> git.apps.os.sepia.ceph.com Git - ceph.git/blob
5b631453f8b3d78debf9d2f149192b9ff6c0e3ba
[ceph.git] /
1 <cd-orchestrator-doc-panel *ngIf="showDocPanel"></cd-orchestrator-doc-panel>
2
3 <div *ngIf="flag === 'hostDetails'; else serviceDetailsTpl">
4   <cd-table *ngIf="hasOrchestrator"
5             #daemonsTable
6             [data]="daemons"
7             [columns]="columns"
8             columnMode="flex"
9             (fetchData)="getDaemons($event)">
10   </cd-table>
11 </div>
12
13 <ng-template #serviceDetailsTpl>
14   <ng-container>
15     <ul ngbNav
16         #nav="ngbNav"
17         class="nav-tabs"
18         cdStatefulTab="service-details">
19       <li ngbNavItem="details">
20         <a ngbNavLink
21            i18n>Details</a>
22         <ng-template ngbNavContent>
23           <cd-table *ngIf="hasOrchestrator"
24                     #daemonsTable
25                     [data]="daemons"
26                     selectionType="single"
27                     [columns]="columns"
28                     columnMode="flex"
29                     identifier="daemon_id"
30                     (fetchData)="getDaemons($event)"
31                     (updateSelection)="updateSelection($event)">
32             <cd-table-actions id="service-daemon-list-actions"
33                               class="table-actions"
34                               [selection]="selection"
35                               [permission]="permissions.hosts"
36                               [tableActions]="tableActions">
37             </cd-table-actions>
38           </cd-table>
39         </ng-template>
40       </li>
41       <li ngbNavItem="service_events">
42         <a ngbNavLink
43            i18n>Service Events</a>
44         <ng-template ngbNavContent>
45           <cd-table *ngIf="hasOrchestrator"
46                     #serviceTable
47                     [data]="services"
48                     [columns]="serviceColumns"
49                     columnMode="flex"
50                     (fetchData)="getServices($event)">
51           </cd-table>
52         </ng-template>
53       </li>
54     </ul>
55     <div [ngbNavOutlet]="nav"></div>
56   </ng-container>
57 </ng-template>
58
59 <ng-template #statusTpl
60              let-row="row">
61   <span class="badge"
62         [ngClass]="row | pipeFunction:getStatusClass">
63     {{ row.status_desc }}
64   </span>
65 </ng-template>
66
67 <ng-template #listTpl
68              let-events="value">
69   <ul class="list-group list-group-flush"
70       *ngIf="events?.length else noEventsAvailable">
71     <li class="list-group-item"
72         *ngFor="let event of events; trackBy:trackByFn">
73       <b>{{ event.created | relativeDate }} - </b>
74       <span class="badge badge-info">{{ event.subject }}</span><br>
75       <span *ngIf="event.level === 'INFO'">
76       <i [ngClass]="[icons.infoCircle]"
77          aria-hidden="true"></i>
78       </span>
79       <span *ngIf="event.level === 'ERROR'">
80       <i [ngClass]="[icons.warning]"
81          aria-hidden="true"></i>
82       </span>
83       {{ event.message }}
84     </li>
85   </ul>
86   <ng-template #noEventsAvailable>
87     <div *ngIf="events?.length === 0">
88       <span>No data available</span>
89     </div>
90   </ng-template>
91 </ng-template>