diff options
Diffstat (limited to 'web_src/js/features/comp/QuickSubmit.ts')
-rw-r--r-- | web_src/js/features/comp/QuickSubmit.ts | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/web_src/js/features/comp/QuickSubmit.ts b/web_src/js/features/comp/QuickSubmit.ts new file mode 100644 index 0000000000..3ff29f4fac --- /dev/null +++ b/web_src/js/features/comp/QuickSubmit.ts @@ -0,0 +1,19 @@ +export function handleGlobalEnterQuickSubmit(target) { + let form = target.closest('form'); + if (form) { + if (!form.checkValidity()) { + form.reportValidity(); + } else { + // here use the event to trigger the submit event (instead of calling `submit()` method directly) + // otherwise the `areYouSure` handler won't be executed, then there will be an annoying "confirm to leave" dialog + form.dispatchEvent(new SubmitEvent('submit', {bubbles: true, cancelable: true})); + } + return true; + } + form = target.closest('.ui.form'); + if (form) { + form.querySelector('.ui.primary.button')?.click(); + return true; + } + return false; +} |