0
Fork 0
mirror of https://github.com/fastmail/Squire.git synced 2024-12-22 07:13:08 -05:00

Don't use live NodeList

This commit is contained in:
djmaze 2023-02-18 10:46:08 +01:00 committed by Neil Jenkins
parent 27f19c4782
commit cdb57ebda0

View file

@ -59,18 +59,14 @@ const fixContainer = (
container: Node,
root: Element | DocumentFragment,
): Node => {
const children = container.childNodes;
let wrapper: HTMLElement | null = null;
for (let i = 0, l = children.length; i < l; i += 1) {
const child = children[i];
[...container.childNodes].forEach(child => {
const isBR = child.nodeName === 'BR';
if (!isBR && isInline(child)) {
if (!wrapper) {
wrapper = createElement('DIV');
}
wrapper.appendChild(child);
i -= 1;
l -= 1;
} else if (isBR || wrapper) {
if (!wrapper) {
wrapper = createElement('DIV');
@ -80,15 +76,13 @@ const fixContainer = (
container.replaceChild(wrapper, child);
} else {
container.insertBefore(wrapper, child);
i += 1;
l += 1;
}
wrapper = null;
}
if (isContainer(child)) {
fixContainer(child, root);
}
}
});
if (wrapper) {
container.appendChild(fixCursor(wrapper));
}