diff --git a/app/src/protyle/util/insertHTML.ts b/app/src/protyle/util/insertHTML.ts index 154f0aaa9..6a831b3b8 100644 --- a/app/src/protyle/util/insertHTML.ts +++ b/app/src/protyle/util/insertHTML.ts @@ -565,21 +565,19 @@ export const insertHTML = (html: string, protyle: IProtyle, isBlock = false, blockElement.getAttribute("fold") === "1" && !insertBefore) { fetchPost("/api/block/getHeadingChildrenIDs", {id: blockElement.getAttribute("data-node-id")}, (response) => { const childrenIDs: string[] = response.data; - if (childrenIDs.length > 0) { - const previousId = childrenIDs[childrenIDs.length - 1]; - foldData = setFold(protyle, blockElement, true, false, false, true); - foldData.doOperations[0].context = { - focusId: lastElement?.getAttribute("data-node-id"), - }; - doOperation.forEach(item => { - if (item.action === "insert") { - item.previousID = previousId; - } - }); - doOperation.splice(0, 0, ...foldData.doOperations); - undoOperation.push(...foldData.undoOperations); - transaction(protyle, doOperation, undoOperation); - } + const previousId = (childrenIDs && childrenIDs.length > 0) ? childrenIDs[childrenIDs.length - 1] : blockElement.getAttribute("data-node-id"); + foldData = setFold(protyle, blockElement, true, false, false, true); + foldData.doOperations[0].context = { + focusId: lastElement?.getAttribute("data-node-id"), + }; + doOperation.forEach(item => { + if (item.action === "insert") { + item.previousID = previousId; + } + }); + doOperation.splice(0, 0, ...foldData.doOperations); + undoOperation.push(...foldData.undoOperations); + transaction(protyle, doOperation, undoOperation); }); return; }