blob: 72726babaa01672aa0178ce3ec0b1a726693cfc6 [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
Derick Montague64835442020-11-29 12:31:20 -06009 v-model="indicatorLedActiveState"
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 >
Derick Montague64835442020-11-29 12:31:20 -060015 <span v-if="indicatorLedActiveState">
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: {
Derick Montague64835442020-11-29 12:31:20 -060044 indicatorLedActiveState: {
SurenNeware090c2d42020-04-01 14:07:27 +053045 get() {
Derick Montague64835442020-11-29 12:31:20 -060046 return this.$store.getters['serverLed/getIndicatorLedActiveState'];
SurenNeware090c2d42020-04-01 14:07:27 +053047 },
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
Derick Montague64835442020-11-29 12:31:20 -060056 .dispatch('serverLed/getIndicatorLedActiveState')
SurenNewareaa7e8322020-06-12 17:59:34 +053057 .finally(() => this.endLoader());
58 },
SurenNewarea2c99822020-07-17 15:13:18 +053059 methods: {
Derick Montague64835442020-11-29 12:31:20 -060060 changeLedValue(indicatorLedActiveState) {
SurenNewarea2c99822020-07-17 15:13:18 +053061 this.$store
Derick Montague64835442020-11-29 12:31:20 -060062 .dispatch(
63 'serverLed/saveIndicatorLedActiveState',
64 indicatorLedActiveState
65 )
Derick Montague602e98a2020-10-21 16:20:00 -050066 .then((message) => this.successToast(message))
Yoshie Muranaka11bafca2020-12-01 16:38:47 -080067 .catch(({ message }) => this.errorToast(message));
Derick Montague602e98a2020-10-21 16:20:00 -050068 },
69 },
SurenNeware090c2d42020-04-01 14:07:27 +053070};
71</script>