Sfoglia il codice sorgente

:lipstick: fix https://github.com/siyuan-note/siyuan/issues/6512

Vanessa 2 anni fa
parent
commit
14a01a7365
2 ha cambiato i file con 14 aggiunte e 7 eliminazioni
  1. 11 7
      app/src/layout/Wnd.ts
  2. 3 0
      app/src/layout/util.ts

+ 11 - 7
app/src/layout/Wnd.ts

@@ -576,7 +576,7 @@ export class Wnd {
         model.send("closews", {});
         model.send("closews", {});
     }
     }
 
 
-    private removeTabAction = (id: string, closeAll = false, hasSaveScroll = true) => {
+    private removeTabAction = (id: string, closeAll = false, hasSaveScroll = true, animate = true) => {
         clearCounter();
         clearCounter();
         this.children.find((item, index) => {
         this.children.find((item, index) => {
             if (item.id === id) {
             if (item.id === id) {
@@ -616,10 +616,14 @@ export class Wnd {
                             this.switchTab(this.children[currentIndex].headElement, true);
                             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();
                         item.headElement.remove();
-                    }, Constants.TIMEOUT_TRANSITION);
+                    }
                 }
                 }
                 item.panelElement.remove();
                 item.panelElement.remove();
                 this.destroyModel(item.model);
                 this.destroyModel(item.model);
@@ -643,7 +647,7 @@ export class Wnd {
         /// #endif
         /// #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++) {
         for (let index = 0; index < this.children.length; index++) {
             const item = this.children[index];
             const item = this.children[index];
             if (item.id === id) {
             if (item.id === id) {
@@ -652,9 +656,9 @@ export class Wnd {
                         showMessage(window.siyuan.languages.uploading);
                         showMessage(window.siyuan.languages.uploading);
                         return;
                         return;
                     }
                     }
-                    this.removeTabAction(id, closeAll, needSaveScroll);
+                    this.removeTabAction(id, closeAll, needSaveScroll, animate);
                 } else {
                 } else {
-                    this.removeTabAction(id, closeAll, needSaveScroll);
+                    this.removeTabAction(id, closeAll, needSaveScroll, animate);
                 }
                 }
                 return;
                 return;
             }
             }

+ 3 - 0
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).addTab(child);
         (layout as Wnd).showHeading();
         (layout as Wnd).showHeading();
     } else if (json.instance === "Editor" && json.blockId) {
     } 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));
         (layout as Tab).headElement.setAttribute("data-initdata", JSON.stringify(json));
     } else if (json.instance === "Asset") {
     } else if (json.instance === "Asset") {
         (layout as Tab).addModel(new Asset({
         (layout as Tab).addModel(new Asset({