mirror of https://github.com/vector-im/riot-web
safeguard if the offsetnode is null when determining caret position
parent
7160922b77
commit
905aa81bf8
|
@ -92,6 +92,10 @@ function getSelectionOffsetAndText(editor, selectionNode, selectionOffset) {
|
||||||
// gets the caret position details, ignoring and adjusting to
|
// gets the caret position details, ignoring and adjusting to
|
||||||
// the ZWS if you're typing in a caret node
|
// the ZWS if you're typing in a caret node
|
||||||
function getCaret(node, offsetToNode, offsetWithinNode) {
|
function getCaret(node, offsetToNode, offsetWithinNode) {
|
||||||
|
// if no node is selected, return an offset at the start
|
||||||
|
if (!node) {
|
||||||
|
return new DocumentOffset(0, false);
|
||||||
|
}
|
||||||
let atNodeEnd = offsetWithinNode === node.textContent.length;
|
let atNodeEnd = offsetWithinNode === node.textContent.length;
|
||||||
if (node.nodeType === Node.TEXT_NODE && isCaretNode(node.parentElement)) {
|
if (node.nodeType === Node.TEXT_NODE && isCaretNode(node.parentElement)) {
|
||||||
const zwsIdx = node.nodeValue.indexOf(CARET_NODE_CHAR);
|
const zwsIdx = node.nodeValue.indexOf(CARET_NODE_CHAR);
|
||||||
|
|
Loading…
Reference in New Issue