epic-designer-gold 1.0.9 → 1.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/dist/{attributeView-BvXOVbk7.js → attributeView-B__FQHVu.js} +1 -1
  2. package/dist/{attributeView-iVaomUyI.cjs → attributeView-D_snTI-K.cjs} +1 -1
  3. package/dist/col-B1GUMkMK.cjs +1 -0
  4. package/dist/col-D4hvKfJ6.js +31 -0
  5. package/dist/{index-Lc9Y13sl.js → index-AO9st9GO.js} +1 -1
  6. package/dist/index-B34F68Fz.js +4 -0
  7. package/dist/{index-CXN5JcDN.cjs → index-BEaUH_4C.cjs} +1 -1
  8. package/dist/{index-D-MYAFvk.cjs → index-BNDnGxRg.cjs} +1 -1
  9. package/dist/{index-BUloiuNZ.js → index-BdToAdGK.js} +1 -1
  10. package/dist/{index-DqPRxkxh.js → index-CAkpmC6c.js} +1 -1
  11. package/dist/{index-QROM92Xw.cjs → index-CKKGzeVk.cjs} +1 -1
  12. package/dist/index-CZ_nc70v.cjs +10 -0
  13. package/dist/{index-DDxqWsLh.cjs → index-CanuzqIT.cjs} +1 -1
  14. package/dist/{index-Dmfk0xI0.cjs → index-Ch8hBndx.cjs} +1 -1
  15. package/dist/{index-CXXMKZDX.js → index-D5moT97y.js} +140 -140
  16. package/dist/{index-B3keiKRy.js → index-DNWIP087.js} +1 -1
  17. package/dist/{index-B-VAOMev.js → index-Dgdrnlh5.js} +1 -1
  18. package/dist/{index-DChr8CfB.js → index-Dx4IQxp4.js} +221 -216
  19. package/dist/{index-BhYl2S9H.cjs → index-IDj-bwmO.cjs} +1 -1
  20. package/dist/{index-jgqfPmDS.cjs → index-g2SN8VMi.cjs} +1 -1
  21. package/dist/index.cjs +1 -1
  22. package/dist/index.js +1 -1
  23. package/dist/{styleView-rQBBbLFF.cjs → styleView-DSoOUApX.cjs} +1 -1
  24. package/dist/{styleView-BAOpKnjx.js → styleView-DwuC1nZJ.js} +1 -1
  25. package/dist/ui/elementPlus/index.cjs +1 -1
  26. package/dist/ui/elementPlus/index.js +1 -1
  27. package/package.json +1 -1
  28. package/vite.config.ts.timestamp-1748427578982-d7ce374e905ab.mjs +78 -78
  29. package/dist/col-C4lVVBzC.cjs +0 -1
  30. package/dist/col-DcVPBKEc.js +0 -31
  31. package/dist/index-B8Ir-lho.js +0 -4
  32. package/dist/index-CgboTSgt.cjs +0 -10
