| Yoshie Muranaka | 5918b48 | 2020-06-08 08:18:23 -0700 | [diff] [blame] | 1 | <template> | 
| Sandeepa Singh | 7affc52 | 2021-07-06 16:29:10 +0530 | [diff] [blame] | 2 |   <page-section :section-title="$t('pageInventory.powerSupplies')"> | 
| SurenNeware | 787635a | 2020-11-24 22:42:42 +0530 | [diff] [blame] | 3 |     <b-row class="align-items-end"> | 
| Yoshie Muranaka | 130b1b6 | 2020-06-18 14:29:57 -0700 | [diff] [blame] | 4 |       <b-col sm="6" md="5" xl="4"> | 
| Dixsie Wolmers | 9b22b49 | 2020-09-07 21:26:06 -0500 | [diff] [blame] | 5 |         <search | 
| Sukanya Pandey | edb8a77 | 2020-10-29 11:33:42 +0530 | [diff] [blame] | 6 |           @change-search="onChangeSearchInput" | 
 | 7 |           @clear-search="onClearSearchInput" | 
| Dixsie Wolmers | 9b22b49 | 2020-09-07 21:26:06 -0500 | [diff] [blame] | 8 |         /> | 
| Yoshie Muranaka | 130b1b6 | 2020-06-18 14:29:57 -0700 | [diff] [blame] | 9 |       </b-col> | 
| Sukanya Pandey | 9901096 | 2020-07-27 21:44:47 +0530 | [diff] [blame] | 10 |       <b-col sm="6" md="3" xl="2"> | 
 | 11 |         <table-cell-count | 
 | 12 |           :filtered-items-count="filteredRows" | 
 | 13 |           :total-number-of-cells="powerSupplies.length" | 
 | 14 |         ></table-cell-count> | 
 | 15 |       </b-col> | 
| Yoshie Muranaka | 130b1b6 | 2020-06-18 14:29:57 -0700 | [diff] [blame] | 16 |     </b-row> | 
| Yoshie Muranaka | 5918b48 | 2020-06-08 08:18:23 -0700 | [diff] [blame] | 17 |     <b-table | 
 | 18 |       sort-icon-left | 
 | 19 |       no-sort-reset | 
| Sukanya Pandey | fde429e | 2020-09-14 20:48:39 +0530 | [diff] [blame] | 20 |       hover | 
| SurenNeware | 5e25e28 | 2020-07-08 15:57:23 +0530 | [diff] [blame] | 21 |       responsive="md" | 
| Yoshie Muranaka | 5918b48 | 2020-06-08 08:18:23 -0700 | [diff] [blame] | 22 |       sort-by="health" | 
| SurenNeware | 307382e | 2020-07-27 20:45:14 +0530 | [diff] [blame] | 23 |       show-empty | 
| Yoshie Muranaka | 5918b48 | 2020-06-08 08:18:23 -0700 | [diff] [blame] | 24 |       :items="powerSupplies" | 
 | 25 |       :fields="fields" | 
 | 26 |       :sort-desc="true" | 
 | 27 |       :sort-compare="sortCompare" | 
| Yoshie Muranaka | 130b1b6 | 2020-06-18 14:29:57 -0700 | [diff] [blame] | 28 |       :filter="searchFilter" | 
| SurenNeware | 307382e | 2020-07-27 20:45:14 +0530 | [diff] [blame] | 29 |       :empty-text="$t('global.table.emptyMessage')" | 
| SurenNeware | 156a0e6 | 2020-08-28 19:20:03 +0530 | [diff] [blame] | 30 |       :empty-filtered-text="$t('global.table.emptySearchMessage')" | 
| Kenneth Fullbright | 4105785 | 2021-12-27 16:19:37 -0600 | [diff] [blame] | 31 |       :busy="isBusy" | 
| Sukanya Pandey | 9901096 | 2020-07-27 21:44:47 +0530 | [diff] [blame] | 32 |       @filtered="onFiltered" | 
| Yoshie Muranaka | 5918b48 | 2020-06-08 08:18:23 -0700 | [diff] [blame] | 33 |     > | 
 | 34 |       <!-- Expand chevron icon --> | 
