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'; 40 41export default { 42 name: 'Overview', 43 components: { 44 OverviewDumps, 45 OverviewEvents, 46 OverviewFirmware, 47 OverviewInventory, 48 OverviewNetwork, 49 OverviewPower, 50 OverviewQuickLinks, 51 OverviewServer, 52 PageSection, 53 PageTitle, 54 }, 55 mixins: [LoadingBarMixin], 56 data() { 57 return { 58 showDumps: process.env.VUE_APP_ENV_NAME === 'ibm', 59 }; 60 }, 61 created() { 62 this.startLoader(); 63 const dumpsPromise = new Promise((resolve) => { 64 this.$root.$on('overview-dumps-complete', () => resolve()); 65 }); 66 const eventsPromise = new Promise((resolve) => { 67 this.$root.$on('overview-events-complete', () => resolve()); 68 }); 69 const firmwarePromise = new Promise((resolve) => { 70 this.$root.$on('overview-firmware-complete', () => resolve()); 71 }); 72 const inventoryPromise = new Promise((resolve) => { 73 this.$root.$on('overview-inventory-complete', () => resolve()); 74 }); 75 const networkPromise = new Promise((resolve) => { 76 this.$root.$on('overview-network-complete', () => resolve()); 77 }); 78 const powerPromise = new Promise((resolve) => { 79 this.$root.$on('overview-power-complete', () => resolve()); 80 }); 81 const quicklinksPromise = new Promise((resolve) => { 82 this.$root.$on('overview-quicklinks-complete', () => resolve()); 83 }); 84 const serverPromise = new Promise((resolve) => { 85 this.$root.$on('overview-server-complete', () => resolve()); 86 }); 87 88 const promises = [ 89 eventsPromise, 90 firmwarePromise, 91 inventoryPromise, 92 networkPromise, 93 powerPromise, 94 quicklinksPromise, 95 serverPromise, 96 ]; 97 if (this.showDumps) promises.push(dumpsPromise); 98 Promise.all(promises).finally(() => this.endLoader()); 99 }, 100}; 101</script> 102