wip fix scope
This commit is contained in:
parent
59b7c28ca4
commit
18ee61fdd6
|
|
@ -82,7 +82,6 @@ export const edInitSync = (p: PG) => {
|
||||||
|
|
||||||
if (arg.src) {
|
if (arg.src) {
|
||||||
const w = window as any;
|
const w = window as any;
|
||||||
console.clear();
|
|
||||||
const module = evalCJS(decoder.decode(decompress(arg.src)));
|
const module = evalCJS(decoder.decode(decompress(arg.src)));
|
||||||
if (typeof module === "object") {
|
if (typeof module === "object") {
|
||||||
for (const [k, v] of Object.entries(module)) {
|
for (const [k, v] of Object.entries(module)) {
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,6 @@ import { code } from "../popup/code/code";
|
||||||
|
|
||||||
export const EdMain = () => {
|
export const EdMain = () => {
|
||||||
const p = useGlobal(EDGlobal, "EDITOR");
|
const p = useGlobal(EDGlobal, "EDITOR");
|
||||||
const root = p.page.tree.find((e) => e.parent === "root");
|
|
||||||
return (
|
return (
|
||||||
<div
|
<div
|
||||||
className={cx(
|
className={cx(
|
||||||
|
|
|
||||||
|
|
@ -200,7 +200,6 @@ const spreadScope = (
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
console.clear();
|
|
||||||
mergeScopes(parents, each, {});
|
mergeScopes(parents, each, {});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,8 @@ import { createPassProp } from "./script/create-pass-prop";
|
||||||
import { ErrorBox } from "./script/error-box";
|
import { ErrorBox } from "./script/error-box";
|
||||||
import { mergeScopeUpwards } from "./script/merge-upward";
|
import { mergeScopeUpwards } from "./script/merge-upward";
|
||||||
|
|
||||||
|
|
||||||
|
const renderLimit = {} as Record<string, Record<string, { ts: number, count: number; cache: ReactNode }>>;
|
||||||
export const ViewMetaScript: FC<{
|
export const ViewMetaScript: FC<{
|
||||||
v: VG;
|
v: VG;
|
||||||
item: IItem | IText | ISection;
|
item: IItem | IText | ISection;
|
||||||
|
|
@ -26,6 +28,37 @@ export const ViewMetaScript: FC<{
|
||||||
hover: v.view.hover ? v.view.hover.get(meta) : undefined,
|
hover: v.view.hover ? v.view.hover.get(meta) : undefined,
|
||||||
active: v.view.active ? v.view.active.get(meta) : undefined,
|
active: v.view.active ? v.view.active.get(meta) : undefined,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (!renderLimit[v.current.page_id]) {
|
||||||
|
renderLimit[v.current.page_id] = {}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!renderLimit[v.current.page_id][item.id]) {
|
||||||
|
renderLimit[v.current.page_id][item.id] = {
|
||||||
|
ts: Date.now(),
|
||||||
|
count: 1,
|
||||||
|
cache: null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (renderLimit[v.current.page_id][item.id].ts - Date.now() < 100) {
|
||||||
|
renderLimit[v.current.page_id][item.id].count++
|
||||||
|
} else {
|
||||||
|
renderLimit[v.current.page_id][item.id].ts = Date.now();
|
||||||
|
renderLimit[v.current.page_id][item.id].count = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (renderLimit[v.current.page_id][item.id].count > 100) {
|
||||||
|
|
||||||
|
let js = '';
|
||||||
|
if (typeof item.adv?.js === 'string') {
|
||||||
|
js = item.adv.js;
|
||||||
|
}
|
||||||
|
console.warn(`Maximum render limit (100 render in 100ms) reached in item [${item.name}]:\n${js.length > 30 ? js.substring(0, 30) + '...' : js}`)
|
||||||
|
return renderLimit[v.current.page_id][item.id].cache;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
const children = <ViewMetaChildren key={item.id} meta={meta} />;
|
const children = <ViewMetaChildren key={item.id} meta={meta} />;
|
||||||
let args = {};
|
let args = {};
|
||||||
|
|
||||||
|
|
@ -104,6 +137,7 @@ export const ViewMetaScript: FC<{
|
||||||
<Suspense>{jsx}</Suspense>
|
<Suspense>{jsx}</Suspense>
|
||||||
</ErrorBox>
|
</ErrorBox>
|
||||||
);
|
);
|
||||||
|
renderLimit[v.current.page_id][item.id].cache = output.jsx;
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue