xref: /openbmc/webui-vue/src/views/HardwareStatus/Inventory/InventoryServiceIndicator.vue (revision de23ea23d88451a2fa2774ec72053772603c23ae)
105388966SSukanya Pandey<template>
205388966SSukanya Pandey  <page-section
305388966SSukanya Pandey    :section-title="$t('pageInventory.systemIndicator.sectionTitle')"
405388966SSukanya Pandey  >
505388966SSukanya Pandey    <div class="form-background pl-4 pt-4 pb-1">
605388966SSukanya Pandey      <b-row>
705388966SSukanya Pandey        <b-col sm="6" md="3">
805388966SSukanya Pandey          <dl>
905388966SSukanya Pandey            <dt>{{ $t('pageInventory.systemIndicator.powerStatus') }}</dt>
1005388966SSukanya Pandey            <dd>
1105388966SSukanya Pandey              {{ $t(powerStatus) }}
1205388966SSukanya Pandey            </dd>
1305388966SSukanya Pandey          </dl>
1405388966SSukanya Pandey        </b-col>
1505388966SSukanya Pandey        <b-col sm="6" md="3">
1605388966SSukanya Pandey          <dl>
1705388966SSukanya Pandey            <dt>
1805388966SSukanya Pandey              {{ $t('pageInventory.systemIndicator.identifyLed') }}
1905388966SSukanya Pandey            </dt>
2005388966SSukanya Pandey            <dd>
2105388966SSukanya Pandey              <b-form-checkbox
2205388966SSukanya Pandey                id="identifyLedSwitchService"
2305388966SSukanya Pandey                v-model="systems.locationIndicatorActive"
2405388966SSukanya Pandey                data-test-id="inventoryService-toggle-identifyLed"
2505388966SSukanya Pandey                switch
2605388966SSukanya Pandey                @change="toggleIdentifyLedSwitch"
2705388966SSukanya Pandey              >
2805388966SSukanya Pandey                <span v-if="systems.locationIndicatorActive">
2905388966SSukanya Pandey                  {{ $t('global.status.on') }}
3005388966SSukanya Pandey                </span>
3105388966SSukanya Pandey                <span v-else>{{ $t('global.status.off') }}</span>
3205388966SSukanya Pandey              </b-form-checkbox>
3305388966SSukanya Pandey            </dd>
3405388966SSukanya Pandey          </dl>
3505388966SSukanya Pandey        </b-col>
3605388966SSukanya Pandey      </b-row>
3705388966SSukanya Pandey    </div>
3805388966SSukanya Pandey  </page-section>
3905388966SSukanya Pandey</template>
4005388966SSukanya Pandey<script>
4105388966SSukanya Pandeyimport PageSection from '@/components/Global/PageSection';
4205388966SSukanya Pandeyimport BVToastMixin from '@/components/Mixins/BVToastMixin';
43*de23ea23SSurya Vimport { useI18n } from 'vue-i18n';
4405388966SSukanya Pandey
4505388966SSukanya Pandeyexport default {
4605388966SSukanya Pandey  components: { PageSection },
479726f9a7SDixsie Wolmers  mixins: [BVToastMixin],
48*de23ea23SSurya V  data() {
49*de23ea23SSurya V    return {
50*de23ea23SSurya V      $t: useI18n().t,
51*de23ea23SSurya V    };
52*de23ea23SSurya V  },
5305388966SSukanya Pandey  computed: {
5405388966SSukanya Pandey    systems() {
5505388966SSukanya Pandey      let systemData = this.$store.getters['system/systems'][0];
5605388966SSukanya Pandey      return systemData ? systemData : {};
5705388966SSukanya Pandey    },
5805388966SSukanya Pandey    serverStatus() {
5905388966SSukanya Pandey      return this.$store.getters['global/serverStatus'];
6005388966SSukanya Pandey    },
6105388966SSukanya Pandey    powerStatus() {
6205388966SSukanya Pandey      if (this.serverStatus === 'unreachable') {
6305388966SSukanya Pandey        return `global.status.off`;
6405388966SSukanya Pandey      }
6505388966SSukanya Pandey      return `global.status.${this.serverStatus}`;
6605388966SSukanya Pandey    },
6705388966SSukanya Pandey  },
6805388966SSukanya Pandey  created() {
6905388966SSukanya Pandey    this.$store.dispatch('system/getSystem').finally(() => {
7005388966SSukanya Pandey      // Emit initial data fetch complete to parent component
7105388966SSukanya Pandey      this.$root.$emit('hardware-status-service-complete');
7205388966SSukanya Pandey    });
7305388966SSukanya Pandey  },
7405388966SSukanya Pandey  methods: {
7505388966SSukanya Pandey    toggleIdentifyLedSwitch(state) {
7605388966SSukanya Pandey      this.$store
7705388966SSukanya Pandey        .dispatch('system/changeIdentifyLedState', state)
78f11a1901SNikhil Ashoka        .then((message) => this.successToast(message))
7905388966SSukanya Pandey        .catch(({ message }) => this.errorToast(message));
8005388966SSukanya Pandey    },
8105388966SSukanya Pandey  },
8205388966SSukanya Pandey};
8305388966SSukanya Pandey</script>
84