blob: f2e31fce1f4a637e76eabba612321171d22b3e17 [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"
SurenNeware090c2d42020-04-01 14:07:27 +053010 name="check-button"
11 value="Lit"
12 unchecked-value="Off"
13 switch
SurenNewarea2c99822020-07-17 15:13:18 +053014 @change="changeLedValue"
SurenNeware090c2d42020-04-01 14:07:27 +053015 >
SurenNewarea2c99822020-07-17 15:13:18 +053016 <span v-if="indicatorLed && indicatorLed !== 'Off'">
SurenNeware090c2d42020-04-01 14:07:27 +053017 {{ $t('global.status.on') }}
18 </span>
19 <span v-else>
20 {{ $t('global.status.off') }}
21 </span>
22 </b-form-checkbox>
23 </b-form-group>
24 </page-section>
25 </b-col>
26 </b-row>
27 </b-container>
28</template>
29
30<script>
SurenNeware31bf55a2020-06-22 21:53:33 +053031import PageTitle from '@/components/Global/PageTitle';
32import PageSection from '@/components/Global/PageSection';
33import BVToastMixin from '@/components/Mixins/BVToastMixin';
SurenNewareaa7e8322020-06-12 17:59:34 +053034import LoadingBarMixin from '@/components/Mixins/LoadingBarMixin';
35
SurenNeware090c2d42020-04-01 14:07:27 +053036export default {
37 name: 'ServerLed',
38 components: { PageTitle, PageSection },
SurenNeware31bf55a2020-06-22 21:53:33 +053039 mixins: [LoadingBarMixin, BVToastMixin],
SurenNeware090c2d42020-04-01 14:07:27 +053040 computed: {
SurenNewarea2c99822020-07-17 15:13:18 +053041 indicatorLed: {
SurenNeware090c2d42020-04-01 14:07:27 +053042 get() {
43 return this.$store.getters['serverLed/getIndicatorValue'];
44 },
45 set(newValue) {
SurenNewarea2c99822020-07-17 15:13:18 +053046 return newValue;
SurenNeware090c2d42020-04-01 14:07:27 +053047 }
48 }
49 },
50 created() {
SurenNewareaa7e8322020-06-12 17:59:34 +053051 this.startLoader();
52 this.$store
53 .dispatch('serverLed/getIndicatorValue')
54 .finally(() => this.endLoader());
55 },
56 beforeRouteLeave(to, from, next) {
57 this.hideLoader();
58 next();
SurenNewarea2c99822020-07-17 15:13:18 +053059 },
60 methods: {
61 changeLedValue(indicatorLed) {
62 this.$store
63 .dispatch('serverLed/saveIndicatorLedValue', indicatorLed)
64 .then(message => this.successToast(message))
65 .catch(({ message }) => {
66 this.errorToast(message);
67 if (indicatorLed === 'Off') {
68 this.indicatorLed === 'Lit';
69 } else {
70 this.indicatorLed === 'Off';
71 }
72 });
73 }
SurenNeware090c2d42020-04-01 14:07:27 +053074 }
75};
76</script>