112dc20c3SDixsie Wolmers<template> 212dc20c3SDixsie Wolmers <b-modal 312dc20c3SDixsie Wolmers id="modal-mac-address" 412dc20c3SDixsie Wolmers ref="modal" 512dc20c3SDixsie Wolmers :title="$t('pageNetwork.modal.editMacAddressTitle')" 612dc20c3SDixsie Wolmers @hidden="resetForm" 712dc20c3SDixsie Wolmers > 812dc20c3SDixsie Wolmers <b-form id="mac-settings" @submit.prevent="handleSubmit"> 912dc20c3SDixsie Wolmers <b-row> 1012dc20c3SDixsie Wolmers <b-col sm="6"> 1112dc20c3SDixsie Wolmers <b-form-group 1212dc20c3SDixsie Wolmers :label="$t('pageNetwork.macAddress')" 1312dc20c3SDixsie Wolmers label-for="macAddress" 1412dc20c3SDixsie Wolmers > 1512dc20c3SDixsie Wolmers <b-form-input 1612dc20c3SDixsie Wolmers id="mac-address" 1712dc20c3SDixsie Wolmers v-model.trim="form.macAddress" 1812dc20c3SDixsie Wolmers data-test-id="network-input-macAddress" 1912dc20c3SDixsie Wolmers type="text" 20de23ea23SSurya V :state="getValidationState(v$.form.macAddress)" 21de23ea23SSurya V @change="v$.form.macAddress.$touch()" 2212dc20c3SDixsie Wolmers /> 2312dc20c3SDixsie Wolmers <b-form-invalid-feedback role="alert"> 24*4626aec4SSurya Venkatesan <div v-if="v$.form.macAddress.required.$invalid"> 2512dc20c3SDixsie Wolmers {{ $t('global.form.fieldRequired') }} 2612dc20c3SDixsie Wolmers </div> 27*4626aec4SSurya Venkatesan <div v-if="v$.form.macAddress.macAddress.$invalid"> 2812dc20c3SDixsie Wolmers {{ $t('global.form.invalidFormat') }} 2912dc20c3SDixsie Wolmers </div> 3012dc20c3SDixsie Wolmers </b-form-invalid-feedback> 3112dc20c3SDixsie Wolmers </b-form-group> 3212dc20c3SDixsie Wolmers </b-col> 3312dc20c3SDixsie Wolmers </b-row> 3412dc20c3SDixsie Wolmers </b-form> 3512dc20c3SDixsie Wolmers <template #modal-footer="{ cancel }"> 3612dc20c3SDixsie Wolmers <b-button variant="secondary" @click="cancel()"> 3712dc20c3SDixsie Wolmers {{ $t('global.action.cancel') }} 3812dc20c3SDixsie Wolmers </b-button> 3912dc20c3SDixsie Wolmers <b-button 4012dc20c3SDixsie Wolmers form="mac-settings" 4112dc20c3SDixsie Wolmers type="submit" 4212dc20c3SDixsie Wolmers variant="primary" 4312dc20c3SDixsie Wolmers @click="onOk" 4412dc20c3SDixsie Wolmers > 4512dc20c3SDixsie Wolmers {{ $t('global.action.add') }} 4612dc20c3SDixsie Wolmers </b-button> 4712dc20c3SDixsie Wolmers </template> 4812dc20c3SDixsie Wolmers </b-modal> 4912dc20c3SDixsie Wolmers</template> 5012dc20c3SDixsie Wolmers 5112dc20c3SDixsie Wolmers<script> 5212dc20c3SDixsie Wolmersimport VuelidateMixin from '@/components/Mixins/VuelidateMixin.js'; 537d6b44cbSEd Tanousimport { useVuelidate } from '@vuelidate/core'; 54*4626aec4SSurya Venkatesanimport { required } from '@vuelidate/validators'; 55*4626aec4SSurya Venkatesanimport { macAddress } from 'vuelidate/lib/validators'; 56de23ea23SSurya Vimport { useI18n } from 'vue-i18n'; 5712dc20c3SDixsie Wolmers 5812dc20c3SDixsie Wolmersexport default { 5912dc20c3SDixsie Wolmers mixins: [VuelidateMixin], 6012dc20c3SDixsie Wolmers props: { 6112dc20c3SDixsie Wolmers macAddress: { 6212dc20c3SDixsie Wolmers type: String, 6312dc20c3SDixsie Wolmers default: '', 6412dc20c3SDixsie Wolmers }, 6512dc20c3SDixsie Wolmers }, 667d6b44cbSEd Tanous setup() { 677d6b44cbSEd Tanous return { 687d6b44cbSEd Tanous v$: useVuelidate(), 697d6b44cbSEd Tanous }; 707d6b44cbSEd Tanous }, 7112dc20c3SDixsie Wolmers data() { 7212dc20c3SDixsie Wolmers return { 73de23ea23SSurya V $t: useI18n().t, 7412dc20c3SDixsie Wolmers form: { 7512dc20c3SDixsie Wolmers macAddress: '', 7612dc20c3SDixsie Wolmers }, 7712dc20c3SDixsie Wolmers }; 7812dc20c3SDixsie Wolmers }, 7912dc20c3SDixsie Wolmers watch: { 8012dc20c3SDixsie Wolmers macAddress() { 8112dc20c3SDixsie Wolmers this.form.macAddress = this.macAddress; 8212dc20c3SDixsie Wolmers }, 8312dc20c3SDixsie Wolmers }, 8412dc20c3SDixsie Wolmers validations() { 8512dc20c3SDixsie Wolmers return { 8612dc20c3SDixsie Wolmers form: { 8712dc20c3SDixsie Wolmers macAddress: { 8812dc20c3SDixsie Wolmers required, 8912dc20c3SDixsie Wolmers macAddress: macAddress(), 9012dc20c3SDixsie Wolmers }, 9112dc20c3SDixsie Wolmers }, 9212dc20c3SDixsie Wolmers }; 9312dc20c3SDixsie Wolmers }, 9412dc20c3SDixsie Wolmers methods: { 9512dc20c3SDixsie Wolmers handleSubmit() { 96de23ea23SSurya V this.v$.$touch(); 97de23ea23SSurya V if (this.v$.$invalid) return; 9812dc20c3SDixsie Wolmers this.$emit('ok', { MACAddress: this.form.macAddress }); 9912dc20c3SDixsie Wolmers this.closeModal(); 10012dc20c3SDixsie Wolmers }, 10112dc20c3SDixsie Wolmers closeModal() { 10212dc20c3SDixsie Wolmers this.$nextTick(() => { 10312dc20c3SDixsie Wolmers this.$refs.modal.hide(); 10412dc20c3SDixsie Wolmers }); 10512dc20c3SDixsie Wolmers }, 10612dc20c3SDixsie Wolmers resetForm() { 10712dc20c3SDixsie Wolmers this.form.macAddress = this.macAddress; 108de23ea23SSurya V this.v$.$reset(); 10912dc20c3SDixsie Wolmers this.$emit('hidden'); 11012dc20c3SDixsie Wolmers }, 11112dc20c3SDixsie Wolmers onOk(bvModalEvt) { 11212dc20c3SDixsie Wolmers // prevent modal close 11312dc20c3SDixsie Wolmers bvModalEvt.preventDefault(); 11412dc20c3SDixsie Wolmers this.handleSubmit(); 11512dc20c3SDixsie Wolmers }, 11612dc20c3SDixsie Wolmers }, 11712dc20c3SDixsie Wolmers}; 11812dc20c3SDixsie Wolmers</script> 119