From 4e0d74f70588a8f58917b72327e73743a66ded7e Mon Sep 17 00:00:00 2001 From: Vanessa Date: Fri, 16 Jan 2026 10:27:29 +0800 Subject: [PATCH] :art: https://github.com/siyuan-note/siyuan/issues/16678 --- app/src/protyle/wysiwyg/callout.ts | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/app/src/protyle/wysiwyg/callout.ts b/app/src/protyle/wysiwyg/callout.ts index c8bffc020..f8c5d5331 100644 --- a/app/src/protyle/wysiwyg/callout.ts +++ b/app/src/protyle/wysiwyg/callout.ts @@ -1,5 +1,5 @@ import {transaction} from "./transaction"; -import {focusBlock} from "../util/selection"; +import {focusByRange} from "../util/selection"; import {Dialog} from "../../dialog"; import {Menu} from "../../plugin/Menu"; import {isMobile} from "../../util/functions"; @@ -10,6 +10,7 @@ export const updateCalloutType = (blockElements: HTMLElement[], protyle: IProtyl if (blockElements.length === 0) { return; } + const range = getSelection().rangeCount > 0 ? getSelection().getRangeAt(0) : null; const blockCalloutElement = blockElements[0].querySelector(".callout-icon"); const dialog = new Dialog({ title: window.siyuan.languages.callout, @@ -48,6 +49,11 @@ export const updateCalloutType = (blockElements: HTMLElement[], protyle: IProtyl `, width: isMobile() ? "92vw" : "520px", + destroyCallback() { + if (range) { + focusByRange(range); + } + } }); const btnElements = dialog.element.querySelectorAll(".b3-button"); btnElements[0].addEventListener("click", () => { @@ -81,7 +87,6 @@ export const updateCalloutType = (blockElements: HTMLElement[], protyle: IProtyl }); }); transaction(protyle, doOperations, undoOperations); - focusBlock(blockElements[0]); dialog.destroy(); }); const textElements: NodeListOf = dialog.element.querySelectorAll(".b3-text-field");