wip fix
This commit is contained in:
parent
5d292c3bb7
commit
0ee95e5589
File diff suppressed because one or more lines are too long
|
|
@ -34,7 +34,7 @@ export const viEvalScript = (
|
||||||
scope: passprop,
|
scope: passprop,
|
||||||
result: null,
|
result: null,
|
||||||
Local: createViLocal(vi, is_layout, meta),
|
Local: createViLocal(vi, is_layout, meta),
|
||||||
PassProp: createViPassProp(vi, meta),
|
PassProp: createViPassProp(vi, is_layout, meta),
|
||||||
};
|
};
|
||||||
} else {
|
} else {
|
||||||
meta.script.scope = passprop;
|
meta.script.scope = passprop;
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,13 @@
|
||||||
import { ReactNode, isValidElement } from "react";
|
import { ReactNode, isValidElement } from "react";
|
||||||
import { IMeta } from "../../../ed/logic/ed-global";
|
import { IMeta } from "../../../ed/logic/ed-global";
|
||||||
import { VG } from "../global";
|
import { VG } from "../global";
|
||||||
|
import { ViChild } from "../render";
|
||||||
|
|
||||||
export const createViPassProp = (vi: { meta: VG["meta"] }, meta: IMeta) => {
|
export const createViPassProp = (
|
||||||
|
vi: { meta: VG["meta"] },
|
||||||
|
is_layout: boolean,
|
||||||
|
meta: IMeta
|
||||||
|
) => {
|
||||||
return (arg: Record<string, any> & { children: ReactNode }) => {
|
return (arg: Record<string, any> & { children: ReactNode }) => {
|
||||||
if (!meta.item.script) {
|
if (!meta.item.script) {
|
||||||
meta.item.script = {};
|
meta.item.script = {};
|
||||||
|
|
@ -22,6 +27,18 @@ export const createViPassProp = (vi: { meta: VG["meta"] }, meta: IMeta) => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (
|
||||||
|
!Array.isArray(arg.children) &&
|
||||||
|
!isValidElement(arg.children) &&
|
||||||
|
typeof arg.children === "object"
|
||||||
|
) {
|
||||||
|
const child_id = (arg.children as any).id;
|
||||||
|
if (child_id) {
|
||||||
|
const meta = vi.meta[child_id];
|
||||||
|
return <ViChild is_layout={is_layout} meta={meta} />;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return modifyChild(arg, meta.script?.scope);
|
return modifyChild(arg, meta.script?.scope);
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue