From 6b680ff6811bec3a01670c3c1f14f102ffed3b62 Mon Sep 17 00:00:00 2001 From: Bruno Windels Date: Tue, 28 May 2019 10:34:29 +0200 Subject: [PATCH] fallback to setting caret on line node for empty lines instead of setting at the end of the editor --- src/editor/caret.js | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/editor/caret.js b/src/editor/caret.js index 5ff9dbc950..f93e9604d5 100644 --- a/src/editor/caret.js +++ b/src/editor/caret.js @@ -44,14 +44,11 @@ export function setCaretPosition(editor, model, caretPosition) { let focusNode; const lineNode = editor.childNodes[lineIndex]; if (lineNode) { - if (lineNode.childNodes.length === 0 && offset === 0) { + focusNode = lineNode.childNodes[nodeIndex]; + if (!focusNode) { focusNode = lineNode; - } else { - focusNode = lineNode.childNodes[nodeIndex]; - - if (focusNode && focusNode.nodeType === Node.ELEMENT_NODE) { - focusNode = focusNode.childNodes[0]; - } + } else if (focusNode.nodeType === Node.ELEMENT_NODE) { + focusNode = focusNode.childNodes[0]; } } // node not found, set caret at end