1 <ng-container *
ngIf=
"!loading; else isLoading">
2 <cd-alert-panel *
ngIf=
"error"
4 i18n
>Failed to retrieve SMART data.
</cd-alert-panel>
5 <cd-alert-panel *
ngIf=
"incompatible"
7 i18n
>The data received has the JSON format version
2.x and is currently incompatible with the
8 dashboard.
</cd-alert-panel>
10 <ng-container *
ngIf=
"!error && !incompatible">
11 <cd-alert-panel *
ngIf=
"data | pipeFunction:isEmpty"
13 i18n
>No SMART data available.
</cd-alert-panel>
15 <ng-container *
ngIf=
"!(data | pipeFunction:isEmpty)">
20 *
ngFor=
"let device of data | keyvalue">
21 <a ngbNavLink
>{{ device.value.device }} ({{ device.value.identifier }})
</a>
22 <ng-template ngbNavContent
>
23 <ng-container *
ngIf=
"device.value.error; else noError">
24 <cd-alert-panel id=
"alert-error"
25 type=
"warning">{{ device.value.userMessage }}
</cd-alert-panel>
28 <ng-template #noError
>
29 <cd-alert-panel *
ngIf=
"device.value.info?.smart_status | pipeFunction:isEmpty; else hasSmartStatus"
30 id=
"alert-self-test-unknown"
34 title=
"SMART overall-health self-assessment test result"
35 i18n
>unknown
</cd-alert-panel>
36 <ng-template #hasSmartStatus
>
37 <!-- HDD/NVMe self test -->
38 <ng-container *
ngIf=
"device.value.info.smart_status.passed; else selfTestFailed">
39 <cd-alert-panel id=
"alert-self-test-passed"
43 title=
"SMART overall-health self-assessment test result"
44 i18n
>passed
</cd-alert-panel>
46 <ng-template #selfTestFailed
>
47 <cd-alert-panel id=
"alert-self-test-failed"
51 title=
"SMART overall-health self-assessment test result"
52 i18n
>failed
</cd-alert-panel>
57 <ng-container *
ngIf=
"!(device.value.info | pipeFunction:isEmpty) || !(device.value.smart | pipeFunction:isEmpty)">
63 i18n
>Device Information
</a>
64 <ng-template ngbNavContent
>
65 <cd-table-key-value *
ngIf=
"!(device.value.info | pipeFunction:isEmpty)"
66 [renderObjects]=
"true"
67 [data]=
"device.value.info"></cd-table-key-value>
68 <cd-alert-panel *
ngIf=
"device.value.info | pipeFunction:isEmpty"
69 id=
"alert-device-info-unavailable"
71 i18n
>No device information available for this device.
</cd-alert-panel>
77 <ng-template ngbNavContent
>
78 <cd-table *
ngIf=
"device.value.smart?.attributes"
79 [data]=
"device.value.smart.attributes.table"
80 updateSelectionOnRefresh=
"never"
81 [columns]=
"smartDataColumns"></cd-table>
82 <cd-table-key-value *
ngIf=
"device.value.smart?.scsi_error_counter_log"
83 [renderObjects]=
"true"
84 [data]=
"device.value.smart"
85 updateSelectionOnRefresh=
"never"></cd-table-key-value>
86 <cd-table-key-value *
ngIf=
"device.value.smart?.nvmeData"
87 [renderObjects]=
"true"
88 [data]=
"device.value.smart.nvmeData"
89 updateSelectionOnRefresh=
"never"></cd-table-key-value>
90 <cd-alert-panel *
ngIf=
"!device.value.smart?.attributes && !device.value.smart?.nvmeData && !device.value.smart?.scsi_error_counter_log"
91 id=
"alert-device-smart-data-unavailable"
93 i18n
>No SMART data available for this device.
</cd-alert-panel>
98 <div [ngbNavOutlet]=
"innerNav"></div>
104 <div [ngbNavOutlet]=
"nav"></div>
108 <ng-template #isLoading
>
109 <cd-loading-panel i18n
>SMART data is loading.
</cd-loading-panel>