blob: 897348fc2bd67dfff556ba5c3a97ee696644949e [file] [log] [blame]
Derick Montagueda9f0a62021-02-14 19:21:44 -06001<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>