@ -44,13 +44,28 @@ export function initFootLanguageMenu() {
export function initGlobalEnterQuickSubmit ( ) {
$ ( '.js-quick-submit' ) . on ( 'keydown' , function ( e ) {
if ( ( ( e . ctrlKey && ! e . altKey ) || e . metaKey ) && ( e . keyCode === 13 || e . keyCode === 10 ) ) {
$ ( this ) . closest ( 'form' ) . trigger ( 'submit' ) ;
$ ( document ) . on ( 'keydown' , '.js-quick-submit' , ( e ) => {
if ( ( ( e . ctrlKey && ! e . altKey ) || e . metaKey ) && ( e . key === 'Enter' ) ) {
handleGlobalEnterQuickSubmit ( e . target ) ;
return false ;
}
} ) ;
}
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