SurenNeware | 090c2d4 | 2020-04-01 14:07:27 +0530 | [diff] [blame] | 1 | <template> |
| 2 | <b-container fluid="xl"> |
| 3 | <page-title /> |
| 4 | <b-row> |
| 5 | <b-col md="12"> |
| 6 | <page-section :section-title="$t('pageServerLed.serverLedTitle')"> |
| 7 | <b-form-group :label="$t('pageServerLed.serverLedSubTitle')"> |
| 8 | <b-form-checkbox |
SurenNeware | a2c9982 | 2020-07-17 15:13:18 +0530 | [diff] [blame] | 9 | v-model="indicatorLed" |
SurenNeware | 37b0839 | 2020-07-17 15:13:18 +0530 | [diff] [blame] | 10 | data-test-id="serverLed-checkbox-switchIndicatorLed" |
SurenNeware | 090c2d4 | 2020-04-01 14:07:27 +0530 | [diff] [blame] | 11 | name="check-button" |
| 12 | value="Lit" |
| 13 | unchecked-value="Off" |
| 14 | switch |
SurenNeware | a2c9982 | 2020-07-17 15:13:18 +0530 | [diff] [blame] | 15 | @change="changeLedValue" |
SurenNeware | 090c2d4 | 2020-04-01 14:07:27 +0530 | [diff] [blame] | 16 | > |
SurenNeware | a2c9982 | 2020-07-17 15:13:18 +0530 | [diff] [blame] | 17 | <span v-if="indicatorLed && indicatorLed !== 'Off'"> |
SurenNeware | 090c2d4 | 2020-04-01 14:07:27 +0530 | [diff] [blame] | 18 | {{ $t('global.status.on') }} |
| 19 | </span> |
| 20 | <span v-else> |
| 21 | {{ $t('global.status.off') }} |
| 22 | </span> |
| 23 | </b-form-checkbox> |
| 24 | </b-form-group> |
| 25 | </page-section> |
| 26 | </b-col> |
| 27 | </b-row> |
| 28 | </b-container> |
| 29 | </template> |
| 30 | |
| 31 | <script> |
SurenNeware | 31bf55a | 2020-06-22 21:53:33 +0530 | [diff] [blame] | 32 | import PageTitle from '@/components/Global/PageTitle'; |
| 33 | import PageSection from '@/components/Global/PageSection'; |
| 34 | import BVToastMixin from '@/components/Mixins/BVToastMixin'; |
SurenNeware | aa7e832 | 2020-06-12 17:59:34 +0530 | [diff] [blame] | 35 | import LoadingBarMixin from '@/components/Mixins/LoadingBarMixin'; |
| 36 | |
SurenNeware | 090c2d4 | 2020-04-01 14:07:27 +0530 | [diff] [blame] | 37 | export default { |
| 38 | name: 'ServerLed', |
| 39 | components: { PageTitle, PageSection }, |
SurenNeware | 31bf55a | 2020-06-22 21:53:33 +0530 | [diff] [blame] | 40 | mixins: [LoadingBarMixin, BVToastMixin], |
SurenNeware | 090c2d4 | 2020-04-01 14:07:27 +0530 | [diff] [blame] | 41 | computed: { |
SurenNeware | a2c9982 | 2020-07-17 15:13:18 +0530 | [diff] [blame] | 42 | indicatorLed: { |
SurenNeware | 090c2d4 | 2020-04-01 14:07:27 +0530 | [diff] [blame] | 43 | get() { |
| 44 | return this.$store.getters['serverLed/getIndicatorValue']; |
| 45 | }, |
| 46 | set(newValue) { |
SurenNeware | a2c9982 | 2020-07-17 15:13:18 +0530 | [diff] [blame] | 47 | return newValue; |
SurenNeware | 090c2d4 | 2020-04-01 14:07:27 +0530 | [diff] [blame] | 48 | } |
| 49 | } |
| 50 | }, |
| 51 | created() { |
SurenNeware | aa7e832 | 2020-06-12 17:59:34 +0530 | [diff] [blame] | 52 | this.startLoader(); |
| 53 | this.$store |
| 54 | .dispatch('serverLed/getIndicatorValue') |
| 55 | .finally(() => this.endLoader()); |
| 56 | }, |
| 57 | beforeRouteLeave(to, from, next) { |
| 58 | this.hideLoader(); |
| 59 | next(); |
SurenNeware | a2c9982 | 2020-07-17 15:13:18 +0530 | [diff] [blame] | 60 | }, |
| 61 | methods: { |
| 62 | changeLedValue(indicatorLed) { |
| 63 | this.$store |
| 64 | .dispatch('serverLed/saveIndicatorLedValue', indicatorLed) |
| 65 | .then(message => this.successToast(message)) |
| 66 | .catch(({ message }) => { |
| 67 | this.errorToast(message); |
| 68 | if (indicatorLed === 'Off') { |
| 69 | this.indicatorLed === 'Lit'; |
| 70 | } else { |
| 71 | this.indicatorLed === 'Off'; |
| 72 | } |
| 73 | }); |
| 74 | } |
SurenNeware | 090c2d4 | 2020-04-01 14:07:27 +0530 | [diff] [blame] | 75 | } |
| 76 | }; |
| 77 | </script> |