From 598bf7e96704f54400ec1730255168dd4d274218 Mon Sep 17 00:00:00 2001 From: Yoshie Muranaka Date: Fri, 1 May 2020 12:26:00 -0700 Subject: Add loading bar to Overview page Signed-off-by: Yoshie Muranaka Change-Id: I47ef77dda6b348c854e875aa458acfa44e287c49 --- src/store/modules/Configuration/FirmwareStore.js | 8 +++--- .../modules/Configuration/NetworkSettingsStore.js | 4 +-- src/store/modules/Control/PowerControlStore.js | 4 +-- src/store/modules/GlobalStore.js | 4 +-- src/store/modules/Health/EventLogStore.js | 4 +-- src/store/modules/Overview/OverviewStore.js | 4 +-- src/views/Overview/Overview.vue | 32 ++++++++++++++++------ src/views/Overview/OverviewEvents.vue | 9 ++---- src/views/Overview/OverviewNetwork.vue | 9 ++---- src/views/Overview/OverviewQuickLinks.vue | 9 ++---- 10 files changed, 47 insertions(+), 40 deletions(-) diff --git a/src/store/modules/Configuration/FirmwareStore.js b/src/store/modules/Configuration/FirmwareStore.js index b76748f3..cae74ebc 100644 --- a/src/store/modules/Configuration/FirmwareStore.js +++ b/src/store/modules/Configuration/FirmwareStore.js @@ -17,8 +17,8 @@ const FirmwareStore = { (state.hostFirmwareVersion = hostFirmwareVersion) }, actions: { - getBmcFirmware({ commit }) { - api + async getBmcFirmware({ commit }) { + return await api .get('/redfish/v1/Managers/bmc') .then(response => { const bmcFirmwareVersion = response.data.FirmwareVersion; @@ -28,8 +28,8 @@ const FirmwareStore = { console.log(error); }); }, - getHostFirmware({ commit }) { - api + async getHostFirmware({ commit }) { + return await api .get('/redfish/v1/Systems/system') .then(response => { const hostFirmwareVersion = response.data.BiosVersion; diff --git a/src/store/modules/Configuration/NetworkSettingsStore.js b/src/store/modules/Configuration/NetworkSettingsStore.js index 3b1f2320..f6912c87 100644 --- a/src/store/modules/Configuration/NetworkSettingsStore.js +++ b/src/store/modules/Configuration/NetworkSettingsStore.js @@ -13,8 +13,8 @@ const NetworkSettingsStore = { (state.ethernetData = ethernetData) }, actions: { - getEthernetData({ commit }) { - api + async getEthernetData({ commit }) { + return await api .get('/redfish/v1/Managers/bmc/EthernetInterfaces') .then(response => response.data.Members.map( diff --git a/src/store/modules/Control/PowerControlStore.js b/src/store/modules/Control/PowerControlStore.js index 63ede2d4..78585395 100644 --- a/src/store/modules/Control/PowerControlStore.js +++ b/src/store/modules/Control/PowerControlStore.js @@ -17,8 +17,8 @@ const PowerControlStore = { (state.powerConsumptionValue = powerConsumptionValue) }, actions: { - getPowerControl({ commit }) { - api + async getPowerControl({ commit }) { + return await api .get('/redfish/v1/Chassis/chassis/Power') .then(response => { const powerControl = response.data.PowerControl; diff --git a/src/store/modules/GlobalStore.js b/src/store/modules/GlobalStore.js index c9e92a76..879d8d89 100644 --- a/src/store/modules/GlobalStore.js +++ b/src/store/modules/GlobalStore.js @@ -40,8 +40,8 @@ const GlobalStore = { (state.hostStatus = hostStateMapper(hostState)) }, actions: { - getBmcTime({ commit }) { - api + async getBmcTime({ commit }) { + return await api .get('/redfish/v1/Managers/bmc') .then(response => { const bmcDateTime = response.data.DateTime; diff --git a/src/store/modules/Health/EventLogStore.js b/src/store/modules/Health/EventLogStore.js index d2f970ae..418e4558 100644 --- a/src/store/modules/Health/EventLogStore.js +++ b/src/store/modules/Health/EventLogStore.js @@ -62,8 +62,8 @@ const EventLogStore = { setHealthStatus: (state, status) => (state.healthStatus = status) }, actions: { - getEventLogData({ commit }) { - api + async getEventLogData({ commit }) { + return await api .get('/xyz/openbmc_project/logging/enumerate') .then(response => { const responseData = response.data.data; diff --git a/src/store/modules/Overview/OverviewStore.js b/src/store/modules/Overview/OverviewStore.js index 30558d82..314728cc 100644 --- a/src/store/modules/Overview/OverviewStore.js +++ b/src/store/modules/Overview/OverviewStore.js @@ -23,8 +23,8 @@ const OverviewStore = { (state.serverSerialNumber = serverSerialNumber) }, actions: { - getServerInfo({ commit }) { - api + async getServerInfo({ commit }) { + return await api .get('/redfish/v1/Systems/system') .then(response => { const serverInfo = response.data; diff --git a/src/views/Overview/Overview.vue b/src/views/Overview/Overview.vue index 9ddf49d1..59b5063d 100644 --- a/src/views/Overview/Overview.vue +++ b/src/views/Overview/Overview.vue @@ -92,6 +92,7 @@ import OverviewNetwork from './OverviewNetwork'; import PageTitle from '../../components/Global/PageTitle'; import PageSection from '../../components/Global/PageSection'; import { mapState } from 'vuex'; +import LoadingBarMixin from '@/components/Mixins/LoadingBarMixin'; export default { name: 'Overview', @@ -102,6 +103,7 @@ export default { PageTitle, PageSection }, + mixins: [LoadingBarMixin], computed: mapState({ serverModel: state => state.overview.serverModel, serverManufacturer: state => state.overview.serverManufacturer, @@ -112,15 +114,29 @@ export default { powerConsumptionValue: state => state.powerControl.powerConsumptionValue }), created() { - this.getOverviewInfo(); + this.startLoader(); + const quicklinksPromise = new Promise(resolve => { + this.$root.$on('overview::quicklinks::complete', () => resolve()); + }); + const networkPromise = new Promise(resolve => { + this.$root.$on('overview::network::complete', () => resolve()); + }); + const eventsPromise = new Promise(resolve => { + this.$root.$on('overview::events::complete', () => resolve()); + }); + Promise.all([ + this.$store.dispatch('overview/getServerInfo'), + this.$store.dispatch('firmware/getBmcFirmware'), + this.$store.dispatch('firmware/getHostFirmware'), + this.$store.dispatch('powerControl/getPowerControl'), + quicklinksPromise, + networkPromise, + eventsPromise + ]).finally(() => this.endLoader()); }, - methods: { - getOverviewInfo() { - this.$store.dispatch('overview/getServerInfo'); - this.$store.dispatch('firmware/getBmcFirmware'); - this.$store.dispatch('firmware/getHostFirmware'); - this.$store.dispatch('powerControl/getPowerControl'); - } + beforeRouteLeave(to, from, next) { + this.hideLoader(); + next(); } }; diff --git a/src/views/Overview/OverviewEvents.vue b/src/views/Overview/OverviewEvents.vue index 9d02d1c1..ff9c302a 100644 --- a/src/views/Overview/OverviewEvents.vue +++ b/src/views/Overview/OverviewEvents.vue @@ -59,12 +59,9 @@ export default { } }, created() { - this.getEventLogData(); - }, - methods: { - getEventLogData() { - this.$store.dispatch('eventLog/getEventLogData'); - } + this.$store.dispatch('eventLog/getEventLogData').finally(() => { + this.$root.$emit('overview::events::complete'); + }); } }; diff --git a/src/views/Overview/OverviewNetwork.vue b/src/views/Overview/OverviewNetwork.vue index ea338b39..a495fae2 100644 --- a/src/views/Overview/OverviewNetwork.vue +++ b/src/views/Overview/OverviewNetwork.vue @@ -49,12 +49,9 @@ export default { } }, created() { - this.getEthernetData(); - }, - methods: { - getEthernetData() { - this.$store.dispatch('networkSettings/getEthernetData'); - } + this.$store.dispatch('networkSettings/getEthernetData').finally(() => { + this.$root.$emit('overview::network::complete'); + }); } }; diff --git a/src/views/Overview/OverviewQuickLinks.vue b/src/views/Overview/OverviewQuickLinks.vue index da56b5d1..09e5a00f 100644 --- a/src/views/Overview/OverviewQuickLinks.vue +++ b/src/views/Overview/OverviewQuickLinks.vue @@ -69,12 +69,9 @@ export default { } }, created() { - this.getBmcTime(); - }, - methods: { - getBmcTime() { - this.$store.dispatch('global/getBmcTime'); - } + this.$store.dispatch('global/getBmcTime').finally(() => { + this.$root.$emit('overview::quicklinks::complete'); + }); } }; -- cgit v1.2.3