summaryrefslogtreecommitdiff
path: root/src/views/Health/HardwareStatus/HardwareStatusTableProcessors.vue
diff options
context:
space:
mode:
Diffstat (limited to 'src/views/Health/HardwareStatus/HardwareStatusTableProcessors.vue')
-rw-r--r--src/views/Health/HardwareStatus/HardwareStatusTableProcessors.vue114
1 files changed, 92 insertions, 22 deletions
diff --git a/src/views/Health/HardwareStatus/HardwareStatusTableProcessors.vue b/src/views/Health/HardwareStatus/HardwareStatusTableProcessors.vue
index 27f3bd83..e3b5735d 100644
--- a/src/views/Health/HardwareStatus/HardwareStatusTableProcessors.vue
+++ b/src/views/Health/HardwareStatus/HardwareStatusTableProcessors.vue
@@ -47,41 +47,97 @@
<status-icon :status="statusIcon(value)" />
{{ value }}
</template>
+
+ <!-- Toggle identify LED -->
+ <template #cell(identifyLed)="row">
+ <b-form-checkbox
+ v-if="hasIdentifyLed(row.item.identifyLed)"
+ v-model="row.item.identifyLed"
+ name="switch"
+ switch
+ @change="toggleIdentifyLedValue(row.item)"
+ >
+ <span v-if="row.item.identifyLed">
+ {{ $t('global.status.on') }}
+ </span>
+ <span v-else> {{ $t('global.status.off') }} </span>
+ </b-form-checkbox>
+ <div v-else>--</div>
+ </template>
+
<template #row-details="{ item }">
<b-container fluid>
<b-row>
- <b-col sm="6" xl="4">
+ <b-col class="mt-2" sm="6" xl="6">
<dl>
<!-- Name -->
<dt>{{ $t('pageHardwareStatus.table.name') }}:</dt>
<dd>{{ tableFormatter(item.name) }}</dd>
+ <!-- Part Number -->
+ <dt>{{ $t('pageHardwareStatus.table.partNumber') }}:</dt>
+ <dd>{{ tableFormatter(item.partNumber) }}</dd>
+ <!-- Serial Number -->
+ <dt>{{ $t('pageHardwareStatus.table.serialNumber') }}:</dt>
+ <dd>{{ tableFormatter(item.serialNumber) }}</dd>
+ <!-- Spare Part Number -->
+ <dt>{{ $t('pageHardwareStatus.table.sparePartNumber') }}:</dt>
+ <dd>{{ tableFormatter(item.sparePartNumber) }}</dd>
<!-- Model -->
<dt>{{ $t('pageHardwareStatus.table.model') }}:</dt>
<dd>{{ tableFormatter(item.model) }}</dd>
- <!-- Instruction set -->
- <dt>{{ $t('pageHardwareStatus.table.instructionSet') }}:</dt>
- <dd>{{ tableFormatter(item.instructionSet) }}</dd>
- <!-- Manufacturer -->
- <dt>{{ $t('pageHardwareStatus.table.manufacturer') }}:</dt>
- <dd>{{ tableFormatter(item.manufacturer) }}</dd>
+ <!-- Asset Tag -->
+ <dt>{{ $t('pageHardwareStatus.table.assetTag') }}:</dt>
+ <dd>{{ tableFormatter(item.assetTag) }}</dd>
</dl>
</b-col>
- <b-col sm="6" xl="4">
+ <b-col class="mt-2" sm="6" xl="6">
<dl>
- <!-- Architecture -->
+ <!-- Status state -->
+ <dt>{{ $t('pageHardwareStatus.table.statusState') }}:</dt>
+ <dd>{{ tableFormatter(item.statusState) }}</dd>
+ <!-- Health Rollup -->
+ <dt>{{ $t('pageHardwareStatus.table.healthRollup') }}:</dt>
+ <dd>{{ tableFormatter(item.healthRollup) }}</dd>
+ </dl>
+ </b-col>
+ </b-row>
+ <div class="section-divider mb-3 mt-3"></div>
+ <b-row>
+ <b-col class="mt-1" sm="6" xl="6">
+ <dl>
+ <!-- Manufacturer -->
+ <dt>{{ $t('pageHardwareStatus.table.manufacturer') }}:</dt>
+ <dd>{{ tableFormatter(item.manufacturer) }}</dd>
+ <!-- Processor Type -->
+ <dt>{{ $t('pageHardwareStatus.table.processorType') }}:</dt>
+ <dd>{{ tableFormatter(item.processorType) }}</dd>
+ <!-- Processor Architecture -->
<dt>
{{ $t('pageHardwareStatus.table.processorArchitecture') }}:
</dt>
<dd>{{ tableFormatter(item.processorArchitecture) }}</dd>
- <!-- Type -->
- <dt>{{ $t('pageHardwareStatus.table.processorType') }}:</dt>
- <dd>{{ tableFormatter(item.processorType) }}</dd>
- <!-- Total cores -->
+ <!-- Instruction Set -->
+ <dt>{{ $t('pageHardwareStatus.table.instructionSet') }}:</dt>
+ <dd>{{ tableFormatter(item.instructionSet) }}</dd>
+ <!-- Version -->
+ <dt>{{ $t('pageHardwareStatus.table.version') }}:</dt>
+ <dd>{{ tableFormatter(item.version) }}</dd>
+ </dl>
+ </b-col>
+ <b-col class="mt-1" sm="6" xl="6">
+ <dl>
+ <!-- Min Speed MHz -->
+ <dt>{{ $t('pageHardwareStatus.table.minSpeedMHz') }}:</dt>
+ <dd>{{ tableFormatter(item.minSpeedMHz) }}</dd>
+ <!-- Max Speed MHz -->
+ <dt>{{ $t('pageHardwareStatus.table.maxSpeedMHz') }}:</dt>
+ <dd>{{ tableFormatter(item.maxSpeedMHz) }}</dd>
+ <!-- Total Cores -->
<dt>{{ $t('pageHardwareStatus.table.totalCores') }}:</dt>
<dd>{{ tableFormatter(item.totalCores) }}</dd>
- <!-- Status state -->
- <dt>{{ $t('pageHardwareStatus.table.statusState') }}:</dt>
- <dd>{{ tableFormatter(item.statusState) }}</dd>
+ <!-- Total Threads -->
+ <dt>{{ $t('pageHardwareStatus.table.totalThreads') }}:</dt>
+ <dd>{{ tableFormatter(item.totalThreads) }}</dd>
</dl>
</b-col>
</b-row>
@@ -96,7 +152,7 @@ import PageSection from '@/components/Global/PageSection';
import IconChevron from '@carbon/icons-vue/es/chevron--down/20';
import StatusIcon from '@/components/Global/StatusIcon';
import TableCellCount from '@/components/Global/TableCellCount';
-
+import BVToastMixin from '@/components/Mixins/BVToastMixin';
import TableSortMixin from '@/components/Mixins/TableSortMixin';
import TableDataFormatterMixin from '@/components/Mixins/TableDataFormatterMixin';
import Search from '@/components/Global/Search';
@@ -110,6 +166,7 @@ import TableRowExpandMixin, {
export default {
components: { IconChevron, PageSection, StatusIcon, Search, TableCellCount },
mixins: [
+ BVToastMixin,
TableRowExpandMixin,
TableDataFormatterMixin,
TableSortMixin,
@@ -138,16 +195,16 @@ export default {
tdClass: 'text-nowrap',
},
{
- key: 'partNumber',
- label: this.$t('pageHardwareStatus.table.partNumber'),
+ key: 'locationNumber',
+ label: this.$t('pageHardwareStatus.table.locationNumber'),
formatter: this.tableFormatter,
sortable: true,
},
{
- key: 'serialNumber',
- label: this.$t('pageHardwareStatus.table.serialNumber'),
+ key: 'identifyLed',
+ label: this.$t('pageHardwareStatus.table.identifyLed'),
formatter: this.tableFormatter,
- sortable: true,
+ sortable: false,
},
],
searchFilter: searchFilter,
@@ -175,6 +232,19 @@ export default {
onFiltered(filteredItems) {
this.searchTotalFilteredRows = filteredItems.length;
},
+ toggleIdentifyLedValue(row) {
+ this.$store
+ .dispatch('processors/updateIdentifyLedValue', {
+ uri: row.uri,
+ identifyLed: row.identifyLed,
+ })
+ .catch(({ message }) => this.errorToast(message));
+ },
+ // TO DO: remove hasIdentifyLed when the following is merged:
+ // https://gerrit.openbmc-project.xyz/c/openbmc/bmcweb/+/37045
+ hasIdentifyLed(identifyLed) {
+ return typeof identifyLed === 'boolean';
+ },
},
};
</script>