blob: 44a721aee10f039f670518bec5c43814fc5bdab6 [file] [log] [blame]
Yoshie Muranaka92a0a4a2020-07-15 10:30:31 -07001<template>
2 <b-container fluid="xl">
Yoshie Muranaka33d755f2021-02-18 15:24:14 -08003 <page-title />
4 <alerts-server-power
5 v-if="isServerPowerOffRequired"
Derick Montague71114fe2021-05-06 18:17:34 -05006 :is-server-off="isServerOff"
Yoshie Muranaka33d755f2021-02-18 15:24:14 -08007 />
Yoshie Muranaka98bb24e2020-10-06 10:00:19 -07008
Yoshie Muranaka33d755f2021-02-18 15:24:14 -08009 <!-- Firmware cards -->
10 <b-row>
11 <b-col xl="10">
12 <!-- BMC Firmware -->
Kenneth Fullbrightc3cf3612022-01-27 18:55:00 -060013 <bmc-cards
14 :is-page-disabled="isPageDisabled"
15 :is-server-off="isServerOff"
16 />
Yoshie Muranaka98bb24e2020-10-06 10:00:19 -070017
Yoshie Muranaka33d755f2021-02-18 15:24:14 -080018 <!-- Host Firmware -->
19 <host-cards v-if="!isSingleFileUploadEnabled" />
Yoshie Muranaka92a0a4a2020-07-15 10:30:31 -070020 </b-col>
21 </b-row>
22
Yoshie Muranaka33d755f2021-02-18 15:24:14 -080023 <!-- Update firmware-->
24 <page-section
25 :section-title="$t('pageFirmware.sectionTitleUpdateFirmware')"
26 >
27 <b-row>
28 <b-col sm="8" md="6" xl="4">
29 <!-- Update form -->
30 <form-update
Derick Montague71114fe2021-05-06 18:17:34 -050031 :is-server-off="isServerOff"
Yoshie Muranaka33d755f2021-02-18 15:24:14 -080032 :is-page-disabled="isPageDisabled"
33 />
34 </b-col>
35 </b-row>
36 </page-section>
Yoshie Muranaka92a0a4a2020-07-15 10:30:31 -070037 </b-container>
38</template>
39
40<script>
Yoshie Muranaka33d755f2021-02-18 15:24:14 -080041import AlertsServerPower from './FirmwareAlertServerPower';
42import BmcCards from './FirmwareCardsBmc';
43import FormUpdate from './FirmwareFormUpdate';
44import HostCards from './FirmwareCardsHost';
Yoshie Muranaka92a0a4a2020-07-15 10:30:31 -070045import PageSection from '@/components/Global/PageSection';
46import PageTitle from '@/components/Global/PageTitle';
Yoshie Muranaka92a0a4a2020-07-15 10:30:31 -070047
SurenNewareba91c492020-10-27 14:18:54 +053048import LoadingBarMixin, { loading } from '@/components/Mixins/LoadingBarMixin';
Yoshie Muranaka92a0a4a2020-07-15 10:30:31 -070049
50export default {
Yoshie Muranaka33d755f2021-02-18 15:24:14 -080051 name: 'FirmwareSingleImage',
Yoshie Muranaka92a0a4a2020-07-15 10:30:31 -070052 components: {
Yoshie Muranaka33d755f2021-02-18 15:24:14 -080053 AlertsServerPower,
54 BmcCards,
55 FormUpdate,
56 HostCards,
Yoshie Muranaka92a0a4a2020-07-15 10:30:31 -070057 PageSection,
Derick Montague602e98a2020-10-21 16:20:00 -050058 PageTitle,
Yoshie Muranaka92a0a4a2020-07-15 10:30:31 -070059 },
Yoshie Muranaka33d755f2021-02-18 15:24:14 -080060 mixins: [LoadingBarMixin],
Derick Montague602e98a2020-10-21 16:20:00 -050061 beforeRouteLeave(to, from, next) {
62 this.hideLoader();
Derick Montague602e98a2020-10-21 16:20:00 -050063 next();
64 },
Yoshie Muranaka92a0a4a2020-07-15 10:30:31 -070065 data() {
66 return {
Yoshie Muranaka33d755f2021-02-18 15:24:14 -080067 loading,
68 isServerPowerOffRequired:
69 process.env.VUE_APP_SERVER_OFF_REQUIRED === 'true',
Yoshie Muranaka92a0a4a2020-07-15 10:30:31 -070070 };
71 },
72 computed: {
Derick Montague71114fe2021-05-06 18:17:34 -050073 serverStatus() {
74 return this.$store.getters['global/serverStatus'];
Yoshie Muranaka33d755f2021-02-18 15:24:14 -080075 },
Derick Montague71114fe2021-05-06 18:17:34 -050076 isServerOff() {
77 return this.serverStatus === 'off' ? true : false;
Yoshie Muranaka33d755f2021-02-18 15:24:14 -080078 },
79 isSingleFileUploadEnabled() {
80 return this.$store.getters['firmware/isSingleFileUploadEnabled'];
81 },
82 isPageDisabled() {
83 if (this.isServerPowerOffRequired) {
Derick Montague71114fe2021-05-06 18:17:34 -050084 return !this.isServerOff || this.loading || this.isOperationInProgress;
Yoshie Muranaka33d755f2021-02-18 15:24:14 -080085 }
86 return this.loading || this.isOperationInProgress;
Derick Montague602e98a2020-10-21 16:20:00 -050087 },
Yoshie Muranaka92a0a4a2020-07-15 10:30:31 -070088 },
89 created() {
90 this.startLoader();
Yoshie Muranaka98bb24e2020-10-06 10:00:19 -070091 this.$store
92 .dispatch('firmware/getFirmwareInformation')
93 .finally(() => this.endLoader());
Yoshie Muranaka92a0a4a2020-07-15 10:30:31 -070094 },
Yoshie Muranaka92a0a4a2020-07-15 10:30:31 -070095};
96</script>