summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSandeepa Singh <sandeepa.singh@ibm.com>2021-09-27 12:22:38 +0300
committerDixsie Wolmers <dixsiew@gmail.com>2021-10-28 16:23:16 +0300
commit8187678816dee0342b46e6f095324097ea734fea (patch)
treeb2c0c9f32799efa6de829d1251b59881441bf2e1
parent15cee709835a9dbf01ba292c5a16f7ffa226f553 (diff)
downloadwebui-vue-8187678816dee0342b46e6f095324097ea734fea.tar.xz
Add Dimms table missing properties
- Added the following properties: Model, Description, Spare part number, Location Number, Memory type, Memory size, Identify led - Design has been updated for Dimms table on inventory page Signed-off-by: Sandeepa Singh <sandeepa.singh@ibm.com> Change-Id: Ife61396bd70c29df1b5ea55091adc8c6813b5cdc
-rw-r--r--src/locales/en-US.json6
-rw-r--r--src/store/modules/HardwareStatus/MemoryStore.js38
-rw-r--r--src/views/HardwareStatus/Inventory/InventoryTableDimmSlot.vue77
3 files changed, 106 insertions, 15 deletions
diff --git a/src/locales/en-US.json b/src/locales/en-US.json
index 5c457d68..35e71466 100644
--- a/src/locales/en-US.json
+++ b/src/locales/en-US.json
@@ -403,11 +403,13 @@
"manufacturer": "Manufacturer",
"maxConcurrentSessions": "Max concurrent sessions",
"maxSpeedMHz": "Max speed MHz",
- "minSpeedMHz": "Min speed MHz",
"maxPowerWatts": "Max power watts",
+ "memoryType": "Memory type",
+ "memorySize": "Memory size",
+ "memorySummary": "Memory summary",
"minPowerWatts": "Min power watts",
+ "minSpeedMHz": "Min speed MHz",
"model": "Model",
- "memorySummary": "Memory summary",
"name": "Name",
"partNumber": "Part number",
"power": "Power",
diff --git a/src/store/modules/HardwareStatus/MemoryStore.js b/src/store/modules/HardwareStatus/MemoryStore.js
index cd2478de..6f6abe53 100644
--- a/src/store/modules/HardwareStatus/MemoryStore.js
+++ b/src/store/modules/HardwareStatus/MemoryStore.js
@@ -1,4 +1,5 @@
import api from '@/store/api';
+import i18n from '@/i18n';
const MemoryStore = {
namespaced: true,
@@ -11,13 +12,31 @@ const MemoryStore = {
mutations: {
setMemoryInfo: (state, data) => {
state.dimms = data.map(({ data }) => {
- const { Id, Status = {}, PartNumber, SerialNumber } = data;
+ const {
+ Id,
+ Status = {},
+ PartNumber,
+ SerialNumber,
+ SparePartNumber,
+ Description,
+ MemoryType,
+ MemorySize,
+ LocationIndicatorActive,
+ Location,
+ } = data;
return {
id: Id,
health: Status.Health,
partNumber: PartNumber,
serialNumber: SerialNumber,
statusState: Status.State,
+ sparePartNumber: SparePartNumber,
+ description: Description,
+ memoryType: MemoryType,
+ memorySize: MemorySize,
+ identifyLed: LocationIndicatorActive,
+ uri: data['@odata.id'],
+ locationNumber: Location?.PartLocation?.ServiceLabel,
};
});
},
@@ -33,6 +52,23 @@ const MemoryStore = {
.then((response) => commit('setMemoryInfo', response))
.catch((error) => console.log(error));
},
+ async updateIdentifyLedValue({ dispatch }, led) {
+ const uri = led.uri;
+ const updatedIdentifyLedValue = {
+ LocationIndicatorActive: led.identifyLed,
+ };
+ return await api.patch(uri, updatedIdentifyLedValue).catch((error) => {
+ dispatch('getDimms');
+ console.log('error', error);
+ if (led.identifyLed) {
+ throw new Error(i18n.t('pageInventory.toast.errorEnableIdentifyLed'));
+ } else {
+ throw new Error(
+ i18n.t('pageInventory.toast.errorDisableIdentifyLed')
+ );
+ }
+ });
+ },
},
};
diff --git a/src/views/HardwareStatus/Inventory/InventoryTableDimmSlot.vue b/src/views/HardwareStatus/Inventory/InventoryTableDimmSlot.vue
index 5d8db83c..07f42d26 100644
--- a/src/views/HardwareStatus/Inventory/InventoryTableDimmSlot.vue
+++ b/src/views/HardwareStatus/Inventory/InventoryTableDimmSlot.vue
@@ -49,13 +49,63 @@
<status-icon :status="statusIcon(value)" />
{{ value }}
</template>
-
+ <!-- Toggle identify LED -->
+ <template #cell(identifyLed)="row">
+ <b-form-checkbox
+ 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>
+ </template>
<template #row-details="{ item }">
<b-container fluid>
<b-row>
- <b-col sm="6" xl="4">
+ <b-col sm="6" xl="6">
+ <dl>
+ <!-- Part Number -->
+ <dt>{{ $t('pageInventory.table.partNumber') }}:</dt>
+ <dd>{{ dataFormatter(item.partNumber) }}</dd>
+ </dl>
<dl>
- <!-- Status state -->
+ <!-- Serial Number -->
+ <dt>{{ $t('pageInventory.table.serialNumber') }}:</dt>
+ <dd>{{ dataFormatter(item.serialNumber) }}</dd>
+ </dl>
+ <dl>
+ <!-- Spare Part Number -->
+ <dt>{{ $t('pageInventory.table.sparePartNumber') }}:</dt>
+ <dd>{{ dataFormatter(item.sparePartNumber) }}</dd>
+ </dl>
+ <dl>
+ <!-- Model -->
+ <dt>{{ $t('pageInventory.table.model') }}:</dt>
+ <dd>{{ dataFormatter(item.model) }}</dd>
+ </dl>
+ <dl>
+ <!-- Description -->
+ <dt>{{ $t('pageInventory.table.description') }}:</dt>
+ <dd>{{ dataFormatter(item.description) }}</dd>
+ </dl>
+ <dl>
+ <!-- Memory Type -->
+ <dt>{{ $t('pageInventory.table.memoryType') }}:</dt>
+ <dd>{{ dataFormatter(item.memoryType) }}</dd>
+ </dl>
+ </b-col>
+ <b-col sm="6" xl="6">
+ <dl>
+ <!-- Memory Size in kb -->
+ <dt>{{ $t('pageInventory.table.memorySize') }}:</dt>
+ <dd>{{ dataFormatter(item.memorySize) }} KB</dd>
+ </dl>
+ <dl>
+ <!-- Status-->
<dt>{{ $t('pageInventory.table.statusState') }}:</dt>
<dd>{{ dataFormatter(item.statusState) }}</dd>
</dl>
@@ -99,32 +149,27 @@ export default {
key: 'expandRow',
label: '',
tdClass: 'table-row-expand',
- sortable: false,
},
{
key: 'id',
label: this.$t('pageInventory.table.id'),
formatter: this.dataFormatter,
- sortable: true,
},
{
key: 'health',
label: this.$t('pageInventory.table.health'),
formatter: this.dataFormatter,
- sortable: true,
tdClass: 'text-nowrap',
},
{
- key: 'partNumber',
- label: this.$t('pageInventory.table.partNumber'),
+ key: 'locationNumber',
+ label: this.$t('pageInventory.table.locationNumber'),
formatter: this.dataFormatter,
- sortable: true,
},
{
- key: 'serialNumber',
- label: this.$t('pageInventory.table.serialNumber'),
+ key: 'identifyLed',
+ label: this.$t('pageInventory.table.identifyLed'),
formatter: this.dataFormatter,
- sortable: true,
},
],
searchFilter: searchFilter,
@@ -157,6 +202,14 @@ export default {
onFiltered(filteredItems) {
this.searchTotalFilteredRows = filteredItems.length;
},
+ toggleIdentifyLedValue(row) {
+ this.$store
+ .dispatch('memory/updateIdentifyLedValue', {
+ uri: row.uri,
+ identifyLed: row.identifyLed,
+ })
+ .catch(({ message }) => this.errorToast(message));
+ },
},
};
</script>