diff --git a/app/src/layout/Wnd.ts b/app/src/layout/Wnd.ts index 86320d783..dd799aba0 100644 --- a/app/src/layout/Wnd.ts +++ b/app/src/layout/Wnd.ts @@ -576,7 +576,7 @@ export class Wnd { model.send("closews", {}); } - private removeTabAction = (id: string, closeAll = false, hasSaveScroll = true) => { + private removeTabAction = (id: string, closeAll = false, hasSaveScroll = true, animate = true) => { clearCounter(); this.children.find((item, index) => { if (item.id === id) { @@ -616,10 +616,14 @@ export class Wnd { this.switchTab(this.children[currentIndex].headElement, true); } } - item.headElement.setAttribute("style", "max-width: 0px;"); - setTimeout(() => { + if (animate) { + item.headElement.setAttribute("style", "max-width: 0px;"); + setTimeout(() => { + item.headElement.remove(); + }, Constants.TIMEOUT_TRANSITION); + } else { item.headElement.remove(); - }, Constants.TIMEOUT_TRANSITION); + } } item.panelElement.remove(); this.destroyModel(item.model); @@ -643,7 +647,7 @@ export class Wnd { /// #endif }; - public removeTab(id: string, closeAll = false, needSaveScroll = true) { + public removeTab(id: string, closeAll = false, needSaveScroll = true, animate = true) { for (let index = 0; index < this.children.length; index++) { const item = this.children[index]; if (item.id === id) { @@ -652,9 +656,9 @@ export class Wnd { showMessage(window.siyuan.languages.uploading); return; } - this.removeTabAction(id, closeAll, needSaveScroll); + this.removeTabAction(id, closeAll, needSaveScroll, animate); } else { - this.removeTabAction(id, closeAll, needSaveScroll); + this.removeTabAction(id, closeAll, needSaveScroll, animate); } return; } diff --git a/app/src/layout/util.ts b/app/src/layout/util.ts index 906f68833..11d389107 100644 --- a/app/src/layout/util.ts +++ b/app/src/layout/util.ts @@ -228,6 +228,9 @@ const JSONToCenter = (json: any, layout?: Layout | Wnd | Tab | Model) => { (layout as Wnd).addTab(child); (layout as Wnd).showHeading(); } else if (json.instance === "Editor" && json.blockId) { + if (window.siyuan.config.fileTree.openFilesUseCurrentTab) { + (layout as Tab).headElement.classList.add("item--unupdate"); + } (layout as Tab).headElement.setAttribute("data-initdata", JSON.stringify(json)); } else if (json.instance === "Asset") { (layout as Tab).addModel(new Asset({