1<template> 2 <b-container fluid="xl"> 3 <page-title :description="$t('pageFactoryReset.description')" /> 4 5 <!-- Reset Form --> 6 <b-form id="factory-reset" @submit.prevent="onResetSubmit"> 7 <b-row> 8 <b-col md="8"> 9 <b-form-group :label="$t('pageFactoryReset.form.resetOptionsLabel')"> 10 <b-form-radio-group 11 id="factory-reset-options" 12 v-model="resetOption" 13 stacked 14 > 15 <b-form-radio 16 class="mb-1" 17 value="resetBios" 18 aria-describedby="reset-bios" 19 data-test-id="factoryReset-radio-resetBios" 20 > 21 {{ $t('pageFactoryReset.form.resetBiosOptionLabel') }} 22 </b-form-radio> 23 <b-form-text id="reset-bios" class="ml-4 mb-3"> 24 {{ $t('pageFactoryReset.form.resetBiosOptionHelperText') }} 25 </b-form-text> 26 27 <b-form-radio 28 class="mb-1" 29 value="resetToDefaults" 30 aria-describedby="reset-to-defaults" 31 data-test-id="factoryReset-radio-resetToDefaults" 32 > 33 {{ $t('pageFactoryReset.form.resetToDefaultsOptionLabel') }} 34 </b-form-radio> 35 <b-form-text id="reset-to-defaults" class="ml-4 mb-3"> 36 {{ 37 $t('pageFactoryReset.form.resetToDefaultsOptionHelperText') 38 }} 39 </b-form-text> 40 </b-form-radio-group> 41 </b-form-group> 42 <b-button 43 type="submit" 44 variant="primary" 45 data-test-id="factoryReset-button-submit" 46 > 47 {{ $t('global.action.reset') }} 48 </b-button> 49 </b-col> 50 </b-row> 51 </b-form> 52 53 <!-- Modals --> 54 <modal-reset :reset-type="resetOption" @okConfirm="onOkConfirm" /> 55 </b-container> 56</template> 57 58<script> 59import PageTitle from '@/components/Global/PageTitle'; 60import BVToastMixin from '@/components/Mixins/BVToastMixin'; 61import LoadingBarMixin from '@/components/Mixins/LoadingBarMixin'; 62import ModalReset from './FactoryResetModal'; 63 64export default { 65 name: 'FactoryReset', 66 components: { PageTitle, ModalReset }, 67 mixins: [LoadingBarMixin, BVToastMixin], 68 data() { 69 return { 70 resetOption: 'resetBios', 71 }; 72 }, 73 created() { 74 this.hideLoader(); 75 }, 76 methods: { 77 onResetSubmit() { 78 this.$bvModal.show('modal-reset'); 79 }, 80 onOkConfirm() { 81 if (this.resetOption == 'resetBios') { 82 this.onResetBiosConfirm(); 83 } else { 84 this.onResetToDefaultsConfirm(); 85 } 86 }, 87 onResetBiosConfirm() { 88 this.$store 89 .dispatch('factoryReset/resetBios') 90 .then((title) => { 91 this.successToast('', { 92 title, 93 }); 94 }) 95 .catch(({ message }) => { 96 this.errorToast('', { 97 title: message, 98 }); 99 }); 100 }, 101 onResetToDefaultsConfirm() { 102 this.$store 103 .dispatch('factoryReset/resetToDefaults') 104 .then((title) => { 105 this.successToast('', { 106 title, 107 }); 108 }) 109 .catch(({ message }) => { 110 this.errorToast('', { 111 title: message, 112 }); 113 }); 114 }, 115 }, 116}; 117</script> 118