@@ -1,31 +0,0 @@
1
- import { defineComponent as m, h as d, renderSlot as c } from "vue";
2
- import { ElCol as p } from "element-plus";
3
- const h = m({
4
- props: {
5
- componentSchema: {
6
- type: Object,
7
- required: !0,
8
- default: () => ({})
9
- }
10
- },
11
- setup(o, { attrs: a, slots: n }) {
12
- return () => {
13
- var t;
14
- const e = {
15
- ...o.componentSchema,
16
- title: (t = o.componentSchema) == null ? void 0 : t.label
17
- }, r = e.children ?? [];
18
- return delete e.children, console.log("%c [ ]-21", "font-size:13px; background:pink; color:#bf2c9f;", e), d(p, e, {
19
- default: () => c(
20
- n,
21
- "edit-node",
22
- {},
23
- () => r.map((l) => c(n, "node", { componentSchema: l }))
24
- )
25
- });
26
- };
27
- }
28
- });
29
- export {
30
- h as default
31
- };
@@ -1,4 +0,0 @@
1
- import { _ as f } from "./index-DChr8CfB.js";
2
- export {
3
- f as default
4
- };
@@ -1,10 +0,0 @@
1
- "use strict";const e=require("vue"),E=require("./pluginManager-DWHAX8kP.cjs"),J=require("./index-BoL2PSBk.cjs"),re=require("./axios-tuVKNgv9.cjs");function he(t,o){let s=null;return(...l)=>{s&&clearTimeout(s),s=setTimeout(()=>{t(...l)},o)}}function ne(){const t=e.ref({}),o=e.ref({}),s=e.ref(!1),l=e.ref([]),u=e.reactive({});function c(m){return t.value[m]}function S(m,b){t.value[m]=b}function y(m){delete t.value[m]}function v(m,b=!1){const _=Object.entries(E.pluginManager.publicMethods).reduce((B,[h,R])=>(B[h]=R.handler,B),{});try{new Function(`const epic = this;${m}`).bind({..._,getComponent:c,find:c,defineExpose:V,publicMethods:_,pluginManager:E.pluginManager})()}catch(B){b&&console.error("[epic:自定义函数]异常:",B)}}function V(m){m!=null&&(o.value=m)}function O(m,...b){if(!m||m.length===0){console.warn("未提供任何动作");return}m.forEach(_=>{const B=_.args?JSON.parse(_.args):b;switch(_.type){case"public":n(_,B);break;case"custom":I(_,B);break;case"component":f(_,B);break;default:console.warn(`未知的动作类型: ${_.type}`);break}})}function n(m,b){var _;try{(_=E.pluginManager.publicMethods[m.methodName])==null||_.handler(...b)}catch(B){console.error(`[Epic:公共函数(${m.methodName})]执行异常:`,B)}}function I(m,b){var _,B;try{(B=(_=o.value)[m.methodName])==null||B.call(_,...b)}catch(h){console.error(`[Epic:自定义函数(${m.methodName})]执行异常:`,h)}}function f(m,b){const _=m.componentId!=null&&c(m.componentId);if(!_){console.warn(`[Epic:组件${m.componentId}]未找到`);return}try{_[m.methodName](...b)}catch(B){console.error(`[Epic:组件${m.componentId}函数(${m.methodName})]执行异常:`,B)}}function D(m=!0){s.value=m}function w(m){const b=E.findSchemas(m,()=>!0);l.value=b.map(_=>_.id)}function C(m,b="default"){if(u[b]){const _=u[b];E.deepCompareAndModify(m,_)}u[b]=m}function F(m,b="default"){if(u[b]){E.deepCompareAndModify(u[b],m,!1);return}u[b]=m}return{componentInstances:t,funcs:o,isDesignMode:s,defaultComponentIds:l,forms:u,addFormData:C,setFormData:F,getComponentInstance:c,find:c,addComponentInstance:S,removeComponentInstance:y,setMethods:v,doActions:O,setDesignMode:D,setDefaultComponentIds:w}}function se(){const t=e.ref([]),o=e.ref([]),s=e.ref(null);let l=0;function u(v,V="插入组件"){const O=Date.now();l+150>O||(l=O,s.value!=null&&(t.value.push(s.value),o.value.splice(0,o.value.length)),s.value={type:V,componentSchema:JSON.stringify(v)},t.value.length>60&&t.value.unshift())}function c(){if(t.value.length===0)return!1;const v=t.value.pop();return s.value!=null&&o.value.push(s.value),s.value=v,JSON.parse(v.componentSchema)}function S(){if(o.value.length===0)return!1;const v=o.value.pop();return s.value!=null&&t.value.push(s.value),s.value=v,JSON.parse(v.componentSchema)}function y(){t.value=[],o.value=[],s.value=null}return{recordList:t,undoList:o,currentRecord:s,push:u,undo:c,redo:S,reset:y}}const ve=e.defineComponent({__name:"dynamicFormItem",props:{hasFormItem:{type:Boolean},formItemProps:{}},emits:["updateFormItemRef"],setup(t,{emit:o}){const s=E.pluginManager.getComponent("form-item"),l=t,u=o,c=e.ref(),S=()=>{u("updateFormItemRef",c.value)};return(y,v)=>l.hasFormItem?(e.openBlock(),e.createBlock(e.unref(s),e.mergeProps({key:0,ref_key:"formItemRef",ref:c,onVnodeMounted:S},l.formItemProps),{default:e.withCtx(()=>[e.renderSlot(y.$slots,"default")]),_:3},16,["onVnodeMounted"])):e.renderSlot(y.$slots,"default",{key:1})}}),le=e.defineComponent({name:"ENode",__name:"node",props:{componentSchema:{},modelValue:{},ruleField:{},resetFormData:{type:Boolean},name:{},dynamicId:{},sourceDateUrl:{},id:{}},emits:["update:modelValue","change","update:dynamicId"],setup(t,{emit:o}){const{proxy:s}=e.getCurrentInstance(),l=t,u=e.ref(null);let c=e.inject("formData",e.reactive({}));const S=e.inject("slots",{}),y=e.inject("pageManager",{}),v=e.inject("disabled",{value:!1}),V=e.inject("ruleFieldPrefix",null),O=e.inject("resetFormData",!1);let n=e.reactive(E.deepClone(l.componentSchema));D();async function I(r){if(["cascader","checkbox","select","radio"].includes(r.type)&&r.componentProps.dynamicId&&l.sourceDateUrl){const d=(await re.axios({url:l.sourceDateUrl,method:"get",params:{id:r.componentProps.dynamicId},headers:{Authorization:"Bearer "+J.api.get("Admin-Token"),lang:J.api.get("saas-locale")||"zh-CN",zone:Intl.DateTimeFormat().resolvedOptions().timeZone}})).data.data;let P=await re.axios({url:d.url,method:d.method,data:d.body?JSON.parse(d.body):{},params:d.params?JSON.parse(d.params):{},headers:{...JSON.parse(d.headers),Authorization:"Bearer "+J.api.get("Admin-Token"),lang:J.api.get("saas-locale")||"zh-CN",zone:Intl.DateTimeFormat().resolvedOptions().timeZone}});if(d&&(d!=null&&d.dataPath)){const K=d.dataPath.split(".").reduce((W,Q)=>W[Q],P.data);r.componentProps.options=f(K,d.dataKey,d.dataValue)}else r.componentProps.options=f(P.data,d.dataKey,d.dataValue);return r}return r}function f(r,i,N){return r&&Object.prototype.toString.call(r)==="[object Array]"?r.map(d=>d.children&&d.children.length?{label:d[i],value:d[N]+"",children:f(d.children,i,N)}:{label:d[i],value:d[N]+""}):[]}e.watch(()=>l.componentSchema,r=>{E.deepEqual(n,r,["children"])||(E.deepCompareAndModify(n,E.deepClone(r)),D())},{deep:!0});function D(){y.isDesignMode.value&&typeof n.field=="string"&&(n.field+="-design-mode")}(l.resetFormData||O)&&(c={});const w=o,C=e.ref(),F=e.ref(),m=r=>{F.value=r},b=e.useAttrs();Object.keys(b).length&&e.provide("nodeAttrs",b);const _=e.shallowRef(null),B=e.computed(()=>{var r,i;return(r=n.componentProps)!=null&&r.hidden?!1:typeof n.show=="boolean"?n.show:((i=n.show)==null?void 0:i.call(n,{values:c}))??!0}),h=e.computed(()=>{var d;const r=B.value&&((d=n.rules)==null?void 0:d.map(P=>({...P,validator:P.validator&&y.funcs.value[P.validator]})));let i=n.field;l.ruleField?i=l.ruleField:V&&n.field&&(i=E.deepClone(V),i.push(n.field));const N={...n,rules:r,rule:r,field:i};return N.children&&delete N.children,N}),R=e.computed(()=>{var N,d;const r=((N=T.value)==null?void 0:N.bindModel)??"modelValue",i={};return n.on&&Object.keys(n.on).forEach(P=>{i[`on${E.capitalizeFirstLetter(P)}`]=(...U)=>y.doActions(n.on[P],...U)}),{...l,...n.componentProps,disabled:(v==null?void 0:v.value)||((d=n.componentProps)==null?void 0:d.disabled),bindModel:r,...i}}),T=e.computed(()=>E.pluginManager.getComponentConfingByType(n.type)??null);e.watchEffect(()=>{u.value=l.modelValue??c[n.field??""]}),e.watch(()=>u.value,()=>{u.value!==(l.modelValue??c[n.field??""])&&a(u.value)}),e.watch(()=>C.value,()=>{A()},{immediate:!0});function A(){var i;const r=C.value||s;n.id&&r&&((n.input||n.type==="table"&&n.field||n.type==="card"&&n.field&&n.multiple)&&(r.setValue=a,r.getValue=()=>c[n.field]||l.modelValue),r.setAttr=(N,d)=>(n.componentProps||(n.componentProps={}),n.componentProps[N]=d),r.getAttr=N=>n.componentProps[N],y.addComponentInstance(n.id,r),(i=T.value)!=null&&i.defaultSchema.input&&n.noFormItem!==!0&&F.value&&y.addComponentInstance(n.id+"formItem",F.value))}function g(){var r;n.id&&(y.removeComponentInstance(n.id),(r=T.value)!=null&&r.defaultSchema.input&&n.noFormItem!==!0&&y.removeComponentInstance(n.id+"formItem"))}async function L(){var i,N,d;if(n=await I(n),typeof((i=n.componentProps)==null?void 0:i.defaultValue)<"u"){const P=y.isDesignMode.value?(N=n.componentProps)==null?void 0:N.defaultValue:c[n.field]??((d=n.componentProps)==null?void 0:d.defaultValue);a(E.deepClone(P))}if(n.type==="slot"){const P=n.slotName;if(!P)return;_.value=e.defineComponent({setup(){return()=>e.renderSlot(S,P,{componentSchema:n,model:c})}});return}const r=E.pluginManager.getComponent(n.type);if(!r){console.error(`组件${n.type}未注册`);return}if(typeof r=="function"){const P=await r();_.value=P.default??P}else _.value=r}function p(r){Object.prototype.toString.call(r),Object.prototype.toString.call(r)==="[object Array]"?r.forEach(i=>{c[i.value]=i.label}):c[r.value]=r.label,l.id&&E.EventBus.emit("updateformData"+l.id,c)}function a(r){w("update:modelValue",r),w("change",r),n.field&&(c[n.field]=r),l.id&&E.EventBus.emit("updateformData"+l.id,c)}function $(r){w("update:dynamicId",r)}let M=null;return e.watch(()=>n,async r=>{const i=JSON.stringify({...r,children:void 0,componentProps:{...r.componentProps,options:null}});if(i===M)return!1;M=i,L()},{immediate:!0,deep:!0}),e.onUnmounted(g),(r,i)=>{var d;const N=e.resolveComponent("ENode");return _.value&&B.value?(e.openBlock(),e.createBlock(ve,{key:0,hasFormItem:e.unref(n).noFormItem!==!0&&((d=T.value)==null?void 0:d.defaultSchema.input),formItemProps:h.value,onUpdateFormItemRef:m},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(_.value),e.mergeProps({ref_key:"componentInstance",ref:C,onVnodeMounted:A,model:e.unref(c)},{...R.value},{[R.value.bindModel]:u.value,["onUpdate:"+R.value.bindModel]:i[0]||(i[0]=P=>u.value=P),[`onUpdate:${R.value.bindModel}`||""]:a,"onUpdate:modelValueLabel":p,"onUpdate:dynamicId":$}),{node:e.withCtx(P=>[e.createVNode(N,e.mergeProps({id:l.id},P,{sourceDateUrl:l.sourceDateUrl}),null,16,["id","sourceDateUrl"])]),"edit-node":e.withCtx(()=>[e.renderSlot(r.$slots,"edit-node")]),_:3},16,["model"]))]),_:3},8,["hasFormItem","formItemProps"])):e.createCommentVNode("",!0)}}});function ge(){const t=e.ref(!1),o=ne(),s=e.ref({});function l(){return new Promise(f=>{if(t.value)f();else{const D=e.watch(t,()=>{D(),f()})}})}async function u(f="default"){var w;await l();const D=(w=s.value)==null?void 0:w[f];if(!D)throw new Error(`表单 [name=${f}] 不存在`);return D}async function c(f,D){const w=await u(f);return E.deepClone(await D(w))}async function S(f="default"){return await c(f,D=>D.getData())}function y(f,D="default",w=void 0){var C,F;if(w&&Object.keys(w).length){let m=function(h){let R=[];return h.forEach(T=>{T.children&&(R=[...R,...m(T.children)]),R.push(T)}),R},_=function(h){var T;let R=m((T=w==null?void 0:w.schemas[0])==null?void 0:T.children);return Object.keys(h).forEach(A=>{var p,a,$,M,r,i,N;const g=R.find(d=>d.field===A),L=["datetimerange","daterange","monthrange","dates"];if((g&&(g==null?void 0:g.type)==="checkbox"||(g==null?void 0:g.type)==="select"&&((p=g==null?void 0:g.componentProps)!=null&&p.multiple)||(g==null?void 0:g.type)==="cascader"&&!(($=(a=g==null?void 0:g.componentProps)==null?void 0:a.props)!=null&&$.multiple)||(g==null?void 0:g.type)==="date"&&L.includes((M=g==null?void 0:g.componentProps)==null?void 0:M.type))&&typeof h[A]=="string")h[A]=(r=h[A])==null?void 0:r.split(",");else if((g==null?void 0:g.type)==="cascader"&&((N=(i=g==null?void 0:g.componentProps)==null?void 0:i.props)!=null&&N.multiple)&&typeof h[A]=="string")h[A].indexOf(";")===-1&&h[A].indexOf(";")===-1?h[A][h[A]]:h[A].indexOf(";")>-1?h[A]=h[A].split(";").map(d=>d.split(",")):h[A].indexOf(";")===-1?h[A]=h[A].split(","):h[A].indexOf(";")>-1?h[A]=h[A].split(";").map(d=>d.split(",")):h[A].indexOf(";")===-1&&(h[A]=h[A].split(","));else if(((g==null?void 0:g.type)==="upload-image"||(g==null?void 0:g.type)==="upload-file")&&typeof h[A]=="string"){let d=[];Object.entries(h).forEach(([P,U])=>{h[A]===U&&P!==g.field&&P.indexOf("@")>-1&&P.indexOf(A)>-1&&(d=P.split("@")[1].split(","))}),h[A]=h[A].split(",").map((P,U)=>({url:P,name:d[U]||P}))}else(g==null?void 0:g.type)==="number"||(g==null?void 0:g.type)==="slider"?h[A]=Number(h[A]):(g==null?void 0:g.type)==="switch"&&(h[A]=typeof h[A]=="boolean"?h[A]:h[A].indexOf("true")>-1)}),h}(f);o.setFormData(_,D);const B=(C=s.value)==null?void 0:C[D];B==null||B.clearValidate()}else{o.setFormData(f,D);const m=(F=s.value)==null?void 0:F[D];m==null||m.clearValidate()}}async function v(f="default"){return await c(f,async D=>(await D.validate(),await D.getData()))}async function V(f){await l();const D={};for(const w in s.value){const C=s.value[w];C&&(D[w]=E.deepClone(await f(C)))}return D}async function O(){return await V(f=>f.getData())}function n(f){for(const D in f)y(f[D],D)}async function I(){return await V(async f=>(await f.validate(),await f.getData()))}return{ready:t,pageManager:o,forms:s,getData:S,setData:y,validate:v,getForms:O,setForms:n,validateAll:I,getFormInstance:u}}const ye={key:0,class:"epic-loading-box"},we={class:"epic-builder-main"},Se={class:"epic-loading-box"},ie=e.defineComponent({__name:"builder",props:{pageSchema:{},formData:{},disabled:{type:Boolean},sourceDateUrl:{},id:{}},emits:["change","ready"],setup(t,{expose:o,emit:s}){const l=E.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-Cap7FkuS.cjs"))),u=s,c=e.ref([]),S=e.ref({}),{ready:y,pageManager:v,forms:V,getData:O,setData:n,validate:I,getForms:f,setForms:D,validateAll:w,getFormInstance:C}=ge(),F=t,m=e.reactive({schemas:[]});e.watch(()=>F.pageSchema,p=>{E.deepCompareAndModify(m,p)},{immediate:!0,deep:!0}),e.watch(()=>F.formData,p=>{if(p){let a=T(p);S.value=a,n(a)}},{immediate:!0,deep:!0});function b(p){let a=[];return p.forEach($=>{$.children&&(a=[...a,...b($.children)]),a.push($)}),a}function _(p,a){function $(r){return JSON.parse(JSON.stringify(r))}function M(r,i){if(r.type==="card"&&r.multiple&&r.field&&Array.isArray(i[r.field]))return i[r.field].map(d=>{var U;const P=$({...r,multiple:!0});return P.children=(U=P.children)==null?void 0:U.map(K=>M(K,d)).flat(),P});const N=$(r);return Array.isArray(N.children)&&(N.children=N.children.map(d=>M(d,i)).flat()),N}return p.map(r=>M(r,a)).flat()}function B(p,a="",$={root:0}){const M=a||"root";return a||($.root=0),$[M]===void 0&&($[M]=0),p.map(r=>{r.field&&(r.oldField=JSON.parse(JSON.stringify(r.field)));const i={...r};if(r.type==="card"){const N=r.field||"";r.multiple?(i.field=a?`${a}.${N}[${$[M]}]`:`${N}[${$[M]}]`,$[M]++):r.field&&a&&(i.field=`${a}.${N}`);const d=i.field||a;$[d]=0}else r.field&&a&&(i.field=`${a}.${r.field}`);return r.children&&(i.children=B(r.children,i.field||a,$)),i})}function h(p,a,$="",M={}){const r=$||"root";return M[r]===void 0&&(M[r]=0),p.forEach(i=>{const N=i.field||"";let d=$?`${$}.${N}`:`${N}`;i.type==="card"&&i.multiple?(typeof a[d][`${M[r]}`]=="object"?Object.keys(a[d][`${M[r]}`]).forEach(P=>{a[`${d}[${M[r]}].${P}`]=a[d][`${M[r]}`][P]}):a[`${d}[${M[r]}]`]=a[d][`${M[r]}`],i.children&&(i.children=h(i.children,a,`${d}[${M[r]}]`||$,M)),M[r]++):i.children&&(i.children=h(i.children,a,$,M))}),M[r]=0,a}function R(p,a,$){let M=h(E.deepClone(p),E.deepClone(a));return{obj:B(p),dataObj:M}}function T(p){let a=b(F.pageSchema.schemas[0].children);c.value=a.filter(i=>i.type==="card"&&i.multiple);const $=_(F.pageSchema.schemas[0].children,p);let{obj:M,dataObj:r}=R($,p,c.value);return p=r,console.log("%c [ ]-277","font-size:13px; background:pink; color:#bf2c9f;",M,r),F.pageSchema.schemas[0].children=M,Object.keys(p).forEach(i=>{var N,d,P,U,K,W,Q;if(i.indexOf("@")<0){const x=a.find(q=>q.field===i),me=["datetimerange","daterange","monthrange","dates"];if((x&&(x==null?void 0:x.type)==="checkbox"||(x==null?void 0:x.type)==="select"&&((N=x==null?void 0:x.componentProps)!=null&&N.multiple)||(x==null?void 0:x.type)==="cascader"&&!((P=(d=x==null?void 0:x.componentProps)==null?void 0:d.props)!=null&&P.multiple)||(x==null?void 0:x.type)==="date"&&me.includes((U=x==null?void 0:x.componentProps)==null?void 0:U.type))&&typeof p[i]=="string")p[i]=(K=p[i])==null?void 0:K.split(",");else if((x==null?void 0:x.type)==="cascader"&&((Q=(W=x==null?void 0:x.componentProps)==null?void 0:W.props)!=null&&Q.multiple)&&typeof p[i]=="string")p[i].indexOf(";")>-1?p[i]=p[i].split(";").map(q=>q.split(",")):p[i]=p[i].split(","),p[i].indexOf(";")>-1?p[i]=p[i].split(";").map(q=>q.split(",")):p[i]=p[i].split(",");else if(((x==null?void 0:x.type)==="upload-image"||(x==null?void 0:x.type)==="upload-file")&&typeof p[i]=="string"){let q=[];Object.entries(p).forEach(([k,X])=>{p[i]===X&&k!==x.field&&k.indexOf("@")>-1&&k.indexOf(i)>-1&&(q=k.split("@")[1].split(","))}),p[i]=p[i].split(",").map((k,X)=>({url:k,name:q[X]||k}))}else(x==null?void 0:x.type)==="number"||(x==null?void 0:x.type)==="slider"?p[i]=Number(p[i]):(x==null?void 0:x.type)==="switch"&&(p[i]=typeof p[i]=="boolean"?p[i]:p[i].indexOf("true")>-1)}}),p}e.watch(()=>m.script,p=>{p&&v.setMethods(p,!0)},{immediate:!0}),e.provide("slots",e.useSlots()),e.provide("pageManager",v),e.provide("forms",V),e.provide("pageSchema",m),e.provide("disabled",e.computed(()=>F.disabled));const A=e.getCurrentInstance(),g=A==null?void 0:A.proxy;function L(){e.nextTick(()=>{y.value=!0,u("ready",v),g&&v.addComponentInstance("builder",g)})}return E.EventBus.on("updateformData"+F.id,p=>{F.id&&u("change",p)}),o({ready:y,pageManager:v,getData:O,setData:n,validate:I,getForms:f,setForms:D,validateAll:w,getFormInstance:C}),(p,a)=>e.unref(E.pluginManager).initialized.value?(e.openBlock(),e.createBlock(e.Suspense,{key:1,onResolve:L},{default:e.withCtx(()=>[e.createElementVNode("div",we,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.schemas,($,M)=>(e.openBlock(),e.createBlock(e.unref(le),{id:F.id,key:M,sourceDateUrl:F.sourceDateUrl,componentSchema:$},null,8,["id","sourceDateUrl","componentSchema"]))),128))])]),fallback:e.withCtx(()=>[e.createElementVNode("div",Se,[e.createVNode(e.unref(l))])]),_:1})):(e.openBlock(),e.createElementBlock("div",ye))}});function oe(t){return e.getCurrentScope()?(e.onScopeDispose(t),!0):!1}function Ee(t){let o=0,s,l;const u=()=>{o-=1,l&&o<=0&&(l.stop(),s=void 0,l=void 0)};return(...c)=>(o+=1,l||(l=e.effectScope(!0),s=l.run(()=>t(...c))),oe(u),s)}function H(t){return typeof t=="function"?t():e.unref(t)}const De=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const be=t=>typeof t<"u",xe=Object.prototype.toString,Ce=t=>xe.call(t)==="[object Object]",Ae=()=>{};function Oe(t){return e.getCurrentInstance()}function Ie(t,o=!0,s){Oe()?e.onMounted(t,s):o?t():e.nextTick(t)}function _e(t=!1,o={}){const{truthyValue:s=!0,falsyValue:l=!1}=o,u=e.isRef(t),c=e.ref(t);function S(y){if(arguments.length)return c.value=y,c.value;{const v=H(s);return c.value=c.value===v?H(l):v,c.value}}return u?S:[c,S]}function Pe(t,o,s){const l=e.watch(t,(...u)=>(e.nextTick(()=>l()),o(...u)),s);return l}const Y=De?window:void 0;function z(t){var o;const s=H(t);return(o=s==null?void 0:s.$el)!=null?o:s}function Ne(...t){let o,s,l,u;if(typeof t[0]=="string"||Array.isArray(t[0])?([s,l,u]=t,o=Y):[o,s,l,u]=t,!o)return Ae;Array.isArray(s)||(s=[s]),Array.isArray(l)||(l=[l]);const c=[],S=()=>{c.forEach(O=>O()),c.length=0},y=(O,n,I,f)=>(O.addEventListener(n,I,f),()=>O.removeEventListener(n,I,f)),v=e.watch(()=>[z(o),H(u)],([O,n])=>{if(S(),!O)return;const I=Ce(n)?{...n}:n;c.push(...s.flatMap(f=>l.map(D=>y(O,f,D,I))))},{immediate:!0,flush:"post"}),V=()=>{v(),S()};return oe(V),V}function Me(t){return typeof t=="function"?t:typeof t=="string"?o=>o.key===t:Array.isArray(t)?o=>t.includes(o.key):()=>!0}function ae(...t){let o,s,l={};t.length===3?(o=t[0],s=t[1],l=t[2]):t.length===2?typeof t[1]=="object"?(o=!0,s=t[0],l=t[1]):(o=t[0],s=t[1]):(o=!0,s=t[0]);const{target:u=Y,eventName:c="keydown",passive:S=!1,dedupe:y=!1}=l,v=Me(o);return Ne(u,c,O=>{O.repeat&&H(y)||v(O)&&s(O)},S)}function j(t,o,s={}){return ae(t,o,{...s,eventName:"keydown"})}function ee(t,o,s={}){return ae(t,o,{...s,eventName:"keyup"})}function Ve(){const t=e.ref(!1),o=e.getCurrentInstance();return o&&e.onMounted(()=>{t.value=!0},o),t}function $e(t){const o=Ve();return e.computed(()=>(o.value,!!t()))}function Be(t){return JSON.parse(JSON.stringify(t))}function ce(t,o,s={}){const{window:l=Y,...u}=s;let c;const S=$e(()=>l&&"ResizeObserver"in l),y=()=>{c&&(c.disconnect(),c=void 0)},v=e.computed(()=>{const n=H(t);return Array.isArray(n)?n.map(I=>z(I)):[z(n)]}),V=e.watch(v,n=>{if(y(),S.value&&l){c=new ResizeObserver(o);for(const I of n)I&&c.observe(I,u)}},{immediate:!0,flush:"post"}),O=()=>{y(),V()};return oe(O),{isSupported:S,stop:O}}function Fe(t,o={width:0,height:0},s={}){const{window:l=Y,box:u="content-box"}=s,c=e.computed(()=>{var n,I;return(I=(n=z(t))==null?void 0:n.namespaceURI)==null?void 0:I.includes("svg")}),S=e.ref(o.width),y=e.ref(o.height),{stop:v}=ce(t,([n])=>{const I=u==="border-box"?n.borderBoxSize:u==="content-box"?n.contentBoxSize:n.devicePixelContentBoxSize;if(l&&c.value){const f=z(t);if(f){const D=f.getBoundingClientRect();S.value=D.width,y.value=D.height}}else if(I){const f=Array.isArray(I)?I:[I];S.value=f.reduce((D,{inlineSize:w})=>D+w,0),y.value=f.reduce((D,{blockSize:w})=>D+w,0)}else S.value=n.contentRect.width,y.value=n.contentRect.height},s);Ie(()=>{const n=z(t);n&&(S.value="offsetWidth"in n?n.offsetWidth:o.width,y.value="offsetHeight"in n?n.offsetHeight:o.height)});const V=e.watch(()=>z(t),n=>{S.value=n?o.width:0,y.value=n?o.height:0});function O(){v(),V()}return{width:S,height:y,stop:O}}function Re(t,o,s,l={}){var u,c,S;const{clone:y=!1,passive:v=!1,eventName:V,deep:O=!1,defaultValue:n,shouldEmit:I}=l,f=e.getCurrentInstance(),D=s||(f==null?void 0:f.emit)||((u=f==null?void 0:f.$emit)==null?void 0:u.bind(f))||((S=(c=f==null?void 0:f.proxy)==null?void 0:c.$emit)==null?void 0:S.bind(f==null?void 0:f.proxy));let w=V;o||(o="modelValue"),w=w||`update:${o.toString()}`;const C=b=>y?typeof y=="function"?y(b):Be(b):b,F=()=>be(t[o])?C(t[o]):n,m=b=>{I?I(b)&&D(w,b):D(w,b)};if(v){const b=F(),_=e.ref(b);let B=!1;return e.watch(()=>t[o],h=>{B||(B=!0,_.value=C(h),e.nextTick(()=>B=!1))}),e.watch(_,h=>{!B&&(h!==t[o]||O)&&m(h)},{deep:O}),_}else return e.computed({get(){return F()},set(b){m(b)}})}function Te(){const{isDark:t}=Z(),o=_e(t);return{isDark:t,toggleDark:o}}function ue(){const t=e.ref(!1);return e.onMounted(()=>{de(t),Ue(t)}),e.watch(()=>t.value,()=>{t.value?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark")}),{isDark:t}}function de(t){var o=document.documentElement;o&&(o.classList.contains("dark")?t.value=!0:t.value=!1)}function Ue(t){var o=document.querySelector("html"),s=new MutationObserver(function(l){for(var u of l)if(u.type==="attributes"&&u.attributeName==="class"){const c=u.target;new Array(...c.classList).includes("dark")?t.value=!0:t.value=!1}});s.observe(o,{attributes:!0,attributeFilter:["class"]}),e.onUnmounted(()=>{s.disconnect()})}function fe(){const t=e.ref(1),o=e.ref(!1),{isDark:s}=ue(),{pressSpace:l,pressShift:u,pressCtrl:c}=pe();return{canvasScale:t,pressSpace:l,pressShift:u,pressCtrl:c,disabledZoom:o,isDark:s}}const Z=Ee(fe);function pe(){const t=e.ref(!1),o=e.ref(!1),s=e.ref(!1);return j(" ",()=>{t.value=!0}),ee(" ",()=>{t.value=!1}),j("Shift",l=>{l.preventDefault(),o.value=!0}),ee("Shift",()=>{o.value=!1}),j("Control",l=>{l.preventDefault(),s.value=!0}),ee("Control",()=>{s.value=!1}),{pressSpace:t,pressShift:o,pressCtrl:s}}function qe(t){const{pressSpace:o}=Z(),s=new Image(1,1);s.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==";let l=0,u=0;function c(v){var V;o.value&&(l=v.x,u=v.y,(V=v.dataTransfer)==null||V.setDragImage(document.createElement("div"),0,0))}function S(v){if(v.preventDefault(),!v.x||!v.y||!o.value)return;const V=v.x-l,O=v.y-u;l=v.x,u=v.y,t.value&&(t.value.scrollTop-=O,t.value.scrollLeft-=V)}function y(){o.value=!1}return{handleElementDragStart:c,handleElementDrag:S,handleElementDragEnd:y}}function Le(t){const{pressCtrl:o,canvasScale:s,disabledZoom:l}=Z();function u(c){if(!o.value||l.value)return;c.preventDefault();let S=0;c.deltaY<0?S=s.value+.05:S=s.value-.05,!(S>150||S<.5)&&(s.value=S)}return e.watch(()=>s.value,c=>{t.value&&!l.value&&(t.value.style.transform=`scale(${c})`)}),{handleZoom:u,canvasScale:s}}function ke(t,o=16.66){let s;function l(){u(),s=window.setInterval(t,o)}function u(){window.clearInterval(s)}return{startTimedQuery:l,stopTimedQuery:u}}const Je={class:"min-w-750px rounded"},ze={class:"h-full rounded"},Ke=e.defineComponent({__name:"index",setup(t,{expose:o}){const s=E.pluginManager.getComponent("monacoEditor"),l=E.pluginManager.getComponent("modal"),u=e.ref(null),c=e.ref(!1),S=e.ref(!1),y=e.ref({}),v=e.inject("pageSchema"),V=e.ref(null),O=e.ref("");function n(){S.value=!1}function I(){c.value=!1}function f(){c.value=!0,O.value=E.getUUID()}async function D(){try{let w=await V.value.validateAll();if(!Object.keys(w).length){alert("请添加表单组件后再尝试!");return}Object.keys(w).length===1&&(w=w.default),y.value=JSON.stringify(w,null,2),e.nextTick(()=>{var C;(C=u.value)==null||C.setValue(y.value)}),S.value=!0}catch(w){console.error(w)}}return o({handleOpen:f}),(w,C)=>(e.openBlock(),e.createBlock(e.unref(l),{modelValue:c.value,"onUpdate:modelValue":C[1]||(C[1]=F=>c.value=F),title:"预览",class:"w-900px",width:"900px",onClose:I,onOk:D,okText:"表单数据"},{default:e.withCtx(()=>[e.createElementVNode("div",Je,[(e.openBlock(),e.createBlock(e.unref(ie),{key:O.value,ref_key:"kb",ref:V,"page-schema":e.unref(v)},null,8,["page-schema"])),e.createVNode(e.unref(l),{modelValue:S.value,"onUpdate:modelValue":C[0]||(C[0]=F=>S.value=F),title:"表单数据",class:"w-860px",width:"860px",onClose:n,onOk:n},{default:e.withCtx(()=>[e.createElementVNode("div",ze,[e.createVNode(e.unref(s),{ref_key:"monacoEditorRef",ref:u,autoToggleTheme:"",readOnly:"",class:"h-full editor","model-value":y.value},null,8,["model-value"])])]),_:1},8,["modelValue"])])]),_:1},8,["modelValue"]))}}),He={key:0,class:"epic-loading-box"},Ze={class:"epic-designer-main"},We={class:"epic-header-container"},Qe={class:"epic-loading-box"},Ge=e.defineComponent({__name:"designer",props:{disabledZoom:{type:Boolean,default:!1},hiddenHeader:{type:Boolean,default:!1},lockDefaultSchemaEdit:{type:Boolean,default:!1},formMode:{type:Boolean,default:!1},title:{default:"EpicDesigner默认项目"},defaultSchema:{},sourceCodeReadOnly:{type:Boolean},source:{default:[]},updateSourceId:{}},emits:["ready","save","reset","toggleDeviceMode","saveSourceData","deleteSourceData","updateSourceData"],setup(t,{expose:o,emit:s}){const{t:l}=J.useLocale(),u=E.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-v2u1WTMm.cjs"))),c=E.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-CCCx1tbF.cjs"))),S=E.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-QROM92Xw.cjs"))),y=E.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-R2r9Rw5O.cjs"))),v=E.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-Cap7FkuS.cjs"))),V=ne(),O=se(),n=t;let I={schemas:[{type:"form",id:"root",label:l("page"),children:[],componentProps:{name:l("form"),style:{padding:"16px"}}}],script:`const { defineExpose, find } = epic;
2
-
3
- function test (){
4
- console.log('test')
5
- }
6
-
7
- // 通过defineExpose暴露的函数或者属性
8
- defineExpose({
9
- test
10
- })`};e.watchEffect(()=>{if(n.defaultSchema){I=n.defaultSchema;return}n.source&&E.pluginManager.setSourceData(n.source),n.formMode&&(I.schemas=E.pluginManager.formSchemas)}),V.setDesignMode(),V.setDefaultComponentIds(I.schemas);const f=s,D=e.ref(null),w=e.reactive({checkedNode:null,hoverNode:null,disableHover:!1,matched:[]}),C=e.reactive({schemas:[],script:I.script}),{disabledZoom:F}=Z();e.watchEffect(()=>{F.value=n.disabledZoom}),e.watchEffect(()=>{const a=C.script;a&&a!==""&&V.setMethods(a)}),e.provide("pageSchema",C),e.provide("revoke",O),e.provide("pageManager",V),e.provide("designerProps",e.computed(()=>n)),e.provide("designer",{setCheckedNode:b,setHoverNode:_,setDisableHover:h,handleToggleDeviceMode:L,reset:A,state:w}),E.EventBus.on("saveSourceData",a=>{f("saveSourceData",a)}),E.EventBus.on("deleteSourceData",a=>{f("deleteSourceData",a)}),E.EventBus.on("updateSourceData",a=>{f("updateSourceData",a)});function m(){C.schemas=E.deepClone(I.schemas),b(C.schemas[0]),O.push(C.schemas,"初始化撤销功能")}async function b(a=C.schemas[0]){w.checkedNode=a,w.matched=E.getMatchedById(C.schemas,a.id)}async function _(a=null){var $;if(!a||w.disableHover)return w.hoverNode=null,!1;if((a==null?void 0:a.id)===(($=w.hoverNode)==null?void 0:$.id))return!1;w.hoverNode=a}function B(){e.nextTick(()=>{f("ready",{pageManager:V})})}async function h(a=!1){w.disableHover=a}function R(a){E.deepCompareAndModify(C,E.deepClone(a))}function T(){return e.toRaw(C)}function A(){E.deepEqual(C.schemas,I.schemas)&&C.script===I.script||(E.deepCompareAndModify(C.schemas,I.schemas),C.script=I.script,b(C.schemas[0]),O.push(C.schemas,"重置操作"),f("reset",C))}function g(){f("save",e.toRaw(C))}function L(a){f("toggleDeviceMode",a)}function p(){D.value.handleOpen()}return m(),o({revoke:O,setData:R,getData:T,reset:A,preview:p}),(a,$)=>e.unref(E.pluginManager).initialized.value?(e.openBlock(),e.createBlock(e.Suspense,{key:1,onResolve:B},{default:e.withCtx(()=>[e.createElementVNode("div",Ze,[e.createElementVNode("div",We,[e.renderSlot(a.$slots,"header",{},()=>[n.hiddenHeader?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(u),{key:0,onPreview:p,onSave:g},{header:e.withCtx(()=>[e.renderSlot(a.$slots,"header-prefix")]),prefix:e.withCtx(()=>[e.renderSlot(a.$slots,"header-prefix")]),title:e.withCtx(()=>[e.renderSlot(a.$slots,"header-title")]),"right-prefix":e.withCtx(()=>[e.renderSlot(a.$slots,"header-right-prefix")]),"right-action":e.withCtx(()=>[e.renderSlot(a.$slots,"header-right-action")]),"right-suffix":e.withCtx(()=>[e.renderSlot(a.$slots,"header-right-suffix")]),_:3}))])]),e.createElementVNode("div",{class:e.normalizeClass(["epic-split-view-container",{"hidden-header":a.hiddenHeader}])},[e.createVNode(e.unref(c)),e.createVNode(e.unref(S)),e.createVNode(e.unref(y))],2),e.createVNode(Ke,{ref_key:"previewRef",ref:D},null,512)])]),fallback:e.withCtx(()=>[e.createElementVNode("div",Qe,[e.createVNode(e.unref(v))])]),_:3})):(e.openBlock(),e.createElementBlock("div",He))}}),Ye={component:async()=>await Promise.resolve().then(()=>require("./index-D-MYAFvk.cjs")),defaultSchema:{label:"代码编辑器",type:"monacoEditor",field:"monacoEditor",icon:"epic-icon-write",input:!0},config:{attribute:[{label:"字段名",type:"input",field:"field"},{label:"标题",type:"input",field:"label"},{label:"默认值",type:"monacoEditor",field:"componentProps.defaultValue"}]},bindModel:"model-value"},{t:te}=J.useLocale(),Xe={component:async()=>await Promise.resolve().then(()=>require("./index-Ch9jeYmj.cjs")),defaultSchema:{label:te("page"),type:"page",componentProps:{},children:[]},config:{attribute:[{label:te("pageName"),type:"input",componentProps:{placeholder:te("pleaseEnter")},field:"componentProps.name"}]}},{t:G}=J.useLocale();function je(t){t.component("EInputSize",async()=>await Promise.resolve().then(()=>require("./index-CpevxZqj.cjs"))),t.component("EColEditor",async()=>await Promise.resolve().then(()=>require("./index-FgdbKgb5.cjs"))),t.component("EActionEditor",async()=>await Promise.resolve().then(()=>require("./index-CXN5JcDN.cjs"))),t.component("ERuleEditor",async()=>await Promise.resolve().then(()=>require("./index-BhYl2S9H.cjs"))),t.component("EOptionsEditor",async()=>await Promise.resolve().then(()=>require("./index-DDxqWsLh.cjs"))),t.component("ENode",async()=>await Promise.resolve().then(()=>require("./index-Dmfk0xI0.cjs"))),t.component("EDataSource",async()=>await Promise.resolve().then(()=>require("./index-BEUYVwRA.cjs"))),t.component("EColumnEditor",async()=>await Promise.resolve().then(()=>require("./index-jgqfPmDS.cjs"))),t.component("PaddingMarginControl",async()=>await Promise.resolve().then(()=>require("./index-DYQi05p8.cjs"))),t.registerActivitybar({id:"component_view",title:G("component"),icon:"icon--epic--extension-outline",component:async()=>await Promise.resolve().then(()=>require("./index-BHZbtFEF.cjs"))}),t.registerActivitybar({id:"outline_view",title:G("outline"),icon:"icon--epic--account-tree-outline-rounded",component:async()=>await Promise.resolve().then(()=>require("./outline-BE98qFHQ.cjs"))}),t.registerRightSidebar({id:"attribute_view",title:G("attribute"),component:async()=>await Promise.resolve().then(()=>require("./attributeView-iVaomUyI.cjs"))}),t.registerRightSidebar({id:"style_view",title:G("style"),component:async()=>await Promise.resolve().then(()=>require("./styleView-rQBBbLFF.cjs"))}),t.registerRightSidebar({id:"event_view",title:"事件",component:async()=>await Promise.resolve().then(()=>require("./eventView-5fa6mfSD.cjs"))}),[Ye,Xe].forEach(s=>{t.registerComponent(s)})}je(E.pluginManager);exports._sfc_main=le;exports._sfc_main$1=ie;exports._sfc_main$2=Ge;exports.debounce=he;exports.getDarkState=de;exports.initStore=fe;exports.useDark=ue;exports.useElementDrag=qe;exports.useElementSize=Fe;exports.useElementZoom=Le;exports.useKeyPress=pe;exports.usePageManager=ne;exports.useResizeObserver=ce;exports.useRevoke=se;exports.useStore=Z;exports.useTheme=Te;exports.useTimedQuery=ke;exports.useVModel=Re;exports.watchOnce=Pe;