| Yoshie Muranaka | 0b980db | 2020-10-06 09:24:14 -0700 | [diff] [blame] | 1 | <template> | 
|  | 2 | <b-container fluid="xl"> | 
| Yoshie Muranaka | 6f71284 | 2021-02-04 11:23:03 -0800 | [diff] [blame] | 3 | <page-title /> | 
| Yoshie Muranaka | 7bc85e4 | 2021-02-11 09:59:13 -0800 | [diff] [blame] | 4 | <alerts-server-power | 
|  | 5 | v-if="isServerPowerOffRequired" | 
|  | 6 | :is-host-off="isHostOff" | 
|  | 7 | /> | 
|  | 8 |  | 
|  | 9 | <!-- Firmware cards --> | 
| Yoshie Muranaka | 6f71284 | 2021-02-04 11:23:03 -0800 | [diff] [blame] | 10 | <b-row> | 
|  | 11 | <b-col xl="10"> | 
| Yoshie Muranaka | 7bc85e4 | 2021-02-11 09:59:13 -0800 | [diff] [blame] | 12 | <!-- BMC Firmware --> | 
|  | 13 | <bmc-cards :is-page-disabled="isPageDisabled" /> | 
| Yoshie Muranaka | 6f71284 | 2021-02-04 11:23:03 -0800 | [diff] [blame] | 14 |  | 
| Yoshie Muranaka | 7bc85e4 | 2021-02-11 09:59:13 -0800 | [diff] [blame] | 15 | <!-- Host Firmware --> | 
|  | 16 | <host-cards v-if="!isSingleFileUploadEnabled" /> | 
| Yoshie Muranaka | 0b980db | 2020-10-06 09:24:14 -0700 | [diff] [blame] | 17 | </b-col> | 
|  | 18 | </b-row> | 
|  | 19 |  | 
| Yoshie Muranaka | 7bc85e4 | 2021-02-11 09:59:13 -0800 | [diff] [blame] | 20 | <!-- Update firmware--> | 
|  | 21 | <page-section | 
|  | 22 | :section-title=" | 
|  | 23 | $t('pageFirmware.singleFileUpload.sectionTitleUpdateFirmware') | 
|  | 24 | " | 
|  | 25 | > | 
|  | 26 | <b-row> | 
|  | 27 | <b-col sm="8" md="6" xl="4"> | 
|  | 28 | <!-- Update form --> | 
|  | 29 | <form-update | 
|  | 30 | :is-host-off="isHostOff" | 
|  | 31 | :is-page-disabled="isPageDisabled" | 
|  | 32 | /> | 
|  | 33 | </b-col> | 
|  | 34 | </b-row> | 
|  | 35 | </page-section> | 
| Yoshie Muranaka | 0b980db | 2020-10-06 09:24:14 -0700 | [diff] [blame] | 36 | </b-container> | 
|  | 37 | </template> | 
|  | 38 |  | 
|  | 39 | <script> | 
| Yoshie Muranaka | 7bc85e4 | 2021-02-11 09:59:13 -0800 | [diff] [blame] | 40 | import AlertsServerPower from './FirmwareAlertServerPower'; | 
|  | 41 | import BmcCards from './FirmwareCardsBmc'; | 
|  | 42 | import FormUpdate from './FirmwareFormUpdate'; | 
|  | 43 | import HostCards from './FirmwareCardsHost'; | 
| Yoshie Muranaka | 0b980db | 2020-10-06 09:24:14 -0700 | [diff] [blame] | 44 | import PageSection from '@/components/Global/PageSection'; | 
|  | 45 | import PageTitle from '@/components/Global/PageTitle'; | 
| Yoshie Muranaka | 0b980db | 2020-10-06 09:24:14 -0700 | [diff] [blame] | 46 |  | 
| Yoshie Muranaka | d73f496 | 2020-12-09 08:52:23 -0800 | [diff] [blame] | 47 | import LoadingBarMixin, { loading } from '@/components/Mixins/LoadingBarMixin'; | 
| Yoshie Muranaka | 0b980db | 2020-10-06 09:24:14 -0700 | [diff] [blame] | 48 |  | 
|  | 49 | export default { | 
|  | 50 | name: 'FirmwareSingleImage', | 
|  | 51 | components: { | 
| Yoshie Muranaka | 7bc85e4 | 2021-02-11 09:59:13 -0800 | [diff] [blame] | 52 | AlertsServerPower, | 
|  | 53 | BmcCards, | 
|  | 54 | FormUpdate, | 
|  | 55 | HostCards, | 
| Yoshie Muranaka | 0b980db | 2020-10-06 09:24:14 -0700 | [diff] [blame] | 56 | PageSection, | 
| Derick Montague | 602e98a | 2020-10-21 16:20:00 -0500 | [diff] [blame] | 57 | PageTitle, | 
| Yoshie Muranaka | 0b980db | 2020-10-06 09:24:14 -0700 | [diff] [blame] | 58 | }, | 
| Yoshie Muranaka | 7bc85e4 | 2021-02-11 09:59:13 -0800 | [diff] [blame] | 59 | mixins: [LoadingBarMixin], | 
| Derick Montague | efbd401 | 2020-11-03 14:10:45 -0600 | [diff] [blame] | 60 | beforeRouteLeave(to, from, next) { | 
|  | 61 | this.hideLoader(); | 
| Derick Montague | efbd401 | 2020-11-03 14:10:45 -0600 | [diff] [blame] | 62 | next(); | 
|  | 63 | }, | 
| Yoshie Muranaka | 0b980db | 2020-10-06 09:24:14 -0700 | [diff] [blame] | 64 | data() { | 
|  | 65 | return { | 
| Yoshie Muranaka | d73f496 | 2020-12-09 08:52:23 -0800 | [diff] [blame] | 66 | loading, | 
| Yoshie Muranaka | fc387aa | 2021-02-11 08:27:36 -0800 | [diff] [blame] | 67 | isServerPowerOffRequired: | 
|  | 68 | process.env.VUE_APP_SERVER_OFF_REQUIRED === 'true', | 
| Yoshie Muranaka | 0b980db | 2020-10-06 09:24:14 -0700 | [diff] [blame] | 69 | }; | 
|  | 70 | }, | 
|  | 71 | computed: { | 
|  | 72 | hostStatus() { | 
|  | 73 | return this.$store.getters['global/hostStatus']; | 
|  | 74 | }, | 
|  | 75 | isHostOff() { | 
|  | 76 | return this.hostStatus === 'off' ? true : false; | 
|  | 77 | }, | 
| Yoshie Muranaka | 7bc85e4 | 2021-02-11 09:59:13 -0800 | [diff] [blame] | 78 | isSingleFileUploadEnabled() { | 
|  | 79 | return this.$store.getters[ | 
|  | 80 | 'firmwareSingleImage/isSingleFileUploadEnabled' | 
|  | 81 | ]; | 
| Yoshie Muranaka | 0b980db | 2020-10-06 09:24:14 -0700 | [diff] [blame] | 82 | }, | 
| Yoshie Muranaka | 0b980db | 2020-10-06 09:24:14 -0700 | [diff] [blame] | 83 | isPageDisabled() { | 
| Yoshie Muranaka | fc387aa | 2021-02-11 08:27:36 -0800 | [diff] [blame] | 84 | if (this.isServerPowerOffRequired) { | 
|  | 85 | return !this.isHostOff || this.loading || this.isOperationInProgress; | 
|  | 86 | } | 
|  | 87 | return this.loading || this.isOperationInProgress; | 
| Derick Montague | 602e98a | 2020-10-21 16:20:00 -0500 | [diff] [blame] | 88 | }, | 
| Yoshie Muranaka | 0b980db | 2020-10-06 09:24:14 -0700 | [diff] [blame] | 89 | }, | 
|  | 90 | created() { | 
|  | 91 | this.startLoader(); | 
| Yoshie Muranaka | 7bc85e4 | 2021-02-11 09:59:13 -0800 | [diff] [blame] | 92 | this.$store | 
|  | 93 | .dispatch('firmwareSingleImage/getFirmwareInformation') | 
|  | 94 | .finally(() => this.endLoader()); | 
| Derick Montague | 602e98a | 2020-10-21 16:20:00 -0500 | [diff] [blame] | 95 | }, | 
| Yoshie Muranaka | 0b980db | 2020-10-06 09:24:14 -0700 | [diff] [blame] | 96 | }; | 
|  | 97 | </script> |