diff options
author | Sandeepa Singh <sandeepa.singh@ibm.com> | 2021-07-14 13:32:22 +0300 |
---|---|---|
committer | Derick Montague <derick.montague@ibm.com> | 2021-08-10 22:20:42 +0300 |
commit | 68cbbe9014cbdcf7229a878f564d38f6d6199f25 (patch) | |
tree | cd7138959f405cb44b5d62000da9d364ed238b91 /src/views/Configuration/Firmware/FirmwareFormUpdate.vue | |
parent | 7affc529b7fba41193c4d48764707e9961cdd22d (diff) | |
download | webui-vue-68cbbe9014cbdcf7229a878f564d38f6d6199f25.tar.xz |
IA update: Update control section to operations
This is the third update to the information architecture changes and
has the following changes:
- The control section has been updated to operations
- The server led page has been removed
- The firmware page is moved to operations section
Signed-off-by: Sandeepa Singh <sandeepa.singh@ibm.com>
Change-Id: I2e23da447890d7bee51892e1f782d5f2db6dded4
Diffstat (limited to 'src/views/Configuration/Firmware/FirmwareFormUpdate.vue')
-rw-r--r-- | src/views/Configuration/Firmware/FirmwareFormUpdate.vue | 200 |
1 files changed, 0 insertions, 200 deletions
diff --git a/src/views/Configuration/Firmware/FirmwareFormUpdate.vue b/src/views/Configuration/Firmware/FirmwareFormUpdate.vue deleted file mode 100644 index 04b28a5c..00000000 --- a/src/views/Configuration/Firmware/FirmwareFormUpdate.vue +++ /dev/null @@ -1,200 +0,0 @@ -<template> - <div> - <div class="form-background p-3"> - <b-form @submit.prevent="onSubmitUpload"> - <b-form-group - v-if="isTftpUploadAvailable" - :label="$t('pageFirmware.form.updateFirmware.fileSource')" - :disabled="isPageDisabled" - > - <b-form-radio v-model="isWorkstationSelected" :value="true"> - {{ $t('pageFirmware.form.updateFirmware.workstation') }} - </b-form-radio> - <b-form-radio v-model="isWorkstationSelected" :value="false"> - {{ $t('pageFirmware.form.updateFirmware.tftpServer') }} - </b-form-radio> - </b-form-group> - - <!-- Workstation Upload --> - <template v-if="isWorkstationSelected"> - <b-form-group - :label="$t('pageFirmware.form.updateFirmware.imageFile')" - label-for="image-file" - > - <form-file - id="image-file" - :disabled="isPageDisabled" - :state="getValidationState($v.file)" - aria-describedby="image-file-help-block" - @input="onFileUpload($event)" - > - <template #invalid> - <b-form-invalid-feedback role="alert"> - {{ $t('global.form.required') }} - </b-form-invalid-feedback> - </template> - </form-file> - </b-form-group> - </template> - - <!-- TFTP Server Upload --> - <template v-else> - <b-form-group - :label="$t('pageFirmware.form.updateFirmware.fileAddress')" - label-for="tftp-address" - > - <b-form-input - id="tftp-address" - v-model="tftpFileAddress" - type="text" - :state="getValidationState($v.tftpFileAddress)" - :disabled="isPageDisabled" - @input="$v.tftpFileAddress.$touch()" - /> - <b-form-invalid-feedback role="alert"> - {{ $t('global.form.fieldRequired') }} - </b-form-invalid-feedback> - </b-form-group> - </template> - <b-btn - data-test-id="firmware-button-startUpdate" - type="submit" - variant="primary" - :disabled="isPageDisabled" - > - {{ $t('pageFirmware.form.updateFirmware.startUpdate') }} - </b-btn> - <alert - v-if="isServerPowerOffRequired && !isServerOff" - variant="warning" - :small="true" - class="mt-4" - > - <p class="col-form-label"> - {{ - $t('pageFirmware.alert.serverMustBePoweredOffToUpdateFirmware') - }} - </p> - </alert> - </b-form> - </div> - - <!-- Modals --> - <modal-update-firmware @ok="updateFirmware" /> - </div> -</template> - -<script> -import { requiredIf } from 'vuelidate/lib/validators'; - -import BVToastMixin from '@/components/Mixins/BVToastMixin'; -import LoadingBarMixin, { loading } from '@/components/Mixins/LoadingBarMixin'; -import VuelidateMixin from '@/components/Mixins/VuelidateMixin.js'; - -import Alert from '@/components/Global/Alert'; -import FormFile from '@/components/Global/FormFile'; -import ModalUpdateFirmware from './FirmwareModalUpdateFirmware'; - -export default { - components: { Alert, FormFile, ModalUpdateFirmware }, - mixins: [BVToastMixin, LoadingBarMixin, VuelidateMixin], - props: { - isPageDisabled: { - required: true, - type: Boolean, - default: false, - }, - isServerOff: { - required: true, - type: Boolean, - }, - }, - data() { - return { - loading, - isWorkstationSelected: true, - file: null, - tftpFileAddress: null, - isServerPowerOffRequired: - process.env.VUE_APP_SERVER_OFF_REQUIRED === 'true', - }; - }, - computed: { - isTftpUploadAvailable() { - return this.$store.getters['firmware/isTftpUploadAvailable']; - }, - }, - watch: { - isWorkstationSelected: function () { - this.$v.$reset(); - this.file = null; - this.tftpFileAddress = null; - }, - }, - validations() { - return { - file: { - required: requiredIf(function () { - return this.isWorkstationSelected; - }), - }, - tftpFileAddress: { - required: requiredIf(function () { - return !this.isWorkstationSelected; - }), - }, - }; - }, - created() { - this.$store.dispatch('firmware/getUpdateServiceSettings'); - }, - methods: { - updateFirmware() { - this.startLoader(); - const timerId = setTimeout(() => { - this.endLoader(); - this.infoToast(this.$t('pageFirmware.toast.verifyUpdateMessage'), { - title: this.$t('pageFirmware.toast.verifyUpdate'), - refreshAction: true, - }); - }, 360000); - this.infoToast(this.$t('pageFirmware.toast.updateStartedMessage'), { - title: this.$t('pageFirmware.toast.updateStarted'), - timestamp: true, - }); - if (this.isWorkstationSelected) { - this.dispatchWorkstationUpload(timerId); - } else { - this.dispatchTftpUpload(timerId); - } - }, - dispatchWorkstationUpload(timerId) { - this.$store - .dispatch('firmware/uploadFirmware', this.file) - .catch(({ message }) => { - this.endLoader(); - this.errorToast(message); - clearTimeout(timerId); - }); - }, - dispatchTftpUpload(timerId) { - this.$store - .dispatch('firmware/uploadFirmwareTFTP', this.tftpFileAddress) - .catch(({ message }) => { - this.endLoader(); - this.errorToast(message); - clearTimeout(timerId); - }); - }, - onSubmitUpload() { - this.$v.$touch(); - if (this.$v.$invalid) return; - this.$bvModal.show('modal-update-firmware'); - }, - onFileUpload(file) { - this.file = file; - this.$v.file.$touch(); - }, - }, -}; -</script> |