mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-08-21 20:18:42 +02:00
- Switched to plain JavaScript - Tested the quick submit functionality and it works as before # Demo using JavaScript without jQuery ![action](https://github.com/go-gitea/gitea/assets/20454870/abbd6c49-ad0f-4f95-b4ba-e969b85a46e8) --------- Signed-off-by: Yarden Shoham <git@yardenshoham.com> (cherry picked from commit d8d4b33b31d959e4b600cc90a7fa1779b69cadf5)
17 lines
792 B
JavaScript
17 lines
792 B
JavaScript
export function handleGlobalEnterQuickSubmit(target) {
|
|
const form = target.closest('form');
|
|
if (form) {
|
|
if (!form.checkValidity()) {
|
|
form.reportValidity();
|
|
return;
|
|
}
|
|
|
|
// 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}));
|
|
} else {
|
|
// if no form, then the editor is for an AJAX request, dispatch an event to the target, let the target's event handler to do the AJAX request.
|
|
// the 'ce-' prefix means this is a CustomEvent
|
|
target.dispatchEvent(new CustomEvent('ce-quick-submit', {bubbles: true}));
|
|
}
|
|
}
|