wip fix passprop
This commit is contained in:
parent
c1b1a35cf6
commit
8a308bec82
|
|
@ -127,7 +127,7 @@ ${d}`),f.pop(),`{${k}}`}case"number":return isFinite(u)?String(u):t?t(u):"null";
|
|||
${o0(e,t.mode)}
|
||||
${Pw(e,t.mode)}
|
||||
${I0(e,t.mode)}
|
||||
`,(t?.hover||t?.active)&&a0({item:e,hover:t?.hover,active:t?.active}),Yw(e,t.mode)])}catch(A){console.log(A)}return cx([])};var g0=K(se()),Ms=(e,t,A,i)=>{let n=t.item,r;n.component?.style&&(r={style:n.component.style,className:DB(n.component.style,{mode:e.mode})});let o={className:DB(n,{mode:e.mode}),inherit:r},s={},a=t.item.childs,c;return t.item.type==="text"?(c=null,o.dangerouslySetInnerHTML={__html:t.item.html||""}):c=Array.isArray(a)&&a?.map(I=>{if(!I)return null;let{id:l}=I,g=A?e.layout?.meta[l]:e.meta[l];return g?(0,g0.jsx)(Rr,{meta:g,is_layout:A,passprop:i},l):null}),o.children=c,t.item.adv?.js&&!t.item.adv.js.includes("children")&&(delete o.children,delete o.dangerouslySetInnerHTML),{props:o,text_props:s}};var h0=K(ze());var qc=K(ze());var Rc=K(ze());var vc=K(ze());var kB=K(se()),f0=(e,t,A)=>i=>{if(A.item.script||(A.item.script={}),A.item.script.passprop||(A.item.script.passprop={}),A.item.script.passprop){let n=!1;for(let[r,o]of Object.entries(i))["children","key"].includes(r)||(n=!0,A.item.script.passprop[r]={end:0,start:0,value:o})}if(!Array.isArray(i.children)&&!(0,vc.isValidElement)(i.children)&&typeof i.children=="object"){let n=i.children.id;if(n){let r=e.meta[n];return(0,kB.jsx)(Jr,{is_layout:t,meta:r})}}else if(Array.isArray(i.children)){let n=!0;for(let r of i.children)!(0,vc.isValidElement)(r)&&typeof r=="object"||(n=!1);return i.children.map(({id:r})=>{let o=e.meta[r];return(0,kB.jsx)(Jr,{is_layout:t,meta:o},r)})}return SB(i,A.script?.scope)},SB=(e,t)=>{let A={};if(Array.isArray(e)?A.children=e:A=e,Array.isArray(A.children)){let i=[];for(let n of A.children)i.push(u0(n,A,t));return i}return u0(A.children,A,t)},u0=(e,t,A)=>{if((0,vc.isValidElement)(e)){let i={...t};return delete i.children,{...e,props:{...e.props,passprop:{...A,...i}}}}return e};var B0=(e,t,A)=>i=>{let{children:n}=i,r=e.script?.init_local_effect,o=t?e.layout?.meta:e.meta,a=(0,Rc.useRef)(i.value).current;return a.render=A.render,Jc(e,A,A.script?.scope),i.hook&&i.hook(a),(0,Rc.useEffect)(()=>{let c=A.item.id;if(A.parent?.instance_id&&o){let l=o[A.parent?.instance_id];if(l&&l.instances){for(let[g,u]of Object.entries(l.instances[A.parent.instance_id]))if(u===A.item.id){c=g;break}}}return!r[c]&&(typeof r=="object"&&(r[c]=!0),(async()=>i.effect&&await i.effect(a))()),()=>{}},[location.pathname]),SB(n,{...A.script?.scope,[i.name]:a})};var UB=K(se()),d0=(e,t,A,i)=>{let n=Ms(e,t,A,i);e.visit&&e.visit(t,n),t.script?t.script.scope=i:t.script={scope:i,result:null,Local:B0(e,A,t),PassProp:f0(e,A,t)};let r=t.script,o=window.exports,s={useEffect:qc.useEffect,children:n.props.children,props:n.props,Local:r.Local,db:e.site.db,api:e.site.api,PassProp:r?.PassProp,ErrorBox:UA,newElement:()=>{},render:l=>{r.result=(0,UB.jsx)(qc.Suspense,{children:l})},params,...Hr(e),...o,...i};if(typeof i=="object"){for(let[l,g]of Object.entries(i))if(typeof g=="object"&&g&&g._jsx){let u=g;s[l]=(0,UB.jsx)(gH,{fn:u.fn,passprop:i,meta:t})}}!Ce.isEditor&&t.item.adv?.js&&Ic(e,t.item.adv.js);let a=t.item.adv?.jsBuilt||"",c=xB(a,NB)||"";new Function(...Object.keys(s),`// ${t.item.name}: ${t.item.id}
|
||||
`,(t?.hover||t?.active)&&a0({item:e,hover:t?.hover,active:t?.active}),Yw(e,t.mode)])}catch(A){console.log(A)}return cx([])};var g0=K(se()),Ms=(e,t,A,i)=>{let n=t.item,r;n.component?.style&&(r={style:n.component.style,className:DB(n.component.style,{mode:e.mode})});let o={className:DB(n,{mode:e.mode}),inherit:r},s={},a=t.item.childs,c;return t.item.type==="text"?(c=null,o.dangerouslySetInnerHTML={__html:t.item.html||""}):c=Array.isArray(a)&&a?.map(I=>{if(!I)return null;let{id:l}=I,g=A?e.layout?.meta[l]:e.meta[l];return g?(0,g0.jsx)(Rr,{meta:g,is_layout:A,passprop:i},l):null}),o.children=c,t.item.adv?.js&&!t.item.adv.js.includes("children")&&(delete o.children,delete o.dangerouslySetInnerHTML),{props:o,text_props:s}};var h0=K(ze());var qc=K(ze());var Rc=K(ze());var vc=K(ze());var kB=K(se()),f0=(e,t,A)=>i=>{if(A.item.script||(A.item.script={}),A.item.script.passprop||(A.item.script.passprop={}),A.item.script.passprop){let n=!1;for(let[r,o]of Object.entries(i))["children","key"].includes(r)||(n=!0,A.item.script.passprop[r]={end:0,start:0,value:o})}if(!Array.isArray(i.children)&&!(0,vc.isValidElement)(i.children)&&typeof i.children=="object"){let n=i.children.id;if(n){let r=e.meta[n];return(0,kB.jsx)(Jr,{is_layout:t,meta:r})}}else if(Array.isArray(i.children)){let n=!0;for(let r of i.children)!(0,vc.isValidElement)(r)&&typeof r=="object"||(n=!1);if(n)return i.children.map(({id:r})=>{let o=e.meta[r];return(0,kB.jsx)(Jr,{is_layout:t,meta:o},r)})}return SB(i,A.script?.scope)},SB=(e,t)=>{let A={};if(Array.isArray(e)?A.children=e:A=e,Array.isArray(A.children)){let i=[];for(let n of A.children)i.push(u0(n,A,t));return i}return u0(A.children,A,t)},u0=(e,t,A)=>{if((0,vc.isValidElement)(e)){let i={...t};return delete i.children,{...e,props:{...e.props,passprop:{...A,...i}}}}return e};var B0=(e,t,A)=>i=>{let{children:n}=i,r=e.script?.init_local_effect,o=t?e.layout?.meta:e.meta,a=(0,Rc.useRef)(i.value).current;return a.render=A.render,Jc(e,A,A.script?.scope),i.hook&&i.hook(a),(0,Rc.useEffect)(()=>{let c=A.item.id;if(A.parent?.instance_id&&o){let l=o[A.parent?.instance_id];if(l&&l.instances){for(let[g,u]of Object.entries(l.instances[A.parent.instance_id]))if(u===A.item.id){c=g;break}}}return!r[c]&&(typeof r=="object"&&(r[c]=!0),(async()=>i.effect&&await i.effect(a))()),()=>{}},[location.pathname]),SB(n,{...A.script?.scope,[i.name]:a})};var UB=K(se()),d0=(e,t,A,i)=>{let n=Ms(e,t,A,i);e.visit&&e.visit(t,n),t.script?t.script.scope=i:t.script={scope:i,result:null,Local:B0(e,A,t),PassProp:f0(e,A,t)};let r=t.script,o=window.exports,s={useEffect:qc.useEffect,children:n.props.children,props:n.props,Local:r.Local,db:e.site.db,api:e.site.api,PassProp:r?.PassProp,ErrorBox:UA,newElement:()=>{},render:l=>{r.result=(0,UB.jsx)(qc.Suspense,{children:l})},params,...Hr(e),...o,...i};if(typeof i=="object"){for(let[l,g]of Object.entries(i))if(typeof g=="object"&&g&&g._jsx){let u=g;s[l]=(0,UB.jsx)(gH,{fn:u.fn,passprop:i,meta:t})}}!Ce.isEditor&&t.item.adv?.js&&Ic(e,t.item.adv.js);let a=t.item.adv?.jsBuilt||"",c=xB(a,NB)||"";new Function(...Object.keys(s),`// ${t.item.name}: ${t.item.id}
|
||||
${c}
|
||||
`)(...Object.values(s)),Jc(e,t,i)},gH=({fn:e,meta:t,passprop:A})=>e({passprop:A,meta:t}),NB={"stroke-width":"strokeWidth","fill-rule":"fillRule","clip-rule":"clipRule","stroke-linejoin":"strokeLinejoin","stroke-linecap":"strokeLinecap","clip-path":"clipPath"},xB=(e,t)=>{let A=e;for(let[i,n]of Object.entries(t))A=A.replaceAll(i,n);return A};var Q0=K(se()),C0=(e,t,A,i)=>{if(t.item.component?.id){t.item.script||(t.item.script={});let r={...window.exports,db:e.site.db,api:e.site.api,...Hr(e),...i,params};t.item.script.props={};let o=new Set;if(t.item.component.props)for(let[s,a]of Object.entries(t.item.component.props))try{if(a.meta?.type==="content-element"){let u={_jsx:!0,fn:f=>{let C=a.content?.id;if(C){let F=A?e.layout?.meta[C]:e.meta[C];if(!F)return null;let d=t.instances;if(!f.meta.item.originalId||!d||!d[t.item.id])return null;let Q=f.meta.item.originalId;if(F.mitem&&(a.jsxCalledBy&&(!a.jsxCalledBy.includes(Q)||a.jsxCalledBy.length!==2)||!a.jsxCalledBy)){let y=t.mitem?.get("component")?.get("props")?.get(s);if(y){let k=y.get("jsxCalledBy");!k||typeof k!="object"?y.set("jsxCalledBy",[t.item.id,Q]):(!k.includes(Q)||k.length!==2||k[0]!==t.item.id||k[1]!==Q)&&y.set("jsxCalledBy",[t.item.id,Q])}}return(0,Q0.jsx)(Rr,{meta:F,passprop:f.passprop,is_layout:A})}return null}};r[s]=u,i&&(i[s]=u);continue}a.value&&Ic(e,a.value);let c=a.valueBuilt||"",I=xB(c,NB)||"",l=new Function(...Object.keys(r),`// [${t.item.name}] ${s}: ${t.item.id}
|
||||
return ${I}
|
||||
|
|
|
|||
|
|
@ -44,10 +44,12 @@ export const createViPassProp = (
|
|||
is_meta = false;
|
||||
}
|
||||
}
|
||||
return arg.children.map(({ id }) => {
|
||||
const meta = vi.meta[id];
|
||||
return <ViChild key={id} is_layout={is_layout} meta={meta} />;
|
||||
});
|
||||
if (is_meta) {
|
||||
return arg.children.map(({ id }) => {
|
||||
const meta = vi.meta[id];
|
||||
return <ViChild key={id} is_layout={is_layout} meta={meta} />;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
return modifyChild(arg, meta.script?.scope);
|
||||
|
|
|
|||
Loading…
Reference in New Issue