|  | <template> | 
|  | <b-container fluid="xl"> | 
|  | <page-title /> | 
|  | <b-row> | 
|  | <b-col md="12"> | 
|  | <page-section :section-title="$t('pageServerLed.serverLedTitle')"> | 
|  | <b-form-group :label="$t('pageServerLed.serverLedSubTitle')"> | 
|  | <b-form-checkbox | 
|  | v-model="indicatorLed" | 
|  | data-test-id="serverLed-checkbox-switchIndicatorLed" | 
|  | name="check-button" | 
|  | value="Lit" | 
|  | unchecked-value="Off" | 
|  | switch | 
|  | @change="changeLedValue" | 
|  | > | 
|  | <span v-if="indicatorLed && indicatorLed !== 'Off'"> | 
|  | {{ $t('global.status.on') }} | 
|  | </span> | 
|  | <span v-else> | 
|  | {{ $t('global.status.off') }} | 
|  | </span> | 
|  | </b-form-checkbox> | 
|  | </b-form-group> | 
|  | </page-section> | 
|  | </b-col> | 
|  | </b-row> | 
|  | </b-container> | 
|  | </template> | 
|  |  | 
|  | <script> | 
|  | import PageTitle from '@/components/Global/PageTitle'; | 
|  | import PageSection from '@/components/Global/PageSection'; | 
|  | import BVToastMixin from '@/components/Mixins/BVToastMixin'; | 
|  | import LoadingBarMixin from '@/components/Mixins/LoadingBarMixin'; | 
|  |  | 
|  | export default { | 
|  | name: 'ServerLed', | 
|  | components: { PageTitle, PageSection }, | 
|  | mixins: [LoadingBarMixin, BVToastMixin], | 
|  | computed: { | 
|  | indicatorLed: { | 
|  | get() { | 
|  | return this.$store.getters['serverLed/getIndicatorValue']; | 
|  | }, | 
|  | set(newValue) { | 
|  | return newValue; | 
|  | } | 
|  | } | 
|  | }, | 
|  | created() { | 
|  | this.startLoader(); | 
|  | this.$store | 
|  | .dispatch('serverLed/getIndicatorValue') | 
|  | .finally(() => this.endLoader()); | 
|  | }, | 
|  | beforeRouteLeave(to, from, next) { | 
|  | this.hideLoader(); | 
|  | next(); | 
|  | }, | 
|  | methods: { | 
|  | changeLedValue(indicatorLed) { | 
|  | this.$store | 
|  | .dispatch('serverLed/saveIndicatorLedValue', indicatorLed) | 
|  | .then(message => this.successToast(message)) | 
|  | .catch(({ message }) => { | 
|  | this.errorToast(message); | 
|  | if (indicatorLed === 'Off') { | 
|  | this.indicatorLed === 'Lit'; | 
|  | } else { | 
|  | this.indicatorLed === 'Off'; | 
|  | } | 
|  | }); | 
|  | } | 
|  | } | 
|  | }; | 
|  | </script> |