move handleGlobalEnterQuickSubmit into a separate file to avoid cycle-import (#20679)
This commit is contained in:
parent
ba0a0d31c9
commit
42d9a6a980
@ -5,6 +5,7 @@ import createDropzone from './dropzone.js';
|
|||||||
import {initCompColorPicker} from './comp/ColorPicker.js';
|
import {initCompColorPicker} from './comp/ColorPicker.js';
|
||||||
import {showGlobalErrorMessage} from '../bootstrap.js';
|
import {showGlobalErrorMessage} from '../bootstrap.js';
|
||||||
import {attachDropdownAria} from './aria.js';
|
import {attachDropdownAria} from './aria.js';
|
||||||
|
import {handleGlobalEnterQuickSubmit} from './comp/QuickSubmit.js';
|
||||||
|
|
||||||
const {appUrl, csrfToken} = window.config;
|
const {appUrl, csrfToken} = window.config;
|
||||||
|
|
||||||
@ -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() {
|
export function initGlobalButtonClickOnEnter() {
|
||||||
$(document).on('keypress', '.ui.button', (e) => {
|
$(document).on('keypress', '.ui.button', (e) => {
|
||||||
if (e.keyCode === 13 || e.keyCode === 32) { // enter key or space bar
|
if (e.keyCode === 13 || e.keyCode === 32) { // enter key or space bar
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import $ from 'jquery';
|
import $ from 'jquery';
|
||||||
import attachTribute from '../tribute.js';
|
import attachTribute from '../tribute.js';
|
||||||
import {handleGlobalEnterQuickSubmit} from '../common-global.js';
|
import {handleGlobalEnterQuickSubmit} from './QuickSubmit.js';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @returns {EasyMDE}
|
* @returns {EasyMDE}
|
||||||
|
15
web_src/js/features/comp/QuickSubmit.js
Normal file
15
web_src/js/features/comp/QuickSubmit.js
Normal file
@ -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');
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user