From df5efd2fba763684dc444b5d8403b8b5d9545d34 Mon Sep 17 00:00:00 2001 From: Vanessa Date: Sun, 16 Mar 2025 21:54:25 +0800 Subject: [PATCH] :art: https://github.com/siyuan-note/siyuan/issues/14370 --- app/src/protyle/wysiwyg/transaction.ts | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/app/src/protyle/wysiwyg/transaction.ts b/app/src/protyle/wysiwyg/transaction.ts index 009b618e5..107c89e6a 100644 --- a/app/src/protyle/wysiwyg/transaction.ts +++ b/app/src/protyle/wysiwyg/transaction.ts @@ -180,7 +180,7 @@ const promiseTransaction = () => { } // 更新嵌入块 protyle.wysiwyg.element.querySelectorAll('[data-type="NodeBlockQueryEmbed"]').forEach((item) => { - if (item.querySelector(`[data-node-id="${operation.id}"]`)) { + if (item.querySelector(`[data-node-id="${operation.id}"],[data-node-id="${operation.parentID}"],[data-node-id="${operation.previousID}"]`)) { item.removeAttribute("data-render"); blockRender(protyle, item); } @@ -676,13 +676,15 @@ export const onTransaction = (protyle: IProtyle, operation: IOperation, isUndo: focusByWbr(protyle.wysiwyg.element, range); } } - // 更新 ws 嵌入块 - protyle.wysiwyg.element.querySelectorAll('[data-type="NodeBlockQueryEmbed"]').forEach((item) => { - if (item.querySelector(`[data-node-id="${operation.id}"],[data-node-id="${operation.parentID}"],[data-node-id="${operation.previousID}"]`)) { - item.removeAttribute("data-render"); - blockRender(protyle, item); - } - }); + // 更新 ws 嵌入块,undo 会在 transaction 中更新 + if (!isUndo) { + protyle.wysiwyg.element.querySelectorAll('[data-type="NodeBlockQueryEmbed"]').forEach((item) => { + if (item.querySelector(`[data-node-id="${operation.id}"],[data-node-id="${operation.parentID}"],[data-node-id="${operation.previousID}"]`)) { + item.removeAttribute("data-render"); + blockRender(protyle, item); + } + }); + } return; } if (operation.action === "insert") {