blob: c65a9ddf6334b997af1c71233076eb9f80c50c26 [file] [log] [blame]
Michael Davis428375e2017-08-01 15:48:34 -05001<loader loading="loading"></loader>
Derick Montague1f690f32019-06-23 12:20:17 -05002<div id="sensors" class="sensors">
3 <h1>Sensors</h1>
4 <div class="page-header">
5 <h2 class="inline">All sensors present in the system</h2>
Yoshie Muranakac86ce3c2019-06-05 12:30:30 -05006 <a ng-href="data:text/json;charset=utf-8,{{export_data}}" class="btn btn-tertiary float-right" download="{{export_name}}"><icon file="icon-export.svg"></icon>Export</a>
Derick Montague1f690f32019-06-23 12:20:17 -05007 </div>
8
9 <div>
Gunnar Mills5f0b7762018-09-25 14:10:45 -050010 <p class="content-label" aria-label="sensors filter">Filter sensors</p>
11 <div class="content__search">
12 <label for="content__search-input">Sensors Search</label>
13 <input id="content__search-input" type="text" ng-model="customSearch" ng-keydown="doSearchOnEnter($event)"/>
14 <div class="search-submit__wrapper">
Dixsie Wolmersdb1e89e2019-09-09 13:21:12 -050015 <button class="btn" type="button" aria-label="clear filter" ng-click="clear()">
16 <icon file="icon-close.svg" aria-hidden="true"></icon>
17 </button>
Gunnar Mills5f0b7762018-09-25 14:10:45 -050018 <input id="content__search-submit" type="submit" class="btn btn-primary content__search-submit" value="Filter" ng-click="doSearchOnClick()"/>
19 </div>
Derick Montague1f690f32019-06-23 12:20:17 -050020 </div>
Iftekharul Islama547ff42017-08-09 11:20:15 -050021
Gunnar Mills5f0b7762018-09-25 14:10:45 -050022 <div class="toggle-filter">
23 <p class="content-label">FILTER BY SEVERITY</p>
Yoshie Muranakac86ce3c2019-06-05 12:30:30 -050024 <button class="btn" ng-click="toggleSeverityAll()"
Gunnar Mills5f0b7762018-09-25 14:10:45 -050025 ng-class="selectedSeverity.all ? 'btn-primary' : 'btn-secondary'">All
26 </button>
Yoshie Muranakac86ce3c2019-06-05 12:30:30 -050027 <button class="btn" ng-click="toggleSeverity('critical')"
Gunnar Mills5f0b7762018-09-25 14:10:45 -050028 ng-class="selectedSeverity.critical ? 'btn-primary' : 'btn-secondary'">Critical
29 </button>
Yoshie Muranakac86ce3c2019-06-05 12:30:30 -050030 <button class="btn" ng-click="toggleSeverity('warning')"
Gunnar Mills5f0b7762018-09-25 14:10:45 -050031 ng-class="selectedSeverity.warning ? 'btn-primary' : 'btn-secondary'">Warning
32 </button>
Yoshie Muranakac86ce3c2019-06-05 12:30:30 -050033 <button class="btn" ng-click="toggleSeverity('normal')"
Gunnar Mills615a2f82019-04-17 14:30:39 -050034 ng-class="selectedSeverity.normal ? 'btn-primary' : 'btn-secondary'">Normal
Gunnar Mills5f0b7762018-09-25 14:10:45 -050035 </button>
36 </div>
Derick Montague1f690f32019-06-23 12:20:17 -050037 </div>
Gunnar Mills615a2f82019-04-17 14:30:39 -050038
Derick Montague1f690f32019-06-23 12:20:17 -050039 <div ng-show="filteredSensorData.length == 0">
Gunnar Mills5f0b7762018-09-25 14:10:45 -050040 <span ng-if="selectedSeverity.all">{{messages.NO_SENSOR_DATA}}</span>
41 <span ng-if="selectedSeverity.critical">{{messages.CRITICAL_NO_SENSOR_DATA}}</span>
42 <span ng-if="selectedSeverity.warning">{{messages.WARNING_NO_SENSOR_DATA}}</span>
Gunnar Mills615a2f82019-04-17 14:30:39 -050043 <span ng-if="selectedSeverity.normal">{{messages.NORMAL_NO_SENSOR_DATA}}</span>
Derick Montague1f690f32019-06-23 12:20:17 -050044 </div>
Gunnar Mills615a2f82019-04-17 14:30:39 -050045
Derick Montague1f690f32019-06-23 12:20:17 -050046 <table id="sensor-categories" class="sensors__table" cellpadding="0" cellspacing="0" ng-show="filteredSensorData.length">
47 <thead class="sensors__thead fixed-table-header">
48 <tr class="sensors__thead-row">
49 <th class="sensors__thead-cell">Sensors ({{filteredSensorData.length}})<th>
50 <th class="sensors__thead-cell">Low critical<th>
51 <th class="sensors__thead-cell">Low warning<th>
52 <th class="sensors__thead-cell sensor__heading-current">Current<th>
53 <th class="sensors__thead-cell">High warning<th>
54 <th class="sensors__thead-cell">High critical<th>
55 </tr>
56 </thead>
57 <tbody class="sensors__tbody">
58 <tr class="sensors__tbody-row" ng-repeat="sensor in data|filter:filterBySeverity|filter:filterBySearchTerms|orderBy:'+custom_order' as filteredSensorData">
59 <th class="sensors__tbody-header">
Yoshie Muranaka4b366b52019-09-24 08:32:42 -070060 <status-icon status="{{ sensor.status == 'critical' ? 'error' :
61 sensor.status == 'warning' ? 'warn' : null }}"
62 aria-label="Sensor status: {{sensor.status}}">
63 </status-icon>
Derick Montague1f690f32019-06-23 12:20:17 -050064 <span>{{sensor.title}}</span>
65 </th>
66 <td class="sensors__tbody-cell">
67 <span class="sensors__tbody-cell__title">Low critical</span>
68 <span class="sensors__tbody-cell__content">
69 <span class="sensors__tbody-info">{{sensor.CriticalLow}}</span>
70 <span class="sensors__tbody-degree" ng-if="sensor.unit == 'C'">&deg;</span>
71 <span class="sensors__tbody-unit">{{sensor.unit}}</span>
72 </span>
73 </td>
74 <td class="sensors__tbody-cell">
75 <span class="sensors__tbody-cell__title">Low warning</span>
76 <span class="sensors__tbody-cell__content">
77 <span class="sensors__tbody-info">{{sensor.WarningLow}}</span>
78 <span class="sensors__tbody-degree" ng-if="sensor.unit == 'C'">&deg;</span>
79 <span class="sensors__tbody-unit">{{sensor.unit}}</span>
80 </span>
81 </td>
82 <td class="sensors__tbody-cell sensors__tbody-current" ng-class="{'sensors__tbody-current--critical': sensor.status == 'critical', 'sensors__tbody-current--warn': sensor.status == 'warning', 'sensors__tbody-current--normal': sensor.status == 'normal'}">
83 <span class="sensors__tbody-cell__title">Current</span>
84 <span class="sensors__tbody-cell__content">
85 <span class="sensors__tbody-info">{{sensor.Value}}</span>
86 <span class="sensors__tbody-degree" ng-if="sensor.unit == 'C'">&deg;</span>
87 <span class="sensors__tbody-unit">{{sensor.unit}}</span>
88 </span>
89 </td>
90 <td class="sensors__tbody-cell">
91 <span class="sensors__tbody-cell__title">High warning</span>
92 <span class="sensors__tbody-cell__content">
93 <span class="sensors__tbody-info">{{sensor.WarningHigh}}</span>
94 <span class="sensors__tbody-degree" ng-if="sensor.unit == 'C'">&deg;</span>
95 <span class="sensors__tbody-unit">{{sensor.unit}}</span>
96 </span>
97 </td>
98 <td class="sensors__tbody-cell">
99 <span class="sensors__tbody-cell__title">High critical</span>
100 <span class="sensors__tbody-cell__content">
101 <span class="sensors__tbody-info">{{sensor.CriticalHigh}}</span>
102 <span class="sensors__tbody-degree" ng-if="sensor.unit == 'C'">&deg;</span>
103 <span class="sensors__tbody-unit">{{sensor.unit}}</span>
104 </span>
105 </td>
106 </tr>
107 </tbody>
108 </table>
Gunnar Mills84e114a2018-11-14 13:44:41 -0600109</div>