Vanessa 2025-04-12 00:46:53 +08:00
parent 7b5d58d5d3
commit e8710da689

View File

@ -20,6 +20,7 @@ import {App} from "../../index";
import {Plugin} from "../../plugin"; import {Plugin} from "../../plugin";
import {Custom} from "./Custom"; import {Custom} from "./Custom";
import {recordBeforeResizeTop} from "../../protyle/util/resize"; import {recordBeforeResizeTop} from "../../protyle/util/resize";
import {Constants} from "../../constants";
const TYPES = ["file", "outline", "inbox", "bookmark", "tag", "graph", "globalGraph", "backlink"]; 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 sourceWnd = sourceDock.layout.children[parseInt(sourceElement.getAttribute("data-index"))] as Wnd;
const sourceId = sourceElement.getAttribute("data-id"); const sourceId = sourceElement.getAttribute("data-id");
if (sourceId) { if (sourceId) {
sourceWnd.removeTab(sourceElement.getAttribute("data-id")); sourceWnd.removeTab(sourceElement.getAttribute("data-id"), false, true, false);
sourceElement.removeAttribute("data-id"); sourceElement.removeAttribute("data-id");
} }
const hasActive = sourceElement.classList.contains("dock__item--active"); const hasActive = sourceElement.classList.contains("dock__item--active");
if (hasActive) { if (hasActive) {
sourceDock.toggleModel(type); sourceDock.toggleModel(type, false, false, false, false);
} }
delete sourceDock.data[type]; delete sourceDock.data[type];
// 目标处理 // 目标处理
sourceElement.setAttribute("data-index", index.toString()); sourceElement.setAttribute("data-index", index.toString());
if (previousType) { if (previousType) {
@ -801,7 +801,10 @@ export class Dock {
if (hasActive) { if (hasActive) {
this.toggleModel(type, true, false, false, false); 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) { public remove(key: TDock | string) {