1c4b8757eSDixsie Wolmers<template> 2c4b8757eSDixsie Wolmers <div> 3c4b8757eSDixsie Wolmers <page-section> 4c4b8757eSDixsie Wolmers <b-row> 5c4b8757eSDixsie Wolmers <b-col md="3"> 6c4b8757eSDixsie Wolmers <dl> 7c4b8757eSDixsie Wolmers <dt>{{ $t('pageNetwork.linkStatus') }}</dt> 8c4b8757eSDixsie Wolmers <dd> 9c4b8757eSDixsie Wolmers {{ dataFormatter(linkStatus) }} 10c4b8757eSDixsie Wolmers </dd> 11c4b8757eSDixsie Wolmers </dl> 12c4b8757eSDixsie Wolmers </b-col> 13c4b8757eSDixsie Wolmers <b-col md="3"> 14c4b8757eSDixsie Wolmers <dl> 15c4b8757eSDixsie Wolmers <dt>{{ $t('pageNetwork.speed') }}</dt> 16c4b8757eSDixsie Wolmers <dd> 17c4b8757eSDixsie Wolmers {{ dataFormatter(linkSpeed) }} 18c4b8757eSDixsie Wolmers </dd> 19c4b8757eSDixsie Wolmers </dl> 20c4b8757eSDixsie Wolmers </b-col> 21c4b8757eSDixsie Wolmers </b-row> 22c4b8757eSDixsie Wolmers </page-section> 23c4b8757eSDixsie Wolmers <page-section :section-title="$t('pageNetwork.interfaceSection')"> 24c4b8757eSDixsie Wolmers <b-row> 25c4b8757eSDixsie Wolmers <b-col md="3"> 26c4b8757eSDixsie Wolmers <dl> 2712dc20c3SDixsie Wolmers <dt> 2812dc20c3SDixsie Wolmers {{ $t('pageNetwork.fqdn') }} 2912dc20c3SDixsie Wolmers </dt> 30c4b8757eSDixsie Wolmers <dd> 31c4b8757eSDixsie Wolmers {{ dataFormatter(fqdn) }} 32c4b8757eSDixsie Wolmers </dd> 33c4b8757eSDixsie Wolmers </dl> 34c4b8757eSDixsie Wolmers </b-col> 35c4b8757eSDixsie Wolmers <b-col md="3"> 36c4b8757eSDixsie Wolmers <dl class="text-nowrap"> 3712dc20c3SDixsie Wolmers <dt> 3812dc20c3SDixsie Wolmers {{ $t('pageNetwork.macAddress') }} 3912dc20c3SDixsie Wolmers <b-button 4012dc20c3SDixsie Wolmers variant="link" 4112dc20c3SDixsie Wolmers class="p-1" 4212dc20c3SDixsie Wolmers @click="initMacAddressModal()" 4312dc20c3SDixsie Wolmers > 4412dc20c3SDixsie Wolmers <icon-edit 4512dc20c3SDixsie Wolmers :title="$t('pageNetwork.modal.editMacAddressTitle')" 4612dc20c3SDixsie Wolmers /> 4712dc20c3SDixsie Wolmers </b-button> 4812dc20c3SDixsie Wolmers </dt> 49c4b8757eSDixsie Wolmers <dd> 50c4b8757eSDixsie Wolmers {{ dataFormatter(macAddress) }} 51c4b8757eSDixsie Wolmers </dd> 52c4b8757eSDixsie Wolmers </dl> 53c4b8757eSDixsie Wolmers </b-col> 54c4b8757eSDixsie Wolmers </b-row> 55c4b8757eSDixsie Wolmers </page-section> 56c4b8757eSDixsie Wolmers </div> 57c4b8757eSDixsie Wolmers</template> 58c4b8757eSDixsie Wolmers 59c4b8757eSDixsie Wolmers<script> 60c4b8757eSDixsie Wolmersimport BVToastMixin from '@/components/Mixins/BVToastMixin'; 6112dc20c3SDixsie Wolmersimport IconEdit from '@carbon/icons-vue/es/edit/16'; 62c4b8757eSDixsie Wolmersimport PageSection from '@/components/Global/PageSection'; 63c4b8757eSDixsie Wolmersimport DataFormatterMixin from '@/components/Mixins/DataFormatterMixin'; 64c4b8757eSDixsie Wolmersimport { mapState } from 'vuex'; 65*de23ea23SSurya Vimport { useI18n } from 'vue-i18n'; 66c4b8757eSDixsie Wolmers 67c4b8757eSDixsie Wolmersexport default { 68c4b8757eSDixsie Wolmers name: 'Ipv4Table', 69c4b8757eSDixsie Wolmers components: { 7012dc20c3SDixsie Wolmers IconEdit, 71c4b8757eSDixsie Wolmers PageSection, 72c4b8757eSDixsie Wolmers }, 73c4b8757eSDixsie Wolmers mixins: [BVToastMixin, DataFormatterMixin], 74c4b8757eSDixsie Wolmers props: { 75c4b8757eSDixsie Wolmers tabIndex: { 76c4b8757eSDixsie Wolmers type: Number, 77c4b8757eSDixsie Wolmers default: 0, 78c4b8757eSDixsie Wolmers }, 79c4b8757eSDixsie Wolmers }, 80c4b8757eSDixsie Wolmers data() { 81c4b8757eSDixsie Wolmers return { 82*de23ea23SSurya V $t: useI18n().t, 83c4b8757eSDixsie Wolmers selectedInterface: '', 84c4b8757eSDixsie Wolmers linkStatus: '', 85c4b8757eSDixsie Wolmers linkSpeed: '', 86c4b8757eSDixsie Wolmers fqdn: '', 87c4b8757eSDixsie Wolmers macAddress: '', 88c4b8757eSDixsie Wolmers }; 89c4b8757eSDixsie Wolmers }, 90c4b8757eSDixsie Wolmers computed: { 91c4b8757eSDixsie Wolmers ...mapState('network', ['ethernetData']), 92c4b8757eSDixsie Wolmers }, 93c4b8757eSDixsie Wolmers watch: { 94c4b8757eSDixsie Wolmers // Watch for change in tab index 95c4b8757eSDixsie Wolmers tabIndex() { 96c4b8757eSDixsie Wolmers this.getSettings(); 97c4b8757eSDixsie Wolmers }, 98c4b8757eSDixsie Wolmers }, 99c4b8757eSDixsie Wolmers created() { 100c4b8757eSDixsie Wolmers this.getSettings(); 101c4b8757eSDixsie Wolmers this.$store.dispatch('network/getEthernetData').finally(() => { 102c4b8757eSDixsie Wolmers // Emit initial data fetch complete to parent component 103c4b8757eSDixsie Wolmers this.$root.$emit('network-interface-settings-complete'); 104c4b8757eSDixsie Wolmers }); 105c4b8757eSDixsie Wolmers }, 106c4b8757eSDixsie Wolmers methods: { 107c4b8757eSDixsie Wolmers getSettings() { 108c4b8757eSDixsie Wolmers this.selectedInterface = this.tabIndex; 109c4b8757eSDixsie Wolmers this.linkStatus = this.ethernetData[this.selectedInterface].LinkStatus; 110c4b8757eSDixsie Wolmers this.linkSpeed = this.ethernetData[this.selectedInterface].SpeedMbps; 111c4b8757eSDixsie Wolmers this.fqdn = this.ethernetData[this.selectedInterface].FQDN; 112c4b8757eSDixsie Wolmers this.macAddress = this.ethernetData[this.selectedInterface].MACAddress; 113c4b8757eSDixsie Wolmers }, 11412dc20c3SDixsie Wolmers initMacAddressModal() { 11512dc20c3SDixsie Wolmers this.$bvModal.show('modal-mac-address'); 11612dc20c3SDixsie Wolmers }, 117c4b8757eSDixsie Wolmers }, 118c4b8757eSDixsie Wolmers}; 119c4b8757eSDixsie Wolmers</script> 120