1<loader loading="loading"></loader> 2<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> 6 <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> 7 </div> 8 9 <div> 10 <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"> 15 <button class="clear-input" ng-click="clear()">✕</button> 16 <input id="content__search-submit" type="submit" class="btn btn-primary content__search-submit" value="Filter" ng-click="doSearchOnClick()"/> 17 </div> 18 </div> 19 20 <div class="toggle-filter"> 21 <p class="content-label">FILTER BY SEVERITY</p> 22 <button class="btn" ng-click="toggleSeverityAll()" 23 ng-class="selectedSeverity.all ? 'btn-primary' : 'btn-secondary'">All 24 </button> 25 <button class="btn" ng-click="toggleSeverity('critical')" 26 ng-class="selectedSeverity.critical ? 'btn-primary' : 'btn-secondary'">Critical 27 </button> 28 <button class="btn" ng-click="toggleSeverity('warning')" 29 ng-class="selectedSeverity.warning ? 'btn-primary' : 'btn-secondary'">Warning 30 </button> 31 <button class="btn" ng-click="toggleSeverity('normal')" 32 ng-class="selectedSeverity.normal ? 'btn-primary' : 'btn-secondary'">Normal 33 </button> 34 </div> 35 </div> 36 37 <div ng-show="filteredSensorData.length == 0"> 38 <span ng-if="selectedSeverity.all">{{messages.NO_SENSOR_DATA}}</span> 39 <span ng-if="selectedSeverity.critical">{{messages.CRITICAL_NO_SENSOR_DATA}}</span> 40 <span ng-if="selectedSeverity.warning">{{messages.WARNING_NO_SENSOR_DATA}}</span> 41 <span ng-if="selectedSeverity.normal">{{messages.NORMAL_NO_SENSOR_DATA}}</span> 42 </div> 43 44 <table id="sensor-categories" class="sensors__table" cellpadding="0" cellspacing="0" ng-show="filteredSensorData.length"> 45 <thead class="sensors__thead fixed-table-header"> 46 <tr class="sensors__thead-row"> 47 <th class="sensors__thead-cell">Sensors ({{filteredSensorData.length}})<th> 48 <th class="sensors__thead-cell">Low critical<th> 49 <th class="sensors__thead-cell">Low warning<th> 50 <th class="sensors__thead-cell sensor__heading-current">Current<th> 51 <th class="sensors__thead-cell">High warning<th> 52 <th class="sensors__thead-cell">High critical<th> 53 </tr> 54 </thead> 55 <tbody class="sensors__tbody"> 56 <tr class="sensors__tbody-row" ng-repeat="sensor in data|filter:filterBySeverity|filter:filterBySearchTerms|orderBy:'+custom_order' as filteredSensorData"> 57 <th class="sensors__tbody-header"> 58 <span class="icon" ng-class="{'icon__critical': sensor.status == 'critical', 'icon__warning': sensor.status == 'warning', 'icon__normal': sensor.status == 'normal'}" aria-label="Sensor status: {{sensor.status}}" ></span> 59 <span>{{sensor.title}}</span> 60 </th> 61 <td class="sensors__tbody-cell"> 62 <span class="sensors__tbody-cell__title">Low critical</span> 63 <span class="sensors__tbody-cell__content"> 64 <span class="sensors__tbody-info">{{sensor.CriticalLow}}</span> 65 <span class="sensors__tbody-degree" ng-if="sensor.unit == 'C'">°</span> 66 <span class="sensors__tbody-unit">{{sensor.unit}}</span> 67 </span> 68 </td> 69 <td class="sensors__tbody-cell"> 70 <span class="sensors__tbody-cell__title">Low warning</span> 71 <span class="sensors__tbody-cell__content"> 72 <span class="sensors__tbody-info">{{sensor.WarningLow}}</span> 73 <span class="sensors__tbody-degree" ng-if="sensor.unit == 'C'">°</span> 74 <span class="sensors__tbody-unit">{{sensor.unit}}</span> 75 </span> 76 </td> 77 <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'}"> 78 <span class="sensors__tbody-cell__title">Current</span> 79 <span class="sensors__tbody-cell__content"> 80 <span class="sensors__tbody-info">{{sensor.Value}}</span> 81 <span class="sensors__tbody-degree" ng-if="sensor.unit == 'C'">°</span> 82 <span class="sensors__tbody-unit">{{sensor.unit}}</span> 83 </span> 84 </td> 85 <td class="sensors__tbody-cell"> 86 <span class="sensors__tbody-cell__title">High warning</span> 87 <span class="sensors__tbody-cell__content"> 88 <span class="sensors__tbody-info">{{sensor.WarningHigh}}</span> 89 <span class="sensors__tbody-degree" ng-if="sensor.unit == 'C'">°</span> 90 <span class="sensors__tbody-unit">{{sensor.unit}}</span> 91 </span> 92 </td> 93 <td class="sensors__tbody-cell"> 94 <span class="sensors__tbody-cell__title">High critical</span> 95 <span class="sensors__tbody-cell__content"> 96 <span class="sensors__tbody-info">{{sensor.CriticalHigh}}</span> 97 <span class="sensors__tbody-degree" ng-if="sensor.unit == 'C'">°</span> 98 <span class="sensors__tbody-unit">{{sensor.unit}}</span> 99 </span> 100 </td> 101 </tr> 102 </tbody> 103 </table> 104</div> 105