Added toast notification for identify LEDs
- Added success toast notification messages for identify
LEDs present at Inventory and LEDs page and Overview.
- Import of Toast was not present in Overview's Inventory
card and DIMM slot table, fixed it.
Signed-off-by: Nikhil Ashoka <a.nikhil@ibm.com>
Change-Id: If9ad84e66f6f15616cb8af51b1e84d8d06b1afd0
diff --git a/src/locales/en-US.json b/src/locales/en-US.json
index ab63075..8ba7ac9 100644
--- a/src/locales/en-US.json
+++ b/src/locales/en-US.json
@@ -452,7 +452,9 @@
},
"toast": {
"errorDisableIdentifyLed": "Error disabling Identify LED.",
- "errorEnableIdentifyLed": "Error enabling Identify LED."
+ "errorEnableIdentifyLed": "Error enabling Identify LED.",
+ "successDisableIdentifyLed": "Successfully disabled Identify LED.",
+ "successEnableIdentifyLed": "Successfully enabled Identify LED."
}
},
"pageKeyClear": {
diff --git a/src/store/modules/HardwareStatus/AssemblyStore.js b/src/store/modules/HardwareStatus/AssemblyStore.js
index c6ab7cf..13cdbbc 100644
--- a/src/store/modules/HardwareStatus/AssemblyStore.js
+++ b/src/store/modules/HardwareStatus/AssemblyStore.js
@@ -54,17 +54,28 @@
],
};
- return await api.patch(uri, updatedIdentifyLedValue).catch((error) => {
- dispatch('getAssemblyInfo');
- console.log('error', error);
- if (led.identifyLed) {
- throw new Error(i18n.t('pageInventory.toast.errorEnableIdentifyLed'));
- } else {
- throw new Error(
- i18n.t('pageInventory.toast.errorDisableIdentifyLed'),
- );
- }
- });
+ return await api
+ .patch(uri, updatedIdentifyLedValue)
+ .then(() => {
+ if (led.identifyLed) {
+ return i18n.t('pageInventory.toast.successEnableIdentifyLed');
+ } else {
+ return i18n.t('pageInventory.toast.successDisableIdentifyLed');
+ }
+ })
+ .catch((error) => {
+ dispatch('getAssemblyInfo');
+ 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/store/modules/HardwareStatus/BmcStore.js b/src/store/modules/HardwareStatus/BmcStore.js
index f225e92..d96926e 100644
--- a/src/store/modules/HardwareStatus/BmcStore.js
+++ b/src/store/modules/HardwareStatus/BmcStore.js
@@ -58,7 +58,14 @@
};
return await api
.patch(uri, updatedIdentifyLedValue)
- .then(() => dispatch('getBmcInfo'))
+ .then(() => {
+ dispatch('getBmcInfo');
+ if (led.identifyLed) {
+ return i18n.t('pageInventory.toast.successEnableIdentifyLed');
+ } else {
+ return i18n.t('pageInventory.toast.successDisableIdentifyLed');
+ }
+ })
.catch((error) => {
dispatch('getBmcInfo');
console.log('error', error);
diff --git a/src/store/modules/HardwareStatus/ChassisStore.js b/src/store/modules/HardwareStatus/ChassisStore.js
index 6f2d74a..7e591ad 100644
--- a/src/store/modules/HardwareStatus/ChassisStore.js
+++ b/src/store/modules/HardwareStatus/ChassisStore.js
@@ -72,7 +72,14 @@
};
return await api
.patch(uri, updatedIdentifyLedValue)
- .then(() => dispatch('getChassisInfo'))
+ .then(() => {
+ dispatch('getChassisInfo');
+ if (led.identifyLed) {
+ return i18n.t('pageInventory.toast.successEnableIdentifyLed');
+ } else {
+ return i18n.t('pageInventory.toast.successDisableIdentifyLed');
+ }
+ })
.catch((error) => {
dispatch('getChassisInfo');
console.log('error', error);
diff --git a/src/store/modules/HardwareStatus/MemoryStore.js b/src/store/modules/HardwareStatus/MemoryStore.js
index 86b77c0..787a050 100644
--- a/src/store/modules/HardwareStatus/MemoryStore.js
+++ b/src/store/modules/HardwareStatus/MemoryStore.js
@@ -73,17 +73,28 @@
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'),
- );
- }
- });
+ return await api
+ .patch(uri, updatedIdentifyLedValue)
+ .then(() => {
+ if (led.identifyLed) {
+ return i18n.t('pageInventory.toast.successEnableIdentifyLed');
+ } else {
+ return i18n.t('pageInventory.toast.successDisableIdentifyLed');
+ }
+ })
+ .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/store/modules/HardwareStatus/ProcessorStore.js b/src/store/modules/HardwareStatus/ProcessorStore.js
index 29fb998..49f9620 100644
--- a/src/store/modules/HardwareStatus/ProcessorStore.js
+++ b/src/store/modules/HardwareStatus/ProcessorStore.js
@@ -81,17 +81,28 @@
const updatedIdentifyLedValue = {
LocationIndicatorActive: led.identifyLed,
};
- return await api.patch(uri, updatedIdentifyLedValue).catch((error) => {
- dispatch('getProcessorsInfo');
- console.log('error', error);
- if (led.identifyLed) {
- throw new Error(i18n.t('pageInventory.toast.errorEnableIdentifyLed'));
- } else {
- throw new Error(
- i18n.t('pageInventory.toast.errorDisableIdentifyLed'),
- );
- }
- });
+ return await api
+ .patch(uri, updatedIdentifyLedValue)
+ .then(() => {
+ if (led.identifyLed) {
+ return i18n.t('pageInventory.toast.successEnableIdentifyLed');
+ } else {
+ return i18n.t('pageInventory.toast.successDisableIdentifyLed');
+ }
+ })
+ .catch((error) => {
+ dispatch('getProcessorsInfo');
+ 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/store/modules/HardwareStatus/SystemStore.js b/src/store/modules/HardwareStatus/SystemStore.js
index f138234..ea519d7 100644
--- a/src/store/modules/HardwareStatus/SystemStore.js
+++ b/src/store/modules/HardwareStatus/SystemStore.js
@@ -49,6 +49,13 @@
.patch('/redfish/v1/Systems/system', {
LocationIndicatorActive: ledState,
})
+ .then(() => {
+ if (ledState) {
+ return i18n.t('pageInventory.toast.successEnableIdentifyLed');
+ } else {
+ return i18n.t('pageInventory.toast.successDisableIdentifyLed');
+ }
+ })
.catch((error) => {
commit('setSystemInfo', this.state.system.systems[0]);
console.log('error', error);
diff --git a/src/views/HardwareStatus/Inventory/InventoryServiceIndicator.vue b/src/views/HardwareStatus/Inventory/InventoryServiceIndicator.vue
index 01f4a44..0825ad7 100644
--- a/src/views/HardwareStatus/Inventory/InventoryServiceIndicator.vue
+++ b/src/views/HardwareStatus/Inventory/InventoryServiceIndicator.vue
@@ -69,6 +69,7 @@
toggleIdentifyLedSwitch(state) {
this.$store
.dispatch('system/changeIdentifyLedState', state)
+ .then((message) => this.successToast(message))
.catch(({ message }) => this.errorToast(message));
},
},
diff --git a/src/views/HardwareStatus/Inventory/InventoryTableAssembly.vue b/src/views/HardwareStatus/Inventory/InventoryTableAssembly.vue
index b4010bf..b9f59cc 100644
--- a/src/views/HardwareStatus/Inventory/InventoryTableAssembly.vue
+++ b/src/views/HardwareStatus/Inventory/InventoryTableAssembly.vue
@@ -143,6 +143,7 @@
memberId: row.id,
identifyLed: row.identifyLed,
})
+ .then((message) => this.successToast(message))
.catch(({ message }) => this.errorToast(message));
},
hasIdentifyLed(identifyLed) {
diff --git a/src/views/HardwareStatus/Inventory/InventoryTableBmcManager.vue b/src/views/HardwareStatus/Inventory/InventoryTableBmcManager.vue
index 48b914f..cf3ee2b 100644
--- a/src/views/HardwareStatus/Inventory/InventoryTableBmcManager.vue
+++ b/src/views/HardwareStatus/Inventory/InventoryTableBmcManager.vue
@@ -233,6 +233,7 @@
uri: row.uri,
identifyLed: row.identifyLed,
})
+ .then((message) => this.successToast(message))
.catch(({ message }) => this.errorToast(message));
},
// TO DO: remove hasIdentifyLed method once the following story is merged:
diff --git a/src/views/HardwareStatus/Inventory/InventoryTableChassis.vue b/src/views/HardwareStatus/Inventory/InventoryTableChassis.vue
index 4c557fa..18ddfba 100644
--- a/src/views/HardwareStatus/Inventory/InventoryTableChassis.vue
+++ b/src/views/HardwareStatus/Inventory/InventoryTableChassis.vue
@@ -186,6 +186,7 @@
uri: row.uri,
identifyLed: row.identifyLed,
})
+ .then((message) => this.successToast(message))
.catch(({ message }) => this.errorToast(message));
},
// TO DO: Remove this method when the LocationIndicatorActive is added from backend.
diff --git a/src/views/HardwareStatus/Inventory/InventoryTableDimmSlot.vue b/src/views/HardwareStatus/Inventory/InventoryTableDimmSlot.vue
index 6aa1578..f3db133 100644
--- a/src/views/HardwareStatus/Inventory/InventoryTableDimmSlot.vue
+++ b/src/views/HardwareStatus/Inventory/InventoryTableDimmSlot.vue
@@ -193,6 +193,7 @@
import StatusIcon from '@/components/Global/StatusIcon';
import TableCellCount from '@/components/Global/TableCellCount';
+import BVToastMixin from '@/components/Mixins/BVToastMixin';
import DataFormatterMixin from '@/components/Mixins/DataFormatterMixin';
import TableSortMixin from '@/components/Mixins/TableSortMixin';
import Search from '@/components/Global/Search';
@@ -206,6 +207,7 @@
export default {
components: { IconChevron, PageSection, StatusIcon, Search, TableCellCount },
mixins: [
+ BVToastMixin,
TableRowExpandMixin,
DataFormatterMixin,
TableSortMixin,
@@ -287,6 +289,7 @@
uri: row.uri,
identifyLed: row.identifyLed,
})
+ .then((message) => this.successToast(message))
.catch(({ message }) => this.errorToast(message));
},
hasIdentifyLed(identifyLed) {
diff --git a/src/views/HardwareStatus/Inventory/InventoryTableProcessors.vue b/src/views/HardwareStatus/Inventory/InventoryTableProcessors.vue
index 07376a5..2887fc4 100644
--- a/src/views/HardwareStatus/Inventory/InventoryTableProcessors.vue
+++ b/src/views/HardwareStatus/Inventory/InventoryTableProcessors.vue
@@ -257,6 +257,7 @@
uri: row.uri,
identifyLed: row.identifyLed,
})
+ .then((message) => this.successToast(message))
.catch(({ message }) => this.errorToast(message));
},
// TO DO: remove hasIdentifyLed when the following is merged:
diff --git a/src/views/HardwareStatus/Inventory/InventoryTableSystem.vue b/src/views/HardwareStatus/Inventory/InventoryTableSystem.vue
index 3eb7ca2..8ac1a25 100644
--- a/src/views/HardwareStatus/Inventory/InventoryTableSystem.vue
+++ b/src/views/HardwareStatus/Inventory/InventoryTableSystem.vue
@@ -202,6 +202,7 @@
toggleIdentifyLedSwitch(state) {
this.$store
.dispatch('system/changeIdentifyLedState', state)
+ .then((message) => this.successToast(message))
.catch(({ message }) => this.errorToast(message));
},
},
diff --git a/src/views/Overview/OverviewInventory.vue b/src/views/Overview/OverviewInventory.vue
index 575cb7b..1da5685 100644
--- a/src/views/Overview/OverviewInventory.vue
+++ b/src/views/Overview/OverviewInventory.vue
@@ -29,12 +29,14 @@
<script>
import OverviewCard from './OverviewCard';
+import BVToastMixin from '@/components/Mixins/BVToastMixin';
export default {
name: 'Inventory',
components: {
OverviewCard,
},
+ mixins: [BVToastMixin],
computed: {
systems() {
let systemData = this.$store.getters['system/systems'][0];
@@ -50,6 +52,7 @@
toggleIdentifyLedSwitch(state) {
this.$store
.dispatch('system/changeIdentifyLedState', state)
+ .then((message) => this.successToast(message))
.catch(({ message }) => this.errorToast(message));
},
},