From 897b5fbe06011a7a371b41712115cb2520d2caaa Mon Sep 17 00:00:00 2001 From: Rizky Date: Fri, 2 Aug 2024 10:34:36 +0700 Subject: [PATCH] fix instance --- app/web/src/nova/ed/panel/side/prop-instance.tsx | 7 +++++-- .../nova/ed/panel/side/prop-instance/prop-button.tsx | 10 ++++++++-- .../nova/ed/panel/side/prop-instance/prop-option.tsx | 7 +++++-- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/app/web/src/nova/ed/panel/side/prop-instance.tsx b/app/web/src/nova/ed/panel/side/prop-instance.tsx index 4a48a4fc..2f926f81 100644 --- a/app/web/src/nova/ed/panel/side/prop-instance.tsx +++ b/app/web/src/nova/ed/panel/side/prop-instance.tsx @@ -89,7 +89,10 @@ export const EdSidePropInstance: FC<{ meta: IMeta }> = ({ meta }) => { for (const [k, v] of Object.entries(meta.item.script?.props)) { if (v.value && v.value.length > 3) { try { - const evn = new Function("arg", `arg["${k}"] = ${v.value}`); + const evn = new Function( + "arg", + `arg["${k}"] = (() => { ${v.value} })()` + ); evn(arg); } catch (e) {} } @@ -100,7 +103,7 @@ export const EdSidePropInstance: FC<{ meta: IMeta }> = ({ meta }) => { try { const evn = new Function( "arg", - `arg["${k}"] = ${v.valueBuilt}` + `arg["${k}"] = (() => { ${v.valueBuilt} })()` ); evn(arg); } catch (e) { diff --git a/app/web/src/nova/ed/panel/side/prop-instance/prop-button.tsx b/app/web/src/nova/ed/panel/side/prop-instance/prop-button.tsx index 483051c9..a5de1cf7 100644 --- a/app/web/src/nova/ed/panel/side/prop-instance/prop-button.tsx +++ b/app/web/src/nova/ed/panel/side/prop-instance/prop-button.tsx @@ -34,7 +34,10 @@ export const EdPropInstanceButton: FC<{ for (const [k, v] of Object.entries(meta.item.script?.props)) { if (v.value && v.value.length > 3) { try { - const evn = new Function("arg", `arg["${k}"] = ${v.value}`); + const evn = new Function( + "arg", + `arg["${k}"] = (() => { ${v.value} })()` + ); evn(arg); } catch (e) { console.error(e); @@ -46,7 +49,10 @@ export const EdPropInstanceButton: FC<{ for (const [k, v] of Object.entries(meta.item.component.props)) { if (v.valueBuilt && v.valueBuilt.length > 3) { try { - const evn = new Function("arg", `arg["${k}"] = ${v.valueBuilt}`); + const evn = new Function( + "arg", + `arg["${k}"] = (() => { ${v.valueBuilt} })()` + ); evn(arg); } catch (e) { console.error(e); diff --git a/app/web/src/nova/ed/panel/side/prop-instance/prop-option.tsx b/app/web/src/nova/ed/panel/side/prop-instance/prop-option.tsx index fa0d3846..fa3f5a25 100644 --- a/app/web/src/nova/ed/panel/side/prop-instance/prop-option.tsx +++ b/app/web/src/nova/ed/panel/side/prop-instance/prop-option.tsx @@ -83,7 +83,10 @@ export const EdPropInstanceOptions: FC<{ for (const [k, v] of Object.entries(meta.item.script?.props)) { if (v.value && v.value.length > 3) { try { - const evn = new Function("arg", `arg["${k}"] = ${v.value}`); + const evn = new Function( + "arg", + `arg["${k}"] = (() => { ${v.value} })()` + ); evn(arg); } catch (e) {} } @@ -95,7 +98,7 @@ export const EdPropInstanceOptions: FC<{ try { const evn = new Function( "arg", - `arg["${k}"] = ${v.valueBuilt}` + `arg["${k}"] = (() => { ${v.valueBuilt} })()` ); evn(arg); } catch (e) {