1<template> 2 <b-container fluid="xl"> 3 <page-title /> 4 <overview-quick-links class="mb-4" /> 5 <page-section 6 :section-title="$t('pageOverview.systemInformation')" 7 class="mb-1" 8 > 9 <b-card-group deck> 10 <overview-server /> 11 <overview-firmware /> 12 </b-card-group> 13 <b-card-group deck> 14 <overview-network /> 15 <overview-power /> 16 </b-card-group> 17 </page-section> 18 <page-section :section-title="$t('pageOverview.statusInformation')"> 19 <b-card-group deck> 20 <overview-events /> 21 <overview-inventory /> 22 <overview-dumps v-if="showDumps" /> 23 </b-card-group> 24 </page-section> 25 </b-container> 26</template> 27 28<script> 29import LoadingBarMixin from '@/components/Mixins/LoadingBarMixin'; 30import OverviewDumps from './OverviewDumps.vue'; 31import OverviewEvents from './OverviewEvents.vue'; 32import OverviewFirmware from './OverviewFirmware.vue'; 33import OverviewInventory from './OverviewInventory.vue'; 34import OverviewNetwork from './OverviewNetwork'; 35import OverviewPower from './OverviewPower'; 36import OverviewQuickLinks from './OverviewQuickLinks'; 37import OverviewServer from './OverviewServer'; 38import PageSection from '@/components/Global/PageSection'; 39import PageTitle from '@/components/Global/PageTitle'; 40import { useI18n } from 'vue-i18n'; 41 42export default { 43 name: 'Overview', 44 components: { 45 OverviewDumps, 46 OverviewEvents, 47 OverviewFirmware, 48 OverviewInventory, 49 OverviewNetwork, 50 OverviewPower, 51 OverviewQuickLinks, 52 OverviewServer, 53 PageSection, 54 PageTitle, 55 }, 56 mixins: [LoadingBarMixin], 57 data() { 58 return { 59 $t: useI18n().t, 60 showDumps: process.env.VUE_APP_ENV_NAME === 'ibm', 61 }; 62 }, 63 created() { 64 this.startLoader(); 65 const dumpsPromise = new Promise((resolve) => { 66 this.$root.$on('overview-dumps-complete', () => resolve()); 67 }); 68 const eventsPromise = new Promise((resolve) => { 69 this.$root.$on('overview-events-complete', () => resolve()); 70 }); 71 const firmwarePromise = new Promise((resolve) => { 72 this.$root.$on('overview-firmware-complete', () => resolve()); 73 }); 74 const inventoryPromise = new Promise((resolve) => { 75 this.$root.$on('overview-inventory-complete', () => resolve()); 76 }); 77 const networkPromise = new Promise((resolve) => { 78 this.$root.$on('overview-network-complete', () => resolve()); 79 }); 80 const powerPromise = new Promise((resolve) => { 81 this.$root.$on('overview-power-complete', () => resolve()); 82 }); 83 const quicklinksPromise = new Promise((resolve) => { 84 this.$root.$on('overview-quicklinks-complete', () => resolve()); 85 }); 86 const serverPromise = new Promise((resolve) => { 87 this.$root.$on('overview-server-complete', () => resolve()); 88 }); 89 90 const promises = [ 91 eventsPromise, 92 firmwarePromise, 93 inventoryPromise, 94 networkPromise, 95 powerPromise, 96 quicklinksPromise, 97 serverPromise, 98 ]; 99 if (this.showDumps) promises.push(dumpsPromise); 100 Promise.all(promises).finally(() => this.endLoader()); 101 }, 102}; 103</script> 104