| Derick Montague | 602e98a | 2020-10-21 16:20:00 -0500 | [diff] [blame] | 35 |       <template #cell(expandRow)="row"> | 
| Dixsie Wolmers | 8313376 | 2020-07-15 08:45:19 -0500 | [diff] [blame] | 36 |         <b-button | 
 | 37 |           variant="link" | 
 | 38 |           data-test-id="hardwareStatus-button-expandPowerSupplies" | 
| Dixsie Wolmers | 30f11f8 | 2020-11-10 16:07:56 -0600 | [diff] [blame] | 39 |           :title="expandRowLabel" | 
 | 40 |           class="btn-icon-only" | 
| Dixsie Wolmers | b53e086 | 2020-09-08 14:13:38 -0500 | [diff] [blame] | 41 |           @click="toggleRowDetails(row)" | 
| Dixsie Wolmers | 8313376 | 2020-07-15 08:45:19 -0500 | [diff] [blame] | 42 |         > | 
| Dixsie Wolmers | 30f11f8 | 2020-11-10 16:07:56 -0600 | [diff] [blame] | 43 |           <icon-chevron /> | 
| SurenNeware | 6e2cb97 | 2020-12-24 20:58:16 +0530 | [diff] [blame] | 44 |           <span class="sr-only">{{ expandRowLabel }}</span> | 
| Yoshie Muranaka | 5918b48 | 2020-06-08 08:18:23 -0700 | [diff] [blame] | 45 |         </b-button> | 
 | 46 |       </template> | 
 | 47 |  | 
 | 48 |       <!-- Health --> | 
| Derick Montague | 602e98a | 2020-10-21 16:20:00 -0500 | [diff] [blame] | 49 |       <template #cell(health)="{ value }"> | 
| Yoshie Muranaka | 5918b48 | 2020-06-08 08:18:23 -0700 | [diff] [blame] | 50 |         <status-icon :status="statusIcon(value)" /> | 
 | 51 |         {{ value }} | 
 | 52 |       </template> | 
 | 53 |  | 
| Derick Montague | 602e98a | 2020-10-21 16:20:00 -0500 | [diff] [blame] | 54 |       <template #row-details="{ item }"> | 
| Yoshie Muranaka | 5918b48 | 2020-06-08 08:18:23 -0700 | [diff] [blame] | 55 |         <b-container fluid> | 
 | 56 |           <b-row> | 
 | 57 |             <b-col sm="6" xl="4"> | 
 | 58 |               <dl> | 
| Dixsie Wolmers | 6b8aee9 | 2021-05-14 11:14:33 -0500 | [diff] [blame] | 59 |                 <!-- Name --> | 
| Sandeepa Singh | 7affc52 | 2021-07-06 16:29:10 +0530 | [diff] [blame] | 60 |                 <dt>{{ $t('pageInventory.table.name') }}:</dt> | 
| Dixsie Wolmers | 9726f9a | 2021-09-07 15:33:16 -0500 | [diff] [blame] | 61 |                 <dd>{{ dataFormatter(item.name) }}</dd> | 
| Dixsie Wolmers | 6b8aee9 | 2021-05-14 11:14:33 -0500 | [diff] [blame] | 62 |                 <!-- Part number --> | 
| Sandeepa Singh | 7affc52 | 2021-07-06 16:29:10 +0530 | [diff] [blame] | 63 |                 <dt>{{ $t('pageInventory.table.partNumber') }}:</dt> | 
| Dixsie Wolmers | 9726f9a | 2021-09-07 15:33:16 -0500 | [diff] [blame] | 64 |                 <dd>{{ dataFormatter(item.partNumber) }}</dd> | 
| Dixsie Wolmers | 6b8aee9 | 2021-05-14 11:14:33 -0500 | [diff] [blame] | 65 |                 <!-- Serial number --> | 
| Sandeepa Singh | 7affc52 | 2021-07-06 16:29:10 +0530 | [diff] [blame] | 66 |                 <dt>{{ $t('pageInventory.table.serialNumber') }}:</dt> | 
| Dixsie Wolmers | 9726f9a | 2021-09-07 15:33:16 -0500 | [diff] [blame] | 67 |                 <dd>{{ dataFormatter(item.serialNumber) }}</dd> | 
| Dixsie Wolmers | 6b8aee9 | 2021-05-14 11:14:33 -0500 | [diff] [blame] | 68 |                 <!-- Spare part number --> | 
| Sandeepa Singh | 7affc52 | 2021-07-06 16:29:10 +0530 | [diff] [blame] | 69 |                 <dt>{{ $t('pageInventory.table.sparePartNumber') }}:</dt> | 
| Dixsie Wolmers | 9726f9a | 2021-09-07 15:33:16 -0500 | [diff] [blame] | 70 |                 <dd>{{ dataFormatter(item.sparePartNumber) }}</dd> | 
| Dixsie Wolmers | 6b8aee9 | 2021-05-14 11:14:33 -0500 | [diff] [blame] | 71 |                 <!-- Model --> | 
| Sandeepa Singh | 7affc52 | 2021-07-06 16:29:10 +0530 | [diff] [blame] | 72 |                 <dt>{{ $t('pageInventory.table.model') }}:</dt> | 
| Dixsie Wolmers | 9726f9a | 2021-09-07 15:33:16 -0500 | [diff] [blame] | 73 |                 <dd>{{ dataFormatter(item.model) }}</dd> | 
| Yoshie Muranaka | 5918b48 | 2020-06-08 08:18:23 -0700 | [diff] [blame] | 74 |               </dl> | 
 | 75 |             </b-col> | 
 | 76 |             <b-col sm="6" xl="4"> | 
 | 77 |               <dl> | 
