blob: b2eab0e6f9a67361a9ecfb9e16a7238f5631a2e2 [file] [log] [blame]
SurenNeware090c2d42020-04-01 14:07:27 +05301<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
SurenNewarea2c99822020-07-17 15:13:18 +05309 v-model="indicatorLed"
SurenNeware37b08392020-07-17 15:13:18 +053010 data-test-id="serverLed-checkbox-switchIndicatorLed"
SurenNeware090c2d42020-04-01 14:07:27 +053011 name="check-button"
12 value="Lit"
13 unchecked-value="Off"
14 switch
SurenNewarea2c99822020-07-17 15:13:18 +053015 @change="changeLedValue"
SurenNeware090c2d42020-04-01 14:07:27 +053016 >
SurenNewarea2c99822020-07-17 15:13:18 +053017 <span v-if="indicatorLed && indicatorLed !== 'Off'">
SurenNeware090c2d42020-04-01 14:07:27 +053018 {{ $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>
SurenNeware31bf55a2020-06-22 21:53:33 +053032import PageTitle from '@/components/Global/PageTitle';
33import PageSection from '@/components/Global/PageSection';
34import BVToastMixin from '@/components/Mixins/BVToastMixin';
SurenNewareaa7e8322020-06-12 17:59:34 +053035import LoadingBarMixin from '@/components/Mixins/LoadingBarMixin';
36
SurenNeware090c2d42020-04-01 14:07:27 +053037export default {
38 name: 'ServerLed',
39 components: { PageTitle, PageSection },
SurenNeware31bf55a2020-06-22 21:53:33 +053040 mixins: [LoadingBarMixin, BVToastMixin],
SurenNeware090c2d42020-04-01 14:07:27 +053041 computed: {
SurenNewarea2c99822020-07-17 15:13:18 +053042 indicatorLed: {
SurenNeware090c2d42020-04-01 14:07:27 +053043 get() {
44 return this.$store.getters['serverLed/getIndicatorValue'];
45 },
46 set(newValue) {
SurenNewarea2c99822020-07-17 15:13:18 +053047 return newValue;
SurenNeware090c2d42020-04-01 14:07:27 +053048 }
49 }
50 },
51 created() {
SurenNewareaa7e8322020-06-12 17:59:34 +053052 this.startLoader();
53 this.$store
54 .dispatch('serverLed/getIndicatorValue')
55 .finally(() => this.endLoader());
56 },
57 beforeRouteLeave(to, from, next) {
58 this.hideLoader();
59 next();
SurenNewarea2c99822020-07-17 15:13:18 +053060 },
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 }
SurenNeware090c2d42020-04-01 14:07:27 +053075 }
76};
77</script>