From e8710da689c5bd98aa29948c6a8971246b6d6739 Mon Sep 17 00:00:00 2001 From: Vanessa Date: Sat, 12 Apr 2025 00:46:53 +0800 Subject: [PATCH] :art: https://github.com/siyuan-note/siyuan/issues/13507 --- app/src/layout/dock/index.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/app/src/layout/dock/index.ts b/app/src/layout/dock/index.ts index af83960e8..3ea5f2043 100644 --- a/app/src/layout/dock/index.ts +++ b/app/src/layout/dock/index.ts @@ -20,6 +20,7 @@ import {App} from "../../index"; import {Plugin} from "../../plugin"; import {Custom} from "./Custom"; import {recordBeforeResizeTop} from "../../protyle/util/resize"; +import {Constants} from "../../constants"; const TYPES = ["file", "outline", "inbox", "bookmark", "tag", "graph", "globalGraph", "backlink"]; @@ -775,15 +776,14 @@ export class Dock { const sourceWnd = sourceDock.layout.children[parseInt(sourceElement.getAttribute("data-index"))] as Wnd; const sourceId = sourceElement.getAttribute("data-id"); if (sourceId) { - sourceWnd.removeTab(sourceElement.getAttribute("data-id")); + sourceWnd.removeTab(sourceElement.getAttribute("data-id"), false, true, false); sourceElement.removeAttribute("data-id"); } const hasActive = sourceElement.classList.contains("dock__item--active"); if (hasActive) { - sourceDock.toggleModel(type); + sourceDock.toggleModel(type, false, false, false, false); } delete sourceDock.data[type]; - // 目标处理 sourceElement.setAttribute("data-index", index.toString()); if (previousType) { @@ -801,7 +801,10 @@ export class Dock { if (hasActive) { this.toggleModel(type, true, false, false, false); } - saveLayout(); + // 保存布局需等待动画完毕 https://github.com/siyuan-note/siyuan/issues/13507 + setTimeout(() => { + saveLayout(); + }, Constants.TIMEOUT_TRANSITION); } public remove(key: TDock | string) {