diff --git a/app/javascript/dashboard/components-next/Contacts/ContactsForm/ContactsForm.vue b/app/javascript/dashboard/components-next/Contacts/ContactsForm/ContactsForm.vue index 1813f1057..90329b311 100644 --- a/app/javascript/dashboard/components-next/Contacts/ContactsForm/ContactsForm.vue +++ b/app/javascript/dashboard/components-next/Contacts/ContactsForm/ContactsForm.vue @@ -214,6 +214,10 @@ const resetValidation = () => { v$.value.$reset(); }; +const resetForm = () => { + Object.assign(state, defaultState); +}; + watch(() => props.contactData, prepareStateBasedOnProps, { immediate: true, deep: true, @@ -224,6 +228,7 @@ defineExpose({ state, resetValidation, isFormInvalid, + resetForm, }); @@ -261,7 +266,7 @@ defineExpose({ :placeholder="item.placeholder" :message-type="getMessageType(item.key)" :custom-input-class="`h-8 !pt-1 !pb-1 ${ - !isDetailsView ? '[&:not(.error)]:!border-transparent' : '' + !isDetailsView ? '[&:not(.error,.focus)]:!border-transparent' : '' }`" class="w-full" @input=" diff --git a/app/javascript/dashboard/components-next/Contacts/ContactsForm/CreateNewContactDialog.vue b/app/javascript/dashboard/components-next/Contacts/ContactsForm/CreateNewContactDialog.vue index 1a9f183e8..806fcf4ac 100644 --- a/app/javascript/dashboard/components-next/Contacts/ContactsForm/CreateNewContactDialog.vue +++ b/app/javascript/dashboard/components-next/Contacts/ContactsForm/CreateNewContactDialog.vue @@ -27,11 +27,16 @@ const handleDialogConfirm = async () => { emit('create', contact.value); }; +const onSuccess = () => { + contactsFormRef.value?.resetForm(); + dialogRef.value.close(); +}; + const closeDialog = () => { dialogRef.value.close(); }; -defineExpose({ dialogRef, contactsFormRef }); +defineExpose({ dialogRef, contactsFormRef, onSuccess });