From eb67873f0f179f8e7cf67481e6ded5d553d22667 Mon Sep 17 00:00:00 2001 From: Rizky Date: Sat, 27 Jul 2024 19:59:27 +0700 Subject: [PATCH] fix --- .../src/nova/ed/panel/popup/script/monaco.tsx | 6 ++++ .../ed/panel/popup/script/scope/scope.tsx | 28 ++++++++----------- .../nova/ed/panel/tree/node/item/action.tsx | 2 +- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/app/web/src/nova/ed/panel/popup/script/monaco.tsx b/app/web/src/nova/ed/panel/popup/script/monaco.tsx index 8f493855..0352319b 100644 --- a/app/web/src/nova/ed/panel/popup/script/monaco.tsx +++ b/app/web/src/nova/ed/panel/popup/script/monaco.tsx @@ -64,6 +64,12 @@ export const EdScriptMonaco: FC<{}> = () => { } return () => { + p.ui.monaco.editor.getModels().forEach((model: any) => { + const uri = model.uri.toString(); + if (uri.startsWith("typings:")) { + model.dispose(); + } + }); p.ui.monaco = null; p.script.do_edit = async () => {}; }; diff --git a/app/web/src/nova/ed/panel/popup/script/scope/scope.tsx b/app/web/src/nova/ed/panel/popup/script/scope/scope.tsx index ebaaee65..4e1f1c55 100644 --- a/app/web/src/nova/ed/panel/popup/script/scope/scope.tsx +++ b/app/web/src/nova/ed/panel/popup/script/scope/scope.tsx @@ -1,12 +1,10 @@ import type { OnMount } from "@monaco-editor/react"; +import { traverse } from "estree-toolkit"; +import { TypedArray } from "yjs-types"; +import { jscript } from "../../../../../../utils/script/jscript"; +import { register } from "../../../../../../utils/script/typings"; import { IContent } from "../../../../../../utils/types/general"; import { IMeta, PG, active } from "../../../../logic/ed-global"; -import { TypedArray } from "yjs-types"; -import { register } from "../../../../../../utils/script/typings"; -import { ReactElement } from "react"; -import get from "lodash.get"; -import { traverse } from "estree-toolkit"; -import { jscript } from "../../../../../../utils/script/jscript"; type Monaco = Parameters[1]; export type MonacoEditor = Parameters[0]; @@ -146,14 +144,6 @@ export const declareScope = (p: PG, meta: IMeta, monaco: Monaco) => { } } } - if (m.item.id !== meta.item.id) { - const script = m.item.script; - if (script) { - if (script.local) { - vars[script.local.name] = { mode: "local", val: script.local.value }; - } - } - } const comp = m.item.component; @@ -236,7 +226,7 @@ export const ${k} = null as unknown as ${v.val}; } } - register(monaco, tree_types.join("\n"), "ts:tree_types.d.ts"); + register(monaco, tree_types.join("\n"), "typings:tree_types.d.ts"); register( monaco, `\ @@ -245,9 +235,13 @@ ${tree_usage.map((e) => e.import).join("\n")} declare global { ${tree_usage.map((e) => e.usage).join("\n")} }`, - "ts:tree_usage.ts" + "typings:tree_usage.ts" + ); + register( + monaco, + Object.values(comp_types).join("\n"), + "typings:comp_types.d.ts" ); - register(monaco, Object.values(comp_types).join("\n"), "ts:comp_types.d.ts"); }; const map_childs = ( diff --git a/app/web/src/nova/ed/panel/tree/node/item/action.tsx b/app/web/src/nova/ed/panel/tree/node/item/action.tsx index 0f0820ba..9e0477f3 100644 --- a/app/web/src/nova/ed/panel/tree/node/item/action.tsx +++ b/app/web/src/nova/ed/panel/tree/node/item/action.tsx @@ -40,7 +40,7 @@ export const EdTreeAction = ({ } return ( -
+
{!!item.hidden && (