Skip to content

Commit

Permalink
move handleGlobalEnterQuickSubmit into a separate file to avoid cycle…
Browse files Browse the repository at this point in the history
…-import (#20679)
  • Loading branch information
wxiaoguang authored Aug 5, 2022
1 parent ba0a0d3 commit 42d9a6a
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 15 deletions.
15 changes: 1 addition & 14 deletions web_src/js/features/common-global.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import createDropzone from './dropzone.js';
import {initCompColorPicker} from './comp/ColorPicker.js';
import {showGlobalErrorMessage} from '../bootstrap.js';
import {attachDropdownAria} from './aria.js';
import {handleGlobalEnterQuickSubmit} from './comp/QuickSubmit.js';

const {appUrl, csrfToken} = window.config;

Expand Down Expand Up @@ -53,20 +54,6 @@ export function initGlobalEnterQuickSubmit() {
});
}

export function handleGlobalEnterQuickSubmit(target) {
const $target = $(target);
const $form = $(target).closest('form');
if ($form.length) {
// 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.trigger('submit');
} 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.trigger('ce-quick-submit');
}
}

export function initGlobalButtonClickOnEnter() {
$(document).on('keypress', '.ui.button', (e) => {
if (e.keyCode === 13 || e.keyCode === 32) { // enter key or space bar
Expand Down
2 changes: 1 addition & 1 deletion web_src/js/features/comp/EasyMDE.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import $ from 'jquery';
import attachTribute from '../tribute.js';
import {handleGlobalEnterQuickSubmit} from '../common-global.js';
import {handleGlobalEnterQuickSubmit} from './QuickSubmit.js';

/**
* @returns {EasyMDE}
Expand Down
15 changes: 15 additions & 0 deletions web_src/js/features/comp/QuickSubmit.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import $ from 'jquery';

export function handleGlobalEnterQuickSubmit(target) {
const $target = $(target);
const $form = $(target).closest('form');
if ($form.length) {
// 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.trigger('submit');
} 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.trigger('ce-quick-submit');
}
}

0 comments on commit 42d9a6a

Please sign in to comment.