| <template> |
| <div class="quicklinks form-background"> |
| <div> |
| <dl> |
| <dt>{{ $t('pageOverview.quicklinks.bmcTime') }}</dt> |
| <dd v-if="bmcTime"> |
| {{ bmcTime | formatDate }} {{ bmcTime | formatTime }} |
| </dd> |
| <dd v-else>--</dd> |
| </dl> |
| </div> |
| <div> |
| <dl> |
| <dt>{{ $t('pageOverview.quicklinks.serverLed') }}</dt> |
| <dd> |
| <b-form-checkbox |
| v-model="serverLedChecked" |
| data-test-id="overviewQuickLinks-checkbox-serverLed" |
| name="check-button" |
| switch |
| value="Lit" |
| unchecked-value="Off" |
| @change="onChangeServerLed" |
| > |
| <span v-if="serverLedChecked !== 'Off'"> |
| {{ $t('global.status.on') }} |
| </span> |
| <span v-else>{{ $t('global.status.off') }}</span> |
| </b-form-checkbox> |
| </dd> |
| </dl> |
| </div> |
| <div> |
| <b-button |
| to="/configuration/network-settings" |
| variant="secondary" |
| data-test-id="overviewQuickLinks-button-networkSettings" |
| class="d-flex justify-content-between align-items-center" |
| > |
| <span>{{ $t('pageOverview.quicklinks.editNetworkSettings') }}</span> |
| <icon-arrow-right /> |
| </b-button> |
| </div> |
| <div> |
| <b-button |
| to="/control/serial-over-lan" |
| variant="secondary" |
| data-test-id="overviewQuickLinks-button-solConsole" |
| class="d-flex justify-content-between align-items-center" |
| > |
| <span>{{ $t('pageOverview.quicklinks.solConsole') }}</span> |
| <icon-arrow-right /> |
| </b-button> |
| </div> |
| </div> |
| </template> |
| |
| <script> |
| import ArrowRight16 from '@carbon/icons-vue/es/arrow--right/16'; |
| import BVToastMixin from '@/components/Mixins/BVToastMixin'; |
| |
| export default { |
| name: 'QuickLinks', |
| components: { |
| IconArrowRight: ArrowRight16, |
| }, |
| mixins: [BVToastMixin], |
| computed: { |
| bmcTime() { |
| return this.$store.getters['global/bmcTime']; |
| }, |
| serverLedChecked: { |
| get() { |
| return this.$store.getters['serverLed/getIndicatorValue']; |
| }, |
| set(value) { |
| return value; |
| }, |
| }, |
| }, |
| created() { |
| Promise.all([ |
| this.$store.dispatch('global/getBmcTime'), |
| this.$store.dispatch('serverLed/getIndicatorValue'), |
| ]).finally(() => { |
| this.$root.$emit('overview::quicklinks::complete'); |
| }); |
| }, |
| methods: { |
| onChangeServerLed(value) { |
| this.$store |
| .dispatch('serverLed/saveIndicatorLedValue', value) |
| .then((message) => this.successToast(message)) |
| .catch(({ message }) => this.errorToast(message)); |
| }, |
| }, |
| }; |
| </script> |
| |
| <style lang="scss" scoped> |
| dd, |
| dl { |
| margin: 0; |
| } |
| |
| .quicklinks { |
| display: grid; |
| grid-gap: 1rem; |
| padding: 1rem; |
| white-space: nowrap; |
| align-items: center; |
| } |
| |
| @include media-breakpoint-up(sm) { |
| .quicklinks { |
| grid-template-columns: repeat(2, 1fr); |
| } |
| } |
| |
| @include media-breakpoint-up(xl) { |
| .quicklinks { |
| grid-template-columns: repeat(4, 1fr); |
| } |
| } |
| </style> |