diff options
author | Kenneth Fullbright <kennyneedsmilky@gmail.com> | 2022-01-07 22:12:30 +0300 |
---|---|---|
committer | Kenneth Fullbright <kennyneedsmilky@gmail.com> | 2022-02-04 19:29:18 +0300 |
commit | 80a87851ab2b1bddb9f42cc494b0ad7799b06012 (patch) | |
tree | de378bf2ddb3ce5ae21c5476b7225a720e1382e3 /src/views/Settings/PowerRestorePolicy | |
parent | 410578537f7ca6dd76aa406b440b0a435606c448 (diff) | |
download | webui-vue-80a87851ab2b1bddb9f42cc494b0ad7799b06012.tar.xz |
Re-modeled Power restore radio buttons
When a user selects a radio button and saves, the selected setting should be patched.
- Computed properties on generated bootstrap-vue radio buttons causes errors.
- Re-modeled radio buttons to take Redfish api data on component render.
- Mapped selected radio button value to patch the Redfish api property.
- Added translations.
Signed-off-by: Kenneth Fullbright <kennyneedsmilky@gmail.com>
Change-Id: I22ce75d9ef840d7f0c2659bba855093e5b4559f4
Diffstat (limited to 'src/views/Settings/PowerRestorePolicy')
-rw-r--r-- | src/views/Settings/PowerRestorePolicy/PowerRestorePolicy.vue | 35 |
1 files changed, 23 insertions, 12 deletions
diff --git a/src/views/Settings/PowerRestorePolicy/PowerRestorePolicy.vue b/src/views/Settings/PowerRestorePolicy/PowerRestorePolicy.vue index 8589aed3..06e30f3e 100644 --- a/src/views/Settings/PowerRestorePolicy/PowerRestorePolicy.vue +++ b/src/views/Settings/PowerRestorePolicy/PowerRestorePolicy.vue @@ -5,15 +5,11 @@ <b-row> <b-col sm="8" md="6" xl="12"> <b-form-group :label="$t('pagePowerRestorePolicy.powerPoliciesLabel')"> - <b-form-radio - v-for="policy in powerRestorePolicies" - :key="policy.state" + <b-form-radio-group v-model="currentPowerRestorePolicy" - :value="policy.state" + :options="options" name="power-restore-policy" - > - {{ policy.desc }} - </b-form-radio> + ></b-form-radio-group> </b-form-group> </b-col> </b-row> @@ -41,6 +37,7 @@ export default { data() { return { policyValue: null, + options: [], }; }, computed: { @@ -58,12 +55,24 @@ export default { }, created() { this.startLoader(); - Promise.all([ - this.$store.dispatch('powerPolicy/getPowerRestorePolicies'), - this.$store.dispatch('powerPolicy/getPowerRestoreCurrentPolicy'), - ]).finally(() => this.endLoader()); + this.renderPowerRestoreSettings(); }, methods: { + renderPowerRestoreSettings() { + Promise.all([ + this.$store.dispatch('powerPolicy/getPowerRestorePolicies'), + this.$store.dispatch('powerPolicy/getPowerRestoreCurrentPolicy'), + ]).finally(() => { + this.options.length = 0; + this.powerRestorePolicies.map((item) => { + this.options.push({ + text: this.$t(`pagePowerRestorePolicy.policiesDesc.${item.state}`), + value: `${item.state}`, + }); + }); + this.endLoader(); + }); + }, submitForm() { this.startLoader(); this.$store @@ -73,7 +82,9 @@ export default { ) .then((message) => this.successToast(message)) .catch(({ message }) => this.errorToast(message)) - .finally(() => this.endLoader()); + .finally(() => { + this.renderPowerRestoreSettings(); + }); }, }, }; |