浏览代码

:art: https://github.com/siyuan-note/siyuan/issues/5066 onLayoutReady

Vanessa 2 年之前
父节点
当前提交
b898f7b4c7
共有 2 个文件被更改,包括 13 次插入5 次删除
  1. 9 5
      app/src/layout/util.ts
  2. 4 0
      app/src/plugin/index.ts

+ 9 - 5
app/src/layout/util.ts

@@ -449,16 +449,20 @@ export const JSONToLayout = (app: App, isStart: boolean) => {
     }
     const idZoomIn = getIdZoomInByPath();
 
-    // 启动时 layout 中有该文档,该文档还原会在此之后,因此需有延迟
-    if (idZoomIn.id) {
-        setTimeout(() => {
+
+    setTimeout(() => {
+        // 启动时 layout 中有该文档,该文档还原会在此之后,因此需有延迟
+        if (idZoomIn.id) {
             openFileById({
                 id: idZoomIn.id,
                 action: idZoomIn.isZoomIn ? [Constants.CB_GET_ALL, Constants.CB_GET_FOCUS] : [Constants.CB_GET_FOCUS, Constants.CB_GET_CONTEXT],
                 zoomIn: idZoomIn.isZoomIn
             });
-        }, Constants.TIMEOUT_LOAD);
-    }
+        }
+        app.plugins.forEach(item => {
+            item.onLayoutReady();
+        })
+    }, Constants.TIMEOUT_LOAD);
 };
 
 export const layoutToJSON = (layout: Layout | Wnd | Tab | Model, json: any, dropEditScroll = false) => {

+ 4 - 0
app/src/plugin/index.ts

@@ -47,6 +47,10 @@ export class Plugin {
         // 禁用/卸载
     }
 
+    public onLayoutReady() {
+        // 布局加载完成
+    }
+
     public addTopBar(options: {
         icon: string,
         title: string,