blob: 0869e286cfc9aaf58eaa330676f476b039f0ca83 [file] [log] [blame]
Yoshie Muranaka56ee7692020-05-28 13:28:29 -07001<template>
2 <b-container fluid="xl">
3 <page-title />
4
5 <!-- System table -->
6 <table-system />
Yoshie Muranaka5918b482020-06-08 08:18:23 -07007
Yoshie Muranaka54c6bfc2020-06-12 08:29:42 -07008 <!-- BMC manager table -->
9 <table-bmc-manager />
10
Yoshie Muranaka09e8b5d2020-06-08 07:36:59 -070011 <!-- Chassis table -->
12 <table-chassis />
13
Yoshie Muranakae24b17d2020-06-08 11:03:11 -070014 <!-- DIMM slot table -->
15 <table-dimm-slot />
16
Yoshie Muranakab89a53c2020-06-15 13:25:46 -070017 <!-- Fans table -->
18 <table-fans />
19
Yoshie Muranaka5918b482020-06-08 08:18:23 -070020 <!-- Power supplies table -->
21 <table-power-supplies />
SurenNewaredc3fa2e2020-08-04 20:45:25 +053022
23 <!-- Processors table -->
24 <table-processors />
Yoshie Muranaka56ee7692020-05-28 13:28:29 -070025 </b-container>
26</template>
27
28<script>
29import PageTitle from '@/components/Global/PageTitle';
30import TableSystem from './HardwareStatusTableStystem';
Yoshie Muranaka5918b482020-06-08 08:18:23 -070031import TablePowerSupplies from './HardwareStatusTablePowerSupplies';
Yoshie Muranakae24b17d2020-06-08 11:03:11 -070032import TableDimmSlot from './HardwareStatusTableDimmSlot';
Yoshie Muranakab89a53c2020-06-15 13:25:46 -070033import TableFans from './HardwareStatusTableFans';
Yoshie Muranaka54c6bfc2020-06-12 08:29:42 -070034import TableBmcManager from './HardwareStatusTableBmcManager';
Yoshie Muranaka09e8b5d2020-06-08 07:36:59 -070035import TableChassis from './HardwareStatusTableChassis';
SurenNewaredc3fa2e2020-08-04 20:45:25 +053036import TableProcessors from './HardwareStatusTableProcessors';
Yoshie Muranaka56ee7692020-05-28 13:28:29 -070037import LoadingBarMixin from '@/components/Mixins/LoadingBarMixin';
38
39export default {
Yoshie Muranakab89a53c2020-06-15 13:25:46 -070040 components: {
41 PageTitle,
42 TableDimmSlot,
43 TablePowerSupplies,
44 TableSystem,
Yoshie Muranaka09e8b5d2020-06-08 07:36:59 -070045 TableFans,
Yoshie Muranaka54c6bfc2020-06-12 08:29:42 -070046 TableBmcManager,
SurenNewaredc3fa2e2020-08-04 20:45:25 +053047 TableChassis,
Derick Montague602e98a2020-10-21 16:20:00 -050048 TableProcessors,
Yoshie Muranakab89a53c2020-06-15 13:25:46 -070049 },
Yoshie Muranaka56ee7692020-05-28 13:28:29 -070050 mixins: [LoadingBarMixin],
Derick Montague602e98a2020-10-21 16:20:00 -050051 beforeRouteLeave(to, from, next) {
52 // Hide loader if user navigates away from page
53 // before requests complete
54 this.hideLoader();
55 next();
56 },
Yoshie Muranaka56ee7692020-05-28 13:28:29 -070057 created() {
58 this.startLoader();
Derick Montague602e98a2020-10-21 16:20:00 -050059 const systemTablePromise = new Promise((resolve) => {
Sukanya Pandeyedb8a772020-10-29 11:33:42 +053060 this.$root.$on('hardware-status-system-complete', () => resolve());
Yoshie Muranaka56ee7692020-05-28 13:28:29 -070061 });
Derick Montague602e98a2020-10-21 16:20:00 -050062 const bmcManagerTablePromise = new Promise((resolve) => {
Sukanya Pandeyedb8a772020-10-29 11:33:42 +053063 this.$root.$on('hardware-status-bmc-manager-complete', () => resolve());
Yoshie Muranaka54c6bfc2020-06-12 08:29:42 -070064 });
Derick Montague602e98a2020-10-21 16:20:00 -050065 const chassisTablePromise = new Promise((resolve) => {
Sukanya Pandeyedb8a772020-10-29 11:33:42 +053066 this.$root.$on('hardware-status-chassis-complete', () => resolve());
Yoshie Muranaka09e8b5d2020-06-08 07:36:59 -070067 });
Derick Montague602e98a2020-10-21 16:20:00 -050068 const dimmSlotTablePromise = new Promise((resolve) => {
Sukanya Pandeyedb8a772020-10-29 11:33:42 +053069 this.$root.$on('hardware-status-dimm-slot-complete', () => resolve());
Yoshie Muranakae24b17d2020-06-08 11:03:11 -070070 });
Derick Montague602e98a2020-10-21 16:20:00 -050071 const fansTablePromise = new Promise((resolve) => {
Sukanya Pandeyedb8a772020-10-29 11:33:42 +053072 this.$root.$on('hardware-status-fans-complete', () => resolve());
Yoshie Muranakab89a53c2020-06-15 13:25:46 -070073 });
Derick Montague602e98a2020-10-21 16:20:00 -050074 const powerSuppliesTablePromise = new Promise((resolve) => {
Sukanya Pandeyedb8a772020-10-29 11:33:42 +053075 this.$root.$on('hardware-status-power-supplies-complete', () =>
Yoshie Muranaka5918b482020-06-08 08:18:23 -070076 resolve()
77 );
78 });
Derick Montague602e98a2020-10-21 16:20:00 -050079 const processorsTablePromise = new Promise((resolve) => {
Sukanya Pandeyedb8a772020-10-29 11:33:42 +053080 this.$root.$on('hardware-status-processors-complete', () => resolve());
SurenNewaredc3fa2e2020-08-04 20:45:25 +053081 });
Yoshie Muranaka56ee7692020-05-28 13:28:29 -070082 // Combine all child component Promises to indicate
83 // when page data load complete
Yoshie Muranakae24b17d2020-06-08 11:03:11 -070084 Promise.all([
85 systemTablePromise,
Yoshie Muranaka54c6bfc2020-06-12 08:29:42 -070086 bmcManagerTablePromise,
Yoshie Muranaka09e8b5d2020-06-08 07:36:59 -070087 chassisTablePromise,
Yoshie Muranakae24b17d2020-06-08 11:03:11 -070088 dimmSlotTablePromise,
Yoshie Muranakab89a53c2020-06-15 13:25:46 -070089 fansTablePromise,
SurenNewaredc3fa2e2020-08-04 20:45:25 +053090 powerSuppliesTablePromise,
Derick Montague602e98a2020-10-21 16:20:00 -050091 processorsTablePromise,
Yoshie Muranakae24b17d2020-06-08 11:03:11 -070092 ]).finally(() => this.endLoader());
Yoshie Muranaka56ee7692020-05-28 13:28:29 -070093 },
Yoshie Muranaka56ee7692020-05-28 13:28:29 -070094};
95</script>