| Yoshie Muranaka | 5918b48 | 2020-06-08 08:18:23 -0700 | [diff] [blame] | 78 |                 <!-- Status state --> | 
| Sandeepa Singh | 7affc52 | 2021-07-06 16:29:10 +0530 | [diff] [blame] | 79 |                 <dt>{{ $t('pageInventory.table.statusState') }}:</dt> | 
| Dixsie Wolmers | 9726f9a | 2021-09-07 15:33:16 -0500 | [diff] [blame] | 80 |                 <dd>{{ dataFormatter(item.statusState) }}</dd> | 
| Dixsie Wolmers | 6b8aee9 | 2021-05-14 11:14:33 -0500 | [diff] [blame] | 81 |                 <!-- Status Health rollup state --> | 
| Sandeepa Singh | 7affc52 | 2021-07-06 16:29:10 +0530 | [diff] [blame] | 82 |                 <dt>{{ $t('pageInventory.table.statusHealthRollup') }}:</dt> | 
| Dixsie Wolmers | 9726f9a | 2021-09-07 15:33:16 -0500 | [diff] [blame] | 83 |                 <dd>{{ dataFormatter(item.statusHealth) }}</dd> | 
| Dixsie Wolmers | 6b8aee9 | 2021-05-14 11:14:33 -0500 | [diff] [blame] | 84 |                 <!-- Efficiency percent --> | 
| Sandeepa Singh | 7affc52 | 2021-07-06 16:29:10 +0530 | [diff] [blame] | 85 |                 <dt>{{ $t('pageInventory.table.efficiencyPercent') }}:</dt> | 
| Glukhov Mikhail | d0b078f | 2022-12-24 12:16:53 +0300 | [diff] [blame] | 86 |                 <dd> | 
 | 87 |                   {{ dataFormatter(item.efficiencyPercent) }} | 
 | 88 |                   {{ $t('unit.Percent') }} | 
 | 89 |                 </dd> | 
| Dixsie Wolmers | 6b8aee9 | 2021-05-14 11:14:33 -0500 | [diff] [blame] | 90 |                 <!-- Power input watts --> | 
| Sandeepa Singh | 7affc52 | 2021-07-06 16:29:10 +0530 | [diff] [blame] | 91 |                 <dt>{{ $t('pageInventory.table.powerInputWatts') }}:</dt> | 
| Glukhov Mikhail | d0b078f | 2022-12-24 12:16:53 +0300 | [diff] [blame] | 92 |                 <dd> | 
 | 93 |                   {{ dataFormatter(item.powerInputWatts) }} | 
 | 94 |                   {{ $t('unit.W') }} | 
 | 95 |                 </dd> | 
