epic-designer-gold 0.0.35 → 0.0.36
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-BuU8Ajxc.js → attributeView-B7DV4lAt.js} +1 -1
- package/dist/{attributeView-n7qIXP7S.cjs → attributeView-DDGuze51.cjs} +1 -1
- package/dist/core/components/builder/hooks/useBuilder.d.ts +1 -1
- package/dist/core/components/builder/src/builder.vue.d.ts +1 -1
- package/dist/index-B-xlPeh9.js +1595 -0
- package/dist/{index-BqrNcAYd.cjs → index-B2gg10s4.cjs} +1 -1
- package/dist/{index-CF3fYMNt.js → index-B3lbdZq_.js} +1 -1
- package/dist/{index-CueBqJva.cjs → index-BjGIBeq9.cjs} +1 -1
- package/dist/{index-Dxs27XfA.cjs → index-COnqFAGF.cjs} +1 -1
- package/dist/{index-C4wq_cwc.cjs → index-CVoTuphS.cjs} +1 -1
- package/dist/index-D0lfnprb.cjs +10 -0
- package/dist/{index-DluF22Iv.js → index-D9Sl1Tt2.js} +1 -1
- package/dist/{index-B1hinJbh.cjs → index-Dp_NrzlD.cjs} +1 -1
- package/dist/{index-AT5ltRGN.js → index-Dqrp1qYR.js} +1 -1
- package/dist/{index-I369bEhX.js → index-DrpioRZq.js} +1 -1
- package/dist/{index-QWJHIAu8.js → index-K-_Di3v8.js} +1 -1
- package/dist/{index-B2BO1iqb.cjs → index-S20SQCap.cjs} +1 -1
- package/dist/{index--mXdf_N_.cjs → index-d5YJ-yXd.cjs} +1 -1
- package/dist/index-iKGyw7sC.js +4 -0
- package/dist/{index-XbBcyR0q.js → index-kXU7kXVV.js} +1 -1
- package/dist/{index-CfqYk0Cm.js → index-sc9fIKsf.js} +1 -1
- package/dist/{index-DMWZmwY3.cjs → index-tsOwObMJ.cjs} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/{styleView-CMN7E_-A.cjs → styleView-CJW7-Z1w.cjs} +1 -1
- package/dist/{styleView-3R3fJCVy.js → styleView-D0l-KW9f.js} +1 -1
- package/package.json +1 -1
- package/dist/index-B0dJIMij.cjs +0 -10
- package/dist/index-CbVJE-r7.js +0 -1575
- package/dist/index-D7xfe3p6.js +0 -4
package/dist/index-B0dJIMij.cjs
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";const e=require("vue"),I=require("./axios-CYGTE3lR.cjs");function J(t=10){const a="abcdefghijklmnopqrstuvwxyz0123456789";let r="";for(let n=0;n<t;n++){const o=Math.floor(Math.random()*a.length);r+=a[o]}return r}function j(t){return t.charAt(0).toUpperCase()+t.slice(1)}function N(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 n=t.map(o=>N(o,a));return a.set(t,n),n}const r={};return a.set(t,r),Object.keys(t).forEach(n=>{r[n]=N(t[n],a)}),r}function he(t){const[a]=ne([N(t)],r=>{var o,s;const n={...r,id:`${r.type}_${J(8)}`};return(n.field||n.input)&&!((s=(o=I.pluginManager.getComponentConfingByType(n.type))==null?void 0:o.editConstraints)!=null&&s.fixedField)&&(n.field=n.id),n});return a}function F(t,a,r=!0){for(const[n,o]of Object.entries(a)){let s=t==null?void 0:t[n];s&&o&&typeof s=="object"&&typeof o=="object"?(Array.isArray(s)&&!Array.isArray(o)?s=t[n]={}:!Array.isArray(s)&&Array.isArray(o)&&(s=t[n]=[]),F(s,o,r)):t[n]=o}r&&Object.keys(t).reverse().forEach(n=>{a.hasOwnProperty(n)||(Array.isArray(t)?t.splice(Number(n),1):delete t[n])})}function Q(t,a,r=[],n=new WeakMap){const o=s=>{if(Array.isArray(s))return s.map(o);if(typeof s=="object"&&s!==null){if(n.has(s))return"[Circular]";n.set(s,!0);const i=Object.keys(s).sort(),c={};return i.forEach(d=>{r.includes(d)||(c[d]=o(s[d]))}),n.delete(s),c}else return s};return JSON.stringify(o(t))===JSON.stringify(o(a))}function ee(t,a){const r=[];let n=!1;function o(s){if(r.push(s),s.id===a&&(n=!0),!n&&s.children!=null&&s.children.length>0)for(let i=0;i<s.children.length&&(o(s.children[i]),!n);i++);if(!n&&s.slots)for(let i in s.slots)for(let c=0;c<s.slots[i].length&&(o(s.slots[i][c]),!n);c++);n||r.pop()}return t.forEach(o),n||console.error(`没有查询到id为${a}的节点`),r}function ve(t,a,r){const n=a.split(".");let o=t;for(let s=0;s<n.length;s++){if(o==null)return r;o=o[n[s]]}return o===void 0?r:o}function ge(t,a,r){const n=a.replace(/\[(\d+)\]/g,".$1").split(".").filter(Boolean);let o=t;for(let s=0;s<n.length-1;s++){const i=n[s];o[i]==null&&(o[i]=isNaN(Number(n[s+1]))?{}:[]),o=o[i]}return o[n[n.length-1]]=r,t}function ye(t,a="default"){return te(t,a).map(n=>n.field)}function te(t,a="default"){const r=U(t,o=>{var s;return o.type==="form"&&(((s=o.componentProps)==null?void 0:s.name)??o.name===a)},!0);return U((r==null?void 0:r.children)??[],o=>!!o.input,!1,o=>o.type!=="subform")}function U(t,a,r=!1,n){const o=[],s=[...t];for(;s.length;){const i=s.pop();if(i!=null&&i.children&&(!n||n(i))&&s.push(...i.children),i!=null&&i.slots&&(!n||n(i)))for(let c in i.slots)s.push(...i.slots[c]);if(a(i)&&(o.push(i),r))return i}return r?!1:o}function ne(t,a,r){const n=[...t];for(;n.length;){const o=n.pop();if(o!=null&&o.children&&(!r||r(o))&&n.push(...o.children),o!=null&&o.slots&&(!r||r(o)))for(let s in o.slots)n.push(...o.slots[s]);F(o,a(o))}return t}function we(t,a){const r=U(t,n=>n.id===a,!0);if(!r)throw new Error(`没有查询到id为${a}的节点`);return r}function Se(t,a){const r=[{type:"",children:t}];let n=0,o=null;if(U(r,s=>{if(o=s.children??null,!o){if(s!=null&&s.slots)for(let i in s.slots){o=s.slots[i];for(let c=0;c<o.length;c++)if(o[c].id===a)return n=c,!0}return!1}for(let i=0;i<o.length;i++)if(o[i].id===a)return n=i,!0;return!1},!0),!o)throw new Error(`没有查询到id为${a}的节点`);return{list:o,schema:o[n],index:n}}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_"+J()}],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(r=>{var d,S,v;let n=r.type??"";const o=r.options??{},s=(l,g)=>{n===l&&(n=g,o.defaultValue&&(o.defaultValue=JSON.parse(o.defaultValue)))};if(s("uploadImg","upload-image"),s("uploadFile","upload-file"),n==="date"&&o.range&&(o.type="daterange",delete o.range),(n==="date"||n==="time")&&(o.valueFormat=o.format),n==="textarea"){const{minRows:l,maxRows:g}=o;o.autoSize={minRows:l,maxRows:g},delete o.minRows,delete o.maxRows}n==="number"&&!o.precision&&delete o.precision,o.width&&(o.style={width:o.width},delete o.width),n==="grid"&&(n="row"),a&&a.type==="grid"&&(n="col",o.span=r.span,r.key=J());const i={label:r.label,type:n,icon:r.icon||"",field:r.model,componentProps:o,id:r.key};return(o.noFormItem||!o.showLabel)&&(i.noFormItem=!0,delete o.noFormItem,delete o.showLabel),o.clearable&&(o.allowClear=!0,delete o.clearable),["input","textarea","number","password","select","cascader","checkbox","radio","date","time","slider","switch","color-picker","upload-file","upload-image"].includes(n)&&(i.input=!0,((S=(d=r.rules)==null?void 0:d[0])==null?void 0:S.required)===!1&&r.rules.shift(),((v=r.rules)==null?void 0:v.length)>0&&(i.rules=r.rules)),r.list&&(i.children=T(r.list,r)),r.columns&&(i.children=T(r.columns,r)),r.trs&&(i.children=T(r.trs,r)),r.tds&&(i.children=T(r.tds,r)),i})}function Ce(t,a){let r=null;return(...n)=>{r&&clearTimeout(r),r=setTimeout(()=>{t(...n)},a)}}function G(){const t=e.ref({}),a=e.ref({}),r=e.ref(!1),n=e.ref([]),o=e.reactive({});function s(h){return t.value[h]}function i(h,y){t.value[h]=y}function c(h){delete t.value[h]}function d(h,y=!1){const b=Object.entries(I.pluginManager.publicMethods).reduce((x,[E,_])=>(x[E]=_.handler,x),{});try{new Function(`const epic = this;${h}`).bind({...b,getComponent:s,find:s,defineExpose:S,publicMethods:b,pluginManager:I.pluginManager})()}catch(x){y&&console.error("[epic:自定义函数]异常:",x)}}function S(h){h!=null&&(a.value=h)}function v(h,...y){if(!h||h.length===0){console.warn("未提供任何动作");return}h.forEach(b=>{const x=b.args?JSON.parse(b.args):y;switch(b.type){case"public":l(b,x);break;case"custom":g(b,x);break;case"component":f(b,x);break;default:console.warn(`未知的动作类型: ${b.type}`);break}})}function l(h,y){var b;try{(b=I.pluginManager.publicMethods[h.methodName])==null||b.handler(...y)}catch(x){console.error(`[Epic:公共函数(${h.methodName})]执行异常:`,x)}}function g(h,y){var b,x;try{(x=(b=a.value)[h.methodName])==null||x.call(b,...y)}catch(E){console.error(`[Epic:自定义函数(${h.methodName})]执行异常:`,E)}}function f(h,y){const b=h.componentId!=null&&s(h.componentId);if(!b){console.warn(`[Epic:组件${h.componentId}]未找到`);return}try{b[h.methodName](...y)}catch(x){console.error(`[Epic:组件${h.componentId}函数(${h.methodName})]执行异常:`,x)}}function m(h=!0){r.value=h}function u(h){const y=U(h,()=>!0);n.value=y.map(b=>b.id)}function k(h,y="default"){if(o[y]){const b=o[y];F(h,b)}o[y]=h}function B(h,y="default"){if(o[y]){F(o[y],h,!1);return}o[y]=h}return{componentInstances:t,funcs:a,isDesignMode:r,defaultComponentIds:n,forms:o,addFormData:k,setFormData:B,getComponentInstance:s,find:s,addComponentInstance:i,removeComponentInstance:c,setMethods:d,doActions:v,setDesignMode:m,setDefaultComponentIds:u}}function oe(){const t=e.ref([]),a=e.ref([]),r=e.ref(null);let n=0;function o(d,S="插入组件"){const v=Date.now();n+150>v||(n=v,r.value!=null&&(t.value.push(r.value),a.value.splice(0,a.value.length)),r.value={type:S,componentSchema:JSON.stringify(d)},t.value.length>60&&t.value.unshift())}function s(){if(t.value.length===0)return!1;const d=t.value.pop();return r.value!=null&&a.value.push(r.value),r.value=d,JSON.parse(d.componentSchema)}function i(){if(a.value.length===0)return!1;const d=a.value.pop();return r.value!=null&&t.value.push(r.value),r.value=d,JSON.parse(d.componentSchema)}function c(){t.value=[],a.value=[],r.value=null}return{recordList:t,undoList:a,currentRecord:r,push:o,undo:s,redo:i,reset:c}}const Ee=e.defineComponent({__name:"dynamicFormItem",props:{hasFormItem:{type:Boolean},formItemProps:{}},emits:["updateFormItemRef"],setup(t,{emit:a}){const r=I.pluginManager.getComponent("form-item"),n=t,o=a,s=e.ref(),i=()=>{o("updateFormItemRef",s.value)};return(c,d)=>n.hasFormItem?(e.openBlock(),e.createBlock(e.unref(r),e.mergeProps({key:0,ref_key:"formItemRef",ref:s,onVnodeMounted:i},n.formItemProps),{default:e.withCtx(()=>[e.renderSlot(c.$slots,"default")]),_:3},16,["onVnodeMounted"])):e.renderSlot(c.$slots,"default",{key:1})}}),re=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:a}){const{proxy:r}=e.getCurrentInstance(),n=t,o=e.ref(null);let s=e.inject("formData",e.reactive({}));const i=e.inject("slots",{}),c=e.inject("pageManager",{}),d=e.inject("disabled",{value:!1}),S=e.inject("ruleFieldPrefix",null),v=e.inject("resetFormData",!1);let l=e.reactive(N(n.componentSchema));m();async function g(p){if(["cascader","checkbox","select","radio"].includes(p.type)&&p.componentProps.dynamicId&&n.sourceDateUrl){const C=(await I.axios({url:n.sourceDateUrl,method:"get",params:{id:p.componentProps.dynamicId}})).data.data;let P=await I.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 fe=C.dataPath.split(".").reduce((pe,me)=>pe[me],P.data);p.componentProps.options=f(fe,C.dataKey,C.dataValue)}else p.componentProps.options=f(P.data,C.dataKey,C.dataValue);return p}return p}function f(p,A,V){return p&&Object.prototype.toString.call(p)==="[object Array]"?p.map(C=>C.children&&C.children.length?{label:C[A],value:C[V]+"",children:f(C.children,A,V)}:{label:C[A],value:C[V]+""}):[]}e.watch(()=>n.componentSchema,p=>{Q(l,p,["children"])||(F(l,N(p)),m())},{deep:!0});function m(){c.isDesignMode.value&&typeof l.field=="string"&&(l.field+="-design-mode")}(n.resetFormData||v)&&(s={});const u=a,k=e.ref(),B=e.ref(),h=p=>{B.value=p},y=e.useAttrs();Object.keys(y).length&&e.provide("nodeAttrs",y);const b=e.shallowRef(null),x=e.computed(()=>{var p,A;return(p=l.componentProps)!=null&&p.hidden?!1:typeof l.show=="boolean"?l.show:((A=l.show)==null?void 0:A.call(l,{values:s}))??!0}),E=e.computed(()=>{var C;const p=x.value&&((C=l.rules)==null?void 0:C.map(P=>({...P,validator:P.validator&&c.funcs.value[P.validator]})));let A=l.field;n.ruleField?A=n.ruleField:S&&l.field&&(A=N(S),A.push(l.field));const V={...l,rules:p,rule:p,field:A};return V.children&&delete V.children,V}),_=e.computed(()=>{var V,C;const p=((V=M.value)==null?void 0:V.bindModel)??"modelValue",A={};return l.on&&Object.keys(l.on).forEach(P=>{A[`on${j(P)}`]=(...X)=>c.doActions(l.on[P],...X)}),{...n,...l.componentProps,disabled:(d==null?void 0:d.value)||((C=l.componentProps)==null?void 0:C.disabled),bindModel:p,...A}}),M=e.computed(()=>I.pluginManager.getComponentConfingByType(l.type)??null);e.watchEffect(()=>{o.value=n.modelValue??s[l.field??""]}),e.watch(()=>o.value,()=>{o.value!==(n.modelValue??s[l.field??""])&&w(o.value)}),e.watch(()=>k.value,()=>{D()},{immediate:!0});function D(){var A;const p=k.value||r;l.id&&p&&(l.input&&(p.setValue=w,p.getValue=()=>s[l.field]||n.modelValue),p.setAttr=(V,C)=>(l.componentProps||(l.componentProps={}),l.componentProps[V]=C),p.getAttr=V=>l.componentProps[V],c.addComponentInstance(l.id,p),(A=M.value)!=null&&A.defaultSchema.input&&l.noFormItem!==!0&&B.value&&c.addComponentInstance(l.id+"formItem",B.value))}function L(){var p;l.id&&(c.removeComponentInstance(l.id),(p=M.value)!=null&&p.defaultSchema.input&&l.noFormItem!==!0&&c.removeComponentInstance(l.id+"formItem"))}async function R(){var A,V,C;if(l=await g(l),typeof((A=l.componentProps)==null?void 0:A.defaultValue)<"u"){const P=c.isDesignMode.value?(V=l.componentProps)==null?void 0:V.defaultValue:s[l.field]??((C=l.componentProps)==null?void 0:C.defaultValue);w(N(P))}if(l.type==="slot"){const P=l.slotName;if(!P)return;b.value=e.defineComponent({setup(){return()=>e.renderSlot(i,P,{componentSchema:l,model:s})}});return}const p=I.pluginManager.getComponent(l.type);if(!p){console.error(`组件${l.type}未注册`);return}if(typeof p=="function"){const P=await p();b.value=P.default??P}else b.value=p}function w(p){u("update:modelValue",p),u("change",p),l.field&&(s[l.field]=p),I.EventBus.emit("updateformData"+n.id,s)}function O(p){u("update:dynamicId",p)}let z=null;return e.watch(()=>l,async p=>{const A=JSON.stringify({...p,children:void 0,componentProps:{...p.componentProps,options:null}});if(A===z)return!1;z=A,R()},{immediate:!0,deep:!0}),e.onUnmounted(L),(p,A)=>{var C;const V=e.resolveComponent("ENode");return b.value&&x.value?(e.openBlock(),e.createBlock(Ee,{key:0,hasFormItem:e.unref(l).noFormItem!==!0&&((C=M.value)==null?void 0:C.defaultSchema.input),formItemProps:E.value,onUpdateFormItemRef:h},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(b.value),e.mergeProps({ref_key:"componentInstance",ref:k,onVnodeMounted:D,model:e.unref(s)},{..._.value},{[_.value.bindModel]:o.value,["onUpdate:"+_.value.bindModel]:A[0]||(A[0]=P=>o.value=P),[`onUpdate:${_.value.bindModel}`||""]:w,"onUpdate:dynamicId":O}),{node:e.withCtx(P=>[e.createVNode(V,e.mergeProps({id:n.id},P,{sourceDateUrl:n.sourceDateUrl}),null,16,["id","sourceDateUrl"])]),"edit-node":e.withCtx(()=>[e.renderSlot(p.$slots,"edit-node")]),_:3},16,["model"]))]),_:3},8,["hasFormItem","formItemProps"])):e.createCommentVNode("",!0)}}});function ke(){const t=e.ref(!1),a=G(),r=e.ref({});function n(){return new Promise(f=>{if(t.value)f();else{const m=e.watch(t,()=>{m(),f()})}})}async function o(f="default"){var u;await n();const m=(u=r.value)==null?void 0:u[f];if(!m)throw new Error(`表单 [name=${f}] 不存在`);return m}async function s(f,m){const u=await o(f);return N(await m(u))}async function i(f="default"){return await s(f,m=>m.getData())}function c(f,m="default"){var k;a.setFormData(f,m);const u=(k=r.value)==null?void 0:k[m];u==null||u.clearValidate()}async function d(f="default"){return await s(f,async m=>(await m.validate(),await m.getData()))}async function S(f){await n();const m={};for(const u in r.value){const k=r.value[u];k&&(m[u]=N(await f(k)))}return m}async function v(){return await S(f=>f.getData())}function l(f){for(const m in f)c(f[m],m)}async function g(){return await S(async f=>(await f.validate(),await f.getData()))}return{ready:t,pageManager:a,forms:r,getData:i,setData:c,validate:d,getForms:v,setForms:l,validateAll:g,getFormInstance:o}}const De={key:0,class:"epic-loading-box"},Ae={class:"epic-builder-main"},xe={class:"epic-loading-box"},ae=e.defineComponent({__name:"builder",props:{pageSchema:{},formData:{},disabled:{type:Boolean},sourceDateUrl:{},id:{}},emits:["change","ready"],setup(t,{expose:a,emit:r}){const n=I.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-Cap7FkuS.cjs"))),o=r,{ready:s,pageManager:i,forms:c,getData:d,setData:S,validate:v,getForms:l,setForms:g,validateAll:f,getFormInstance:m}=ke(),u=t,k=e.reactive({schemas:[]});e.watch(()=>u.pageSchema,E=>{F(k,E)},{immediate:!0,deep:!0}),e.watch(()=>u.formData,E=>{if(E){let _=h(E);console.log("%c [ data1 ]-79","font-size:13px; background:pink; color:#bf2c9f;",_),S(_)}},{immediate:!0,deep:!0});function B(E){let _=[];return E.forEach(M=>{M.children&&(_=[..._,...B(M.children)]),_.push(M)}),_}function h(E){let _=B(u.pageSchema.schemas[0].children);return console.log("%c [ res ]-100","font-size:13px; background:pink; color:#bf2c9f;",_),Object.keys(E).forEach(M=>{var R,w,O,z,p;const D=_.find(A=>A.field===M),L=["datetimerange","daterange","monthrange","dates"];(D&&(D==null?void 0:D.type)==="checkbox"||(D==null?void 0:D.type)==="select"&&((R=D==null?void 0:D.componentProps)!=null&&R.multiple)||(D==null?void 0:D.type)==="cascader"&&((O=(w=D==null?void 0:D.componentProps)==null?void 0:w.props)!=null&&O.multiple)||(D==null?void 0:D.type)==="date"&&L.includes((z=D==null?void 0:D.componentProps)==null?void 0:z.type))&&typeof E[M]=="string"&&(E[M]=(p=E[M])==null?void 0:p.split(","))}),E}e.watch(()=>k.script,E=>{E&&i.setMethods(E,!0)},{immediate:!0}),e.provide("slots",e.useSlots()),e.provide("pageManager",i),e.provide("forms",c),e.provide("pageSchema",k),e.provide("disabled",e.computed(()=>u.disabled));const y=e.getCurrentInstance(),b=y==null?void 0:y.proxy;function x(){e.nextTick(()=>{s.value=!0,o("ready",i),b&&i.addComponentInstance("builder",b)})}return I.EventBus.on("updateformData"+u.id,E=>{o("change",E)}),a({ready:s,pageManager:i,getData:d,setData:S,validate:v,getForms:l,setForms:g,validateAll:f,getFormInstance:m}),(E,_)=>e.unref(I.pluginManager).initialized.value?(e.openBlock(),e.createBlock(e.Suspense,{key:1,onResolve:x},{default:e.withCtx(()=>[e.createElementVNode("div",Ae,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.schemas,(M,D)=>(e.openBlock(),e.createBlock(e.unref(re),{id:u.id,key:D,sourceDateUrl:u.sourceDateUrl,componentSchema:M},null,8,["id","sourceDateUrl","componentSchema"]))),128))])]),fallback:e.withCtx(()=>[e.createElementVNode("div",xe,[e.createVNode(e.unref(n))])]),_:1})):(e.openBlock(),e.createElementBlock("div",De))}});function Y(t){return e.getCurrentScope()?(e.onScopeDispose(t),!0):!1}function Ie(t){let a=0,r,n;const o=()=>{a-=1,n&&a<=0&&(n.stop(),r=void 0,n=void 0)};return(...s)=>(a+=1,n||(n=e.effectScope(!0),r=n.run(()=>t(...s))),Y(o),r)}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 Fe(t,a=!0,r){Ne()?e.onMounted(t,r):a?t():e.nextTick(t)}function Oe(t=!1,a={}){const{truthyValue:r=!0,falsyValue:n=!1}=a,o=e.isRef(t),s=e.ref(t);function i(c){if(arguments.length)return s.value=c,s.value;{const d=q(r);return s.value=s.value===d?q(n):d,s.value}}return o?i:[s,i]}function Re(t,a,r){const n=e.watch(t,(...o)=>(e.nextTick(()=>n()),a(...o)),r);return n}const H=Pe?window:void 0;function $(t){var a;const r=q(t);return(a=r==null?void 0:r.$el)!=null?a:r}function $e(...t){let a,r,n,o;if(typeof t[0]=="string"||Array.isArray(t[0])?([r,n,o]=t,a=H):[a,r,n,o]=t,!a)return Be;Array.isArray(r)||(r=[r]),Array.isArray(n)||(n=[n]);const s=[],i=()=>{s.forEach(v=>v()),s.length=0},c=(v,l,g,f)=>(v.addEventListener(l,g,f),()=>v.removeEventListener(l,g,f)),d=e.watch(()=>[$(a),q(o)],([v,l])=>{if(i(),!v)return;const g=Me(l)?{...l}:l;s.push(...r.flatMap(f=>n.map(m=>c(v,f,m,g))))},{immediate:!0,flush:"post"}),S=()=>{d(),i()};return Y(S),S}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 se(...t){let a,r,n={};t.length===3?(a=t[0],r=t[1],n=t[2]):t.length===2?typeof t[1]=="object"?(a=!0,r=t[0],n=t[1]):(a=t[0],r=t[1]):(a=!0,r=t[0]);const{target:o=H,eventName:s="keydown",passive:i=!1,dedupe:c=!1}=n,d=Te(a);return $e(o,s,v=>{v.repeat&&q(c)||d(v)&&r(v)},i)}function K(t,a,r={}){return se(t,a,{...r,eventName:"keydown"})}function Z(t,a,r={}){return se(t,a,{...r,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 Le(t){return JSON.parse(JSON.stringify(t))}function le(t,a,r={}){const{window:n=H,...o}=r;let s;const i=qe(()=>n&&"ResizeObserver"in n),c=()=>{s&&(s.disconnect(),s=void 0)},d=e.computed(()=>{const l=q(t);return Array.isArray(l)?l.map(g=>$(g)):[$(l)]}),S=e.watch(d,l=>{if(c(),i.value&&n){s=new ResizeObserver(a);for(const g of l)g&&s.observe(g,o)}},{immediate:!0,flush:"post"}),v=()=>{c(),S()};return Y(v),{isSupported:i,stop:v}}function ze(t,a={width:0,height:0},r={}){const{window:n=H,box:o="content-box"}=r,s=e.computed(()=>{var l,g;return(g=(l=$(t))==null?void 0:l.namespaceURI)==null?void 0:g.includes("svg")}),i=e.ref(a.width),c=e.ref(a.height),{stop:d}=le(t,([l])=>{const g=o==="border-box"?l.borderBoxSize:o==="content-box"?l.contentBoxSize:l.devicePixelContentBoxSize;if(n&&s.value){const f=$(t);if(f){const m=f.getBoundingClientRect();i.value=m.width,c.value=m.height}}else if(g){const f=Array.isArray(g)?g:[g];i.value=f.reduce((m,{inlineSize:u})=>m+u,0),c.value=f.reduce((m,{blockSize:u})=>m+u,0)}else i.value=l.contentRect.width,c.value=l.contentRect.height},r);Fe(()=>{const l=$(t);l&&(i.value="offsetWidth"in l?l.offsetWidth:a.width,c.value="offsetHeight"in l?l.offsetHeight:a.height)});const S=e.watch(()=>$(t),l=>{i.value=l?a.width:0,c.value=l?a.height:0});function v(){d(),S()}return{width:i,height:c,stop:v}}function Je(t,a,r,n={}){var o,s,i;const{clone:c=!1,passive:d=!1,eventName:S,deep:v=!1,defaultValue:l,shouldEmit:g}=n,f=e.getCurrentInstance(),m=r||(f==null?void 0:f.emit)||((o=f==null?void 0:f.$emit)==null?void 0:o.bind(f))||((i=(s=f==null?void 0:f.proxy)==null?void 0:s.$emit)==null?void 0:i.bind(f==null?void 0:f.proxy));let u=S;a||(a="modelValue"),u=u||`update:${a.toString()}`;const k=y=>c?typeof c=="function"?c(y):Le(y):y,B=()=>_e(t[a])?k(t[a]):l,h=y=>{g?g(y)&&m(u,y):m(u,y)};if(d){const y=B(),b=e.ref(y);let x=!1;return e.watch(()=>t[a],E=>{x||(x=!0,b.value=k(E),e.nextTick(()=>x=!1))}),e.watch(b,E=>{!x&&(E!==t[a]||v)&&h(E)},{deep:v}),b}else return e.computed({get(){return B()},set(y){h(y)}})}function We(){const{isDark:t}=W(),a=Oe(t);return{isDark:t,toggleDark:a}}function ie(){const t=e.ref(!1);return e.onMounted(()=>{ce(t),He(t)}),e.watch(()=>t.value,()=>{t.value?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark")}),{isDark:t}}function ce(t){var a=document.documentElement;a&&(a.classList.contains("dark")?t.value=!0:t.value=!1)}function He(t){var a=document.querySelector("html"),r=new MutationObserver(function(n){for(var o of n)if(o.type==="attributes"&&o.attributeName==="class"){const s=o.target;new Array(...s.classList).includes("dark")?t.value=!0:t.value=!1}});r.observe(a,{attributes:!0,attributeFilter:["class"]}),e.onUnmounted(()=>{r.disconnect()})}function ue(){const t=e.ref(1),a=e.ref(!1),{isDark:r}=ie(),{pressSpace:n,pressShift:o,pressCtrl:s}=de();return{canvasScale:t,pressSpace:n,pressShift:o,pressCtrl:s,disabledZoom:a,isDark:r}}const W=Ie(ue);function de(){const t=e.ref(!1),a=e.ref(!1),r=e.ref(!1);return K(" ",()=>{t.value=!0}),Z(" ",()=>{t.value=!1}),K("Shift",n=>{n.preventDefault(),a.value=!0}),Z("Shift",()=>{a.value=!1}),K("Control",n=>{n.preventDefault(),r.value=!0}),Z("Control",()=>{r.value=!1}),{pressSpace:t,pressShift:a,pressCtrl:r}}function Ke(t){const{pressSpace:a}=W(),r=new Image(1,1);r.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==";let n=0,o=0;function s(d){var S;a.value&&(n=d.x,o=d.y,(S=d.dataTransfer)==null||S.setDragImage(document.createElement("div"),0,0))}function i(d){if(d.preventDefault(),!d.x||!d.y||!a.value)return;const S=d.x-n,v=d.y-o;n=d.x,o=d.y,t.value&&(t.value.scrollTop-=v,t.value.scrollLeft-=S)}function c(){a.value=!1}return{handleElementDragStart:s,handleElementDrag:i,handleElementDragEnd:c}}function Ze(t){const{pressCtrl:a,canvasScale:r,disabledZoom:n}=W();function o(s){if(!a.value||n.value)return;s.preventDefault();let i=0;s.deltaY<0?i=r.value+.05:i=r.value-.05,!(i>150||i<.5)&&(r.value=i)}return e.watch(()=>r.value,s=>{t.value&&!n.value&&(t.value.style.transform=`scale(${s})`)}),{handleZoom:o,canvasScale:r}}function Qe(t,a=16.66){let r;function n(){o(),r=window.setInterval(t,a)}function o(){window.clearInterval(r)}return{startTimedQuery:n,stopTimedQuery:o}}const Ge={class:"min-w-750px rounded"},Ye={class:"h-full rounded"},Xe=e.defineComponent({__name:"index",setup(t,{expose:a}){const r=I.pluginManager.getComponent("monacoEditor"),n=I.pluginManager.getComponent("modal"),o=e.ref(null),s=e.ref(!1),i=e.ref(!1),c=e.ref({}),d=e.inject("pageSchema"),S=e.ref(null),v=e.ref("");function l(){i.value=!1}function g(){s.value=!1}function f(){s.value=!0,v.value=J()}async function m(){try{let u=await S.value.validateAll();if(!Object.keys(u).length){alert("请添加表单组件后再尝试!");return}Object.keys(u).length===1&&(u=u.default),c.value=JSON.stringify(u,null,2),e.nextTick(()=>{var k;(k=o.value)==null||k.setValue(c.value)}),i.value=!0}catch(u){console.error(u)}}return a({handleOpen:f}),(u,k)=>(e.openBlock(),e.createBlock(e.unref(n),{modelValue:s.value,"onUpdate:modelValue":k[1]||(k[1]=B=>s.value=B),title:"预览",class:"w-900px",width:"900px",onClose:g,onOk:m,okText:"表单数据"},{default:e.withCtx(()=>[e.createElementVNode("div",Ge,[(e.openBlock(),e.createBlock(e.unref(ae),{key:v.value,ref_key:"kb",ref:S,"page-schema":e.unref(d)},null,8,["page-schema"])),e.createVNode(e.unref(n),{modelValue:i.value,"onUpdate:modelValue":k[0]||(k[0]=B=>i.value=B),title:"表单数据",class:"w-860px",width:"860px",onClose:l,onOk:l},{default:e.withCtx(()=>[e.createElementVNode("div",Ye,[e.createVNode(e.unref(r),{ref_key:"monacoEditorRef",ref:o,autoToggleTheme:"",readOnly:"",class:"h-full editor","model-value":c.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:{}},emits:["ready","save","reset","toggleDeviceMode","saveSourceData","deleteSourceData","updateSourceData"],setup(t,{expose:a,emit:r}){const n=I.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-1afOcXnV.cjs"))),o=I.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-BJlPL6eL.cjs"))),s=I.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-B1hinJbh.cjs"))),i=I.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-C6ceZM1C.cjs"))),c=I.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-Cap7FkuS.cjs"))),d=G(),S=oe(),v=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(()=>{if(v.defaultSchema){l=v.defaultSchema;return}v.source&&I.pluginManager.setSourceData(v.source),v.formMode&&(l.schemas=I.pluginManager.formSchemas)}),d.setDesignMode(),d.setDefaultComponentIds(l.schemas);const g=r,f=e.ref(null),m=e.reactive({checkedNode:null,hoverNode:null,disableHover:!1,matched:[]}),u=e.reactive({schemas:[],script:l.script}),{disabledZoom:k}=W();e.watchEffect(()=>{k.value=v.disabledZoom}),e.watchEffect(()=>{const w=u.script;w&&w!==""&&d.setMethods(w)}),e.provide("pageSchema",u),e.provide("revoke",S),e.provide("pageManager",d),e.provide("designerProps",e.computed(()=>v)),e.provide("designer",{setCheckedNode:h,setHoverNode:y,setDisableHover:x,handleToggleDeviceMode:L,reset:M,state:m}),I.EventBus.on("saveSourceData",w=>{g("saveSourceData",w)}),I.EventBus.on("deleteSourceData",w=>{g("deleteSourceData",w)}),I.EventBus.on("updateSourceData",w=>{g("updateSourceData",w)});function B(){u.schemas=N(l.schemas),h(u.schemas[0]),S.push(u.schemas,"初始化撤销功能")}async function h(w=u.schemas[0]){m.checkedNode=w,m.matched=ee(u.schemas,w.id)}async function y(w=null){var O;if(!w||m.disableHover)return m.hoverNode=null,!1;if((w==null?void 0:w.id)===((O=m.hoverNode)==null?void 0:O.id))return!1;m.hoverNode=w}function b(){e.nextTick(()=>{g("ready",{pageManager:d})})}async function x(w=!1){m.disableHover=w}function E(w){F(u,N(w))}function _(){return e.toRaw(u)}function M(){Q(u.schemas,l.schemas)&&u.script===l.script||(F(u.schemas,l.schemas),u.script=l.script,h(u.schemas[0]),S.push(u.schemas,"重置操作"),g("reset",u))}function D(){g("save",e.toRaw(u))}function L(w){g("toggleDeviceMode",w)}function R(){f.value.handleOpen()}return B(),a({revoke:S,setData:E,getData:_,reset:M,preview:R}),(w,O)=>e.unref(I.pluginManager).initialized.value?(e.openBlock(),e.createBlock(e.Suspense,{key:1,onResolve:b},{default:e.withCtx(()=>[e.createElementVNode("div",et,[e.createElementVNode("div",tt,[e.renderSlot(w.$slots,"header",{},()=>[v.hiddenHeader?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(n),{key:0,onPreview:R,onSave:D},{header:e.withCtx(()=>[e.renderSlot(w.$slots,"header-prefix")]),prefix:e.withCtx(()=>[e.renderSlot(w.$slots,"header-prefix")]),title:e.withCtx(()=>[e.renderSlot(w.$slots,"header-title")]),"right-prefix":e.withCtx(()=>[e.renderSlot(w.$slots,"header-right-prefix")]),"right-action":e.withCtx(()=>[e.renderSlot(w.$slots,"header-right-action")]),"right-suffix":e.withCtx(()=>[e.renderSlot(w.$slots,"header-right-suffix")]),_:3}))])]),e.createElementVNode("div",{class:e.normalizeClass(["epic-split-view-container",{"hidden-header":w.hiddenHeader}])},[e.createVNode(e.unref(o)),e.createVNode(e.unref(s)),e.createVNode(e.unref(i))],2),e.createVNode(Xe,{ref_key:"previewRef",ref:f},null,512)])]),fallback:e.withCtx(()=>[e.createElementVNode("div",nt,[e.createVNode(e.unref(c))])]),_:3})):(e.openBlock(),e.createElementBlock("div",je))}}),rt={component:async()=>await Promise.resolve().then(()=>require("./index-DMWZmwY3.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-BqrNcAYd.cjs"))),t.component("EActionEditor",async()=>await Promise.resolve().then(()=>require("./index--mXdf_N_.cjs"))),t.component("ERuleEditor",async()=>await Promise.resolve().then(()=>require("./index-CueBqJva.cjs"))),t.component("EOptionsEditor",async()=>await Promise.resolve().then(()=>require("./index-B2BO1iqb.cjs"))),t.component("ENode",async()=>await Promise.resolve().then(()=>require("./index-C4wq_cwc.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-Dxs27XfA.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-n7qIXP7S.cjs"))}),t.registerRightSidebar({id:"style_view",title:"样式",component:async()=>await Promise.resolve().then(()=>require("./styleView-CMN7E_-A.cjs"))}),[rt,at].forEach(r=>{t.registerComponent(r)})}st(I.pluginManager);exports._sfc_main=re;exports._sfc_main$1=ae;exports._sfc_main$2=ot;exports.capitalizeFirstLetter=j;exports.convertKFormData=be;exports.debounce=Ce;exports.deepClone=N;exports.deepCompareAndModify=F;exports.deepEqual=Q;exports.findSchemaById=we;exports.findSchemaInfoById=Se;exports.findSchemas=U;exports.generateNewSchema=he;exports.getDarkState=ce;exports.getFormFields=ye;exports.getFormSchemas=te;exports.getMatchedById=ee;exports.getUUID=J;exports.getValueByPath=ve;exports.initStore=ue;exports.mapSchemas=ne;exports.recursionConvertedNode=T;exports.setValueByPath=ge;exports.useDark=ie;exports.useElementDrag=Ke;exports.useElementSize=ze;exports.useElementZoom=Ze;exports.useKeyPress=de;exports.usePageManager=G;exports.useResizeObserver=le;exports.useRevoke=oe;exports.useStore=W;exports.useTheme=We;exports.useTimedQuery=Qe;exports.useVModel=Je;exports.watchOnce=Re;
|