From 8ff4fc56216e427565bb0f7d017b6586b2652c2b Mon Sep 17 00:00:00 2001 From: Vanessa Date: Sat, 22 Apr 2023 17:41:26 +0800 Subject: [PATCH] :art: fix https://github.com/siyuan-note/siyuan/issues/8066 --- app/src/protyle/util/insertHTML.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/app/src/protyle/util/insertHTML.ts b/app/src/protyle/util/insertHTML.ts index adc1f1c80..b74985354 100644 --- a/app/src/protyle/util/insertHTML.ts +++ b/app/src/protyle/util/insertHTML.ts @@ -34,14 +34,19 @@ export const insertHTML = (html: string, protyle: IProtyle, isBlock = false, let id = blockElement.getAttribute("data-node-id"); range.insertNode(document.createElement("wbr")); let oldHTML = blockElement.outerHTML; + const isNodeCodeBlock = blockElement.getAttribute("data-type") === "NodeCodeBlock" if (!isBlock && - (blockElement.getAttribute("data-type") === "NodeCodeBlock" || protyle.toolbar.getCurrentType(range).includes("code"))) { + (isNodeCodeBlock || protyle.toolbar.getCurrentType(range).includes("code"))) { range.deleteContents(); range.insertNode(document.createTextNode(html.replace(/\r\n|\r|\u2028|\u2029/g, "\n"))); range.collapse(false); range.insertNode(document.createElement("wbr")); - getContenteditableElement(blockElement).removeAttribute("data-render"); - highlightRender(blockElement); + if (isNodeCodeBlock) { + getContenteditableElement(blockElement).removeAttribute("data-render"); + highlightRender(blockElement); + } else { + focusByWbr(blockElement, range); + } blockElement.setAttribute("updated", dayjs().format("YYYYMMDDHHmmss")); updateTransaction(protyle, id, blockElement.outerHTML, oldHTML); setTimeout(() => {