fix prep-page
This commit is contained in:
parent
1748c55641
commit
207281726a
|
|
@ -51,53 +51,55 @@ export const loadCompForPage = async (ctree: IRoot, sync: SyncConnection) => {
|
|||
const result = new Set<string>();
|
||||
const loading = {} as Record<string, Promise<void>>;
|
||||
const should_save = {} as Record<string, IItem>;
|
||||
for (const child of ctree.childs) {
|
||||
await initLoadComp(
|
||||
{ comps: mcomps, meta, mode: "page" },
|
||||
child as unknown as IItem,
|
||||
{
|
||||
visit(meta, item, shared) {
|
||||
if (item.adv?.js) {
|
||||
let script = undefined;
|
||||
script = parseJs(item.adv.js);
|
||||
if (
|
||||
!item.script ||
|
||||
Object.keys(script || {}).length !==
|
||||
Object.keys(item.script || {}).length
|
||||
) {
|
||||
shared.should_save = true;
|
||||
item.script = script;
|
||||
}
|
||||
}
|
||||
},
|
||||
async done(shared) {
|
||||
if (shared.should_save && shared.root.component?.id) {
|
||||
should_save[shared.root.component.id] = shared.root;
|
||||
}
|
||||
},
|
||||
load: async (comp_ids) => {
|
||||
for (const id of comp_ids) {
|
||||
if (!docs.comp[id]) {
|
||||
if (typeof loading[id] === "undefined") {
|
||||
loading[id] = new Promise<void>(async (resolve) => {
|
||||
await loadComponent(id, sync);
|
||||
resolve();
|
||||
});
|
||||
if (ctree && ctree.childs) {
|
||||
for (const child of ctree.childs) {
|
||||
await initLoadComp(
|
||||
{ comps: mcomps, meta, mode: "page" },
|
||||
child as unknown as IItem,
|
||||
{
|
||||
visit(meta, item, shared) {
|
||||
if (item.adv?.js) {
|
||||
let script = undefined;
|
||||
script = parseJs(item.adv.js);
|
||||
if (
|
||||
!item.script ||
|
||||
Object.keys(script || {}).length !==
|
||||
Object.keys(item.script || {}).length
|
||||
) {
|
||||
shared.should_save = true;
|
||||
item.script = script;
|
||||
}
|
||||
await loading[id];
|
||||
} else {
|
||||
userSyncComponent(sync, id);
|
||||
}
|
||||
},
|
||||
async done(shared) {
|
||||
if (shared.should_save && shared.root.component?.id) {
|
||||
should_save[shared.root.component.id] = shared.root;
|
||||
}
|
||||
},
|
||||
load: async (comp_ids) => {
|
||||
for (const id of comp_ids) {
|
||||
if (!docs.comp[id]) {
|
||||
if (typeof loading[id] === "undefined") {
|
||||
loading[id] = new Promise<void>(async (resolve) => {
|
||||
await loadComponent(id, sync);
|
||||
resolve();
|
||||
});
|
||||
}
|
||||
await loading[id];
|
||||
} else {
|
||||
userSyncComponent(sync, id);
|
||||
}
|
||||
|
||||
result.add(id);
|
||||
mcomps[id] = docs.comp[id].doc
|
||||
.getMap("map")
|
||||
.get("root")
|
||||
?.toJSON() as IItem;
|
||||
}
|
||||
},
|
||||
}
|
||||
);
|
||||
result.add(id);
|
||||
mcomps[id] = docs.comp[id].doc
|
||||
.getMap("map")
|
||||
.get("root")
|
||||
?.toJSON() as IItem;
|
||||
}
|
||||
},
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
if (Object.keys(should_save).length > 0) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue