text field list enter impr

This commit is contained in:
Yuri Kuznetsov
2025-03-01 09:40:07 +02:00
parent 8a76e70fcb
commit 9e11cecfa5
+13 -3
View File
@@ -617,15 +617,27 @@ class TextFieldView extends BaseFieldView {
this.textAreaElement.addEventListener('keydown', this.onKeyDownMarkdownBind);
}
/**
* @type {boolean}
* @private
*/
_lastEnteredKeyIsEnter = false
/**
* @private
* @param {KeyboardEvent} event
*/
onKeyDownMarkdown(event) {
if (Espo.Utils.getKeyFromKeyEvent(event) !== 'Enter') {
this._lastEnteredKeyIsEnter = false;
return;
}
const lastEnteredKeyIsEnter = this._lastEnteredKeyIsEnter;
this._lastEnteredKeyIsEnter = true;
const target = event.target;
if (!(target instanceof HTMLTextAreaElement)) {
@@ -654,9 +666,7 @@ class TextFieldView extends BaseFieldView {
event.preventDefault();
if (match[3].trim() === '') {
// @todo Skip handling if no enumeration line before.
if (match[3].trim() === '' && lastEnteredKeyIsEnter) {
target.value = before.substring(0, match.index) + '\n' + after;
target.selectionStart = target.selectionEnd = target.value.length - after.length;