From cfdcaebb3548b8987ee70ccd5ae6dcd31bf613de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dirk=20Sch=C3=BCrjohann?= Date: Sat, 19 Dec 2020 22:34:27 +0100 Subject: [PATCH] submit forms via strg/cmd + enter (#4209) --- redaxo/src/core/assets/standard.js | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/redaxo/src/core/assets/standard.js b/redaxo/src/core/assets/standard.js index 8e922ae1be..60ed4368c0 100644 --- a/redaxo/src/core/assets/standard.js +++ b/redaxo/src/core/assets/standard.js @@ -679,6 +679,8 @@ jQuery(document).ready(function($) { ((windowHeight - rect.bottom) < menuHeight) && (rect.top > menuHeight)); }); + + document.addEventListener('keydown', handleKeyEvents, true); }); // keep session alive @@ -692,3 +694,25 @@ if ('login' !== rex.page && rex.session_keep_alive) { clearInterval(keepAliveInterval); }, rex.session_keep_alive * 1000 /* stop request after x seconds - see config.yml */); } + +// handle key events +var handleKeyEvents = function (event) { + + // submit forms via strg/cmd + enter + if (event.metaKey && event.keyCode === 13) { + var form = event.target.closest('form'); + if (form) { + // click apply button if available (e.g. when editing content) + var applyButton = form.querySelector('.btn-apply'); + if (applyButton) { + applyButton.click(); + } else { + // click (first) submit button + var submitButton = form.querySelector('[type=\'submit\']'); + if (submitButton) { + submitButton.click(); + } + } + } + } +}