From 7b82bf660beee177758f8c087dd929df4eb4002b Mon Sep 17 00:00:00 2001 From: Gregor Vostrak Date: Wed, 23 Apr 2025 14:24:36 +0200 Subject: [PATCH] prevent billable rate change modals from immediately sumbitting when pressing enter on the previous form --- resources/js/Components/Common/Member/MemberEditModal.vue | 5 ++++- resources/js/Components/Common/Project/ProjectEditModal.vue | 5 ++++- .../Common/ProjectMember/ProjectMemberEditModal.vue | 5 ++++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/resources/js/Components/Common/Member/MemberEditModal.vue b/resources/js/Components/Common/Member/MemberEditModal.vue index da26f36e..93a98faf 100644 --- a/resources/js/Components/Common/Member/MemberEditModal.vue +++ b/resources/js/Components/Common/Member/MemberEditModal.vue @@ -49,7 +49,10 @@ const showOwnershipTransferConfirmModal = ref(false); function saveWithChecks() { if (memberBody.value.billable_rate !== props.member.billable_rate) { - showBillableRateModal.value = true; + // make sure that the alert modal is not immediately submitted when user presses enter + setTimeout(() => { + showBillableRateModal.value = true; + }, 0); show.value = false; } else if ( memberBody.value.role === 'owner' && diff --git a/resources/js/Components/Common/Project/ProjectEditModal.vue b/resources/js/Components/Common/Project/ProjectEditModal.vue index 5c0d0923..1b443c57 100644 --- a/resources/js/Components/Common/Project/ProjectEditModal.vue +++ b/resources/js/Components/Common/Project/ProjectEditModal.vue @@ -48,7 +48,10 @@ const project = ref({ async function submit() { if (props.originalProject.billable_rate !== project.value.billable_rate) { - showBillableRateModal.value = true; + // + setTimeout(() => { + showBillableRateModal.value = true; + }, 0); return; } await updateProject(props.originalProject.id, project.value); diff --git a/resources/js/Components/Common/ProjectMember/ProjectMemberEditModal.vue b/resources/js/Components/Common/ProjectMember/ProjectMemberEditModal.vue index 80a9abb1..558a6872 100644 --- a/resources/js/Components/Common/ProjectMember/ProjectMemberEditModal.vue +++ b/resources/js/Components/Common/ProjectMember/ProjectMemberEditModal.vue @@ -33,7 +33,10 @@ async function submit() { props.projectMember.billable_rate !== projectMemberBody.value.billable_rate ) { - showBillableRateModal.value = true; + // make sure that the alert modal is not immediately submitted when user presses enter + setTimeout(() => { + showBillableRateModal.value = true; + }, 0); return; } await updateProjectMember(props.projectMember.id, projectMemberBody.value);