Sukanya Pandey | be6858c | 2020-12-16 20:08:01 +0530 | [diff] [blame] | 1 | <template> |
| 2 | <b-container fluid="xl"> |
| 3 | <page-title :description="$t('pagePowerRestorePolicy.description')" /> |
| 4 | |
| 5 | <b-row> |
| 6 | <b-col sm="8" md="6" xl="12"> |
| 7 | <b-form-group :label="$t('pagePowerRestorePolicy.powerPoliciesLabel')"> |
Kenneth Fullbright | 80a8785 | 2022-01-07 13:12:30 -0600 | [diff] [blame] | 8 | <b-form-radio-group |
Sukanya Pandey | be6858c | 2020-12-16 20:08:01 +0530 | [diff] [blame] | 9 | v-model="currentPowerRestorePolicy" |
Kenneth Fullbright | 80a8785 | 2022-01-07 13:12:30 -0600 | [diff] [blame] | 10 | :options="options" |
Sukanya Pandey | be6858c | 2020-12-16 20:08:01 +0530 | [diff] [blame] | 11 | name="power-restore-policy" |
Nikhil Ashoka | 0736813 | 2024-05-09 14:02:19 +0530 | [diff] [blame] | 12 | stacked |
Kenneth Fullbright | 80a8785 | 2022-01-07 13:12:30 -0600 | [diff] [blame] | 13 | ></b-form-radio-group> |
Sukanya Pandey | be6858c | 2020-12-16 20:08:01 +0530 | [diff] [blame] | 14 | </b-form-group> |
| 15 | </b-col> |
| 16 | </b-row> |
| 17 | |
| 18 | <b-button variant="primary" type="submit" @click="submitForm"> |
| 19 | {{ $t('global.action.saveSettings') }} |
| 20 | </b-button> |
| 21 | </b-container> |
| 22 | </template> |
| 23 | |
| 24 | <script> |
| 25 | import PageTitle from '@/components/Global/PageTitle'; |
| 26 | import LoadingBarMixin from '@/components/Mixins/LoadingBarMixin'; |
| 27 | import VuelidateMixin from '@/components/Mixins/VuelidateMixin.js'; |
| 28 | import BVToastMixin from '@/components/Mixins/BVToastMixin'; |
| 29 | |
| 30 | export default { |
| 31 | name: 'PowerRestorePolicy', |
| 32 | components: { PageTitle }, |
| 33 | mixins: [VuelidateMixin, BVToastMixin, LoadingBarMixin], |
| 34 | beforeRouteLeave(to, from, next) { |
| 35 | this.hideLoader(); |
| 36 | next(); |
| 37 | }, |
| 38 | data() { |
| 39 | return { |
| 40 | policyValue: null, |
Kenneth Fullbright | 80a8785 | 2022-01-07 13:12:30 -0600 | [diff] [blame] | 41 | options: [], |
Sukanya Pandey | be6858c | 2020-12-16 20:08:01 +0530 | [diff] [blame] | 42 | }; |
| 43 | }, |
| 44 | computed: { |
| 45 | powerRestorePolicies() { |
| 46 | return this.$store.getters['powerPolicy/powerRestorePolicies']; |
| 47 | }, |
| 48 | currentPowerRestorePolicy: { |
| 49 | get() { |
| 50 | return this.$store.getters['powerPolicy/powerRestoreCurrentPolicy']; |
| 51 | }, |
| 52 | set(policy) { |
| 53 | this.policyValue = policy; |
| 54 | }, |
| 55 | }, |
| 56 | }, |
| 57 | created() { |
| 58 | this.startLoader(); |
Kenneth Fullbright | 80a8785 | 2022-01-07 13:12:30 -0600 | [diff] [blame] | 59 | this.renderPowerRestoreSettings(); |
Sukanya Pandey | be6858c | 2020-12-16 20:08:01 +0530 | [diff] [blame] | 60 | }, |
| 61 | methods: { |
Kenneth Fullbright | 80a8785 | 2022-01-07 13:12:30 -0600 | [diff] [blame] | 62 | renderPowerRestoreSettings() { |
| 63 | Promise.all([ |
| 64 | this.$store.dispatch('powerPolicy/getPowerRestorePolicies'), |
| 65 | this.$store.dispatch('powerPolicy/getPowerRestoreCurrentPolicy'), |
| 66 | ]).finally(() => { |
| 67 | this.options.length = 0; |
| 68 | this.powerRestorePolicies.map((item) => { |
| 69 | this.options.push({ |
| 70 | text: this.$t(`pagePowerRestorePolicy.policiesDesc.${item.state}`), |
| 71 | value: `${item.state}`, |
| 72 | }); |
| 73 | }); |
| 74 | this.endLoader(); |
| 75 | }); |
| 76 | }, |
Sukanya Pandey | be6858c | 2020-12-16 20:08:01 +0530 | [diff] [blame] | 77 | submitForm() { |
| 78 | this.startLoader(); |
| 79 | this.$store |
| 80 | .dispatch( |
| 81 | 'powerPolicy/setPowerRestorePolicy', |
Ed Tanous | 8132399 | 2024-02-27 11:26:24 -0800 | [diff] [blame] | 82 | this.policyValue || this.currentPowerRestorePolicy, |
Sukanya Pandey | be6858c | 2020-12-16 20:08:01 +0530 | [diff] [blame] | 83 | ) |
| 84 | .then((message) => this.successToast(message)) |
| 85 | .catch(({ message }) => this.errorToast(message)) |
Kenneth Fullbright | 80a8785 | 2022-01-07 13:12:30 -0600 | [diff] [blame] | 86 | .finally(() => { |
| 87 | this.renderPowerRestoreSettings(); |
| 88 | }); |
Sukanya Pandey | be6858c | 2020-12-16 20:08:01 +0530 | [diff] [blame] | 89 | }, |
| 90 | }, |
| 91 | }; |
| 92 | </script> |