wip fix
This commit is contained in:
parent
68ef147f13
commit
3367d15fa8
|
|
@ -30,17 +30,17 @@ export const prepContentTree = async (
|
|||
comps,
|
||||
meta,
|
||||
on: {
|
||||
visit_component(item) {
|
||||
if (item.component) {
|
||||
if (!item.component.instances) {
|
||||
item.component.instances = {};
|
||||
}
|
||||
}
|
||||
},
|
||||
visit(meta) {
|
||||
visit(meta, item) {
|
||||
if (meta.item.adv?.js) {
|
||||
meta.item.script = parseJs(meta.item.adv.js);
|
||||
}
|
||||
|
||||
if (item.component?.id) {
|
||||
if (!item.component?.instances) {
|
||||
item.component.instances = {};
|
||||
meta.item.childs = [];
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
mode: "page",
|
||||
|
|
@ -48,7 +48,7 @@ export const prepContentTree = async (
|
|||
{ item: root as unknown as IItem }
|
||||
);
|
||||
|
||||
return ctree;
|
||||
return root;
|
||||
};
|
||||
|
||||
const loadCompForPage = async (ctree: IRoot, sync: SyncConnection) => {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { IItem, MItem } from "../../../../utils/types/item";
|
||||
import { FMCompDef, FNCompDef } from "../../../../utils/types/meta-fn";
|
||||
import { genMeta } from "../../../vi/meta/meta";
|
||||
import { IMeta, PG, active } from "../ed-global";
|
||||
import { IMeta, PG } from "../ed-global";
|
||||
import { assignMitem } from "./assign-mitem";
|
||||
import { pushTreeNode } from "./build/push-tree";
|
||||
|
||||
|
|
@ -40,7 +40,9 @@ export const treeRebuild = async (p: PG, arg?: { note?: string }) => {
|
|||
on: {
|
||||
async visit(m) {
|
||||
if (!is_layout) {
|
||||
pushTreeNode(p, m, meta, p.page.tree);
|
||||
if (m.parent?.instance_id !== m.parent?.id) {
|
||||
pushTreeNode(p, m, meta, p.page.tree);
|
||||
}
|
||||
|
||||
assignMitem({ m, item, mitem, meta });
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ export const declareScope = async (
|
|||
? p.comp.list[active.comp_id]?.meta
|
||||
: p.page.meta;
|
||||
const entry = active.comp_id
|
||||
? [p.comp.loaded[active.comp_id].comp]
|
||||
? [p.comp.loaded[active.comp_id]]
|
||||
: p.page.entry.map((e) => p.page.meta[e].item);
|
||||
|
||||
const paths: IMeta[][] = [];
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ export const genComp = (p: GenMetaP, arg: GenMetaArg) => {
|
|||
|
||||
instantiate({
|
||||
item,
|
||||
comp: item_comp,
|
||||
item_comp: item_comp,
|
||||
ids: instance,
|
||||
});
|
||||
}
|
||||
|
|
@ -47,6 +47,7 @@ export const genComp = (p: GenMetaP, arg: GenMetaArg) => {
|
|||
instance_id: arg.parent?.instance_id,
|
||||
},
|
||||
};
|
||||
meta.item.childs = [];
|
||||
|
||||
if (item.id) {
|
||||
if (p.set_meta !== false) {
|
||||
|
|
@ -86,7 +87,7 @@ export const genComp = (p: GenMetaP, arg: GenMetaArg) => {
|
|||
});
|
||||
|
||||
if (p.on?.visit) {
|
||||
p.on.visit(meta);
|
||||
p.on.visit(meta, item);
|
||||
}
|
||||
|
||||
for (const child of Object.values(item.childs)) {
|
||||
|
|
|
|||
|
|
@ -5,11 +5,11 @@ import { FNComponent } from "../../../../utils/types/meta-fn";
|
|||
|
||||
export const instantiate = (arg: {
|
||||
item: IItem;
|
||||
comp: IItem;
|
||||
item_comp: IItem;
|
||||
ids: Record<string, string>;
|
||||
}) => {
|
||||
const { item, comp, ids } = arg;
|
||||
const newitem = deepClone(comp);
|
||||
const { item, item_comp, ids } = arg;
|
||||
const newitem = deepClone(item_comp);
|
||||
|
||||
walkChild(newitem, ids);
|
||||
|
||||
|
|
|
|||
|
|
@ -15,7 +15,6 @@ export const genMeta = (p: GenMetaP, arg: GenMetaArg) => {
|
|||
|
||||
const meta: IMeta = {
|
||||
item: simplifyItemChild(item),
|
||||
jsx_prop: arg.jsx_prop,
|
||||
parent: {
|
||||
id: arg.parent?.item.id || "root",
|
||||
instance_id: arg.parent?.instance_id,
|
||||
|
|
@ -23,8 +22,12 @@ export const genMeta = (p: GenMetaP, arg: GenMetaArg) => {
|
|||
},
|
||||
};
|
||||
|
||||
if (arg.jsx_prop) {
|
||||
meta.jsx_prop = arg.jsx_prop;
|
||||
}
|
||||
|
||||
if (p.on?.visit) {
|
||||
p.on.visit(meta);
|
||||
p.on.visit(meta, item);
|
||||
}
|
||||
|
||||
if (item.id) {
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ export type GenMetaP = {
|
|||
comps: Record<string, IItem>;
|
||||
on?: {
|
||||
visit_component?: (item: IItem) => void;
|
||||
visit?: (meta: IMeta) => void;
|
||||
visit?: (meta: IMeta, item: IItem) => void;
|
||||
};
|
||||
set_meta?: boolean;
|
||||
note?: string;
|
||||
|
|
|
|||
Loading…
Reference in New Issue