| Dixsie Wolmers | 6b8aee9 | 2021-05-14 11:14:33 -0500 | [diff] [blame] | 96 |               </dl> | 
 | 97 |             </b-col> | 
 | 98 |           </b-row> | 
 | 99 |           <div class="section-divider mb-3 mt-3"></div> | 
 | 100 |           <b-row> | 
 | 101 |             <b-col sm="6" xl="4"> | 
 | 102 |               <dl> | 
 | 103 |                 <!-- Manufacturer --> | 
| Sandeepa Singh | 7affc52 | 2021-07-06 16:29:10 +0530 | [diff] [blame] | 104 |                 <dt>{{ $t('pageInventory.table.manufacturer') }}:</dt> | 
| Dixsie Wolmers | 9726f9a | 2021-09-07 15:33:16 -0500 | [diff] [blame] | 105 |                 <dd>{{ dataFormatter(item.manufacturer) }}</dd> | 
| Dixsie Wolmers | 6b8aee9 | 2021-05-14 11:14:33 -0500 | [diff] [blame] | 106 |               </dl> | 
 | 107 |             </b-col> | 
 | 108 |             <b-col sm="6" xl="4"> | 
 | 109 |               <dl> | 
 | 110 |                 <!-- Firmware version --> | 
| Sandeepa Singh | 7affc52 | 2021-07-06 16:29:10 +0530 | [diff] [blame] | 111 |                 <dt>{{ $t('pageInventory.table.firmwareVersion') }}:</dt> | 
| Dixsie Wolmers | 9726f9a | 2021-09-07 15:33:16 -0500 | [diff] [blame] | 112 |                 <dd>{{ dataFormatter(item.firmwareVersion) }}</dd> | 
| Yoshie Muranaka | 5918b48 | 2020-06-08 08:18:23 -0700 | [diff] [blame] | 113 |               </dl> | 
 | 114 |             </b-col> | 
 | 115 |           </b-row> | 
 | 116 |         </b-container> | 
 | 117 |       </template> | 
 | 118 |     </b-table> | 
 | 119 |   </page-section> | 
 | 120 | </template> | 
 | 121 |  | 
 | 122 | <script> | 
 | 123 | import PageSection from '@/components/Global/PageSection'; | 
 | 124 | import IconChevron from '@carbon/icons-vue/es/chevron--down/20'; | 
 | 125 |  | 
 | 126 | import StatusIcon from '@/components/Global/StatusIcon'; | 
| Sukanya Pandey | 9901096 | 2020-07-27 21:44:47 +0530 | [diff] [blame] | 127 | import TableCellCount from '@/components/Global/TableCellCount'; | 
| Dixsie Wolmers | 9726f9a | 2021-09-07 15:33:16 -0500 | [diff] [blame] | 128 | import DataFormatterMixin from '@/components/Mixins/DataFormatterMixin'; | 
| Yoshie Muranaka | 5918b48 | 2020-06-08 08:18:23 -0700 | [diff] [blame] | 129 | import TableSortMixin from '@/components/Mixins/TableSortMixin'; | 
| Yoshie Muranaka | 130b1b6 | 2020-06-18 14:29:57 -0700 | [diff] [blame] | 130 | import Search from '@/components/Global/Search'; | 
| SurenNeware | ba91c49 | 2020-10-27 14:18:54 +0530 | [diff] [blame] | 131 | import SearchFilterMixin, { | 
 | 132 |   searchFilter, | 
 | 133 | } from '@/components/Mixins/SearchFilterMixin'; | 
 | 134 | import TableRowExpandMixin, { | 
 | 135 |   expandRowLabel, | 
 | 136 | } from '@/components/Mixins/TableRowExpandMixin'; | 
| Surya V | 603cfbf | 2024-07-11 15:19:46 +0530 | [diff] [blame^] | 137 | import { useI18n } from 'vue-i18n'; | 
 | 138 | import i18n from '@/i18n'; | 
