diff --git a/src/bundle/Resources/public/js/scripts/admin.contenttype.edit.js b/src/bundle/Resources/public/js/scripts/admin.contenttype.edit.js index 6f09f52ef1..c7b3e6ca4c 100644 --- a/src/bundle/Resources/public/js/scripts/admin.contenttype.edit.js +++ b/src/bundle/Resources/public/js/scripts/admin.contenttype.edit.js @@ -36,6 +36,28 @@ contentType: 'application/vnd.ibexa.api.ContentTypeFieldDefinitionReorder+json', }, }; + const ENTER_KEY_CODE = 13; + const inputTypeToPreventSubmit = [ + 'checkbox', + 'color', + 'date', + 'datetime-local', + 'email', + 'file', + 'image', + 'month', + 'number', + 'radio', + 'range', + 'reset', + 'search', + 'select-one', + 'select-multiple', + 'tel', + 'text', + 'time', + 'url', + ]; new ibexa.core.PopupMenu({ popupMenuElement, triggerElement: addGroupTriggerBtn, @@ -617,5 +639,18 @@ false, ); + editForm.addEventListener( + 'keypress', + (event) => { + const keyCode = event.charCode || event.keyCode || 0; + const activeElementType = typeof doc.activeElement.type !== 'undefined' ? doc.activeElement.type.toLowerCase() : ''; + + if (keyCode === ENTER_KEY_CODE && inputTypeToPreventSubmit.includes(activeElementType)) { + event.preventDefault(); + } + }, + false, + ); + toggleAddGroupTriggerBtnState(); })(window, window.document, window.ibexa, window.Routing, window.Translator, window.bootstrap);