epic-designer-gold 0.0.16 → 0.0.17
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.
- package/dist/{attributeView-DZseOPbA.cjs → attributeView-BrU7NVHB.cjs} +1 -1
- package/dist/{attributeView-DaKcfxYS.js → attributeView-C2nl9iK-.js} +1 -1
- package/dist/{eventView-DMdS5tNd.cjs → eventView-D-tRUHfx.cjs} +1 -1
- package/dist/{eventView-BFaz-0Gd.js → eventView-pHQ5eBv7.js} +1 -1
- package/dist/{index-C23zgjw8.js → index-3ZgPYrE2.js} +1 -1
- package/dist/{index-B0Zx7BFr.js → index-71KHFYJU.js} +456 -449
- package/dist/{index-CwopQ1ii.js → index-BfSXPeVc.js} +1 -1
- package/dist/{index-wccisfiH.cjs → index-BiivAgJZ.cjs} +1 -1
- package/dist/{index-D2KcZm16.js → index-BkjzhhSi.js} +1 -1
- package/dist/{index-CYvxg3TX.cjs → index-Blo7yEnf.cjs} +1 -1
- package/dist/{index-CIHXNeLh.cjs → index-C2CpiJ_f.cjs} +1 -1
- package/dist/{index-UhAkLhp5.js → index-CJGTWlxP.js} +1 -1
- package/dist/{index-Bg5w6ttO.cjs → index-CSoobSpH.cjs} +1 -1
- package/dist/{index-C3SntaaD.cjs → index-D75wUoUt.cjs} +1 -1
- package/dist/index-DKdtKvGH.cjs +10 -0
- package/dist/{index-DaGkNfvy.cjs → index-DQcq_Ryv.cjs} +1 -1
- package/dist/{index-LuEk_rsN.cjs → index-Dzbf-pz4.cjs} +1 -1
- package/dist/{index-Bo7Wv18B.js → index-U9gSTNR0.js} +1 -1
- package/dist/{index-ji8WAXwM.js → index-WWXiJl3c.js} +1 -1
- package/dist/{index-DAucrTY2.cjs → index-hqgOCVG7.cjs} +1 -1
- package/dist/{index-CecS9Ywo.js → index-i0m3r1ds.js} +1 -1
- package/dist/{index-DsZL9gYb.js → index-if6rPeHv.js} +1 -1
- package/dist/index-me8_Rc_U.js +4 -0
- package/dist/{index-BzE8aBGI.cjs → index-vMiAEdD_.cjs} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/{styleView-Dti52JEQ.cjs → styleView-BKTC8Zam.cjs} +1 -1
- package/dist/{styleView-DIACFMk_.js → styleView-yb0Xq3SX.js} +1 -1
- package/package.json +1 -1
- package/dist/index-B14JQGo7.js +0 -4
- package/dist/index-C4_h1__K.cjs +0 -10
package/dist/index-C4_h1__K.cjs
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";const e=require("vue"),D=require("./axios-CYGTE3lR.cjs");function L(t=10){const a="abcdefghijklmnopqrstuvwxyz0123456789";let o="";for(let r=0;r<t;r++){const n=Math.floor(Math.random()*a.length);o+=a[n]}return o}function ee(t){return t.charAt(0).toUpperCase()+t.slice(1)}function V(t,a=new WeakMap){if(typeof t!="object"||t===null)return t;if(a.has(t))return a.get(t);if(Array.isArray(t)){const r=t.map(n=>V(n,a));return a.set(t,r),r}const o={};return a.set(t,o),Object.keys(t).forEach(r=>{o[r]=V(t[r],a)}),o}function he(t){const[a]=oe([V(t)],o=>{var n,s;const r={...o,id:`${o.type}_${L(8)}`};return(r.field||r.input)&&!((s=(n=D.pluginManager.getComponentConfingByType(r.type))==null?void 0:n.editConstraints)!=null&&s.fixedField)&&(r.field=r.id),r});return a}function B(t,a,o=!0){for(const[r,n]of Object.entries(a)){let s=t==null?void 0:t[r];s&&n&&typeof s=="object"&&typeof n=="object"?(Array.isArray(s)&&!Array.isArray(n)?s=t[r]={}:!Array.isArray(s)&&Array.isArray(n)&&(s=t[r]=[]),B(s,n,o)):t[r]=n}o&&Object.keys(t).reverse().forEach(r=>{a.hasOwnProperty(r)||(Array.isArray(t)?t.splice(Number(r),1):delete t[r])})}function Y(t,a,o=[],r=new WeakMap){const n=s=>{if(Array.isArray(s))return s.map(n);if(typeof s=="object"&&s!==null){if(r.has(s))return"[Circular]";r.set(s,!0);const i=Object.keys(s).sort(),u={};return i.forEach(f=>{o.includes(f)||(u[f]=n(s[f]))}),r.delete(s),u}else return s};return JSON.stringify(n(t))===JSON.stringify(n(a))}function te(t,a){const o=[];let r=!1;function n(s){if(o.push(s),s.id===a&&(r=!0),!r&&s.children!=null&&s.children.length>0)for(let i=0;i<s.children.length&&(n(s.children[i]),!r);i++);if(!r&&s.slots)for(let i in s.slots)for(let u=0;u<s.slots[i].length&&(n(s.slots[i][u]),!r);u++);r||o.pop()}return t.forEach(n),r||console.error(`没有查询到id为${a}的节点`),o}function ve(t,a,o){const r=a.split(".");let n=t;for(let s=0;s<r.length;s++){if(n==null)return o;n=n[r[s]]}return n===void 0?o:n}function ye(t,a,o){const r=a.replace(/\[(\d+)\]/g,".$1").split(".").filter(Boolean);let n=t;for(let s=0;s<r.length-1;s++){const i=r[s];n[i]==null&&(n[i]=isNaN(Number(r[s+1]))?{}:[]),n=n[i]}return n[r[r.length-1]]=o,t}function ge(t,a="default"){return ne(t,a).map(r=>r.field)}function ne(t,a="default"){const o=U(t,n=>{var s;return n.type==="form"&&(((s=n.componentProps)==null?void 0:s.name)??n.name===a)},!0);return U((o==null?void 0:o.children)??[],n=>!!n.input,!1,n=>n.type!=="subform")}function U(t,a,o=!1,r){const n=[],s=[...t];for(;s.length;){const i=s.pop();if(i!=null&&i.children&&(!r||r(i))&&s.push(...i.children),i!=null&&i.slots&&(!r||r(i)))for(let u in i.slots)s.push(...i.slots[u]);if(a(i)&&(n.push(i),o))return i}return o?!1:n}function oe(t,a,o){const r=[...t];for(;r.length;){const n=r.pop();if(n!=null&&n.children&&(!o||o(n))&&r.push(...n.children),n!=null&&n.slots&&(!o||o(n)))for(let s in n.slots)r.push(...n.slots[s]);B(n,a(n))}return t}function we(t,a){const o=U(t,r=>r.id===a,!0);if(!o)throw new Error(`没有查询到id为${a}的节点`);return o}function Se(t,a){const o=[{type:"",children:t}];let r=0,n=null;if(U(o,s=>{if(n=s.children??null,!n){if(s!=null&&s.slots)for(let i in s.slots){n=s.slots[i];for(let u=0;u<n.length;u++)if(n[u].id===a)return r=u,!0}return!1}for(let i=0;i<n.length;i++)if(n[i].id===a)return r=i,!0;return!1},!0),!n)throw new Error(`没有查询到id为${a}的节点`);return{list:n,schema:n[r],index:r}}function be(t){const a={schemas:[{type:"page",id:"root",label:"页面",children:[{label:"表单",type:"form",icon:"epic-icon-daibanshixiang",labelWidth:t.config.labelWidth||100,name:"default",componentProps:{layout:t.config.layout||"horizontal",labelWidth:t.config.labelWidth||100,labelLayout:t.config.labelLayout==="flex"?"fixed":"flex",labelCol:t.config.labelCol||{span:5},wrapperCol:t.config.wrapperCol||{span:19},hideRequiredMark:t.config.hideRequiredMark||!1,colon:t.config.colon||!0,labelAlign:t.config.labelAlign||"right",size:t.config.size||"middle"},children:[],id:"form_"+L()}],componentProps:{style:{padding:"16px"}}}],script:t.script||""};return a.schemas[0].children[0].children=T(t.list),a}function T(t,a){return t.map(o=>{var f,b,p;let r=o.type??"";const n=o.options??{},s=(l,k)=>{r===l&&(r=k,n.defaultValue&&(n.defaultValue=JSON.parse(n.defaultValue)))};if(s("uploadImg","upload-image"),s("uploadFile","upload-file"),r==="date"&&n.range&&(n.type="daterange",delete n.range),(r==="date"||r==="time")&&(n.valueFormat=n.format),r==="textarea"){const{minRows:l,maxRows:k}=n;n.autoSize={minRows:l,maxRows:k},delete n.minRows,delete n.maxRows}r==="number"&&!n.precision&&delete n.precision,n.width&&(n.style={width:n.width},delete n.width),r==="grid"&&(r="row"),a&&a.type==="grid"&&(r="col",n.span=o.span,o.key=L());const i={label:o.label,type:r,icon:o.icon||"",field:o.model,componentProps:n,id:o.key};return(n.noFormItem||!n.showLabel)&&(i.noFormItem=!0,delete n.noFormItem,delete n.showLabel),n.clearable&&(n.allowClear=!0,delete n.clearable),["input","textarea","number","password","select","cascader","checkbox","radio","date","time","slider","switch","color-picker","upload-file","upload-image"].includes(r)&&(i.input=!0,((b=(f=o.rules)==null?void 0:f[0])==null?void 0:b.required)===!1&&o.rules.shift(),((p=o.rules)==null?void 0:p.length)>0&&(i.rules=o.rules)),o.list&&(i.children=T(o.list,o)),o.columns&&(i.children=T(o.columns,o)),o.trs&&(i.children=T(o.trs,o)),o.tds&&(i.children=T(o.tds,o)),i})}function ke(t,a){let o=null;return(...r)=>{o&&clearTimeout(o),o=setTimeout(()=>{t(...r)},a)}}function X(){const t=e.ref({}),a=e.ref({}),o=e.ref(!1),r=e.ref([]),n=e.reactive({});function s(h){return t.value[h]}function i(h,S){t.value[h]=S}function u(h){delete t.value[h]}function f(h,S=!1){const w=Object.entries(D.pluginManager.publicMethods).reduce((E,[_,M])=>(E[_]=M.handler,E),{});try{new Function(`const epic = this;${h}`).bind({...w,getComponent:s,find:s,defineExpose:b,publicMethods:w,pluginManager:D.pluginManager})()}catch(E){S&&console.error("[epic:自定义函数]异常:",E)}}function b(h){h!=null&&(a.value=h)}function p(h,...S){if(!h||h.length===0){console.warn("未提供任何动作");return}h.forEach(w=>{const E=w.args?JSON.parse(w.args):S;switch(w.type){case"public":l(w,E);break;case"custom":k(w,E);break;case"component":d(w,E);break;default:console.warn(`未知的动作类型: ${w.type}`);break}})}function l(h,S){var w;try{(w=D.pluginManager.publicMethods[h.methodName])==null||w.handler(...S)}catch(E){console.error(`[Epic:公共函数(${h.methodName})]执行异常:`,E)}}function k(h,S){var w,E;try{(E=(w=a.value)[h.methodName])==null||E.call(w,...S)}catch(_){console.error(`[Epic:自定义函数(${h.methodName})]执行异常:`,_)}}function d(h,S){const w=h.componentId!=null&&s(h.componentId);if(!w){console.warn(`[Epic:组件${h.componentId}]未找到`);return}try{w[h.methodName](...S)}catch(E){console.error(`[Epic:组件${h.componentId}函数(${h.methodName})]执行异常:`,E)}}function g(h=!0){o.value=h}function m(h){const S=U(h,()=>!0);r.value=S.map(w=>w.id)}function y(h,S="default"){if(n[S]){const w=n[S];B(h,w)}n[S]=h}function P(h,S="default"){if(n[S]){B(n[S],h,!1);return}n[S]=h}return{componentInstances:t,funcs:a,isDesignMode:o,defaultComponentIds:r,forms:n,addFormData:y,setFormData:P,getComponentInstance:s,find:s,addComponentInstance:i,removeComponentInstance:u,setMethods:f,doActions:p,setDesignMode:g,setDefaultComponentIds:m}}function re(){const t=e.ref([]),a=e.ref([]),o=e.ref(null);let r=0;function n(f,b="插入组件"){const p=Date.now();r+150>p||(r=p,o.value!=null&&(t.value.push(o.value),a.value.splice(0,a.value.length)),o.value={type:b,componentSchema:JSON.stringify(f)},t.value.length>60&&t.value.unshift())}function s(){if(t.value.length===0)return!1;const f=t.value.pop();return o.value!=null&&a.value.push(o.value),o.value=f,JSON.parse(f.componentSchema)}function i(){if(a.value.length===0)return!1;const f=a.value.pop();return o.value!=null&&t.value.push(o.value),o.value=f,JSON.parse(f.componentSchema)}function u(){t.value=[],a.value=[],o.value=null}return{recordList:t,undoList:a,currentRecord:o,push:n,undo:s,redo:i,reset:u}}const Ce=e.defineComponent({__name:"dynamicFormItem",props:{hasFormItem:{type:Boolean},formItemProps:{}},emits:["updateFormItemRef"],setup(t,{emit:a}){const o=D.pluginManager.getComponent("form-item"),r=t,n=a,s=e.ref(),i=()=>{n("updateFormItemRef",s.value)};return(u,f)=>r.hasFormItem?(e.openBlock(),e.createBlock(e.unref(o),e.mergeProps({key:0,ref_key:"formItemRef",ref:s,onVnodeMounted:i},r.formItemProps),{default:e.withCtx(()=>[e.renderSlot(u.$slots,"default")]),_:3},16,["onVnodeMounted"])):e.renderSlot(u.$slots,"default",{key:1})}}),ae=e.defineComponent({name:"ENode",__name:"node",props:{componentSchema:{},modelValue:{},ruleField:{},resetFormData:{type:Boolean},name:{},dynamicId:{},sourceDateUrl:{}},emits:["update:modelValue","change","update:dynamicId"],setup(t,{emit:a}){const{proxy:o}=e.getCurrentInstance(),r=t,n=e.ref(null);let s=e.inject("formData",e.reactive({}));const i=e.inject("slots",{}),u=e.inject("pageManager",{}),f=e.inject("disabled",{value:!1}),b=e.inject("ruleFieldPrefix",null),p=e.inject("resetFormData",!1);let l=e.reactive(V(r.componentSchema));g();async function k(c){if(["cascader","checkbox","select","radio"].includes(c.type)&&c.componentProps.dynamicId&&r.sourceDateUrl){const C=(await D.axios({url:r.sourceDateUrl,method:"get",params:{id:c.componentProps.dynamicId}})).data.data;let A=await D.axios({url:C.url,method:C.method,data:JSON.parse(C.body),params:JSON.parse(C.params),headers:JSON.parse(C.headers)});if(C&&(C!=null&&C.dataPath)){const pe=C.dataPath.split(".").reduce((K,me)=>K[me],A.data);c.componentProps.options=d(pe).map(K=>({label:K[C.dataKey],value:K[C.dataValue]}))}else c.componentProps.options=d(A.data).map(F=>({label:F[C.dataKey],value:F[C.dataValue]}));return c}return c}function d(c){return c&&Object.prototype.toString.call(c)==="[object Array]"?c:[]}e.watch(()=>r.componentSchema,c=>{Y(l,c,["children"])||(B(l,V(c)),g())},{deep:!0});function g(){u.isDesignMode.value&&typeof l.field=="string"&&(l.field+="-design-mode")}(r.resetFormData||p)&&(s={});const m=a,y=e.ref(),P=e.ref(),h=c=>{P.value=c},S=e.useAttrs();Object.keys(S).length&&e.provide("nodeAttrs",S);const w=e.shallowRef(null),E=e.computed(()=>{var c,x;return(c=l.componentProps)!=null&&c.hidden?!1:typeof l.show=="boolean"?l.show:((x=l.show)==null?void 0:x.call(l,{values:s}))??!0}),_=e.computed(()=>{var C;const c=E.value&&((C=l.rules)==null?void 0:C.map(A=>({...A,validator:A.validator&&u.funcs.value[A.validator]})));let x=l.field;r.ruleField?x=r.ruleField:b&&l.field&&(x=V(b),x.push(l.field));const I={...l,rules:c,rule:c,field:x};return I.children&&delete I.children,I}),M=e.computed(()=>{var I,C;const c=((I=$.value)==null?void 0:I.bindModel)??"modelValue",x={};return l.on&&Object.keys(l.on).forEach(A=>{x[`on${ee(A)}`]=(...F)=>u.doActions(l.on[A],...F)}),{...r,...l.componentProps,disabled:(f==null?void 0:f.value)||((C=l.componentProps)==null?void 0:C.disabled),bindModel:c,...x}}),$=e.computed(()=>D.pluginManager.getComponentConfingByType(l.type)??null);e.watchEffect(()=>{n.value=r.modelValue??s[l.field??""]}),e.watch(()=>n.value,()=>{n.value!==(r.modelValue??s[l.field??""])&&N(n.value)}),e.watch(()=>y.value,()=>{z()},{immediate:!0});function z(){var x;const c=y.value||o;l.id&&c&&(l.input&&(c.setValue=N,c.getValue=()=>s[l.field]||r.modelValue),c.setAttr=(I,C)=>(l.componentProps||(l.componentProps={}),l.componentProps[I]=C),c.getAttr=I=>l.componentProps[I],u.addComponentInstance(l.id,c),(x=$.value)!=null&&x.defaultSchema.input&&l.noFormItem!==!0&&P.value&&u.addComponentInstance(l.id+"formItem",P.value))}function H(){var c;l.id&&(u.removeComponentInstance(l.id),(c=$.value)!=null&&c.defaultSchema.input&&l.noFormItem!==!0&&u.removeComponentInstance(l.id+"formItem"))}async function Z(){var x,I,C;if(l=await k(l),typeof((x=l.componentProps)==null?void 0:x.defaultValue)<"u"){const A=u.isDesignMode.value?(I=l.componentProps)==null?void 0:I.defaultValue:s[l.field]??((C=l.componentProps)==null?void 0:C.defaultValue);N(V(A))}if(l.type==="slot"){const A=l.slotName;if(!A)return;w.value=e.defineComponent({setup(){return()=>e.renderSlot(i,A,{componentSchema:l,model:s})}});return}const c=D.pluginManager.getComponent(l.type);if(!c){console.error(`组件${l.type}未注册`);return}if(typeof c=="function"){const A=await c();w.value=A.default??A}else w.value=c}function N(c){m("update:modelValue",c),m("change",c),l.field&&(s[l.field]=c)}function v(c){m("update:dynamicId",c)}let O=null;return e.watch(()=>l,async c=>{const x=JSON.stringify({...c,children:void 0,componentProps:{...c.componentProps,options:null}});if(x===O)return!1;O=x,Z()},{immediate:!0,deep:!0}),e.onUnmounted(H),(c,x)=>{var C;const I=e.resolveComponent("ENode");return w.value&&E.value?(e.openBlock(),e.createBlock(Ce,{key:0,hasFormItem:e.unref(l).noFormItem!==!0&&((C=$.value)==null?void 0:C.defaultSchema.input),formItemProps:_.value,onUpdateFormItemRef:h},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(w.value),e.mergeProps({ref_key:"componentInstance",ref:y,onVnodeMounted:z,model:e.unref(s)},{...M.value},{[M.value.bindModel]:n.value,["onUpdate:"+M.value.bindModel]:x[0]||(x[0]=A=>n.value=A),[`onUpdate:${M.value.bindModel}`||""]:N,"onUpdate:dynamicId":v}),{node:e.withCtx(A=>[e.createVNode(I,e.mergeProps(A,{sourceDateUrl:r.sourceDateUrl}),null,16,["sourceDateUrl"])]),"edit-node":e.withCtx(()=>[e.renderSlot(c.$slots,"edit-node")]),_:3},16,["model"]))]),_:3},8,["hasFormItem","formItemProps"])):e.createCommentVNode("",!0)}}});function Ee(){const t=e.ref(!1),a=X(),o=e.ref({});function r(){return new Promise(d=>{if(t.value)d();else{const g=e.watch(t,()=>{g(),d()})}})}async function n(d="default"){var m;await r();const g=(m=o.value)==null?void 0:m[d];if(!g)throw new Error(`表单 [name=${d}] 不存在`);return g}async function s(d,g){const m=await n(d);return V(await g(m))}async function i(d="default"){return await s(d,g=>g.getData())}function u(d,g="default"){var y;a.setFormData(d,g);const m=(y=o.value)==null?void 0:y[g];m==null||m.clearValidate()}async function f(d="default"){return await s(d,async g=>(await g.validate(),await g.getData()))}async function b(d){await r();const g={};for(const m in o.value){const y=o.value[m];y&&(g[m]=V(await d(y)))}return g}async function p(){return await b(d=>d.getData())}function l(d){for(const g in d)u(d[g],g)}async function k(){return await b(async d=>(await d.validate(),await d.getData()))}return{ready:t,pageManager:a,forms:o,getData:i,setData:u,validate:f,getForms:p,setForms:l,validateAll:k,getFormInstance:n}}const xe={key:0,class:"epic-loading-box"},Ae={class:"epic-builder-main"},De={class:"epic-loading-box"},se=e.defineComponent({__name:"builder",props:{pageSchema:{},formData:{},disabled:{type:Boolean},sourceDateUrl:{}},emits:["ready"],setup(t,{expose:a,emit:o}){const r=D.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-Cap7FkuS.cjs"))),n=o,{ready:s,pageManager:i,forms:u,getData:f,setData:b,validate:p,getForms:l,setForms:k,validateAll:d,getFormInstance:g}=Ee(),m=t,y=e.reactive({schemas:[]});e.watch(()=>m.pageSchema,w=>{B(y,w)},{immediate:!0,deep:!0}),e.watch(()=>m.formData,w=>{w&&b(w)},{immediate:!0,deep:!0}),e.watch(()=>y.script,w=>{w&&i.setMethods(w,!0)},{immediate:!0}),e.provide("slots",e.useSlots()),e.provide("pageManager",i),e.provide("forms",u),e.provide("pageSchema",y),e.provide("disabled",e.computed(()=>m.disabled));const P=e.getCurrentInstance(),h=P==null?void 0:P.proxy;function S(){e.nextTick(()=>{s.value=!0,n("ready",i),h&&i.addComponentInstance("builder",h)})}return a({ready:s,pageManager:i,getData:f,setData:b,validate:p,getForms:l,setForms:k,validateAll:d,getFormInstance:g}),(w,E)=>e.unref(D.pluginManager).initialized.value?(e.openBlock(),e.createBlock(e.Suspense,{key:1,onResolve:S},{default:e.withCtx(()=>[e.createElementVNode("div",Ae,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.schemas,(_,M)=>(e.openBlock(),e.createBlock(e.unref(ae),{key:M,sourceDateUrl:m.sourceDateUrl,componentSchema:_},null,8,["sourceDateUrl","componentSchema"]))),128))])]),fallback:e.withCtx(()=>[e.createElementVNode("div",De,[e.createVNode(e.unref(r))])]),_:1})):(e.openBlock(),e.createElementBlock("div",xe))}});function j(t){return e.getCurrentScope()?(e.onScopeDispose(t),!0):!1}function Ie(t){let a=0,o,r;const n=()=>{a-=1,r&&a<=0&&(r.stop(),o=void 0,r=void 0)};return(...s)=>(a+=1,r||(r=e.effectScope(!0),o=r.run(()=>t(...s))),j(n),o)}function q(t){return typeof t=="function"?t():e.unref(t)}const Pe=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const _e=t=>typeof t<"u",Ve=Object.prototype.toString,Me=t=>Ve.call(t)==="[object Object]",Be=()=>{};function Ne(t){return e.getCurrentInstance()}function Oe(t,a=!0,o){Ne()?e.onMounted(t,o):a?t():e.nextTick(t)}function Fe(t=!1,a={}){const{truthyValue:o=!0,falsyValue:r=!1}=a,n=e.isRef(t),s=e.ref(t);function i(u){if(arguments.length)return s.value=u,s.value;{const f=q(o);return s.value=s.value===f?q(r):f,s.value}}return n?i:[s,i]}function Re(t,a,o){const r=e.watch(t,(...n)=>(e.nextTick(()=>r()),a(...n)),o);return r}const W=Pe?window:void 0;function R(t){var a;const o=q(t);return(a=o==null?void 0:o.$el)!=null?a:o}function $e(...t){let a,o,r,n;if(typeof t[0]=="string"||Array.isArray(t[0])?([o,r,n]=t,a=W):[a,o,r,n]=t,!a)return Be;Array.isArray(o)||(o=[o]),Array.isArray(r)||(r=[r]);const s=[],i=()=>{s.forEach(p=>p()),s.length=0},u=(p,l,k,d)=>(p.addEventListener(l,k,d),()=>p.removeEventListener(l,k,d)),f=e.watch(()=>[R(a),q(n)],([p,l])=>{if(i(),!p)return;const k=Me(l)?{...l}:l;s.push(...o.flatMap(d=>r.map(g=>u(p,d,g,k))))},{immediate:!0,flush:"post"}),b=()=>{f(),i()};return j(b),b}function Te(t){return typeof t=="function"?t:typeof t=="string"?a=>a.key===t:Array.isArray(t)?a=>t.includes(a.key):()=>!0}function le(...t){let a,o,r={};t.length===3?(a=t[0],o=t[1],r=t[2]):t.length===2?typeof t[1]=="object"?(a=!0,o=t[0],r=t[1]):(a=t[0],o=t[1]):(a=!0,o=t[0]);const{target:n=W,eventName:s="keydown",passive:i=!1,dedupe:u=!1}=r,f=Te(a);return $e(n,s,p=>{p.repeat&&q(u)||f(p)&&o(p)},i)}function Q(t,a,o={}){return le(t,a,{...o,eventName:"keydown"})}function G(t,a,o={}){return le(t,a,{...o,eventName:"keyup"})}function Ue(){const t=e.ref(!1),a=e.getCurrentInstance();return a&&e.onMounted(()=>{t.value=!0},a),t}function qe(t){const a=Ue();return e.computed(()=>(a.value,!!t()))}function ze(t){return JSON.parse(JSON.stringify(t))}function ie(t,a,o={}){const{window:r=W,...n}=o;let s;const i=qe(()=>r&&"ResizeObserver"in r),u=()=>{s&&(s.disconnect(),s=void 0)},f=e.computed(()=>{const l=q(t);return Array.isArray(l)?l.map(k=>R(k)):[R(l)]}),b=e.watch(f,l=>{if(u(),i.value&&r){s=new ResizeObserver(a);for(const k of l)k&&s.observe(k,n)}},{immediate:!0,flush:"post"}),p=()=>{u(),b()};return j(p),{isSupported:i,stop:p}}function Le(t,a={width:0,height:0},o={}){const{window:r=W,box:n="content-box"}=o,s=e.computed(()=>{var l,k;return(k=(l=R(t))==null?void 0:l.namespaceURI)==null?void 0:k.includes("svg")}),i=e.ref(a.width),u=e.ref(a.height),{stop:f}=ie(t,([l])=>{const k=n==="border-box"?l.borderBoxSize:n==="content-box"?l.contentBoxSize:l.devicePixelContentBoxSize;if(r&&s.value){const d=R(t);if(d){const g=d.getBoundingClientRect();i.value=g.width,u.value=g.height}}else if(k){const d=Array.isArray(k)?k:[k];i.value=d.reduce((g,{inlineSize:m})=>g+m,0),u.value=d.reduce((g,{blockSize:m})=>g+m,0)}else i.value=l.contentRect.width,u.value=l.contentRect.height},o);Oe(()=>{const l=R(t);l&&(i.value="offsetWidth"in l?l.offsetWidth:a.width,u.value="offsetHeight"in l?l.offsetHeight:a.height)});const b=e.watch(()=>R(t),l=>{i.value=l?a.width:0,u.value=l?a.height:0});function p(){f(),b()}return{width:i,height:u,stop:p}}function Je(t,a,o,r={}){var n,s,i;const{clone:u=!1,passive:f=!1,eventName:b,deep:p=!1,defaultValue:l,shouldEmit:k}=r,d=e.getCurrentInstance(),g=o||(d==null?void 0:d.emit)||((n=d==null?void 0:d.$emit)==null?void 0:n.bind(d))||((i=(s=d==null?void 0:d.proxy)==null?void 0:s.$emit)==null?void 0:i.bind(d==null?void 0:d.proxy));let m=b;a||(a="modelValue"),m=m||`update:${a.toString()}`;const y=S=>u?typeof u=="function"?u(S):ze(S):S,P=()=>_e(t[a])?y(t[a]):l,h=S=>{k?k(S)&&g(m,S):g(m,S)};if(f){const S=P(),w=e.ref(S);let E=!1;return e.watch(()=>t[a],_=>{E||(E=!0,w.value=y(_),e.nextTick(()=>E=!1))}),e.watch(w,_=>{!E&&(_!==t[a]||p)&&h(_)},{deep:p}),w}else return e.computed({get(){return P()},set(S){h(S)}})}function Ke(){const{isDark:t}=J(),a=Fe(t);return{isDark:t,toggleDark:a}}function ce(){const t=e.ref(!1);return e.onMounted(()=>{ue(t),We(t)}),e.watch(()=>t.value,()=>{t.value?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark")}),{isDark:t}}function ue(t){var a=document.documentElement;a&&(a.classList.contains("dark")?t.value=!0:t.value=!1)}function We(t){var a=document.querySelector("html"),o=new MutationObserver(function(r){for(var n of r)if(n.type==="attributes"&&n.attributeName==="class"){const s=n.target;new Array(...s.classList).includes("dark")?t.value=!0:t.value=!1}});o.observe(a,{attributes:!0,attributeFilter:["class"]}),e.onUnmounted(()=>{o.disconnect()})}function de(){const t=e.ref(1),a=e.ref(!1),{isDark:o}=ce(),{pressSpace:r,pressShift:n,pressCtrl:s}=fe();return{canvasScale:t,pressSpace:r,pressShift:n,pressCtrl:s,disabledZoom:a,isDark:o}}const J=Ie(de);function fe(){const t=e.ref(!1),a=e.ref(!1),o=e.ref(!1);return Q(" ",()=>{t.value=!0}),G(" ",()=>{t.value=!1}),Q("Shift",r=>{r.preventDefault(),a.value=!0}),G("Shift",()=>{a.value=!1}),Q("Control",r=>{r.preventDefault(),o.value=!0}),G("Control",()=>{o.value=!1}),{pressSpace:t,pressShift:a,pressCtrl:o}}function He(t){const{pressSpace:a}=J(),o=new Image(1,1);o.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==";let r=0,n=0;function s(f){var b;a.value&&(r=f.x,n=f.y,(b=f.dataTransfer)==null||b.setDragImage(document.createElement("div"),0,0))}function i(f){if(f.preventDefault(),!f.x||!f.y||!a.value)return;const b=f.x-r,p=f.y-n;r=f.x,n=f.y,t.value&&(t.value.scrollTop-=p,t.value.scrollLeft-=b)}function u(){a.value=!1}return{handleElementDragStart:s,handleElementDrag:i,handleElementDragEnd:u}}function Ze(t){const{pressCtrl:a,canvasScale:o,disabledZoom:r}=J();function n(s){if(!a.value||r.value)return;s.preventDefault();let i=0;s.deltaY<0?i=o.value+.05:i=o.value-.05,!(i>150||i<.5)&&(o.value=i)}return e.watch(()=>o.value,s=>{t.value&&!r.value&&(t.value.style.transform=`scale(${s})`)}),{handleZoom:n,canvasScale:o}}function Qe(t,a=16.66){let o;function r(){n(),o=window.setInterval(t,a)}function n(){window.clearInterval(o)}return{startTimedQuery:r,stopTimedQuery:n}}const Ge={class:"min-w-750px rounded"},Ye={class:"h-full rounded"},Xe=e.defineComponent({__name:"index",setup(t,{expose:a}){const o=D.pluginManager.getComponent("monacoEditor"),r=D.pluginManager.getComponent("modal"),n=e.ref(null),s=e.ref(!1),i=e.ref(!1),u=e.ref({}),f=e.inject("pageSchema"),b=e.ref(null),p=e.ref("");function l(){i.value=!1}function k(){s.value=!1}function d(){s.value=!0,p.value=L()}async function g(){try{let m=await b.value.validateAll();if(!Object.keys(m).length){alert("请添加表单组件后再尝试!");return}Object.keys(m).length===1&&(m=m.default),u.value=JSON.stringify(m,null,2),e.nextTick(()=>{var y;(y=n.value)==null||y.setValue(u.value)}),i.value=!0}catch(m){console.error(m)}}return a({handleOpen:d}),(m,y)=>(e.openBlock(),e.createBlock(e.unref(r),{modelValue:s.value,"onUpdate:modelValue":y[1]||(y[1]=P=>s.value=P),title:"预览",class:"w-900px",width:"900px",onClose:k,onOk:g,okText:"表单数据"},{default:e.withCtx(()=>[e.createElementVNode("div",Ge,[(e.openBlock(),e.createBlock(e.unref(se),{key:p.value,ref_key:"kb",ref:b,"page-schema":e.unref(f)},null,8,["page-schema"])),e.createVNode(e.unref(r),{modelValue:i.value,"onUpdate:modelValue":y[0]||(y[0]=P=>i.value=P),title:"表单数据",class:"w-860px",width:"860px",onClose:l,onOk:l},{default:e.withCtx(()=>[e.createElementVNode("div",Ye,[e.createVNode(e.unref(o),{ref_key:"monacoEditorRef",ref:n,autoToggleTheme:"",readOnly:"",class:"h-full editor","model-value":u.value},null,8,["model-value"])])]),_:1},8,["modelValue"])])]),_:1},8,["modelValue"]))}}),je={key:0,class:"epic-loading-box"},et={class:"epic-designer-main"},tt={class:"epic-header-container"},nt={class:"epic-loading-box"},ot=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:{default:""}},emits:["ready","save","reset","toggleDeviceMode","saveSourceData","deleteSourceData","updateSourceData"],setup(t,{expose:a,emit:o}){const r=D.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-1afOcXnV.cjs"))),n=D.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-BJlPL6eL.cjs"))),s=D.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-BzE8aBGI.cjs"))),i=D.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-C6ceZM1C.cjs"))),u=D.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-Cap7FkuS.cjs"))),f=X(),b=re(),p=t;let l={schemas:[{type:"form",id:"root",label:"页面",children:[],componentProps:{name:"表单",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(async()=>{if(console.log("%c [ defaultSchema ]-136","font-size:13px; background:pink; color:#bf2c9f;",p.defaultSchema),p.defaultSchema){l=p.defaultSchema;return}console.log("%c [ updateSourceId ]-141","font-size:13px; background:pink; color:#bf2c9f;",p.updateSourceId),console.log("%c [ source ]-141","font-size:13px; background:pink; color:#bf2c9f;",p.source),p.source&&D.pluginManager.setSourceData(p.source),p.formMode&&(l.schemas=D.pluginManager.formSchemas),p.updateSourceId&&(l.schemas=await Promise.all(l.schemas.map(async v=>{if(["cascader","checkbox","select","radio"].includes(v.type)&&v.componentProps.dynamicId&&p.updateSourceId===v.componentProps.dynamicId){const c=p.source.find(I=>I.id===p.updateSourceId);let x=await D.axios({url:c.url,method:c.method,data:JSON.parse(c.body),params:JSON.parse(c.params),headers:JSON.parse(c.headers)});if(c&&(c!=null&&c.dataPath)){const C=c.dataPath.split(".").reduce((A,F)=>A[F],x.data);v.componentProps.options=k(C).map(A=>({label:A[c.dataKey],value:A[c.dataValue]}))}else v.componentProps.options=k(x.data).map(I=>({label:I[c.dataKey],value:I[c.dataValue]}))}return v})),console.log("%c [ ]-193","font-size:13px; background:pink; color:#bf2c9f;",l.schemas))});function k(v){return v&&Object.prototype.toString.call(v)==="[object Array]"?v:[]}f.setDesignMode(),f.setDefaultComponentIds(l.schemas);const d=o,g=e.ref(null),m=e.reactive({checkedNode:null,hoverNode:null,disableHover:!1,matched:[]}),y=e.reactive({schemas:[],script:l.script}),{disabledZoom:P}=J();e.watchEffect(()=>{P.value=p.disabledZoom}),e.watchEffect(()=>{const v=y.script;v&&v!==""&&f.setMethods(v)}),e.provide("pageSchema",y),e.provide("revoke",b),e.provide("pageManager",f),e.provide("designerProps",e.computed(()=>p)),e.provide("designer",{setCheckedNode:S,setHoverNode:w,setDisableHover:_,handleToggleDeviceMode:Z,reset:z,state:m}),D.EventBus.on("saveSourceData",v=>{d("saveSourceData",v)}),D.EventBus.on("deleteSourceData",v=>{d("deleteSourceData",v)}),D.EventBus.on("updateSourceData",v=>{d("updateSourceData",v)});function h(){y.schemas=V(l.schemas),S(y.schemas[0]),b.push(y.schemas,"初始化撤销功能")}async function S(v=y.schemas[0]){m.checkedNode=v,m.matched=te(y.schemas,v.id)}async function w(v=null){var O;if(!v||m.disableHover)return m.hoverNode=null,!1;if((v==null?void 0:v.id)===((O=m.hoverNode)==null?void 0:O.id))return!1;m.hoverNode=v}function E(){e.nextTick(()=>{d("ready",{pageManager:f})})}async function _(v=!1){m.disableHover=v}function M(v){B(y,V(v))}function $(){return e.toRaw(y)}function z(){Y(y.schemas,l.schemas)&&y.script===l.script||(B(y.schemas,l.schemas),y.script=l.script,S(y.schemas[0]),b.push(y.schemas,"重置操作"),d("reset",y))}function H(){d("save",e.toRaw(y))}function Z(v){d("toggleDeviceMode",v)}function N(){console.log("%c [ ]-385","font-size:13px; background:pink; color:#bf2c9f;",p),g.value.handleOpen()}return h(),a({revoke:b,setData:M,getData:$,reset:z,preview:N}),(v,O)=>e.unref(D.pluginManager).initialized.value?(e.openBlock(),e.createBlock(e.Suspense,{key:1,onResolve:E},{default:e.withCtx(()=>[e.createElementVNode("div",et,[e.createElementVNode("div",tt,[e.renderSlot(v.$slots,"header",{},()=>[p.hiddenHeader?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(r),{key:0,onPreview:N,onSave:H},{header:e.withCtx(()=>[e.renderSlot(v.$slots,"header-prefix")]),prefix:e.withCtx(()=>[e.renderSlot(v.$slots,"header-prefix")]),title:e.withCtx(()=>[e.renderSlot(v.$slots,"header-title")]),"right-prefix":e.withCtx(()=>[e.renderSlot(v.$slots,"header-right-prefix")]),"right-action":e.withCtx(()=>[e.renderSlot(v.$slots,"header-right-action")]),"right-suffix":e.withCtx(()=>[e.renderSlot(v.$slots,"header-right-suffix")]),_:3}))])]),e.createElementVNode("div",{class:e.normalizeClass(["epic-split-view-container",{"hidden-header":v.hiddenHeader}])},[e.createVNode(e.unref(n)),e.createVNode(e.unref(s)),e.createVNode(e.unref(i))],2),e.createVNode(Xe,{ref_key:"previewRef",ref:g},null,512)])]),fallback:e.withCtx(()=>[e.createElementVNode("div",nt,[e.createVNode(e.unref(u))])]),_:3})):(e.openBlock(),e.createElementBlock("div",je))}}),rt={component:async()=>await Promise.resolve().then(()=>require("./index-CYvxg3TX.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"},at={component:async()=>await Promise.resolve().then(()=>require("./index-Ch9jeYmj.cjs")),defaultSchema:{label:"页面",type:"page",componentProps:{},children:[]},config:{attribute:[{label:"页面名称",type:"input",componentProps:{placeholder:"请输入"},field:"componentProps.name"}]}};function st(t){t.component("EInputSize",async()=>await Promise.resolve().then(()=>require("./index-DpzLP1Zp.cjs"))),t.component("EColEditor",async()=>await Promise.resolve().then(()=>require("./index-wccisfiH.cjs"))),t.component("EActionEditor",async()=>await Promise.resolve().then(()=>require("./index-Bg5w6ttO.cjs"))),t.component("ERuleEditor",async()=>await Promise.resolve().then(()=>require("./index-LuEk_rsN.cjs"))),t.component("EOptionsEditor",async()=>await Promise.resolve().then(()=>require("./index-DAucrTY2.cjs"))),t.component("ENode",async()=>await Promise.resolve().then(()=>require("./index-DaGkNfvy.cjs"))),t.component("EDataSource",async()=>await Promise.resolve().then(()=>require("./index-B03W7FZR.cjs"))),t.registerActivitybar({id:"component_view",title:"组件",icon:"icon--epic--extension-outline",component:async()=>await Promise.resolve().then(()=>require("./index-C3SntaaD.cjs"))}),t.registerActivitybar({id:"sound_code_view",title:"源码",icon:"icon--epic--sdk-outline-rounded",component:async()=>await Promise.resolve().then(()=>require("./index-CIHXNeLh.cjs"))}),t.registerActivitybar({id:"outline_view",title:"大纲",icon:"icon--epic--account-tree-outline-rounded",component:async()=>await Promise.resolve().then(()=>require("./outline-CJSEUbgc.cjs"))}),t.registerRightSidebar({id:"attribute_view",title:"属性",component:async()=>await Promise.resolve().then(()=>require("./attributeView-DZseOPbA.cjs"))}),t.registerRightSidebar({id:"style_view",title:"样式",component:async()=>await Promise.resolve().then(()=>require("./styleView-Dti52JEQ.cjs"))}),t.registerRightSidebar({id:"event_view",title:"事件",component:async()=>await Promise.resolve().then(()=>require("./eventView-DMdS5tNd.cjs"))}),[rt,at].forEach(o=>{t.registerComponent(o)})}st(D.pluginManager);exports._sfc_main=ae;exports._sfc_main$1=se;exports._sfc_main$2=ot;exports.capitalizeFirstLetter=ee;exports.convertKFormData=be;exports.debounce=ke;exports.deepClone=V;exports.deepCompareAndModify=B;exports.deepEqual=Y;exports.findSchemaById=we;exports.findSchemaInfoById=Se;exports.findSchemas=U;exports.generateNewSchema=he;exports.getDarkState=ue;exports.getFormFields=ge;exports.getFormSchemas=ne;exports.getMatchedById=te;exports.getUUID=L;exports.getValueByPath=ve;exports.initStore=de;exports.mapSchemas=oe;exports.recursionConvertedNode=T;exports.setValueByPath=ye;exports.useDark=ce;exports.useElementDrag=He;exports.useElementSize=Le;exports.useElementZoom=Ze;exports.useKeyPress=fe;exports.usePageManager=X;exports.useResizeObserver=ie;exports.useRevoke=re;exports.useStore=J;exports.useTheme=Ke;exports.useTimedQuery=Qe;exports.useVModel=Je;exports.watchOnce=Re;
|