blob: 6ec62302f5eb193d1bd00ef96e9809ec90e79243 [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"
SurenNeware090c2d42020-04-01 14:07:27 +053012 switch
SurenNewarea2c99822020-07-17 15:13:18 +053013 @change="changeLedValue"
SurenNeware090c2d42020-04-01 14:07:27 +053014 >
SurenNeware2aac4d32020-11-24 16:32:14 +053015 <span v-if="indicatorLed">
SurenNeware090c2d42020-04-01 14:07:27 +053016 {{ $t('global.status.on') }}
17 </span>
18 <span v-else>
19 {{ $t('global.status.off') }}
20 </span>
21 </b-form-checkbox>
22 </b-form-group>
23 </page-section>
24 </b-col>
25 </b-row>
26 </b-container>
27</template>
28
29<script>
SurenNeware31bf55a2020-06-22 21:53:33 +053030import PageTitle from '@/components/Global/PageTitle';
31import PageSection from '@/components/Global/PageSection';
32import BVToastMixin from '@/components/Mixins/BVToastMixin';
SurenNewareaa7e8322020-06-12 17:59:34 +053033import LoadingBarMixin from '@/components/Mixins/LoadingBarMixin';
34
SurenNeware090c2d42020-04-01 14:07:27 +053035export default {
36 name: 'ServerLed',
37 components: { PageTitle, PageSection },
SurenNeware31bf55a2020-06-22 21:53:33 +053038 mixins: [LoadingBarMixin, BVToastMixin],
Derick Montague602e98a2020-10-21 16:20:00 -050039 beforeRouteLeave(to, from, next) {
40 this.hideLoader();
41 next();
42 },
SurenNeware090c2d42020-04-01 14:07:27 +053043 computed: {
SurenNewarea2c99822020-07-17 15:13:18 +053044 indicatorLed: {
SurenNeware090c2d42020-04-01 14:07:27 +053045 get() {
46 return this.$store.getters['serverLed/getIndicatorValue'];
47 },
48 set(newValue) {
SurenNewarea2c99822020-07-17 15:13:18 +053049 return newValue;
Derick Montague602e98a2020-10-21 16:20:00 -050050 },
51 },
SurenNeware090c2d42020-04-01 14:07:27 +053052 },
53 created() {
SurenNewareaa7e8322020-06-12 17:59:34 +053054 this.startLoader();
55 this.$store
56 .dispatch('serverLed/getIndicatorValue')
57 .finally(() => this.endLoader());
58 },
SurenNewarea2c99822020-07-17 15:13:18 +053059 methods: {
60 changeLedValue(indicatorLed) {
61 this.$store
62 .dispatch('serverLed/saveIndicatorLedValue', indicatorLed)
Derick Montague602e98a2020-10-21 16:20:00 -050063 .then((message) => this.successToast(message))
SurenNewarea2c99822020-07-17 15:13:18 +053064 .catch(({ message }) => {
65 this.errorToast(message);
SurenNeware2aac4d32020-11-24 16:32:14 +053066 if (!indicatorLed) {
67 this.indicatorLed === true;
SurenNewarea2c99822020-07-17 15:13:18 +053068 } else {
SurenNeware2aac4d32020-11-24 16:32:14 +053069 this.indicatorLed === false;
SurenNewarea2c99822020-07-17 15:13:18 +053070 }
71 });
Derick Montague602e98a2020-10-21 16:20:00 -050072 },
73 },
SurenNeware090c2d42020-04-01 14:07:27 +053074};
75</script>