From 7e9efb848a730dcc075e2b997c2539177516aec6 Mon Sep 17 00:00:00 2001 From: Rizky Date: Tue, 31 Oct 2023 14:13:13 +0700 Subject: [PATCH] fix render --- app/web/src/render/live/elements/l-render.tsx | 23 +++++-------------- app/web/src/render/live/logic/comp.ts | 3 ++- 2 files changed, 8 insertions(+), 18 deletions(-) diff --git a/app/web/src/render/live/elements/l-render.tsx b/app/web/src/render/live/elements/l-render.tsx index 81914b65..5fc738c3 100644 --- a/app/web/src/render/live/elements/l-render.tsx +++ b/app/web/src/render/live/elements/l-render.tsx @@ -1,5 +1,5 @@ import { FC, ReactNode, useEffect, useState } from "react"; -import { useGlobal, useLocal } from "web-utils"; +import { deepClone, useGlobal, useLocal } from "web-utils"; import { produceCSS } from "../../../utils/css/gen"; import { IContent } from "../../../utils/types/general"; import { FNAdv, FNCompDef, FNLinkTag } from "../../../utils/types/meta-fn"; @@ -94,22 +94,11 @@ export const LRenderInternal: FC<{ let props = {} as Record; let cprops = {} as [string, FNCompDef][]; - - if (meta.comp.mcomp) { - props = meta.comp.mcomp - .get("component") - ?.get("props") - ?.toJSON() as Record; - - cprops = Object.entries(props).sort((a, b) => { - return a[1].idx - b[1].idx; - }); - } else { - props = structuredClone( - p.comps.all[meta.comp.id]?.content_tree.component?.props || {} - ); - cprops = Object.entries(props); - } + + props = deepClone( + p.comps.all[meta.comp.id]?.content_tree.component?.props || {} + ); + cprops = Object.entries(props); comp.propval = treePropEval(p, id, cprops, _scopeIndex); } diff --git a/app/web/src/render/live/logic/comp.ts b/app/web/src/render/live/logic/comp.ts index 675a2ed0..dce6e903 100644 --- a/app/web/src/render/live/logic/comp.ts +++ b/app/web/src/render/live/logic/comp.ts @@ -7,6 +7,7 @@ import { IRoot } from "../../../utils/types/root"; import { fillID } from "../../editor/tools/fill-id"; import { PG } from "./global"; import { PRASI_COMPONENT } from "../../../utils/types/render"; +import { deepClone } from "web-utils"; export const scanComponent = ( item: IRoot | IContent, @@ -97,7 +98,7 @@ export const instantiateComp = ( } target = mitem.toJSON(); } else { - target = structuredClone(mcomp.item.content_tree); + target = deepClone(mcomp.item.content_tree); mprops = target.component.props || {}; }