| <template> | 
 |   <b-container fluid="xl"> | 
 |     <page-title /> | 
 |     <alerts-server-power | 
 |       v-if="isServerPowerOffRequired" | 
 |       :is-server-off="isServerOff" | 
 |     /> | 
 |  | 
 |     <!-- Firmware cards --> | 
 |     <b-row> | 
 |       <b-col xl="10"> | 
 |         <!-- BMC Firmware --> | 
 |         <bmc-cards | 
 |           :is-page-disabled="isPageDisabled" | 
 |           :is-server-off="isServerOff" | 
 |         /> | 
 |  | 
 |         <!-- Host Firmware --> | 
 |         <host-cards v-if="!isSingleFileUploadEnabled" /> | 
 |       </b-col> | 
 |     </b-row> | 
 |  | 
 |     <!-- Update firmware--> | 
 |     <page-section | 
 |       :section-title="$t('pageFirmware.sectionTitleUpdateFirmware')" | 
 |     > | 
 |       <b-row> | 
 |         <b-col sm="8" md="6" xl="4"> | 
 |           <!-- Update form --> | 
 |           <form-update | 
 |             :is-server-off="isServerOff" | 
 |             :is-page-disabled="isPageDisabled" | 
 |           /> | 
 |         </b-col> | 
 |       </b-row> | 
 |     </page-section> | 
 |   </b-container> | 
 | </template> | 
 |  | 
 | <script> | 
 | import AlertsServerPower from './FirmwareAlertServerPower'; | 
 | import BmcCards from './FirmwareCardsBmc'; | 
 | import FormUpdate from './FirmwareFormUpdate'; | 
 | import HostCards from './FirmwareCardsHost'; | 
 | import PageSection from '@/components/Global/PageSection'; | 
 | import PageTitle from '@/components/Global/PageTitle'; | 
 |  | 
 | import LoadingBarMixin, { loading } from '@/components/Mixins/LoadingBarMixin'; | 
 |  | 
 | export default { | 
 |   name: 'FirmwareSingleImage', | 
 |   components: { | 
 |     AlertsServerPower, | 
 |     BmcCards, | 
 |     FormUpdate, | 
 |     HostCards, | 
 |     PageSection, | 
 |     PageTitle, | 
 |   }, | 
 |   mixins: [LoadingBarMixin], | 
 |   beforeRouteLeave(to, from, next) { | 
 |     this.hideLoader(); | 
 |     next(); | 
 |   }, | 
 |   data() { | 
 |     return { | 
 |       loading, | 
 |       isServerPowerOffRequired: | 
 |         process.env.VUE_APP_SERVER_OFF_REQUIRED === 'true', | 
 |     }; | 
 |   }, | 
 |   computed: { | 
 |     serverStatus() { | 
 |       return this.$store.getters['global/serverStatus']; | 
 |     }, | 
 |     isServerOff() { | 
 |       return this.serverStatus === 'off' ? true : false; | 
 |     }, | 
 |     isSingleFileUploadEnabled() { | 
 |       return this.$store.getters['firmware/isSingleFileUploadEnabled']; | 
 |     }, | 
 |     isPageDisabled() { | 
 |       if (this.isServerPowerOffRequired) { | 
 |         return !this.isServerOff || this.loading || this.isOperationInProgress; | 
 |       } | 
 |       return this.loading || this.isOperationInProgress; | 
 |     }, | 
 |   }, | 
 |   created() { | 
 |     this.startLoader(); | 
 |     this.$store | 
 |       .dispatch('firmware/getFirmwareInformation') | 
 |       .finally(() => this.endLoader()); | 
 |   }, | 
 | }; | 
 | </script> |