| Yoshie Muranaka | 5918b48 | 2020-06-08 08:18:23 -0700 | [diff] [blame] | 139 |  | 
 | 140 | export default { | 
| Sukanya Pandey | 9901096 | 2020-07-27 21:44:47 +0530 | [diff] [blame] | 141 |   components: { IconChevron, PageSection, StatusIcon, Search, TableCellCount }, | 
| Dixsie Wolmers | b53e086 | 2020-09-08 14:13:38 -0500 | [diff] [blame] | 142 |   mixins: [ | 
 | 143 |     TableRowExpandMixin, | 
| Dixsie Wolmers | 9726f9a | 2021-09-07 15:33:16 -0500 | [diff] [blame] | 144 |     DataFormatterMixin, | 
| Dixsie Wolmers | b53e086 | 2020-09-08 14:13:38 -0500 | [diff] [blame] | 145 |     TableSortMixin, | 
| Derick Montague | 602e98a | 2020-10-21 16:20:00 -0500 | [diff] [blame] | 146 |     SearchFilterMixin, | 
| Dixsie Wolmers | b53e086 | 2020-09-08 14:13:38 -0500 | [diff] [blame] | 147 |   ], | 
| Yoshie Muranaka | 5918b48 | 2020-06-08 08:18:23 -0700 | [diff] [blame] | 148 |   data() { | 
 | 149 |     return { | 
| Surya V | 603cfbf | 2024-07-11 15:19:46 +0530 | [diff] [blame^] | 150 |       $t: useI18n().t, | 
| Kenneth Fullbright | 4105785 | 2021-12-27 16:19:37 -0600 | [diff] [blame] | 151 |       isBusy: true, | 
| Yoshie Muranaka | 5918b48 | 2020-06-08 08:18:23 -0700 | [diff] [blame] | 152 |       fields: [ | 
 | 153 |         { | 
 | 154 |           key: 'expandRow', | 
 | 155 |           label: '', | 
 | 156 |           tdClass: 'table-row-expand', | 
| Derick Montague | 602e98a | 2020-10-21 16:20:00 -0500 | [diff] [blame] | 157 |           sortable: false, | 
| Yoshie Muranaka | 5918b48 | 2020-06-08 08:18:23 -0700 | [diff] [blame] | 158 |         }, | 
 | 159 |         { | 
 | 160 |           key: 'id', | 
| Surya V | 603cfbf | 2024-07-11 15:19:46 +0530 | [diff] [blame^] | 161 |           label: i18n.global.t('pageInventory.table.id'), | 
| Dixsie Wolmers | 9726f9a | 2021-09-07 15:33:16 -0500 | [diff] [blame] | 162 |           formatter: this.dataFormatter, | 
| Derick Montague | 602e98a | 2020-10-21 16:20:00 -0500 | [diff] [blame] | 163 |           sortable: true, | 
| Yoshie Muranaka | 5918b48 | 2020-06-08 08:18:23 -0700 | [diff] [blame] | 164 |         }, | 
 | 165 |         { | 
 | 166 |           key: 'health', | 
| Surya V | 603cfbf | 2024-07-11 15:19:46 +0530 | [diff] [blame^] | 167 |           label: i18n.global.t('pageInventory.table.health'), | 
| Dixsie Wolmers | 9726f9a | 2021-09-07 15:33:16 -0500 | [diff] [blame] | 168 |           formatter: this.dataFormatter, | 
| Dixsie Wolmers | a04d46f | 2020-10-22 06:34:56 -0500 | [diff] [blame] | 169 |           sortable: true, | 
| Derick Montague | 602e98a | 2020-10-21 16:20:00 -0500 | [diff] [blame] | 170 |           tdClass: 'text-nowrap', | 
| Yoshie Muranaka | 5918b48 | 2020-06-08 08:18:23 -0700 | [diff] [blame] | 171 |         }, | 
 | 172 |         { | 
| Dixsie Wolmers | 6b8aee9 | 2021-05-14 11:14:33 -0500 | [diff] [blame] | 173 |           key: 'locationNumber', | 
| Surya V | 603cfbf | 2024-07-11 15:19:46 +0530 | [diff] [blame^] | 174 |           label: i18n.global.t('pageInventory.table.locationNumber'), | 
| Dixsie Wolmers | 9726f9a | 2021-09-07 15:33:16 -0500 | [diff] [blame] | 175 |           formatter: this.dataFormatter, | 
| Derick Montague | 602e98a | 2020-10-21 16:20:00 -0500 | [diff] [blame] | 176 |           sortable: true, | 
| Yoshie Muranaka | 5918b48 | 2020-06-08 08:18:23 -0700 | [diff] [blame] | 177 |         }, | 
 | 178 |         { | 
| Dixsie Wolmers | 6b8aee9 | 2021-05-14 11:14:33 -0500 | [diff] [blame] | 179 |           key: 'identifyLed', | 
| Surya V | 603cfbf | 2024-07-11 15:19:46 +0530 | [diff] [blame^] | 180 |           label: i18n.global.t('pageInventory.table.identifyLed'), | 
| Dixsie Wolmers | 9726f9a | 2021-09-07 15:33:16 -0500 | [diff] [blame] | 181 |           formatter: this.dataFormatter, | 
| Derick Montague | 602e98a | 2020-10-21 16:20:00 -0500 | [diff] [blame] | 182 |         }, | 
| Yoshie Muranaka | 130b1b6 | 2020-06-18 14:29:57 -0700 | [diff] [blame] | 183 |       ], | 
| SurenNeware | ba91c49 | 2020-10-27 14:18:54 +0530 | [diff] [blame] | 184 |       searchFilter: searchFilter, | 
| Derick Montague | 602e98a | 2020-10-21 16:20:00 -0500 | [diff] [blame] | 185 |       searchTotalFilteredRows: 0, | 
| SurenNeware | ba91c49 | 2020-10-27 14:18:54 +0530 | [diff] [blame] | 186 |       expandRowLabel: expandRowLabel, | 
| Yoshie Muranaka | 5918b48 | 2020-06-08 08:18:23 -0700 | [diff] [blame] | 187 |     }; | 
 | 188 |   }, | 
 | 189 |   computed: { | 
| Sukanya Pandey | 9901096 | 2020-07-27 21:44:47 +0530 | [diff] [blame] | 190 |     filteredRows() { | 
 | 191 |       return this.searchFilter | 
 | 192 |         ? this.searchTotalFilteredRows | 
 | 193 |         : this.powerSupplies.length; | 
 | 194 |     }, | 
| Yoshie Muranaka | 5918b48 | 2020-06-08 08:18:23 -0700 | [diff] [blame] | 195 |     powerSupplies() { | 
 | 196 |       return this.$store.getters['powerSupply/powerSupplies']; | 
| Derick Montague | 602e98a | 2020-10-21 16:20:00 -0500 | [diff] [blame] | 197 |     }, | 
| Yoshie Muranaka | 5918b48 | 2020-06-08 08:18:23 -0700 | [diff] [blame] | 198 |   }, | 
 | 199 |   created() { | 
| MichalX Szopinski | dca9b0a | 2021-05-07 13:14:50 +0200 | [diff] [blame] | 200 |     this.$store.dispatch('powerSupply/getAllPowerSupplies').finally(() => { | 
| Gunnar Mills | defc9e2 | 2020-07-07 20:29:03 -0500 | [diff] [blame] | 201 |       // Emit initial data fetch complete to parent component | 
| Sukanya Pandey | edb8a77 | 2020-10-29 11:33:42 +0530 | [diff] [blame] | 202 |       this.$root.$emit('hardware-status-power-supplies-complete'); | 
| Kenneth Fullbright | 4105785 | 2021-12-27 16:19:37 -0600 | [diff] [blame] | 203 |       this.isBusy = false; | 
| Yoshie Muranaka | 5918b48 | 2020-06-08 08:18:23 -0700 | [diff] [blame] | 204 |     }); | 
 | 205 |   }, | 
 | 206 |   methods: { | 
 | 207 |     sortCompare(a, b, key) { | 
 | 208 |       if (key === 'health') { | 
 | 209 |         return this.sortStatus(a, b, key); | 
 | 210 |       } | 
| Yoshie Muranaka | 130b1b6 | 2020-06-18 14:29:57 -0700 | [diff] [blame] | 211 |     }, | 
| Sukanya Pandey | 9901096 | 2020-07-27 21:44:47 +0530 | [diff] [blame] | 212 |     onFiltered(filteredItems) { | 
 | 213 |       this.searchTotalFilteredRows = filteredItems.length; | 
| Derick Montague | 602e98a | 2020-10-21 16:20:00 -0500 | [diff] [blame] | 214 |     }, | 
 | 215 |   }, | 
| Yoshie Muranaka | 5918b48 | 2020-06-08 08:18:23 -0700 | [diff] [blame] | 216 | }; | 
 | 217 | </script> |