From 0248517c6845a6c755d40c89d3d769ce7d60bd03 Mon Sep 17 00:00:00 2001 From: Leonardo Bishop Date: Thu, 23 Jan 2025 15:59:58 +0000 Subject: Some more shit --- components/Dialog.vue | 41 ++++++++++++++++++++++++++++++++++------- 1 file changed, 34 insertions(+), 7 deletions(-) (limited to 'components/Dialog.vue') diff --git a/components/Dialog.vue b/components/Dialog.vue index 3d91de0..7772f23 100644 --- a/components/Dialog.vue +++ b/components/Dialog.vue @@ -7,6 +7,7 @@ const refDialog = ref(null); const props = defineProps<{ kind?: 'normal' | 'error'; fitContents?: boolean; + title?: string; }>(); const showModal = () => { @@ -18,7 +19,7 @@ const closeModal = () => { refDialog.value?.close(); }; -const emit = defineEmits(['close']); +const emit = defineEmits(['close', 'submit']); defineExpose({ show: showModal, @@ -31,6 +32,15 @@ const onClose = () => { emit('close'); }; +const onSubmit = (e: Event) => { + e.preventDefault(); + const formData = new FormData(e.target as HTMLFormElement); + const formValue = Object.fromEntries(formData.entries()); + emit('submit', formValue); + + closeModal(); +}; + const onDivClick = (e: MouseEvent) => { e.stopPropagation() }; @@ -43,10 +53,16 @@ const onDialogClick = (e: MouseEvent) => {