🐛 Fix text editor paste inline/paragraph

This commit is contained in:
Aitor Moreno
2025-10-20 13:09:43 +02:00
parent 247c5c3700
commit ceb184782f

View File

@@ -1047,6 +1047,17 @@ export class SelectionController extends EventTarget {
return isParagraphEnd(this.focusNode, this.focusOffset);
}
#getFragmentInlineTextNode(fragment) {
if (isInline(fragment.firstElementChild.lastChild)) {
return fragment.firstElementChild.firstElementChild.lastChild;
}
return fragment.firstElementChild.lastChild;
}
#getFragmentParagraphTextNode(fragment) {
return fragment.lastElementChild.lastElementChild.lastChild;
}
/**
* Insert pasted fragment.
*
@@ -1071,7 +1082,7 @@ export class SelectionController extends EventTarget {
}
return this.collapse(collapseNode, collapseNode.nodeValue.length);
}
const collapseNode = fragment.lastElementChild.lastElementChild.firstChild;
const collapseNode = this.#getFragmentParagraphTextNode(fragment);
if (this.isParagraphStart) {
const a = fragment.lastElementChild;
const b = this.focusParagraph;