wip fix coding local
This commit is contained in:
parent
d99ddba502
commit
2a5e0164a4
|
|
@ -139,6 +139,39 @@ export const EdScriptMonaco: FC<{}> = () => {
|
|||
break;
|
||||
case "prop-instance":
|
||||
{
|
||||
let parent_meta = null;
|
||||
const parent_id = meta.parent?.id;
|
||||
if (parent_id) {
|
||||
if (active.comp_id) {
|
||||
parent_meta =
|
||||
p.comp.list[active.comp_id].meta[parent_id];
|
||||
} else {
|
||||
parent_meta = p.page.meta[parent_id];
|
||||
}
|
||||
}
|
||||
if (parent_meta) {
|
||||
const scope = declareScope(p, parent_meta, monaco);
|
||||
for (const [k, v] of Object.entries(scope.exports)) {
|
||||
addScope(p, monaco, `file:///${k}`, v);
|
||||
}
|
||||
addScope(
|
||||
p,
|
||||
monaco,
|
||||
`file:///prop-global.d.ts`,
|
||||
`\
|
||||
${Object.entries(scope.vars).map(([var_name, var_from]) => {
|
||||
return `import {${var_name} as ___${var_name}} from "./${var_from}"`;
|
||||
})}
|
||||
declare global {
|
||||
${Object.entries(scope.vars).map(([var_name]) => {
|
||||
return `const ${var_name} = ___${var_name}`;
|
||||
})}
|
||||
}
|
||||
`
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
const nmodel = monaco.editor.createModel(
|
||||
val,
|
||||
"typescript",
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ type Monaco = Parameters<OnMount>[1];
|
|||
export type MonacoEditor = Parameters<OnMount>[0];
|
||||
|
||||
export const declareScope = (p: PG, meta: IMeta, monaco: Monaco) => {
|
||||
const vars: Record<string, string> = {};
|
||||
const metas = active.comp_id
|
||||
? p.comp.list[active.comp_id]?.meta
|
||||
: p.page.meta;
|
||||
|
|
@ -59,6 +60,10 @@ export const declareScope = (p: PG, meta: IMeta, monaco: Monaco) => {
|
|||
const ${k}__local = ${v.val};
|
||||
export const ${k}: typeof ${k}__local & { render: ()=>void } = ${k}__local as any;`;
|
||||
}
|
||||
|
||||
if (src) {
|
||||
vars[k] = `${m.item.id}_${k}_${v.type}`;
|
||||
}
|
||||
exports[`${m.item.id}_${k}_${v.type}.tsx`] = src;
|
||||
}
|
||||
}
|
||||
|
|
@ -91,7 +96,7 @@ export const declareScope = (p: PG, meta: IMeta, monaco: Monaco) => {
|
|||
prev_m = m;
|
||||
}
|
||||
|
||||
return { exports, imports };
|
||||
return { exports, imports, vars };
|
||||
};
|
||||
|
||||
const map_childs = (
|
||||
|
|
|
|||
Loading…
Reference in New Issue