| <template> |
| <b-container fluid="xl"> |
| <page-title /> |
| <overview-quick-links class="mb-4" /> |
| <page-section |
| :section-title="$t('pageOverview.systemInformation')" |
| class="mb-1" |
| > |
| <b-card-group deck> |
| <overview-server /> |
| <overview-firmware /> |
| </b-card-group> |
| <b-card-group deck> |
| <overview-network /> |
| <overview-power /> |
| </b-card-group> |
| </page-section> |
| <page-section :section-title="$t('pageOverview.statusInformation')"> |
| <b-card-group deck> |
| <overview-events /> |
| <overview-inventory /> |
| <overview-dumps v-if="showDumps" /> |
| </b-card-group> |
| </page-section> |
| </b-container> |
| </template> |
| |
| <script> |
| import LoadingBarMixin from '@/components/Mixins/LoadingBarMixin'; |
| import OverviewDumps from './OverviewDumps.vue'; |
| import OverviewEvents from './OverviewEvents.vue'; |
| import OverviewFirmware from './OverviewFirmware.vue'; |
| import OverviewInventory from './OverviewInventory.vue'; |
| import OverviewNetwork from './OverviewNetwork'; |
| import OverviewPower from './OverviewPower'; |
| import OverviewQuickLinks from './OverviewQuickLinks'; |
| import OverviewServer from './OverviewServer'; |
| import PageSection from '@/components/Global/PageSection'; |
| import PageTitle from '@/components/Global/PageTitle'; |
| import { useI18n } from 'vue-i18n'; |
| |
| export default { |
| name: 'Overview', |
| components: { |
| OverviewDumps, |
| OverviewEvents, |
| OverviewFirmware, |
| OverviewInventory, |
| OverviewNetwork, |
| OverviewPower, |
| OverviewQuickLinks, |
| OverviewServer, |
| PageSection, |
| PageTitle, |
| }, |
| mixins: [LoadingBarMixin], |
| data() { |
| return { |
| $t: useI18n().t, |
| showDumps: process.env.VUE_APP_ENV_NAME === 'ibm', |
| }; |
| }, |
| created() { |
| this.startLoader(); |
| const dumpsPromise = new Promise((resolve) => { |
| this.$root.$on('overview-dumps-complete', () => resolve()); |
| }); |
| const eventsPromise = new Promise((resolve) => { |
| this.$root.$on('overview-events-complete', () => resolve()); |
| }); |
| const firmwarePromise = new Promise((resolve) => { |
| this.$root.$on('overview-firmware-complete', () => resolve()); |
| }); |
| const inventoryPromise = new Promise((resolve) => { |
| this.$root.$on('overview-inventory-complete', () => resolve()); |
| }); |
| const networkPromise = new Promise((resolve) => { |
| this.$root.$on('overview-network-complete', () => resolve()); |
| }); |
| const powerPromise = new Promise((resolve) => { |
| this.$root.$on('overview-power-complete', () => resolve()); |
| }); |
| const quicklinksPromise = new Promise((resolve) => { |
| this.$root.$on('overview-quicklinks-complete', () => resolve()); |
| }); |
| const serverPromise = new Promise((resolve) => { |
| this.$root.$on('overview-server-complete', () => resolve()); |
| }); |
| |
| const promises = [ |
| eventsPromise, |
| firmwarePromise, |
| inventoryPromise, |
| networkPromise, |
| powerPromise, |
| quicklinksPromise, |
| serverPromise, |
| ]; |
| if (this.showDumps) promises.push(dumpsPromise); |
| Promise.all(promises).finally(() => this.endLoader()); |
| }, |
| }; |
| </script> |