blob: 4d29a3d9dc126ff96b3fd2b83e300b7fd460f26a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
<template>
<b-container fluid="xl">
<page-title />
<!-- System table -->
<table-system />
<!-- DIMM slot table -->
<table-dimm-slot />
<!-- Power supplies table -->
<table-power-supplies />
</b-container>
</template>
<script>
import PageTitle from '@/components/Global/PageTitle';
import TableSystem from './HardwareStatusTableStystem';
import TablePowerSupplies from './HardwareStatusTablePowerSupplies';
import TableDimmSlot from './HardwareStatusTableDimmSlot';
import LoadingBarMixin from '@/components/Mixins/LoadingBarMixin';
export default {
components: { PageTitle, TableDimmSlot, TablePowerSupplies, TableSystem },
mixins: [LoadingBarMixin],
created() {
this.startLoader();
const systemTablePromise = new Promise(resolve => {
this.$root.$on('hardwareStatus::system::complete', () => resolve());
});
const dimmSlotTablePromise = new Promise(resolve => {
this.$root.$on('hardwareStatus::dimmSlot::complete', () => resolve());
});
const powerSuppliesTablePromise = new Promise(resolve => {
this.$root.$on('hardwareStatus::powerSupplies::complete', () =>
resolve()
);
});
// Combine all child component Promises to indicate
// when page data load complete
Promise.all([
systemTablePromise,
dimmSlotTablePromise,
powerSuppliesTablePromise
]).finally(() => this.endLoader());
},
beforeRouteLeave(to, from, next) {
// Hide loader if user navigates away from page
// before requests complete
this.hideLoader();
next();
}
};
</script>
|