| <template> |
| <div> |
| <page-section> |
| <b-row> |
| <b-col md="3"> |
| <dl> |
| <dt>{{ $t('pageNetwork.linkStatus') }}</dt> |
| <dd> |
| {{ dataFormatter(linkStatus) }} |
| </dd> |
| </dl> |
| </b-col> |
| <b-col md="3"> |
| <dl> |
| <dt>{{ $t('pageNetwork.speed') }}</dt> |
| <dd> |
| {{ dataFormatter(linkSpeed) }} |
| </dd> |
| </dl> |
| </b-col> |
| </b-row> |
| </page-section> |
| <page-section :section-title="$t('pageNetwork.interfaceSection')"> |
| <b-row> |
| <b-col md="3"> |
| <dl> |
| <dt> |
| {{ $t('pageNetwork.fqdn') }} |
| </dt> |
| <dd> |
| {{ dataFormatter(fqdn) }} |
| </dd> |
| </dl> |
| </b-col> |
| <b-col md="3"> |
| <dl class="text-nowrap"> |
| <dt> |
| {{ $t('pageNetwork.macAddress') }} |
| <b-button |
| variant="link" |
| class="p-1" |
| @click="initMacAddressModal()" |
| > |
| <icon-edit |
| :title="$t('pageNetwork.modal.editMacAddressTitle')" |
| /> |
| </b-button> |
| </dt> |
| <dd> |
| {{ dataFormatter(macAddress) }} |
| </dd> |
| </dl> |
| </b-col> |
| </b-row> |
| </page-section> |
| </div> |
| </template> |
| |
| <script> |
| import BVToastMixin from '@/components/Mixins/BVToastMixin'; |
| import IconEdit from '@carbon/icons-vue/es/edit/16'; |
| import PageSection from '@/components/Global/PageSection'; |
| import DataFormatterMixin from '@/components/Mixins/DataFormatterMixin'; |
| import { mapState } from 'vuex'; |
| |
| export default { |
| name: 'Ipv4Table', |
| components: { |
| IconEdit, |
| PageSection, |
| }, |
| mixins: [BVToastMixin, DataFormatterMixin], |
| props: { |
| tabIndex: { |
| type: Number, |
| default: 0, |
| }, |
| }, |
| data() { |
| return { |
| selectedInterface: '', |
| linkStatus: '', |
| linkSpeed: '', |
| fqdn: '', |
| macAddress: '', |
| }; |
| }, |
| computed: { |
| ...mapState('network', ['ethernetData']), |
| }, |
| watch: { |
| // Watch for change in tab index |
| tabIndex() { |
| this.getSettings(); |
| }, |
| }, |
| created() { |
| this.getSettings(); |
| this.$store.dispatch('network/getEthernetData').finally(() => { |
| // Emit initial data fetch complete to parent component |
| this.$root.$emit('network-interface-settings-complete'); |
| }); |
| }, |
| methods: { |
| getSettings() { |
| this.selectedInterface = this.tabIndex; |
| this.linkStatus = this.ethernetData[this.selectedInterface].LinkStatus; |
| this.linkSpeed = this.ethernetData[this.selectedInterface].SpeedMbps; |
| this.fqdn = this.ethernetData[this.selectedInterface].FQDN; |
| this.macAddress = this.ethernetData[this.selectedInterface].MACAddress; |
| }, |
| initMacAddressModal() { |
| this.$bvModal.show('modal-mac-address'); |
| }, |
| }, |
| }; |
| </script> |