epic-designer-gold 0.0.29 → 0.0.31
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-Br4R-qs2.cjs → attributeView-CkDUbzuR.cjs} +1 -1
- package/dist/{attributeView-53W6OYFq.js → attributeView-DpkfKqtd.js} +1 -1
- package/dist/{index-Do_cYUvQ.js → index-BPt8U8n9.js} +1 -1
- package/dist/{index-thxQ_B2C.cjs → index-Bb8XSoYT.cjs} +1 -1
- package/dist/{index-CXCTsEX3.js → index-Bc7J-Fgw.js} +1 -1
- package/dist/{index-BuMTLuUU.cjs → index-BhIZKk9i.cjs} +1 -1
- package/dist/{index-CoWccwst.cjs → index-C5H0qK7d.cjs} +1 -1
- package/dist/{index-EQJa9EU2.js → index-CH2IxHQE.js} +475 -481
- package/dist/index-CTjIY8cx.cjs +10 -0
- package/dist/{index-CCe1TX6z.js → index-CiMLQy__.js} +1 -1
- package/dist/{index-CrsnSHt0.cjs → index-CpxsakMD.cjs} +1 -1
- package/dist/index-CtNfh-CD.js +4 -0
- package/dist/{index-hIAPokYs.cjs → index-D0T4HwOl.cjs} +1 -1
- package/dist/{index-5vW2b_OC.js → index-D8Dlr8aX.js} +1 -1
- package/dist/{index-BzetW3fw.cjs → index-DbioQCL7.cjs} +1 -1
- package/dist/{index-B60Tmc0O.js → index-FHGseiDc.js} +1 -1
- package/dist/{index-C0_2_WpB.js → index-UQLDWqfT.js} +1 -1
- package/dist/{index-BXR6vTnH.cjs → index-ZbUi21VA.cjs} +1 -1
- package/dist/{index-Dk3I3tbP.cjs → index-jV4vV6jn.cjs} +1 -1
- package/dist/{index-CpCohObI.js → index-rE2p5Gmx.js} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/{styleView-DOTi7atY.js → styleView-CEaoc1Q1.js} +1 -1
- package/dist/{styleView-CElFrsoj.cjs → styleView-sGpDpZDg.cjs} +1 -1
- package/package.json +1 -1
- package/dist/index-3RNTR6WH.cjs +0 -10
- package/dist/index-BUbBjk-A.js +0 -4
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";const e=require("vue"),D=require("./axios-CYGTE3lR.cjs");function U(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 j(t){return t.charAt(0).toUpperCase()+t.slice(1)}function _(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=>_(n,a));return a.set(t,r),r}const o={};return a.set(t,o),Object.keys(t).forEach(r=>{o[r]=_(t[r],a)}),o}function he(t){const[a]=ne([_(t)],o=>{var n,s;const r={...o,id:`${o.type}_${U(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 Z(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(),c={};return i.forEach(d=>{o.includes(d)||(c[d]=n(s[d]))}),r.delete(s),c}else return s};return JSON.stringify(n(t))===JSON.stringify(n(a))}function ee(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 c=0;c<s.slots[i].length&&(n(s.slots[i][c]),!r);c++);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 ge(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 ye(t,a="default"){return te(t,a).map(r=>r.field)}function te(t,a="default"){const o=R(t,n=>{var s;return n.type==="form"&&(((s=n.componentProps)==null?void 0:s.name)??n.name===a)},!0);return R((o==null?void 0:o.children)??[],n=>!!n.input,!1,n=>n.type!=="subform")}function R(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 c in i.slots)s.push(...i.slots[c]);if(a(i)&&(n.push(i),o))return i}return o?!1:n}function ne(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=R(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(R(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 c=0;c<n.length;c++)if(n[c].id===a)return r=c,!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_"+U()}],componentProps:{style:{padding:"16px"}}}],script:t.script||""};return a.schemas[0].children[0].children=O(t.list),a}function O(t,a){return t.map(o=>{var d,S,g;let r=o.type??"";const n=o.options??{},s=(l,y)=>{r===l&&(r=y,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:y}=n;n.autoSize={minRows:l,maxRows:y},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=U());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,((S=(d=o.rules)==null?void 0:d[0])==null?void 0:S.required)===!1&&o.rules.shift(),((g=o.rules)==null?void 0:g.length)>0&&(i.rules=o.rules)),o.list&&(i.children=O(o.list,o)),o.columns&&(i.children=O(o.columns,o)),o.trs&&(i.children=O(o.trs,o)),o.tds&&(i.children=O(o.tds,o)),i})}function Ce(t,a){let o=null;return(...r)=>{o&&clearTimeout(o),o=setTimeout(()=>{t(...r)},a)}}function Q(){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,w){t.value[h]=w}function c(h){delete t.value[h]}function d(h,w=!1){const v=Object.entries(D.pluginManager.publicMethods).reduce((A,[V,M])=>(A[V]=M.handler,A),{});try{new Function(`const epic = this;${h}`).bind({...v,getComponent:s,find:s,defineExpose:S,publicMethods:v,pluginManager:D.pluginManager})()}catch(A){w&&console.error("[epic:自定义函数]异常:",A)}}function S(h){h!=null&&(a.value=h)}function g(h,...w){if(!h||h.length===0){console.warn("未提供任何动作");return}h.forEach(v=>{const A=v.args?JSON.parse(v.args):w;switch(v.type){case"public":l(v,A);break;case"custom":y(v,A);break;case"component":f(v,A);break;default:console.warn(`未知的动作类型: ${v.type}`);break}})}function l(h,w){var v;try{(v=D.pluginManager.publicMethods[h.methodName])==null||v.handler(...w)}catch(A){console.error(`[Epic:公共函数(${h.methodName})]执行异常:`,A)}}function y(h,w){var v,A;try{(A=(v=a.value)[h.methodName])==null||A.call(v,...w)}catch(V){console.error(`[Epic:自定义函数(${h.methodName})]执行异常:`,V)}}function f(h,w){const v=h.componentId!=null&&s(h.componentId);if(!v){console.warn(`[Epic:组件${h.componentId}]未找到`);return}try{v[h.methodName](...w)}catch(A){console.error(`[Epic:组件${h.componentId}函数(${h.methodName})]执行异常:`,A)}}function p(h=!0){o.value=h}function u(h){const w=R(h,()=>!0);r.value=w.map(v=>v.id)}function k(h,w="default"){if(n[w]){const v=n[w];B(h,v)}n[w]=h}function P(h,w="default"){if(n[w]){B(n[w],h,!1);return}n[w]=h}return{componentInstances:t,funcs:a,isDesignMode:o,defaultComponentIds:r,forms:n,addFormData:k,setFormData:P,getComponentInstance:s,find:s,addComponentInstance:i,removeComponentInstance:c,setMethods:d,doActions:g,setDesignMode:p,setDefaultComponentIds:u}}function oe(){const t=e.ref([]),a=e.ref([]),o=e.ref(null);let r=0;function n(d,S="插入组件"){const g=Date.now();r+150>g||(r=g,o.value!=null&&(t.value.push(o.value),a.value.splice(0,a.value.length)),o.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 o.value!=null&&a.value.push(o.value),o.value=d,JSON.parse(d.componentSchema)}function i(){if(a.value.length===0)return!1;const d=a.value.pop();return o.value!=null&&t.value.push(o.value),o.value=d,JSON.parse(d.componentSchema)}function c(){t.value=[],a.value=[],o.value=null}return{recordList:t,undoList:a,currentRecord:o,push:n,undo:s,redo:i,reset:c}}const ke=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(c,d)=>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(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:{}},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",{}),c=e.inject("pageManager",{}),d=e.inject("disabled",{value:!1}),S=e.inject("ruleFieldPrefix",null),g=e.inject("resetFormData",!1);let l=e.reactive(_(r.componentSchema));p();async function y(m){if(["cascader","checkbox","select","radio"].includes(m.type)&&m.componentProps.dynamicId&&r.sourceDateUrl){const C=(await D.axios({url:r.sourceDateUrl,method:"get",params:{id:m.componentProps.dynamicId}})).data.data;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 fe=C.dataPath.split(".").reduce((pe,me)=>pe[me],x.data);m.componentProps.options=f(fe,C.dataKey,C.dataValue)}else m.componentProps.options=f(x.data,C.dataKey,C.dataValue);return m}return m}function f(m,E,I){return m&&Object.prototype.toString.call(m)==="[object Array]"?m.map(C=>C.children&&C.children.length?{label:C[E],value:C[I]+"",children:f(C.children,E,I)}:{label:C[E],value:C[I]+""}):[]}e.watch(()=>r.componentSchema,m=>{Z(l,m,["children"])||(B(l,_(m)),p())},{deep:!0});function p(){c.isDesignMode.value&&typeof l.field=="string"&&(l.field+="-design-mode")}(r.resetFormData||g)&&(s={});const u=a,k=e.ref(),P=e.ref(),h=m=>{P.value=m},w=e.useAttrs();Object.keys(w).length&&e.provide("nodeAttrs",w);const v=e.shallowRef(null),A=e.computed(()=>{var m,E;return(m=l.componentProps)!=null&&m.hidden?!1:typeof l.show=="boolean"?l.show:((E=l.show)==null?void 0:E.call(l,{values:s}))??!0}),V=e.computed(()=>{var C;const m=A.value&&((C=l.rules)==null?void 0:C.map(x=>({...x,validator:x.validator&&c.funcs.value[x.validator]})));let E=l.field;r.ruleField?E=r.ruleField:S&&l.field&&(E=_(S),E.push(l.field));const I={...l,rules:m,rule:m,field:E};return I.children&&delete I.children,I}),M=e.computed(()=>{var I,C;const m=((I=N.value)==null?void 0:I.bindModel)??"modelValue",E={};return l.on&&Object.keys(l.on).forEach(x=>{E[`on${j(x)}`]=(...X)=>c.doActions(l.on[x],...X)}),{...r,...l.componentProps,disabled:(d==null?void 0:d.value)||((C=l.componentProps)==null?void 0:C.disabled),bindModel:m,...E}}),N=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??""])&&b(n.value)}),e.watch(()=>k.value,()=>{L()},{immediate:!0});function L(){var E;const m=k.value||o;l.id&&m&&(l.input&&(m.setValue=b,m.getValue=()=>s[l.field]||r.modelValue),m.setAttr=(I,C)=>(l.componentProps||(l.componentProps={}),l.componentProps[I]=C),m.getAttr=I=>l.componentProps[I],c.addComponentInstance(l.id,m),(E=N.value)!=null&&E.defaultSchema.input&&l.noFormItem!==!0&&P.value&&c.addComponentInstance(l.id+"formItem",P.value))}function W(){var m;l.id&&(c.removeComponentInstance(l.id),(m=N.value)!=null&&m.defaultSchema.input&&l.noFormItem!==!0&&c.removeComponentInstance(l.id+"formItem"))}async function z(){var E,I,C;if(l=await y(l),typeof((E=l.componentProps)==null?void 0:E.defaultValue)<"u"){const x=c.isDesignMode.value?(I=l.componentProps)==null?void 0:I.defaultValue:s[l.field]??((C=l.componentProps)==null?void 0:C.defaultValue);b(_(x))}if(l.type==="slot"){const x=l.slotName;if(!x)return;v.value=e.defineComponent({setup(){return()=>e.renderSlot(i,x,{componentSchema:l,model:s})}});return}const m=D.pluginManager.getComponent(l.type);if(!m){console.error(`组件${l.type}未注册`);return}if(typeof m=="function"){const x=await m();v.value=x.default??x}else v.value=m}function b(m){u("update:modelValue",m),u("change",m),l.field&&(s[l.field]=m),D.EventBus.emit("updateformData",s)}function T(m){u("update:dynamicId",m)}let Y=null;return e.watch(()=>l,async m=>{const E=JSON.stringify({...m,children:void 0,componentProps:{...m.componentProps,options:null}});if(E===Y)return!1;Y=E,z()},{immediate:!0,deep:!0}),e.onUnmounted(W),(m,E)=>{var C;const I=e.resolveComponent("ENode");return v.value&&A.value?(e.openBlock(),e.createBlock(ke,{key:0,hasFormItem:e.unref(l).noFormItem!==!0&&((C=N.value)==null?void 0:C.defaultSchema.input),formItemProps:V.value,onUpdateFormItemRef:h},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(v.value),e.mergeProps({ref_key:"componentInstance",ref:k,onVnodeMounted:L,model:e.unref(s)},{...M.value},{[M.value.bindModel]:n.value,["onUpdate:"+M.value.bindModel]:E[0]||(E[0]=x=>n.value=x),[`onUpdate:${M.value.bindModel}`||""]:b,"onUpdate:dynamicId":T}),{node:e.withCtx(x=>[e.createVNode(I,e.mergeProps(x,{sourceDateUrl:r.sourceDateUrl}),null,16,["sourceDateUrl"])]),"edit-node":e.withCtx(()=>[e.renderSlot(m.$slots,"edit-node")]),_:3},16,["model"]))]),_:3},8,["hasFormItem","formItemProps"])):e.createCommentVNode("",!0)}}});function Ee(){const t=e.ref(!1),a=Q(),o=e.ref({});function r(){return new Promise(f=>{if(t.value)f();else{const p=e.watch(t,()=>{p(),f()})}})}async function n(f="default"){var u;await r();const p=(u=o.value)==null?void 0:u[f];if(!p)throw new Error(`表单 [name=${f}] 不存在`);return p}async function s(f,p){const u=await n(f);return _(await p(u))}async function i(f="default"){return await s(f,p=>p.getData())}function c(f,p="default"){var k;a.setFormData(f,p);const u=(k=o.value)==null?void 0:k[p];console.log("%c [ form ]-63","font-size:13px; background:pink; color:#bf2c9f;",u),u==null||u.clearValidate()}async function d(f="default"){return await s(f,async p=>(await p.validate(),await p.getData()))}async function S(f){await r();const p={};for(const u in o.value){const k=o.value[u];k&&(p[u]=_(await f(k)))}return p}async function g(){return await S(f=>f.getData())}function l(f){for(const p in f)c(f[p],p)}async function y(){return await S(async f=>(await f.validate(),await f.getData()))}return{ready:t,pageManager:a,forms:o,getData:i,setData:c,validate:d,getForms:g,setForms:l,validateAll:y,getFormInstance:n}}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:{}},emits:["change","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:c,getData:d,setData:S,validate:g,getForms:l,setForms:y,validateAll:f,getFormInstance:p}=Ee(),u=t,k=e.reactive({schemas:[]});e.watch(()=>u.pageSchema,v=>{B(k,v)},{immediate:!0,deep:!0}),e.watch(()=>u.formData,v=>{v&&S(v)},{immediate:!0,deep:!0}),e.watch(()=>k.script,v=>{v&&i.setMethods(v,!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 P=e.getCurrentInstance(),h=P==null?void 0:P.proxy;function w(){e.nextTick(()=>{s.value=!0,n("ready",i),h&&i.addComponentInstance("builder",h)})}return D.EventBus.on("updateformData",v=>{console.log("%c [ e ]-122","font-size:13px; background:pink; color:#bf2c9f;",v),n("change",v)}),a({ready:s,pageManager:i,getData:d,setData:S,validate:g,getForms:l,setForms:y,validateAll:f,getFormInstance:p}),(v,A)=>e.unref(D.pluginManager).initialized.value?(e.openBlock(),e.createBlock(e.Suspense,{key:1,onResolve:w},{default:e.withCtx(()=>[e.createElementVNode("div",Ae,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.schemas,(V,M)=>(e.openBlock(),e.createBlock(e.unref(re),{key:M,sourceDateUrl:u.sourceDateUrl,componentSchema:V,onChange:v.getDataChange},null,8,["sourceDateUrl","componentSchema","onChange"]))),128))])]),fallback:e.withCtx(()=>[e.createElementVNode("div",xe,[e.createVNode(e.unref(r))])]),_:1})):(e.openBlock(),e.createElementBlock("div",De))}});function G(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))),G(n),o)}function $(t){return typeof t=="function"?t():e.unref(t)}const Pe=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Ve=t=>typeof t<"u",_e=Object.prototype.toString,Me=t=>_e.call(t)==="[object Object]",Be=()=>{};function Ne(t){return e.getCurrentInstance()}function Fe(t,a=!0,o){Ne()?e.onMounted(t,o):a?t():e.nextTick(t)}function Oe(t=!1,a={}){const{truthyValue:o=!0,falsyValue:r=!1}=a,n=e.isRef(t),s=e.ref(t);function i(c){if(arguments.length)return s.value=c,s.value;{const d=$(o);return s.value=s.value===d?$(r):d,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 J=Pe?window:void 0;function F(t){var a;const o=$(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=J):[a,o,r,n]=t,!a)return Be;Array.isArray(o)||(o=[o]),Array.isArray(r)||(r=[r]);const s=[],i=()=>{s.forEach(g=>g()),s.length=0},c=(g,l,y,f)=>(g.addEventListener(l,y,f),()=>g.removeEventListener(l,y,f)),d=e.watch(()=>[F(a),$(n)],([g,l])=>{if(i(),!g)return;const y=Me(l)?{...l}:l;s.push(...o.flatMap(f=>r.map(p=>c(g,f,p,y))))},{immediate:!0,flush:"post"}),S=()=>{d(),i()};return G(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,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=J,eventName:s="keydown",passive:i=!1,dedupe:c=!1}=r,d=Te(a);return $e(n,s,g=>{g.repeat&&$(c)||d(g)&&o(g)},i)}function H(t,a,o={}){return se(t,a,{...o,eventName:"keydown"})}function K(t,a,o={}){return se(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 Le(t){return JSON.parse(JSON.stringify(t))}function le(t,a,o={}){const{window:r=J,...n}=o;let s;const i=qe(()=>r&&"ResizeObserver"in r),c=()=>{s&&(s.disconnect(),s=void 0)},d=e.computed(()=>{const l=$(t);return Array.isArray(l)?l.map(y=>F(y)):[F(l)]}),S=e.watch(d,l=>{if(c(),i.value&&r){s=new ResizeObserver(a);for(const y of l)y&&s.observe(y,n)}},{immediate:!0,flush:"post"}),g=()=>{c(),S()};return G(g),{isSupported:i,stop:g}}function ze(t,a={width:0,height:0},o={}){const{window:r=J,box:n="content-box"}=o,s=e.computed(()=>{var l,y;return(y=(l=F(t))==null?void 0:l.namespaceURI)==null?void 0:y.includes("svg")}),i=e.ref(a.width),c=e.ref(a.height),{stop:d}=le(t,([l])=>{const y=n==="border-box"?l.borderBoxSize:n==="content-box"?l.contentBoxSize:l.devicePixelContentBoxSize;if(r&&s.value){const f=F(t);if(f){const p=f.getBoundingClientRect();i.value=p.width,c.value=p.height}}else if(y){const f=Array.isArray(y)?y:[y];i.value=f.reduce((p,{inlineSize:u})=>p+u,0),c.value=f.reduce((p,{blockSize:u})=>p+u,0)}else i.value=l.contentRect.width,c.value=l.contentRect.height},o);Fe(()=>{const l=F(t);l&&(i.value="offsetWidth"in l?l.offsetWidth:a.width,c.value="offsetHeight"in l?l.offsetHeight:a.height)});const S=e.watch(()=>F(t),l=>{i.value=l?a.width:0,c.value=l?a.height:0});function g(){d(),S()}return{width:i,height:c,stop:g}}function Je(t,a,o,r={}){var n,s,i;const{clone:c=!1,passive:d=!1,eventName:S,deep:g=!1,defaultValue:l,shouldEmit:y}=r,f=e.getCurrentInstance(),p=o||(f==null?void 0:f.emit)||((n=f==null?void 0:f.$emit)==null?void 0:n.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=w=>c?typeof c=="function"?c(w):Le(w):w,P=()=>Ve(t[a])?k(t[a]):l,h=w=>{y?y(w)&&p(u,w):p(u,w)};if(d){const w=P(),v=e.ref(w);let A=!1;return e.watch(()=>t[a],V=>{A||(A=!0,v.value=k(V),e.nextTick(()=>A=!1))}),e.watch(v,V=>{!A&&(V!==t[a]||g)&&h(V)},{deep:g}),v}else return e.computed({get(){return P()},set(w){h(w)}})}function We(){const{isDark:t}=q(),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"),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 ue(){const t=e.ref(1),a=e.ref(!1),{isDark:o}=ie(),{pressSpace:r,pressShift:n,pressCtrl:s}=de();return{canvasScale:t,pressSpace:r,pressShift:n,pressCtrl:s,disabledZoom:a,isDark:o}}const q=Ie(ue);function de(){const t=e.ref(!1),a=e.ref(!1),o=e.ref(!1);return H(" ",()=>{t.value=!0}),K(" ",()=>{t.value=!1}),H("Shift",r=>{r.preventDefault(),a.value=!0}),K("Shift",()=>{a.value=!1}),H("Control",r=>{r.preventDefault(),o.value=!0}),K("Control",()=>{o.value=!1}),{pressSpace:t,pressShift:a,pressCtrl:o}}function Ke(t){const{pressSpace:a}=q(),o=new Image(1,1);o.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==";let r=0,n=0;function s(d){var S;a.value&&(r=d.x,n=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-r,g=d.y-n;r=d.x,n=d.y,t.value&&(t.value.scrollTop-=g,t.value.scrollLeft-=S)}function c(){a.value=!1}return{handleElementDragStart:s,handleElementDrag:i,handleElementDragEnd:c}}function Ze(t){const{pressCtrl:a,canvasScale:o,disabledZoom:r}=q();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),c=e.ref({}),d=e.inject("pageSchema"),S=e.ref(null),g=e.ref("");function l(){i.value=!1}function y(){s.value=!1}function f(){s.value=!0,g.value=U()}async function p(){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=n.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(r),{modelValue:s.value,"onUpdate:modelValue":k[1]||(k[1]=P=>s.value=P),title:"预览",class:"w-900px",width:"900px",onClose:y,onOk:p,okText:"表单数据"},{default:e.withCtx(()=>[e.createElementVNode("div",Ge,[(e.openBlock(),e.createBlock(e.unref(ae),{key:g.value,ref_key:"kb",ref:S,"page-schema":e.unref(d)},null,8,["page-schema"])),e.createVNode(e.unref(r),{modelValue:i.value,"onUpdate:modelValue":k[0]||(k[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":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: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-DbioQCL7.cjs"))),i=D.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-C6ceZM1C.cjs"))),c=D.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-Cap7FkuS.cjs"))),d=Q(),S=oe(),g=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(g.defaultSchema){l=g.defaultSchema;return}g.source&&D.pluginManager.setSourceData(g.source),g.formMode&&(l.schemas=D.pluginManager.formSchemas)}),d.setDesignMode(),d.setDefaultComponentIds(l.schemas);const y=o,f=e.ref(null),p=e.reactive({checkedNode:null,hoverNode:null,disableHover:!1,matched:[]}),u=e.reactive({schemas:[],script:l.script}),{disabledZoom:k}=q();e.watchEffect(()=>{k.value=g.disabledZoom}),e.watchEffect(()=>{const b=u.script;b&&b!==""&&d.setMethods(b)}),e.provide("pageSchema",u),e.provide("revoke",S),e.provide("pageManager",d),e.provide("designerProps",e.computed(()=>g)),e.provide("designer",{setCheckedNode:h,setHoverNode:w,setDisableHover:A,handleToggleDeviceMode:W,reset:N,state:p}),D.EventBus.on("saveSourceData",b=>{y("saveSourceData",b)}),D.EventBus.on("deleteSourceData",b=>{y("deleteSourceData",b)}),D.EventBus.on("updateSourceData",b=>{y("updateSourceData",b)});function P(){u.schemas=_(l.schemas),h(u.schemas[0]),S.push(u.schemas,"初始化撤销功能")}async function h(b=u.schemas[0]){p.checkedNode=b,p.matched=ee(u.schemas,b.id)}async function w(b=null){var T;if(!b||p.disableHover)return p.hoverNode=null,!1;if((b==null?void 0:b.id)===((T=p.hoverNode)==null?void 0:T.id))return!1;p.hoverNode=b}function v(){e.nextTick(()=>{y("ready",{pageManager:d})})}async function A(b=!1){p.disableHover=b}function V(b){B(u,_(b))}function M(){return e.toRaw(u)}function N(){Z(u.schemas,l.schemas)&&u.script===l.script||(B(u.schemas,l.schemas),u.script=l.script,h(u.schemas[0]),S.push(u.schemas,"重置操作"),y("reset",u))}function L(){y("save",e.toRaw(u))}function W(b){y("toggleDeviceMode",b)}function z(){f.value.handleOpen()}return P(),a({revoke:S,setData:V,getData:M,reset:N,preview:z}),(b,T)=>e.unref(D.pluginManager).initialized.value?(e.openBlock(),e.createBlock(e.Suspense,{key:1,onResolve:v},{default:e.withCtx(()=>[e.createElementVNode("div",et,[e.createElementVNode("div",tt,[e.renderSlot(b.$slots,"header",{},()=>[g.hiddenHeader?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(r),{key:0,onPreview:z,onSave:L},{header:e.withCtx(()=>[e.renderSlot(b.$slots,"header-prefix")]),prefix:e.withCtx(()=>[e.renderSlot(b.$slots,"header-prefix")]),title:e.withCtx(()=>[e.renderSlot(b.$slots,"header-title")]),"right-prefix":e.withCtx(()=>[e.renderSlot(b.$slots,"header-right-prefix")]),"right-action":e.withCtx(()=>[e.renderSlot(b.$slots,"header-right-action")]),"right-suffix":e.withCtx(()=>[e.renderSlot(b.$slots,"header-right-suffix")]),_:3}))])]),e.createElementVNode("div",{class:e.normalizeClass(["epic-split-view-container",{"hidden-header":b.hiddenHeader}])},[e.createVNode(e.unref(n)),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-CpxsakMD.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-C5H0qK7d.cjs"))),t.component("EActionEditor",async()=>await Promise.resolve().then(()=>require("./index-D0T4HwOl.cjs"))),t.component("ERuleEditor",async()=>await Promise.resolve().then(()=>require("./index-Bb8XSoYT.cjs"))),t.component("EOptionsEditor",async()=>await Promise.resolve().then(()=>require("./index-jV4vV6jn.cjs"))),t.component("ENode",async()=>await Promise.resolve().then(()=>require("./index-BhIZKk9i.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-ZbUi21VA.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-CkDUbzuR.cjs"))}),t.registerRightSidebar({id:"style_view",title:"样式",component:async()=>await Promise.resolve().then(()=>require("./styleView-sGpDpZDg.cjs"))}),[rt,at].forEach(o=>{t.registerComponent(o)})}st(D.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=_;exports.deepCompareAndModify=B;exports.deepEqual=Z;exports.findSchemaById=we;exports.findSchemaInfoById=Se;exports.findSchemas=R;exports.generateNewSchema=he;exports.getDarkState=ce;exports.getFormFields=ye;exports.getFormSchemas=te;exports.getMatchedById=ee;exports.getUUID=U;exports.getValueByPath=ve;exports.initStore=ue;exports.mapSchemas=ne;exports.recursionConvertedNode=O;exports.setValueByPath=ge;exports.useDark=ie;exports.useElementDrag=Ke;exports.useElementSize=ze;exports.useElementZoom=Ze;exports.useKeyPress=de;exports.usePageManager=Q;exports.useResizeObserver=le;exports.useRevoke=oe;exports.useStore=q;exports.useTheme=We;exports.useTimedQuery=Qe;exports.useVModel=Je;exports.watchOnce=Re;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent as X, inject as L, ref as C, computed as U, watch as G, openBlock as M, createElementBlock as W, Fragment as q, withDirectives as ue, createElementVNode as w, normalizeClass as ee, toDisplayString as be, unref as f, createVNode as z, createCommentVNode as le, vShow as de, createBlock as te, mergeProps as Se, withCtx as oe, useAttrs as we, provide as Ce, onUnmounted as ke, resolveComponent as Ne, createSlots as $e, renderList as ve, shallowRef as Re, watchEffect as Te, nextTick as pe, normalizeStyle as se, renderSlot as Be, onMounted as Oe } from "vue";
|
|
2
2
|
import { p as J } from "./axios-ITY6Uw7A.js";
|
|
3
|
-
import { u as fe, a as Me, f as me, g as Le, b as ae, _ as De, d as ce, c as He, e as Ve, h as We, i as ze, w as Ae, j as Ee } from "./index-
|
|
3
|
+
import { u as fe, a as Me, f as me, g as Le, b as ae, _ as De, d as ce, c as He, e as Ve, h as We, i as ze, w as Ae, j as Ee } from "./index-CH2IxHQE.js";
|
|
4
4
|
import { _ as ie } from "./icon.vue_vue_type_script_setup_true_lang-D3QdcReY.js";
|
|
5
5
|
import { d as Ie } from "./vuedraggable.umd-D2S7Eo7p.js";
|
|
6
6
|
const Pe = { class: "epic-widget-action-item whitespace-nowrap" }, je = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("vue"),p=require("monaco-editor"),b=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("vue"),p=require("monaco-editor"),b=require("./index-CTjIY8cx.cjs"),h=require("./_plugin-vue_export-helper-BHFhmbuH.cjs");function v(l){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(l){for(const r in l)if(r!=="default"){const t=Object.getOwnPropertyDescriptor(l,r);Object.defineProperty(o,r,t.get?t:{enumerable:!0,get:()=>l[r]})}}return o.default=l,Object.freeze(o)}const i=v(p),_=a.defineComponent({__name:"index",props:{language:{default:"json"},readOnly:{type:Boolean,default:!1},valueFormat:{default:"string"},modelValue:{},config:{default:()=>({selectOnLineNumbers:!0,minimap:{enabled:!1}})},lineNumbers:{default:"on"},autoToggleTheme:{type:Boolean},theme:{default:"vs-light"}},emits:["update:modelValue"],setup(l,{expose:o,emit:r}){const t=l,s=r,c=a.ref(null);let e=null;const{isDark:f}=b.useTheme();function d(){f.value?i.editor.setTheme("vs-dark"):i.editor.setTheme("vs-light")}function m(u){e==null||e.setValue(u||"")}function g(u){const n=e==null?void 0:e.getPosition();n&&(e==null||e.executeEdits("",[{range:new i.Range(n.lineNumber,n.column,n.lineNumber,n.column),text:u}]),e==null||e.setPosition({...n,column:n.column+u.length}),e==null||e.focus())}return a.onMounted(()=>{e=i.editor.create(c.value,{value:u(),...t.config,language:t.language,readOnly:t.readOnly,lineNumbers:t.lineNumbers,theme:t.theme,scrollBeyondLastLine:!1,scrollbar:{verticalScrollbarSize:10,horizontalScrollbarSize:10},automaticLayout:!0}),t.autoToggleTheme&&a.watch(()=>f.value,()=>{a.nextTick(()=>d())},{immediate:!0});function u(){return t.valueFormat==="json"&&t.modelValue?JSON.stringify(t.modelValue,null,2):t.modelValue??""}e.onDidChangeModelContent(()=>{const n=e==null?void 0:e.getValue();if(t.valueFormat==="json"&&n){s("update:modelValue",JSON.parse(n));return}s("update:modelValue",n??"")})}),o({setValue:m,insertText:g}),(u,n)=>(a.openBlock(),a.createElementBlock("div",{ref_key:"editContainer",ref:c,class:"epic-code-editor"},null,512))}}),y=h._export_sfc(_,[["__scopeId","data-v-3e2e893c"]]);exports.default=y;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),C=require("./index-3RNTR6WH.cjs"),x=require("./axios-CYGTE3lR.cjs"),b=require("./icon.vue_vue_type_script_setup_true_lang-DJbUD5AQ.cjs"),S=require("./vuedraggable.umd-BqhSJIAi.cjs"),$=require("./tree.vue_vue_type_script_setup_true_lang-RWTXU6lO.cjs"),w={class:"epic-event-info"},M=["title"],O={class:"epic-event-btn text-lg flex items-center text-$epic-text-secondary"},A={class:"epic-action-editor-main"},U={class:"epic-editor-item rounded"},D={class:"w-36px flex items-center text-lg"},j={class:"flex-1"},L={key:0},K={key:1},R={key:2},T={class:"epic-action-box text-lg text-$epic-text-medium"},q=["onClick"],F=["onClick"],z=e.defineComponent({__name:"EActionEditorItem",props:{itemEvents:{type:Array,default:()=>[]},allEvents:{type:Array,default:()=>[]},modelValue:{type:Object,default:()=>[]},events:{type:Object,default:()=>({})}},emits:["add","edit","update:modelValue"],setup(E,{emit:V}){const m=E,h=V,v=e.inject("pageSchema");function y(p){h("add",p)}function f(p){return C.findSchemaById(v.schemas,p).label}function u(p,i){var t;const a=o(i);a[i]=m.events[i].filter((k,N)=>p!==N),(t=a[i])!=null&&t.length||delete a[i],h("update:modelValue",a)}function r(p,i,a){h("edit",p,i,a)}function o(p){const i={};return m.allEvents.forEach(a=>{if(!m.events[a.type].length||a.type===p)return!1;i[a.type]=m.events[a.type]}),i}return(p,i)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(E.itemEvents,a=>(e.openBlock(),e.createElementBlock("div",{key:a.type,class:"epic-event-item"},[e.createElementVNode("div",w,[e.createElementVNode("div",{class:"epic-event-label",title:a.describe},e.toDisplayString(a.describe),9,M),e.createElementVNode("div",O,[e.createVNode(e.unref(b._sfc_main),{name:"icon--epic--add-rounded",onClick:t=>y(a.type)},null,8,["onClick"])])]),e.createElementVNode("div",A,[e.createVNode(e.unref(S.draggable),{modelValue:m.events[a.type],"onUpdate:modelValue":t=>m.events[a.type]=t,"item-key":"id","component-data":{type:"transition-group"},group:"option-list",handle:".handle",animation:200},{item:e.withCtx(({element:t,index:k})=>[e.createElementVNode("div",U,[e.createElementVNode("div",D,[e.createVNode(e.unref(b._sfc_main),{class:"mr-2 text-lg cursor-move handle text-$epic-text-medium",name:"icon--epic--drag"})]),e.createElementVNode("div",j,[t.type==="component"?(e.openBlock(),e.createElementBlock("div",L,e.toDisplayString(f(t.componentId)),1)):t.type==="custom"?(e.openBlock(),e.createElementBlock("div",K," 自定义函数 ")):t.type==="public"?(e.openBlock(),e.createElementBlock("div",R," 公共函数 ")):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(t.methodName),1)]),e.createElementVNode("div",T,[e.createElementVNode("div",{class:"epic-edit-btn",onClick:N=>r(k,a.type,t)},[e.createVNode(e.unref(b._sfc_main),{name:"icon--epic--page-info-outline-rounded"})],8,q),e.createElementVNode("div",{class:"epic-del-btn",onClick:N=>u(k,a.type)},[e.createVNode(e.unref(b._sfc_main),{name:"icon--epic--delete-outline-rounded"})],8,F)])])]),_:2},1032,["modelValue","onUpdate:modelValue"])])]))),128))}}),J={class:"h-full flex flex-col"},P=e.defineComponent({__name:"EScriptEdit",setup(E){const V=x.pluginManager.getComponent("monacoEditor"),m={theme:"vs-light",selectOnLineNumbers:!0,minimap:{enabled:!1}},h=e.ref(null),v=e.inject("pageSchema");return(y,f)=>(e.openBlock(),e.createElementBlock("div",J,[f[1]||(f[1]=e.createElementVNode("div",{class:"pb-2"}," 自定义函数编辑 ",-1)),e.createVNode(e.unref(V),{ref_key:"monacoEditorRef",ref:h,autoToggleTheme:"",modelValue:e.unref(v).script,"onUpdate:modelValue":f[0]||(f[0]=u=>e.unref(v).script=u),class:"epic-editor flex-1",config:m,language:"javascript"},null,8,["modelValue"])]))}}),G={class:"epic-attribute-view"},H=["title"],Q={class:"epic-attr-input"},W=e.defineComponent({__name:"EArgsEditor",props:{modelValue:{},actionArgsConfigs:{}},emits:["update:modelValue"],setup(E,{emit:V}){const m=E,h=V,v=e.computed(()=>m.modelValue?JSON.parse(m.modelValue):[]);function y(u){var r;return typeof u.show=="boolean"?u.show:typeof u.show=="function"?(r=u.show)==null?void 0:r.call(u,{values:v.value}):!0}function f(u,r){const o=[...JSON.parse(m.modelValue??"[]")];o[r]=u,h("update:modelValue",JSON.stringify(o))}return(u,r)=>(e.openBlock(),e.createElementBlock("div",G,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.actionArgsConfigs,o=>(e.openBlock(),e.createElementBlock("div",{key:o.field+o.type},[e.withDirectives(e.createElementVNode("div",{class:e.normalizeClass(["epic-attr-item",o.layout])},[e.createElementVNode("div",{class:"epic-attr-label",title:o.label},e.toDisplayString(o.label),9,H),e.createElementVNode("div",Q,[e.createVNode(e.unref(C._sfc_main),{componentSchema:{...o,componentProps:{...o.componentProps,input:!1,field:void 0,hidden:!1},show:!0,noFormItem:!0},"model-value":v.value[o.field],"onUpdate:modelValue":p=>f(p,o.field)},null,8,["componentSchema","model-value","onUpdate:modelValue"])])],2),[[e.vShow,y(o)]])]))),128))]))}}),X={class:"rounded epic-modal-action-main"},Y={class:"epic-modal-left-panel h-full flex flex-col"},Z={class:"flex flex-1 h-0 flex-col"},ee={class:"flex-1 h-0"},te={class:"epic-action-select h-30/100 flex flex-col"},ne={class:"flex-1 overflow-auto pr-8px"},oe=["onClick"],le={class:"text-center pt-42px text-gray-400"},ae={class:"epic-modal-right-panel"},ce={key:1,class:"text-center pt-42px text-gray-400"},se=e.defineComponent({__name:"EActionModal",emits:["add","edit"],setup(E,{expose:V,emit:m}){const h=x.pluginManager.getComponent("modal"),v=e.ref(!0),y=e.inject("pageSchema"),f=e.inject("pageManager",{}),u=e.ref(!1),r=e.ref([]),o=e.ref(null),p=m,i=e.computed(()=>{var l;return t.actionItem.type==="component"?o.value?(l=x.pluginManager.getComponentConfings()[o.value.type].config.action)==null?void 0:l.map(n=>({label:n.describe,value:n.type})):[]:t.actionItem.type==="custom"?Object.entries(f.funcs.value).filter(([n,_])=>typeof _=="function").map(([n])=>({label:n,value:n})):t.actionItem.type==="public"?Object.entries(x.pluginManager.publicMethods).map(([n])=>({label:n,value:n})):[]}),a=e.computed(()=>{if(t.actionItem.type==="component"&&o.value){const l=x.pluginManager.getComponentConfings()[o.value.type].config.action,n=l==null?void 0:l.find(_=>_.type===t.actionItem.methodName);if(n!=null&&n.argsConfigs){const _=n.argsConfigs.findIndex(g=>g.label==="设置数据");_!==-1&&(n.argsConfigs[_]={...o.value,label:"设置数据",field:"0",id:C.getUUID()})}return(n==null?void 0:n.argsConfigs)??[]}return[]}),t=e.reactive({actionItem:{type:"custom",methodName:"test",componentId:null},cacheData:{}});function k(){var l;u.value=!0,v.value=!0,t.actionItem.type="custom",t.actionItem.componentId=null,(l=i.value)!=null&&l.length&&d(i.value[0].value)}function N(l){if(u.value=!0,v.value=!1,o.value=null,l.componentId){const n=C.findSchemaById(y.schemas,l.componentId);o.value=n,r.value=[l.componentId]}e.nextTick(()=>{t.actionItem.componentId=l.componentId,t.actionItem.methodName=l.methodName,t.actionItem.type=l.type,t.actionItem.args=l.args})}function B(){if(!t.actionItem.methodName){alert("请先选择动作方法");return}p(v.value?"add":"edit",C.deepClone(e.toRaw(t.actionItem))),I()}function I(){u.value=!1,r.value=[],t.cacheData={}}function s(l){var n;t.actionItem.componentId=null,t.actionItem.type=l,o.value=null,t.actionItem.methodName=null,r.value=[],(n=i.value)!=null&&n.length&&d(i.value[0].value)}function c(l){var n;t.actionItem.args&&(t.cacheData[t.actionItem.componentId+t.actionItem.methodName]=t.actionItem.args),t.actionItem.componentId=l.id,t.actionItem.type="component",t.actionItem.methodName=null,o.value=l.componentSchema,(n=i.value)!=null&&n.length&&d(i.value[0].value)}function d(l){t.actionItem.methodName=l,t.actionItem.args=t.cacheData[t.actionItem.componentId+t.actionItem.methodName]}return V({handleOpen:k,handleOpenEdit:N}),(l,n)=>(e.openBlock(),e.createBlock(e.unref(h),{modelValue:u.value,"onUpdate:modelValue":n[4]||(n[4]=_=>u.value=_),class:"w-1200px",width:"1200px",onClose:I,onOk:B,title:"动作配置"},{default:e.withCtx(()=>{var _;return[e.createElementVNode("div",X,[e.createElementVNode("div",Y,[e.createElementVNode("div",Z,[e.createElementVNode("div",{class:e.normalizeClass(["fun-btn",{checked:t.actionItem.type==="custom"}]),onClick:n[0]||(n[0]=g=>s("custom"))}," 自定义函数 ",2),e.createElementVNode("div",{class:e.normalizeClass(["fun-btn",{checked:t.actionItem.type==="public"}]),onClick:n[1]||(n[1]=g=>s("public"))}," 公共函数 ",2),n[5]||(n[5]=e.createTextVNode(" 组件 ")),e.createElementVNode("div",ee,[e.createVNode(e.unref($._sfc_main),{selectedKeys:r.value,"onUpdate:selectedKeys":n[2]||(n[2]=g=>r.value=g),options:e.unref(y).schemas,onNodeClick:c},null,8,["selectedKeys","options"])])]),e.createElementVNode("div",te,[n[6]||(n[6]=e.createElementVNode("div",{class:"mb-2"},"动作选择",-1)),e.createElementVNode("div",ne,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,g=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([{checked:g.value===t.actionItem.methodName},"epic-action-item"]),onClick:de=>d(g.value),key:g.value},[e.createElementVNode("span",null,e.toDisplayString(g.label),1)],10,oe))),128)),e.withDirectives(e.createElementVNode("div",le," 当前组件暂无动作 ",512),[[e.vShow,!((_=i.value)!=null&&_.length)]])])])]),e.createElementVNode("div",ae,[t.actionItem.type==="custom"?(e.openBlock(),e.createBlock(P,{key:0})):a.value.length===0?(e.openBlock(),e.createElementBlock("div",ce," 暂无配置 ")):(e.openBlock(),e.createBlock(W,{key:2,modelValue:t.actionItem.args,"onUpdate:modelValue":n[3]||(n[3]=g=>t.actionItem.args=g),actionArgsConfigs:a.value},null,8,["modelValue","actionArgsConfigs"]))])])]}),_:1},8,["modelValue"]))}}),ie=e.defineComponent({__name:"index",props:{eventList:{type:Array,default:()=>[]},modelValue:{type:Object}},emits:["update:modelValue"],setup(E,{emit:V}){const m=x.pluginManager.getComponent("Collapse"),h=x.pluginManager.getComponent("CollapseItem"),v=e.ref(null);let y=0;const f=E,u=V,r=e.computed({get(){return f.modelValue},set(s){u("update:modelValue",s)}}),o=e.ref([]),p=e.computed(()=>f.eventList.filter(s=>s.events.length)),i=e.computed(()=>f.eventList.map(s=>s.events).flat()),a=e.ref({});i.value.forEach(s=>{a.value[s.type]=e.computed({get(){var c;return((c=r.value)==null?void 0:c[s.type])??[]},set(c){c&&c.length?r.value[s.type]=c.map(d=>e.toRaw(d)):delete r.value[s.type]}})}),e.watch(()=>p.value,s=>{s.length&&(o.value=s.filter(c=>{for(let d=0;d<c.events.length;d++){const l=c.events[d].type;if(a.value[l].length)return!0}return!1}).map(c=>c.title))},{immediate:!0});let t="";function k(s){var c;(c=v.value)==null||c.handleOpen(),t=s}function N(s,c,d){var l;(l=v.value)==null||l.handleOpenEdit(d),y=s,t=c}function B(s){a.value[t][y]=s,r.value[t]=[...a.value[t]??[]]}function I(s){if(!r.value){r.value={[t]:[...a.value[t]??[],s]};return}r.value[t]=[...a.value[t]??[],s]}return(s,c)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref(m),{modelValue:o.value,"onUpdate:modelValue":c[1]||(c[1]=d=>o.value=d),activeKey:o.value,"onUpdate:activeKey":c[2]||(c[2]=d=>o.value=d),"expanded-names":o.value,"onUpdate:expandedNames":c[3]||(c[3]=d=>o.value=d)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,d=>(e.openBlock(),e.createBlock(e.unref(h),{key:d.title,title:d.title,header:d.title,name:d.title},{default:e.withCtx(()=>[e.createVNode(z,{modelValue:r.value,"onUpdate:modelValue":c[0]||(c[0]=l=>r.value=l),"item-events":d.events,"all-events":i.value,events:a.value,onAdd:k,onEdit:N},null,8,["modelValue","item-events","all-events","events"])]),_:2},1032,["title","header","name"]))),128))]),_:1},8,["modelValue","activeKey","expanded-names"]),e.createVNode(se,{ref_key:"EActionModalRef",ref:v,onAdd:I,onEdit:B},null,512)],64))}});exports.default=ie;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),C=require("./index-CTjIY8cx.cjs"),x=require("./axios-CYGTE3lR.cjs"),b=require("./icon.vue_vue_type_script_setup_true_lang-DJbUD5AQ.cjs"),S=require("./vuedraggable.umd-BqhSJIAi.cjs"),$=require("./tree.vue_vue_type_script_setup_true_lang-RWTXU6lO.cjs"),w={class:"epic-event-info"},M=["title"],O={class:"epic-event-btn text-lg flex items-center text-$epic-text-secondary"},A={class:"epic-action-editor-main"},U={class:"epic-editor-item rounded"},D={class:"w-36px flex items-center text-lg"},j={class:"flex-1"},L={key:0},K={key:1},R={key:2},T={class:"epic-action-box text-lg text-$epic-text-medium"},q=["onClick"],F=["onClick"],z=e.defineComponent({__name:"EActionEditorItem",props:{itemEvents:{type:Array,default:()=>[]},allEvents:{type:Array,default:()=>[]},modelValue:{type:Object,default:()=>[]},events:{type:Object,default:()=>({})}},emits:["add","edit","update:modelValue"],setup(E,{emit:V}){const m=E,h=V,v=e.inject("pageSchema");function y(p){h("add",p)}function f(p){return C.findSchemaById(v.schemas,p).label}function u(p,i){var t;const a=o(i);a[i]=m.events[i].filter((k,N)=>p!==N),(t=a[i])!=null&&t.length||delete a[i],h("update:modelValue",a)}function r(p,i,a){h("edit",p,i,a)}function o(p){const i={};return m.allEvents.forEach(a=>{if(!m.events[a.type].length||a.type===p)return!1;i[a.type]=m.events[a.type]}),i}return(p,i)=>(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(E.itemEvents,a=>(e.openBlock(),e.createElementBlock("div",{key:a.type,class:"epic-event-item"},[e.createElementVNode("div",w,[e.createElementVNode("div",{class:"epic-event-label",title:a.describe},e.toDisplayString(a.describe),9,M),e.createElementVNode("div",O,[e.createVNode(e.unref(b._sfc_main),{name:"icon--epic--add-rounded",onClick:t=>y(a.type)},null,8,["onClick"])])]),e.createElementVNode("div",A,[e.createVNode(e.unref(S.draggable),{modelValue:m.events[a.type],"onUpdate:modelValue":t=>m.events[a.type]=t,"item-key":"id","component-data":{type:"transition-group"},group:"option-list",handle:".handle",animation:200},{item:e.withCtx(({element:t,index:k})=>[e.createElementVNode("div",U,[e.createElementVNode("div",D,[e.createVNode(e.unref(b._sfc_main),{class:"mr-2 text-lg cursor-move handle text-$epic-text-medium",name:"icon--epic--drag"})]),e.createElementVNode("div",j,[t.type==="component"?(e.openBlock(),e.createElementBlock("div",L,e.toDisplayString(f(t.componentId)),1)):t.type==="custom"?(e.openBlock(),e.createElementBlock("div",K," 自定义函数 ")):t.type==="public"?(e.openBlock(),e.createElementBlock("div",R," 公共函数 ")):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(t.methodName),1)]),e.createElementVNode("div",T,[e.createElementVNode("div",{class:"epic-edit-btn",onClick:N=>r(k,a.type,t)},[e.createVNode(e.unref(b._sfc_main),{name:"icon--epic--page-info-outline-rounded"})],8,q),e.createElementVNode("div",{class:"epic-del-btn",onClick:N=>u(k,a.type)},[e.createVNode(e.unref(b._sfc_main),{name:"icon--epic--delete-outline-rounded"})],8,F)])])]),_:2},1032,["modelValue","onUpdate:modelValue"])])]))),128))}}),J={class:"h-full flex flex-col"},P=e.defineComponent({__name:"EScriptEdit",setup(E){const V=x.pluginManager.getComponent("monacoEditor"),m={theme:"vs-light",selectOnLineNumbers:!0,minimap:{enabled:!1}},h=e.ref(null),v=e.inject("pageSchema");return(y,f)=>(e.openBlock(),e.createElementBlock("div",J,[f[1]||(f[1]=e.createElementVNode("div",{class:"pb-2"}," 自定义函数编辑 ",-1)),e.createVNode(e.unref(V),{ref_key:"monacoEditorRef",ref:h,autoToggleTheme:"",modelValue:e.unref(v).script,"onUpdate:modelValue":f[0]||(f[0]=u=>e.unref(v).script=u),class:"epic-editor flex-1",config:m,language:"javascript"},null,8,["modelValue"])]))}}),G={class:"epic-attribute-view"},H=["title"],Q={class:"epic-attr-input"},W=e.defineComponent({__name:"EArgsEditor",props:{modelValue:{},actionArgsConfigs:{}},emits:["update:modelValue"],setup(E,{emit:V}){const m=E,h=V,v=e.computed(()=>m.modelValue?JSON.parse(m.modelValue):[]);function y(u){var r;return typeof u.show=="boolean"?u.show:typeof u.show=="function"?(r=u.show)==null?void 0:r.call(u,{values:v.value}):!0}function f(u,r){const o=[...JSON.parse(m.modelValue??"[]")];o[r]=u,h("update:modelValue",JSON.stringify(o))}return(u,r)=>(e.openBlock(),e.createElementBlock("div",G,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.actionArgsConfigs,o=>(e.openBlock(),e.createElementBlock("div",{key:o.field+o.type},[e.withDirectives(e.createElementVNode("div",{class:e.normalizeClass(["epic-attr-item",o.layout])},[e.createElementVNode("div",{class:"epic-attr-label",title:o.label},e.toDisplayString(o.label),9,H),e.createElementVNode("div",Q,[e.createVNode(e.unref(C._sfc_main),{componentSchema:{...o,componentProps:{...o.componentProps,input:!1,field:void 0,hidden:!1},show:!0,noFormItem:!0},"model-value":v.value[o.field],"onUpdate:modelValue":p=>f(p,o.field)},null,8,["componentSchema","model-value","onUpdate:modelValue"])])],2),[[e.vShow,y(o)]])]))),128))]))}}),X={class:"rounded epic-modal-action-main"},Y={class:"epic-modal-left-panel h-full flex flex-col"},Z={class:"flex flex-1 h-0 flex-col"},ee={class:"flex-1 h-0"},te={class:"epic-action-select h-30/100 flex flex-col"},ne={class:"flex-1 overflow-auto pr-8px"},oe=["onClick"],le={class:"text-center pt-42px text-gray-400"},ae={class:"epic-modal-right-panel"},ce={key:1,class:"text-center pt-42px text-gray-400"},se=e.defineComponent({__name:"EActionModal",emits:["add","edit"],setup(E,{expose:V,emit:m}){const h=x.pluginManager.getComponent("modal"),v=e.ref(!0),y=e.inject("pageSchema"),f=e.inject("pageManager",{}),u=e.ref(!1),r=e.ref([]),o=e.ref(null),p=m,i=e.computed(()=>{var l;return t.actionItem.type==="component"?o.value?(l=x.pluginManager.getComponentConfings()[o.value.type].config.action)==null?void 0:l.map(n=>({label:n.describe,value:n.type})):[]:t.actionItem.type==="custom"?Object.entries(f.funcs.value).filter(([n,_])=>typeof _=="function").map(([n])=>({label:n,value:n})):t.actionItem.type==="public"?Object.entries(x.pluginManager.publicMethods).map(([n])=>({label:n,value:n})):[]}),a=e.computed(()=>{if(t.actionItem.type==="component"&&o.value){const l=x.pluginManager.getComponentConfings()[o.value.type].config.action,n=l==null?void 0:l.find(_=>_.type===t.actionItem.methodName);if(n!=null&&n.argsConfigs){const _=n.argsConfigs.findIndex(g=>g.label==="设置数据");_!==-1&&(n.argsConfigs[_]={...o.value,label:"设置数据",field:"0",id:C.getUUID()})}return(n==null?void 0:n.argsConfigs)??[]}return[]}),t=e.reactive({actionItem:{type:"custom",methodName:"test",componentId:null},cacheData:{}});function k(){var l;u.value=!0,v.value=!0,t.actionItem.type="custom",t.actionItem.componentId=null,(l=i.value)!=null&&l.length&&d(i.value[0].value)}function N(l){if(u.value=!0,v.value=!1,o.value=null,l.componentId){const n=C.findSchemaById(y.schemas,l.componentId);o.value=n,r.value=[l.componentId]}e.nextTick(()=>{t.actionItem.componentId=l.componentId,t.actionItem.methodName=l.methodName,t.actionItem.type=l.type,t.actionItem.args=l.args})}function B(){if(!t.actionItem.methodName){alert("请先选择动作方法");return}p(v.value?"add":"edit",C.deepClone(e.toRaw(t.actionItem))),I()}function I(){u.value=!1,r.value=[],t.cacheData={}}function s(l){var n;t.actionItem.componentId=null,t.actionItem.type=l,o.value=null,t.actionItem.methodName=null,r.value=[],(n=i.value)!=null&&n.length&&d(i.value[0].value)}function c(l){var n;t.actionItem.args&&(t.cacheData[t.actionItem.componentId+t.actionItem.methodName]=t.actionItem.args),t.actionItem.componentId=l.id,t.actionItem.type="component",t.actionItem.methodName=null,o.value=l.componentSchema,(n=i.value)!=null&&n.length&&d(i.value[0].value)}function d(l){t.actionItem.methodName=l,t.actionItem.args=t.cacheData[t.actionItem.componentId+t.actionItem.methodName]}return V({handleOpen:k,handleOpenEdit:N}),(l,n)=>(e.openBlock(),e.createBlock(e.unref(h),{modelValue:u.value,"onUpdate:modelValue":n[4]||(n[4]=_=>u.value=_),class:"w-1200px",width:"1200px",onClose:I,onOk:B,title:"动作配置"},{default:e.withCtx(()=>{var _;return[e.createElementVNode("div",X,[e.createElementVNode("div",Y,[e.createElementVNode("div",Z,[e.createElementVNode("div",{class:e.normalizeClass(["fun-btn",{checked:t.actionItem.type==="custom"}]),onClick:n[0]||(n[0]=g=>s("custom"))}," 自定义函数 ",2),e.createElementVNode("div",{class:e.normalizeClass(["fun-btn",{checked:t.actionItem.type==="public"}]),onClick:n[1]||(n[1]=g=>s("public"))}," 公共函数 ",2),n[5]||(n[5]=e.createTextVNode(" 组件 ")),e.createElementVNode("div",ee,[e.createVNode(e.unref($._sfc_main),{selectedKeys:r.value,"onUpdate:selectedKeys":n[2]||(n[2]=g=>r.value=g),options:e.unref(y).schemas,onNodeClick:c},null,8,["selectedKeys","options"])])]),e.createElementVNode("div",te,[n[6]||(n[6]=e.createElementVNode("div",{class:"mb-2"},"动作选择",-1)),e.createElementVNode("div",ne,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,g=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass([{checked:g.value===t.actionItem.methodName},"epic-action-item"]),onClick:de=>d(g.value),key:g.value},[e.createElementVNode("span",null,e.toDisplayString(g.label),1)],10,oe))),128)),e.withDirectives(e.createElementVNode("div",le," 当前组件暂无动作 ",512),[[e.vShow,!((_=i.value)!=null&&_.length)]])])])]),e.createElementVNode("div",ae,[t.actionItem.type==="custom"?(e.openBlock(),e.createBlock(P,{key:0})):a.value.length===0?(e.openBlock(),e.createElementBlock("div",ce," 暂无配置 ")):(e.openBlock(),e.createBlock(W,{key:2,modelValue:t.actionItem.args,"onUpdate:modelValue":n[3]||(n[3]=g=>t.actionItem.args=g),actionArgsConfigs:a.value},null,8,["modelValue","actionArgsConfigs"]))])])]}),_:1},8,["modelValue"]))}}),ie=e.defineComponent({__name:"index",props:{eventList:{type:Array,default:()=>[]},modelValue:{type:Object}},emits:["update:modelValue"],setup(E,{emit:V}){const m=x.pluginManager.getComponent("Collapse"),h=x.pluginManager.getComponent("CollapseItem"),v=e.ref(null);let y=0;const f=E,u=V,r=e.computed({get(){return f.modelValue},set(s){u("update:modelValue",s)}}),o=e.ref([]),p=e.computed(()=>f.eventList.filter(s=>s.events.length)),i=e.computed(()=>f.eventList.map(s=>s.events).flat()),a=e.ref({});i.value.forEach(s=>{a.value[s.type]=e.computed({get(){var c;return((c=r.value)==null?void 0:c[s.type])??[]},set(c){c&&c.length?r.value[s.type]=c.map(d=>e.toRaw(d)):delete r.value[s.type]}})}),e.watch(()=>p.value,s=>{s.length&&(o.value=s.filter(c=>{for(let d=0;d<c.events.length;d++){const l=c.events[d].type;if(a.value[l].length)return!0}return!1}).map(c=>c.title))},{immediate:!0});let t="";function k(s){var c;(c=v.value)==null||c.handleOpen(),t=s}function N(s,c,d){var l;(l=v.value)==null||l.handleOpenEdit(d),y=s,t=c}function B(s){a.value[t][y]=s,r.value[t]=[...a.value[t]??[]]}function I(s){if(!r.value){r.value={[t]:[...a.value[t]??[],s]};return}r.value[t]=[...a.value[t]??[],s]}return(s,c)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(e.unref(m),{modelValue:o.value,"onUpdate:modelValue":c[1]||(c[1]=d=>o.value=d),activeKey:o.value,"onUpdate:activeKey":c[2]||(c[2]=d=>o.value=d),"expanded-names":o.value,"onUpdate:expandedNames":c[3]||(c[3]=d=>o.value=d)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,d=>(e.openBlock(),e.createBlock(e.unref(h),{key:d.title,title:d.title,header:d.title,name:d.title},{default:e.withCtx(()=>[e.createVNode(z,{modelValue:r.value,"onUpdate:modelValue":c[0]||(c[0]=l=>r.value=l),"item-events":d.events,"all-events":i.value,events:a.value,onAdd:k,onEdit:N},null,8,["modelValue","item-events","all-events","events"])]),_:2},1032,["title","header","name"]))),128))]),_:1},8,["modelValue","activeKey","expanded-names"]),e.createVNode(se,{ref_key:"EActionModalRef",ref:v,onAdd:I,onEdit:B},null,512)],64))}});exports.default=ie;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent as g, ref as p, onMounted as h, watch as v, nextTick as V, openBlock as _, createElementBlock as T } from "vue";
|
|
2
2
|
import * as a from "monaco-editor";
|
|
3
|
-
import { p as b } from "./index-
|
|
3
|
+
import { p as b } from "./index-CH2IxHQE.js";
|
|
4
4
|
import { _ as y } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
5
5
|
const x = /* @__PURE__ */ g({
|
|
6
6
|
__name: "index",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),F=require("./axios-CYGTE3lR.cjs"),C=require("./index-3RNTR6WH.cjs"),J=require("./icon.vue_vue_type_script_setup_true_lang-DJbUD5AQ.cjs"),G=require("./vuedraggable.umd-BqhSJIAi.cjs"),ee={class:"epic-widget-action-item whitespace-nowrap"},te={key:0,class:"flex items-center"},ne=e.defineComponent({__name:"previewWidgets",setup(A,{expose:R}){const u=e.inject("pageManager",{}),_=e.inject("pageSchema"),r=e.inject("designer"),h=e.inject("designerProps"),c=e.inject("revoke"),f=e.ref(null),w=e.ref(null),g=e.ref(null),M=e.ref(!1),l=e.ref(!1),a=e.ref(!0),i=e.ref("top"),{canvasScale:s,disabledZoom:k}=C.useStore();let n=null;const L=e.computed(()=>{const t=r.state.checkedNode;return!(!(t!=null&&t.id)||h.value.lockDefaultSchemaEdit&&u.defaultComponentIds.value.includes(t==null?void 0:t.id))}),T=e.computed(()=>{var S,N,V,m,O,H;const t=u.componentInstances.value,d=(S=r.state.checkedNode)==null?void 0:S.id;if((V=(N=r.state.checkedNode)==null?void 0:N.componentProps)!=null&&V.hidden)return null;const y=F.pluginManager.getComponentConfingByType((m=r.state.checkedNode)==null?void 0:m.type)??null;if(!d||!(t!=null&&t[d]))return null;if(y!=null&&y.defaultSchema.input&&((O=r.state.checkedNode)==null?void 0:O.noFormItem)!==!0)return(H=t[d+"formItem"])==null?void 0:H.$el;const o=t[d];return!(o!=null&&o.$el)||(o==null?void 0:o.$el.nodeName)==="#text"||!(o!=null&&o.$el.getBoundingClientRect)?null:o==null?void 0:o.$el}),B=e.computed(()=>{var S,N,V,m;const t=u.componentInstances.value,d=(S=r.state.hoverNode)==null?void 0:S.id,y=F.pluginManager.getComponentConfingByType((N=r.state.hoverNode)==null?void 0:N.type)??null;if(!d||!(t!=null&&t[d]))return null;if(y!=null&&y.defaultSchema.input&&((V=r.state.hoverNode)==null?void 0:V.noFormItem)!==!0)return(m=t[d+"formItem"])==null?void 0:m.$el;const o=t[d];return(o==null?void 0:o.$el.nodeName)==="#text"?null:o==null?void 0:o.$el}),{mutationObserver:p,observerConfig:x}=Z(j),{startTimedQuery:v,stopTimedQuery:z}=C.useTimedQuery(j);e.watch(()=>T.value,t=>{if(t){M.value=!0,p.observe(t,x);const d=t.parentNode;d&&(d.ondragstart=()=>{a.value=!1,v()},d.ondragend=()=>{a.value=!0,z()}),j()}else M.value=!1});const{mutationObserver:P,observerConfig:E}=Z(q);e.watch(()=>B.value,t=>{t&&(P.observe(t,E),q())});let b=0;e.watch(()=>{var t;return(t=r.state.hoverNode)==null?void 0:t.id},t=>{if(t){l.value=!0,clearTimeout(b);return}b=setTimeout(()=>{l.value=!1},300)});let $=0,D=0;function j(){const t=T.value;if(!t||!n)return;const{top:d,left:y}=n==null?void 0:n.getBoundingClientRect(),{top:o,left:S,width:N,height:V}=t.getBoundingClientRect(),m=k.value?1:s.value,O=o-d+((n==null?void 0:n.scrollTop)??0)*m,H=S-y+((n==null?void 0:n.scrollLeft)??0)*m,W=V/m;f.value&&(f.value.style.width=`${N/m}px`,f.value.style.height=`${W}px`,f.value.style.top=`${O/m}px`,f.value.style.left=`${H/m}px`,I(O,H)),g.value&&(O<45&&W<100?(g.value.style.top="",g.value.style.bottom="-30px",g.value.style["border-radius"]="0px 0px 4px 4px",i.value="bottom"):O<45?(g.value.style.top="0px",g.value.style["border-radius"]="0px 0px 4px 0",i.value="center"):(g.value.style.top="-30px",g.value.style["border-radius"]="4px 4px 0px 0px",i.value="top"))}function I(t,d){const y=T.value;if(!n||!y)return;const o=n.getBoundingClientRect(),{width:S}=y.getBoundingClientRect(),N=k.value?1:s.value,V=t/N-o.top;let m=d/N-o.left+S/N;m<o.width&&(m=0);const O=n.scrollTop-o.height/3+60,H=n.scrollTop+o.height/3*2,W=n.scrollLeft-o.width+200,U=n.scrollLeft+o.width-200;Math.abs(V-$)<10&&Math.abs(m-D)<10||($=V,D=m,!(V>O&&V<H&&m>W&&m<U)&&(n.scrollTop=V,n.scrollLeft=m))}function q(){var W,U;const t=B.value;if(!t)return;const{top:d,left:y}=(n==null?void 0:n.getBoundingClientRect())??{top:0,left:0},{top:o,left:S,width:N,height:V}=((W=t.getBoundingClientRect)==null?void 0:W.call(t))??((U=t.nextElementSibling)==null?void 0:U.getBoundingClientRect()),m=k.value?1:s.value,O=o-d+((n==null?void 0:n.scrollTop)??0)*m,H=S-y+((n==null?void 0:n.scrollLeft)??0)*m;w.value&&(w.value.style.width=`${N/m}px`,w.value.style.height=`${V/m}px`,w.value.style.top=`${O/m}px`,w.value.style.left=`${H/m}px`)}function Z(t){const d=window.MutationObserver,y={childList:!0,attributes:!0,subtree:!0};return{mutationObserver:new d(t),observerConfig:y}}function K(){var N;const t=C.findSchemaInfoById(_.schemas,((N=r.state.checkedNode)==null?void 0:N.id)??"root");if(!t)return!1;const{list:d,schema:y,index:o}=t,S=C.generateNewSchema(y);d.splice(o+1,0,S),r.setCheckedNode(S),c.push(_.schemas,"复制组件")}function X(){var S;const t=C.findSchemaInfoById(_.schemas,((S=r.state.checkedNode)==null?void 0:S.id)??"root");if(!t)return!1;let{list:d,schema:y,index:o}=t;d.splice(o,1),o===d.length&&o--,r.setCheckedNode(d[o]),c.push(_.schemas,"删除组件")}function Y(t){n=t,n==null||n.addEventListener("scroll",()=>{j()}),C.useResizeObserver(T,j),C.useResizeObserver(B,q)}return R({handleInit:Y}),(t,d)=>{var y,o,S,N,V;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.withDirectives(e.createElementVNode("div",{ref_key:"selectorRef",ref:f,class:e.normalizeClass(["epic-checked-widget absolute pointer-events-none z-20",i.value+" "+(a.value?"transition-all":"")])},[e.createElementVNode("div",{class:"epic-widget-action-box",ref_key:"actionBoxRef",ref:g},[e.createElementVNode("div",ee,e.toDisplayString((o=e.unref(F.pluginManager).getComponentConfingByType(((y=e.unref(r).state.checkedNode)==null?void 0:y.type)??""))==null?void 0:o.defaultSchema.label),1),L.value?(e.openBlock(),e.createElementBlock("div",te,[e.createElementVNode("div",{title:"复制",class:"epic-widget-action-item pointer-events-auto",onClick:K},[e.createVNode(e.unref(J._sfc_main),{name:"icon--epic--copy-all-outline-rounded"})]),e.createElementVNode("div",{title:"删除",class:"epic-widget-action-item pointer-events-auto",onClick:X},[e.createVNode(e.unref(J._sfc_main),{name:"icon--epic--delete-outline-rounded"})])])):e.createCommentVNode("",!0)],512)],2),[[e.vShow,M.value&&((S=e.unref(r).state.checkedNode)==null?void 0:S.id)!=="root"]]),e.withDirectives(e.createElementVNode("div",{ref_key:"hoverWidgetRef",ref:w,class:"epic-hover-widget absolute transition-all pointer-events-none z-998"},null,512),[[e.vShow,l.value&&((N=e.unref(r).state.checkedNode)==null?void 0:N.id)!==((V=e.unref(r).state.hoverNode)==null?void 0:V.id)]])],64)}}}),oe=e.defineComponent({name:"EditNodeItem",__name:"editNodeItem",props:{schemas:{}},emits:["update:schemas"],setup(A,{emit:R}){const u=e.inject("designer"),_=e.inject("pageSchema"),r=e.inject("revoke"),h=A,c=R,f=e.computed({get(){return h.schemas},set(a){c("update:schemas",a)}});function w(a){u.setCheckedNode(f.value[a]),u.setDisableHover(!0)}function g(){u.setDisableHover(),r.push(_.schemas,"拖拽组件")}function M(){r.push(_.schemas,"插入组件")}function l(a){var i,s,k;return a.id===((i=_.schemas[0])==null?void 0:i.id)||(k=(s=F.pluginManager.getComponentConfingByType(a.type))==null?void 0:s.editConstraints)!=null&&k.immovable?"unmover-item":"draggable-item"}return(a,i)=>(e.openBlock(),e.createBlock(e.unref(G.draggable),e.mergeProps({modelValue:f.value,"onUpdate:modelValue":i[0]||(i[0]=s=>f.value=s),"item-key":"id","component-data":{type:"transition-group"},class:"epic-draggable-range"},{animation:200,group:"edit-draggable",handle:".draggable-item",ghostClass:"moveing"},{onStart:i[1]||(i[1]=s=>w(s.oldIndex)),onEnd:i[2]||(i[2]=s=>g()),onAdd:i[3]||(i[3]=s=>{w(s.newIndex),M()})}),{item:e.withCtx(({element:s,index:k})=>[(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["widget-box",l(s)]),key:k},[e.createVNode(Q,{schema:s},null,8,["schema"])],2))]),_:1},16,["modelValue"]))}}),Q=e.defineComponent({name:"ENodeItem",__name:"nodeItem",props:{schema:{},name:{}},setup(A){const R=e.useAttrs(),u=e.inject("designer"),_=e.inject("pageManager",{}),r=e.inject("pageSchema",{}),h=e.ref(null);e.provide("nodeAttrs",R);const c=A,f=e.computed(()=>{var k,n,L,T,B;const l=_.componentInstances.value,a=(k=c.schema)==null?void 0:k.id,i=F.pluginManager.getComponentConfingByType((n=c.schema)==null?void 0:n.type)??null;if(!a||!(l!=null&&l[a]))return null;if(i!=null&&i.defaultSchema.input&&((L=c.schema)==null?void 0:L.noFormItem)!==!0)return(T=l[a+"formItem"])==null?void 0:T.$el;const s=l[a];return((B=s==null?void 0:s.$el)==null?void 0:B.nodeName)==="#text"?null:s==null?void 0:s.$el});e.watch(()=>f.value,l=>{l==null||l.addEventListener("click",w,!1),l==null||l.addEventListener("mouseover",g,!1),l==null||l.addEventListener("mouseout",M,!1)}),e.onUnmounted(()=>{var l,a,i;(l=f.value)==null||l.removeEventListener("click",w,!1),(a=f.value)==null||a.removeEventListener("mouseover",g,!1),(i=f.value)==null||i.removeEventListener("mouseout",M,!1)});function w(l){l.stopPropagation(),u.setCheckedNode(c.schema)}function g(l){var a;c.schema.id!==((a=r.schemas[0])==null?void 0:a.id)&&(l.stopPropagation(),u.setHoverNode(c.schema))}function M(l){l.stopPropagation(),u.setHoverNode(null)}return(l,a)=>{var s,k;const i=e.resolveComponent("ENodeItem");return e.openBlock(),e.createBlock(e.unref(C._sfc_main),{ref_key:"nodeRef",ref:h,componentSchema:c.schema},e.createSlots({_:2},[(k=(s=e.unref(F.pluginManager).getComponentConfingByType(c.schema.type))==null?void 0:s.editConstraints)!=null&&k.childImmovable?{name:"edit-node",fn:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.schema.children,n=>(e.openBlock(),e.createBlock(i,{key:n.id,schema:n},null,8,["schema"]))),128))]),key:"0"}:{name:"edit-node",fn:e.withCtx(()=>[c.schema.children?(e.openBlock(),e.createBlock(oe,{key:0,schemas:c.schema.children,"onUpdate:schemas":a[0]||(a[0]=n=>c.schema.children=n)},null,8,["schemas"])):e.createCommentVNode("",!0)]),key:"1"}]),1032,["componentSchema"])}}}),le={class:"min-w-750px rounded h-full"},ae=e.defineComponent({__name:"previewJson",setup(A,{expose:R}){const u=F.pluginManager.getComponent("modal"),_=F.pluginManager.getComponent("monacoEditor"),r={theme:"vs-light",selectOnLineNumbers:!0,minimap:{enabled:!1},readOnly:!0},h=e.ref(null),c=e.ref(!1),f=e.inject("pageSchema");function w(){c.value=!1}function g(){c.value=!0,h.value?h.value.setValue(JSON.stringify(f,null,2)):setTimeout(()=>{g()},300)}function M(l="epic-data.json"){const a=JSON.stringify(f,null,2);var i=`data:text/json;charset=utf-8,${encodeURIComponent(a)}`,s=document.createElement("a");s.setAttribute("href",i),s.setAttribute("download",l),s.click()}return R({handleOpen:g}),(l,a)=>(e.openBlock(),e.createBlock(e.unref(u),{modelValue:c.value,"onUpdate:modelValue":a[0]||(a[0]=i=>c.value=i),title:"查看数据",class:"w-900px",width:"900px",onClose:w,onOk:M,okText:"导出数据"},{default:e.withCtx(()=>[e.createElementVNode("div",le,[e.createVNode(e.unref(_),{ref_key:"monacoEditorRef",ref:h,class:"editor h-full",autoToggleTheme:"",readOnly:"",config:r,language:"json"},null,512)])]),_:1},8,["modelValue"]))}}),se={class:"epic-edit-toolbar flex items-center justify-between px-2"},re={class:"flex-1 h-full flex items-center"},ie={key:0,class:"epic-divider"},ce=["title","onClick"],de={class:"flex-1 h-full flex items-center justify-end"},ue={key:0,class:"flex items-center ml-12px"},fe={class:"pr-8px w-82px cursor-pointer"},me={class:"epic-device h-28px items-center gap-1 rounded-md border p-2px flex"},ve=["title","onClick"],pe=e.defineComponent({__name:"toolbar",setup(A){const R=F.pluginManager.getComponent("select"),{canvasScale:u,disabledZoom:_}=C.useStore(),r=e.ref("pc"),h=e.inject("pageSchema"),c=e.inject("designer"),f=e.inject("revoke"),w=e.ref(null),g=[{icon:"icon--epic--computer-outline-rounded",title:"pc",key:"pc"}],M=e.computed(()=>[{icon:"icon--epic--trash",title:"清空",on:n},{icon:"icon--epic--undo",title:"撤销",on:s,disabled:!f.recordList.value.length,divider:!0},{icon:"icon--epic--redo",title:"重做",on:k,disabled:!f.undoList.value.length}]),l=e.ref(null),a=e.computed({get(){return`${(u.value*100).toFixed(0)}%`},set(p){const x=parseFloat(p);u.value=x/100}}),i=[{label:"60%",value:"60%"},{label:"80%",value:"80%"},{label:"100%",value:"100%"},{label:"120%",value:"120%"},{label:"140%",value:"140%"}];function s(){const p=f.undo();p&&(C.deepCompareAndModify(h.schemas,p),c.setCheckedNode(h.schemas[0]))}function k(){const p=f.redo();p&&(C.deepCompareAndModify(h.schemas,p),c.setCheckedNode(h.schemas[0]))}function n(){c.reset()}function L(p){var z;const x=(z=p.target.files)==null?void 0:z[0];if(!x)return;p.target.value=null;const v=new FileReader;v.readAsText(x),v.onload=P=>{var E;T((E=P.target)==null?void 0:E.result)}}function T(p){try{let x=JSON.parse(p??"");x.schemas||(x=C.convertKFormData(x)),C.deepCompareAndModify(h,x)}catch(x){console.error(x)}}function B(p){c.handleToggleDeviceMode(p),r.value=p;const x={pc:{},pad:{width:"780px",mode:p},mobile:{width:"390px",mode:p}};h.canvas=x[p]}return(p,x)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",se,[e.createElementVNode("div",re,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(M.value,(v,z)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:z},[v.divider?(e.openBlock(),e.createElementBlock("div",ie)):e.createCommentVNode("",!0),e.createElementVNode("div",{title:v.title,class:e.normalizeClass(["epic-action-item text-base h-90% px-10px flex items-center cursor-pointer",{disabled:v.disabled}]),onClick:v.on},[e.createVNode(e.unref(J._sfc_main),{name:v.icon},null,8,["name"])],10,ce)],64))),128))]),e.withDirectives(e.createElementVNode("input",{type:"file",ref_key:"fileRef",ref:l,accept:".json,.txt",onChange:L},null,544),[[e.vShow,!1]]),e.createElementVNode("div",de,[e.unref(_)?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",ue,[e.createElementVNode("div",fe,[e.createVNode(e.unref(R),{value:a.value,"onUpdate:value":x[0]||(x[0]=v=>a.value=v),modelValue:a.value,"onUpdate:modelValue":x[1]||(x[1]=v=>a.value=v),options:i,size:"small"},null,8,["value","modelValue"])])])),e.createElementVNode("div",me,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(g,v=>e.createElementVNode("div",{key:v.key,title:v.title,class:e.normalizeClass(["epic-device-item h-full px-1 flex items-center cursor-pointer text-base transition-colors rounded-sm",{checked:v.key===r.value}]),onClick:z=>B(v.key)},[e.createVNode(e.unref(J._sfc_main),{name:v.icon},null,8,["name"])],10,ve)),64))])])]),e.createVNode(ae,{ref_key:"previewJson",ref:w},null,512)],64))}}),he={class:"h-full flex flex-col relative"},ge=["draggable"],xe=e.defineComponent({__name:"editScreenContainer",setup(A){const R=e.inject("pageSchema"),u=e.ref(null),_=e.ref(null),r=e.ref(null),{pressSpace:h,disabledZoom:c}=C.useStore(),{handleElementDragStart:f,handleElementDrag:w,handleElementDragEnd:g}=C.useElementDrag(u),{width:M,height:l}=C.useElementSize(u),{canvasScale:a,handleZoom:i}=C.useElementZoom(_);let s=0,k=0;const n=e.ref({}),L=e.ref({}),T=e.ref({}),B=e.shallowRef({width:0,height:0});e.watchEffect(x),e.watch(T,()=>{e.nextTick(p)});function p(){r.value&&(B.value={width:r.value.clientWidth,height:r.value.clientHeight})}function x(){var E,b;T.value={width:((E=R.canvas)==null?void 0:E.width)??"0",height:((b=R.canvas)==null?void 0:b.height)??"0"}}C.watchOnce(M,v),e.watch(B,v);function v(){let E=B.value.width||s,b=B.value.height||k;n.value={width:M.value+E+"px",height:l.value+b+"px"},L.value={width:E+"px",height:b+"px"},z()}function z(){e.nextTick(()=>{var j;let E=B.value.width||s;const $=(B.value.height||k)/2,D=E/2;(j=u.value)==null||j.scrollTo(D,$)})}C.useResizeObserver(u,P),C.useResizeObserver(_,P);function P(){var b;if(!u.value)return;const E=u.value.getBoundingClientRect();if(s=E.width-60,k=E.height-80,!c.value)if(B.value.width===0)a.value=1;else{const $=(s-20)/B.value.width,D=k/(B.value.height||((b=_.value)==null?void 0:b.clientHeight)||1),j=Math.abs($-1)<Math.abs(D-1);let I=1;j?I=$:I=D,($<1||D<1)&&(I=Math.min($,D)),I<1.4&&I>.5&&(a.value=I)}C.debounce(v,50)()}return(E,b)=>(e.openBlock(),e.createElementBlock("div",he,[e.createVNode(pe),e.createElementVNode("div",{ref_key:"editScreenContainerRef",ref:u,class:e.normalizeClass(["flex-1 overflow-auto overflow-y-hidden epic-edit-screen-container",{"cursor-grab":e.unref(h)}]),draggable:e.unref(h),onWheel:b[0]||(b[0]=(...$)=>e.unref(i)&&e.unref(i)(...$)),onDragstart:b[1]||(b[1]=(...$)=>e.unref(f)&&e.unref(f)(...$)),onDragend:b[2]||(b[2]=(...$)=>e.unref(g)&&e.unref(g)(...$)),onDrag:b[3]||(b[3]=(...$)=>e.unref(w)&&e.unref(w)(...$))},[e.createElementVNode("div",{id:"canvasContainer",class:"flex items-center justify-center",style:e.normalizeStyle(n.value)},[e.createElementVNode("div",{ref_key:"draggableElRef",ref:_,class:"transition-all"},[e.createElementVNode("div",{class:e.normalizeClass({"pointer-events-none":e.unref(h)}),style:e.normalizeStyle(L.value)},[e.renderSlot(E.$slots,"default")],6)],512)],4)],42,ge),e.createElementVNode("div",{ref_key:"sizeBoxRef",ref:r,class:"absolute top-0 pointer-events-none",style:e.normalizeStyle(T.value)},null,4)]))}}),ye={class:"epic-edit-canvas"},_e=e.defineComponent({__name:"index",setup(A){const R=e.ref(null),u=e.ref(null),_=e.inject("pageSchema"),r=e.computed(()=>_.schemas[0]),h=e.computed(()=>({width:"100%",height:"100%"}));return e.onMounted(()=>{var c;(c=u.value)==null||c.handleInit(R.value)}),(c,f)=>(e.openBlock(),e.createElementBlock("section",ye,[e.createVNode(xe,null,{default:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"epicEditRangeRef",ref:R,class:"epic-edit-range rounded-md overflow-auto relative",style:e.normalizeStyle(h.value)},[e.createVNode(Q,{schema:r.value},null,8,["schema"]),e.createVNode(ne,{ref_key:"ePreviewWidgetsRef",ref:u},null,512)],4)]),_:1})]))}});exports.default=_e;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),F=require("./axios-CYGTE3lR.cjs"),C=require("./index-CTjIY8cx.cjs"),J=require("./icon.vue_vue_type_script_setup_true_lang-DJbUD5AQ.cjs"),G=require("./vuedraggable.umd-BqhSJIAi.cjs"),ee={class:"epic-widget-action-item whitespace-nowrap"},te={key:0,class:"flex items-center"},ne=e.defineComponent({__name:"previewWidgets",setup(A,{expose:R}){const u=e.inject("pageManager",{}),_=e.inject("pageSchema"),r=e.inject("designer"),h=e.inject("designerProps"),c=e.inject("revoke"),f=e.ref(null),w=e.ref(null),g=e.ref(null),M=e.ref(!1),l=e.ref(!1),a=e.ref(!0),i=e.ref("top"),{canvasScale:s,disabledZoom:k}=C.useStore();let n=null;const L=e.computed(()=>{const t=r.state.checkedNode;return!(!(t!=null&&t.id)||h.value.lockDefaultSchemaEdit&&u.defaultComponentIds.value.includes(t==null?void 0:t.id))}),T=e.computed(()=>{var S,N,V,m,O,H;const t=u.componentInstances.value,d=(S=r.state.checkedNode)==null?void 0:S.id;if((V=(N=r.state.checkedNode)==null?void 0:N.componentProps)!=null&&V.hidden)return null;const y=F.pluginManager.getComponentConfingByType((m=r.state.checkedNode)==null?void 0:m.type)??null;if(!d||!(t!=null&&t[d]))return null;if(y!=null&&y.defaultSchema.input&&((O=r.state.checkedNode)==null?void 0:O.noFormItem)!==!0)return(H=t[d+"formItem"])==null?void 0:H.$el;const o=t[d];return!(o!=null&&o.$el)||(o==null?void 0:o.$el.nodeName)==="#text"||!(o!=null&&o.$el.getBoundingClientRect)?null:o==null?void 0:o.$el}),B=e.computed(()=>{var S,N,V,m;const t=u.componentInstances.value,d=(S=r.state.hoverNode)==null?void 0:S.id,y=F.pluginManager.getComponentConfingByType((N=r.state.hoverNode)==null?void 0:N.type)??null;if(!d||!(t!=null&&t[d]))return null;if(y!=null&&y.defaultSchema.input&&((V=r.state.hoverNode)==null?void 0:V.noFormItem)!==!0)return(m=t[d+"formItem"])==null?void 0:m.$el;const o=t[d];return(o==null?void 0:o.$el.nodeName)==="#text"?null:o==null?void 0:o.$el}),{mutationObserver:p,observerConfig:x}=Z(j),{startTimedQuery:v,stopTimedQuery:z}=C.useTimedQuery(j);e.watch(()=>T.value,t=>{if(t){M.value=!0,p.observe(t,x);const d=t.parentNode;d&&(d.ondragstart=()=>{a.value=!1,v()},d.ondragend=()=>{a.value=!0,z()}),j()}else M.value=!1});const{mutationObserver:P,observerConfig:E}=Z(q);e.watch(()=>B.value,t=>{t&&(P.observe(t,E),q())});let b=0;e.watch(()=>{var t;return(t=r.state.hoverNode)==null?void 0:t.id},t=>{if(t){l.value=!0,clearTimeout(b);return}b=setTimeout(()=>{l.value=!1},300)});let $=0,D=0;function j(){const t=T.value;if(!t||!n)return;const{top:d,left:y}=n==null?void 0:n.getBoundingClientRect(),{top:o,left:S,width:N,height:V}=t.getBoundingClientRect(),m=k.value?1:s.value,O=o-d+((n==null?void 0:n.scrollTop)??0)*m,H=S-y+((n==null?void 0:n.scrollLeft)??0)*m,W=V/m;f.value&&(f.value.style.width=`${N/m}px`,f.value.style.height=`${W}px`,f.value.style.top=`${O/m}px`,f.value.style.left=`${H/m}px`,I(O,H)),g.value&&(O<45&&W<100?(g.value.style.top="",g.value.style.bottom="-30px",g.value.style["border-radius"]="0px 0px 4px 4px",i.value="bottom"):O<45?(g.value.style.top="0px",g.value.style["border-radius"]="0px 0px 4px 0",i.value="center"):(g.value.style.top="-30px",g.value.style["border-radius"]="4px 4px 0px 0px",i.value="top"))}function I(t,d){const y=T.value;if(!n||!y)return;const o=n.getBoundingClientRect(),{width:S}=y.getBoundingClientRect(),N=k.value?1:s.value,V=t/N-o.top;let m=d/N-o.left+S/N;m<o.width&&(m=0);const O=n.scrollTop-o.height/3+60,H=n.scrollTop+o.height/3*2,W=n.scrollLeft-o.width+200,U=n.scrollLeft+o.width-200;Math.abs(V-$)<10&&Math.abs(m-D)<10||($=V,D=m,!(V>O&&V<H&&m>W&&m<U)&&(n.scrollTop=V,n.scrollLeft=m))}function q(){var W,U;const t=B.value;if(!t)return;const{top:d,left:y}=(n==null?void 0:n.getBoundingClientRect())??{top:0,left:0},{top:o,left:S,width:N,height:V}=((W=t.getBoundingClientRect)==null?void 0:W.call(t))??((U=t.nextElementSibling)==null?void 0:U.getBoundingClientRect()),m=k.value?1:s.value,O=o-d+((n==null?void 0:n.scrollTop)??0)*m,H=S-y+((n==null?void 0:n.scrollLeft)??0)*m;w.value&&(w.value.style.width=`${N/m}px`,w.value.style.height=`${V/m}px`,w.value.style.top=`${O/m}px`,w.value.style.left=`${H/m}px`)}function Z(t){const d=window.MutationObserver,y={childList:!0,attributes:!0,subtree:!0};return{mutationObserver:new d(t),observerConfig:y}}function K(){var N;const t=C.findSchemaInfoById(_.schemas,((N=r.state.checkedNode)==null?void 0:N.id)??"root");if(!t)return!1;const{list:d,schema:y,index:o}=t,S=C.generateNewSchema(y);d.splice(o+1,0,S),r.setCheckedNode(S),c.push(_.schemas,"复制组件")}function X(){var S;const t=C.findSchemaInfoById(_.schemas,((S=r.state.checkedNode)==null?void 0:S.id)??"root");if(!t)return!1;let{list:d,schema:y,index:o}=t;d.splice(o,1),o===d.length&&o--,r.setCheckedNode(d[o]),c.push(_.schemas,"删除组件")}function Y(t){n=t,n==null||n.addEventListener("scroll",()=>{j()}),C.useResizeObserver(T,j),C.useResizeObserver(B,q)}return R({handleInit:Y}),(t,d)=>{var y,o,S,N,V;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.withDirectives(e.createElementVNode("div",{ref_key:"selectorRef",ref:f,class:e.normalizeClass(["epic-checked-widget absolute pointer-events-none z-20",i.value+" "+(a.value?"transition-all":"")])},[e.createElementVNode("div",{class:"epic-widget-action-box",ref_key:"actionBoxRef",ref:g},[e.createElementVNode("div",ee,e.toDisplayString((o=e.unref(F.pluginManager).getComponentConfingByType(((y=e.unref(r).state.checkedNode)==null?void 0:y.type)??""))==null?void 0:o.defaultSchema.label),1),L.value?(e.openBlock(),e.createElementBlock("div",te,[e.createElementVNode("div",{title:"复制",class:"epic-widget-action-item pointer-events-auto",onClick:K},[e.createVNode(e.unref(J._sfc_main),{name:"icon--epic--copy-all-outline-rounded"})]),e.createElementVNode("div",{title:"删除",class:"epic-widget-action-item pointer-events-auto",onClick:X},[e.createVNode(e.unref(J._sfc_main),{name:"icon--epic--delete-outline-rounded"})])])):e.createCommentVNode("",!0)],512)],2),[[e.vShow,M.value&&((S=e.unref(r).state.checkedNode)==null?void 0:S.id)!=="root"]]),e.withDirectives(e.createElementVNode("div",{ref_key:"hoverWidgetRef",ref:w,class:"epic-hover-widget absolute transition-all pointer-events-none z-998"},null,512),[[e.vShow,l.value&&((N=e.unref(r).state.checkedNode)==null?void 0:N.id)!==((V=e.unref(r).state.hoverNode)==null?void 0:V.id)]])],64)}}}),oe=e.defineComponent({name:"EditNodeItem",__name:"editNodeItem",props:{schemas:{}},emits:["update:schemas"],setup(A,{emit:R}){const u=e.inject("designer"),_=e.inject("pageSchema"),r=e.inject("revoke"),h=A,c=R,f=e.computed({get(){return h.schemas},set(a){c("update:schemas",a)}});function w(a){u.setCheckedNode(f.value[a]),u.setDisableHover(!0)}function g(){u.setDisableHover(),r.push(_.schemas,"拖拽组件")}function M(){r.push(_.schemas,"插入组件")}function l(a){var i,s,k;return a.id===((i=_.schemas[0])==null?void 0:i.id)||(k=(s=F.pluginManager.getComponentConfingByType(a.type))==null?void 0:s.editConstraints)!=null&&k.immovable?"unmover-item":"draggable-item"}return(a,i)=>(e.openBlock(),e.createBlock(e.unref(G.draggable),e.mergeProps({modelValue:f.value,"onUpdate:modelValue":i[0]||(i[0]=s=>f.value=s),"item-key":"id","component-data":{type:"transition-group"},class:"epic-draggable-range"},{animation:200,group:"edit-draggable",handle:".draggable-item",ghostClass:"moveing"},{onStart:i[1]||(i[1]=s=>w(s.oldIndex)),onEnd:i[2]||(i[2]=s=>g()),onAdd:i[3]||(i[3]=s=>{w(s.newIndex),M()})}),{item:e.withCtx(({element:s,index:k})=>[(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["widget-box",l(s)]),key:k},[e.createVNode(Q,{schema:s},null,8,["schema"])],2))]),_:1},16,["modelValue"]))}}),Q=e.defineComponent({name:"ENodeItem",__name:"nodeItem",props:{schema:{},name:{}},setup(A){const R=e.useAttrs(),u=e.inject("designer"),_=e.inject("pageManager",{}),r=e.inject("pageSchema",{}),h=e.ref(null);e.provide("nodeAttrs",R);const c=A,f=e.computed(()=>{var k,n,L,T,B;const l=_.componentInstances.value,a=(k=c.schema)==null?void 0:k.id,i=F.pluginManager.getComponentConfingByType((n=c.schema)==null?void 0:n.type)??null;if(!a||!(l!=null&&l[a]))return null;if(i!=null&&i.defaultSchema.input&&((L=c.schema)==null?void 0:L.noFormItem)!==!0)return(T=l[a+"formItem"])==null?void 0:T.$el;const s=l[a];return((B=s==null?void 0:s.$el)==null?void 0:B.nodeName)==="#text"?null:s==null?void 0:s.$el});e.watch(()=>f.value,l=>{l==null||l.addEventListener("click",w,!1),l==null||l.addEventListener("mouseover",g,!1),l==null||l.addEventListener("mouseout",M,!1)}),e.onUnmounted(()=>{var l,a,i;(l=f.value)==null||l.removeEventListener("click",w,!1),(a=f.value)==null||a.removeEventListener("mouseover",g,!1),(i=f.value)==null||i.removeEventListener("mouseout",M,!1)});function w(l){l.stopPropagation(),u.setCheckedNode(c.schema)}function g(l){var a;c.schema.id!==((a=r.schemas[0])==null?void 0:a.id)&&(l.stopPropagation(),u.setHoverNode(c.schema))}function M(l){l.stopPropagation(),u.setHoverNode(null)}return(l,a)=>{var s,k;const i=e.resolveComponent("ENodeItem");return e.openBlock(),e.createBlock(e.unref(C._sfc_main),{ref_key:"nodeRef",ref:h,componentSchema:c.schema},e.createSlots({_:2},[(k=(s=e.unref(F.pluginManager).getComponentConfingByType(c.schema.type))==null?void 0:s.editConstraints)!=null&&k.childImmovable?{name:"edit-node",fn:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.schema.children,n=>(e.openBlock(),e.createBlock(i,{key:n.id,schema:n},null,8,["schema"]))),128))]),key:"0"}:{name:"edit-node",fn:e.withCtx(()=>[c.schema.children?(e.openBlock(),e.createBlock(oe,{key:0,schemas:c.schema.children,"onUpdate:schemas":a[0]||(a[0]=n=>c.schema.children=n)},null,8,["schemas"])):e.createCommentVNode("",!0)]),key:"1"}]),1032,["componentSchema"])}}}),le={class:"min-w-750px rounded h-full"},ae=e.defineComponent({__name:"previewJson",setup(A,{expose:R}){const u=F.pluginManager.getComponent("modal"),_=F.pluginManager.getComponent("monacoEditor"),r={theme:"vs-light",selectOnLineNumbers:!0,minimap:{enabled:!1},readOnly:!0},h=e.ref(null),c=e.ref(!1),f=e.inject("pageSchema");function w(){c.value=!1}function g(){c.value=!0,h.value?h.value.setValue(JSON.stringify(f,null,2)):setTimeout(()=>{g()},300)}function M(l="epic-data.json"){const a=JSON.stringify(f,null,2);var i=`data:text/json;charset=utf-8,${encodeURIComponent(a)}`,s=document.createElement("a");s.setAttribute("href",i),s.setAttribute("download",l),s.click()}return R({handleOpen:g}),(l,a)=>(e.openBlock(),e.createBlock(e.unref(u),{modelValue:c.value,"onUpdate:modelValue":a[0]||(a[0]=i=>c.value=i),title:"查看数据",class:"w-900px",width:"900px",onClose:w,onOk:M,okText:"导出数据"},{default:e.withCtx(()=>[e.createElementVNode("div",le,[e.createVNode(e.unref(_),{ref_key:"monacoEditorRef",ref:h,class:"editor h-full",autoToggleTheme:"",readOnly:"",config:r,language:"json"},null,512)])]),_:1},8,["modelValue"]))}}),se={class:"epic-edit-toolbar flex items-center justify-between px-2"},re={class:"flex-1 h-full flex items-center"},ie={key:0,class:"epic-divider"},ce=["title","onClick"],de={class:"flex-1 h-full flex items-center justify-end"},ue={key:0,class:"flex items-center ml-12px"},fe={class:"pr-8px w-82px cursor-pointer"},me={class:"epic-device h-28px items-center gap-1 rounded-md border p-2px flex"},ve=["title","onClick"],pe=e.defineComponent({__name:"toolbar",setup(A){const R=F.pluginManager.getComponent("select"),{canvasScale:u,disabledZoom:_}=C.useStore(),r=e.ref("pc"),h=e.inject("pageSchema"),c=e.inject("designer"),f=e.inject("revoke"),w=e.ref(null),g=[{icon:"icon--epic--computer-outline-rounded",title:"pc",key:"pc"}],M=e.computed(()=>[{icon:"icon--epic--trash",title:"清空",on:n},{icon:"icon--epic--undo",title:"撤销",on:s,disabled:!f.recordList.value.length,divider:!0},{icon:"icon--epic--redo",title:"重做",on:k,disabled:!f.undoList.value.length}]),l=e.ref(null),a=e.computed({get(){return`${(u.value*100).toFixed(0)}%`},set(p){const x=parseFloat(p);u.value=x/100}}),i=[{label:"60%",value:"60%"},{label:"80%",value:"80%"},{label:"100%",value:"100%"},{label:"120%",value:"120%"},{label:"140%",value:"140%"}];function s(){const p=f.undo();p&&(C.deepCompareAndModify(h.schemas,p),c.setCheckedNode(h.schemas[0]))}function k(){const p=f.redo();p&&(C.deepCompareAndModify(h.schemas,p),c.setCheckedNode(h.schemas[0]))}function n(){c.reset()}function L(p){var z;const x=(z=p.target.files)==null?void 0:z[0];if(!x)return;p.target.value=null;const v=new FileReader;v.readAsText(x),v.onload=P=>{var E;T((E=P.target)==null?void 0:E.result)}}function T(p){try{let x=JSON.parse(p??"");x.schemas||(x=C.convertKFormData(x)),C.deepCompareAndModify(h,x)}catch(x){console.error(x)}}function B(p){c.handleToggleDeviceMode(p),r.value=p;const x={pc:{},pad:{width:"780px",mode:p},mobile:{width:"390px",mode:p}};h.canvas=x[p]}return(p,x)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",se,[e.createElementVNode("div",re,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(M.value,(v,z)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:z},[v.divider?(e.openBlock(),e.createElementBlock("div",ie)):e.createCommentVNode("",!0),e.createElementVNode("div",{title:v.title,class:e.normalizeClass(["epic-action-item text-base h-90% px-10px flex items-center cursor-pointer",{disabled:v.disabled}]),onClick:v.on},[e.createVNode(e.unref(J._sfc_main),{name:v.icon},null,8,["name"])],10,ce)],64))),128))]),e.withDirectives(e.createElementVNode("input",{type:"file",ref_key:"fileRef",ref:l,accept:".json,.txt",onChange:L},null,544),[[e.vShow,!1]]),e.createElementVNode("div",de,[e.unref(_)?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",ue,[e.createElementVNode("div",fe,[e.createVNode(e.unref(R),{value:a.value,"onUpdate:value":x[0]||(x[0]=v=>a.value=v),modelValue:a.value,"onUpdate:modelValue":x[1]||(x[1]=v=>a.value=v),options:i,size:"small"},null,8,["value","modelValue"])])])),e.createElementVNode("div",me,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(g,v=>e.createElementVNode("div",{key:v.key,title:v.title,class:e.normalizeClass(["epic-device-item h-full px-1 flex items-center cursor-pointer text-base transition-colors rounded-sm",{checked:v.key===r.value}]),onClick:z=>B(v.key)},[e.createVNode(e.unref(J._sfc_main),{name:v.icon},null,8,["name"])],10,ve)),64))])])]),e.createVNode(ae,{ref_key:"previewJson",ref:w},null,512)],64))}}),he={class:"h-full flex flex-col relative"},ge=["draggable"],xe=e.defineComponent({__name:"editScreenContainer",setup(A){const R=e.inject("pageSchema"),u=e.ref(null),_=e.ref(null),r=e.ref(null),{pressSpace:h,disabledZoom:c}=C.useStore(),{handleElementDragStart:f,handleElementDrag:w,handleElementDragEnd:g}=C.useElementDrag(u),{width:M,height:l}=C.useElementSize(u),{canvasScale:a,handleZoom:i}=C.useElementZoom(_);let s=0,k=0;const n=e.ref({}),L=e.ref({}),T=e.ref({}),B=e.shallowRef({width:0,height:0});e.watchEffect(x),e.watch(T,()=>{e.nextTick(p)});function p(){r.value&&(B.value={width:r.value.clientWidth,height:r.value.clientHeight})}function x(){var E,b;T.value={width:((E=R.canvas)==null?void 0:E.width)??"0",height:((b=R.canvas)==null?void 0:b.height)??"0"}}C.watchOnce(M,v),e.watch(B,v);function v(){let E=B.value.width||s,b=B.value.height||k;n.value={width:M.value+E+"px",height:l.value+b+"px"},L.value={width:E+"px",height:b+"px"},z()}function z(){e.nextTick(()=>{var j;let E=B.value.width||s;const $=(B.value.height||k)/2,D=E/2;(j=u.value)==null||j.scrollTo(D,$)})}C.useResizeObserver(u,P),C.useResizeObserver(_,P);function P(){var b;if(!u.value)return;const E=u.value.getBoundingClientRect();if(s=E.width-60,k=E.height-80,!c.value)if(B.value.width===0)a.value=1;else{const $=(s-20)/B.value.width,D=k/(B.value.height||((b=_.value)==null?void 0:b.clientHeight)||1),j=Math.abs($-1)<Math.abs(D-1);let I=1;j?I=$:I=D,($<1||D<1)&&(I=Math.min($,D)),I<1.4&&I>.5&&(a.value=I)}C.debounce(v,50)()}return(E,b)=>(e.openBlock(),e.createElementBlock("div",he,[e.createVNode(pe),e.createElementVNode("div",{ref_key:"editScreenContainerRef",ref:u,class:e.normalizeClass(["flex-1 overflow-auto overflow-y-hidden epic-edit-screen-container",{"cursor-grab":e.unref(h)}]),draggable:e.unref(h),onWheel:b[0]||(b[0]=(...$)=>e.unref(i)&&e.unref(i)(...$)),onDragstart:b[1]||(b[1]=(...$)=>e.unref(f)&&e.unref(f)(...$)),onDragend:b[2]||(b[2]=(...$)=>e.unref(g)&&e.unref(g)(...$)),onDrag:b[3]||(b[3]=(...$)=>e.unref(w)&&e.unref(w)(...$))},[e.createElementVNode("div",{id:"canvasContainer",class:"flex items-center justify-center",style:e.normalizeStyle(n.value)},[e.createElementVNode("div",{ref_key:"draggableElRef",ref:_,class:"transition-all"},[e.createElementVNode("div",{class:e.normalizeClass({"pointer-events-none":e.unref(h)}),style:e.normalizeStyle(L.value)},[e.renderSlot(E.$slots,"default")],6)],512)],4)],42,ge),e.createElementVNode("div",{ref_key:"sizeBoxRef",ref:r,class:"absolute top-0 pointer-events-none",style:e.normalizeStyle(T.value)},null,4)]))}}),ye={class:"epic-edit-canvas"},_e=e.defineComponent({__name:"index",setup(A){const R=e.ref(null),u=e.ref(null),_=e.inject("pageSchema"),r=e.computed(()=>_.schemas[0]),h=e.computed(()=>({width:"100%",height:"100%"}));return e.onMounted(()=>{var c;(c=u.value)==null||c.handleInit(R.value)}),(c,f)=>(e.openBlock(),e.createElementBlock("section",ye,[e.createVNode(xe,null,{default:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"epicEditRangeRef",ref:R,class:"epic-edit-range rounded-md overflow-auto relative",style:e.normalizeStyle(h.value)},[e.createVNode(Q,{schema:r.value},null,8,["schema"]),e.createVNode(ne,{ref_key:"ePreviewWidgetsRef",ref:u},null,512)],4)]),_:1})]))}});exports.default=_e;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent as V, computed as k, openBlock as a, createElementBlock as l, Fragment as g, renderList as C, createVNode as p, unref as r, createElementVNode as c, createCommentVNode as y } from "vue";
|
|
2
2
|
import { p as U } from "./axios-ITY6Uw7A.js";
|
|
3
|
-
import { k as P } from "./index-
|
|
3
|
+
import { k as P } from "./index-CH2IxHQE.js";
|
|
4
4
|
import { _ as b } from "./icon.vue_vue_type_script_setup_true_lang-D3QdcReY.js";
|
|
5
5
|
const E = {
|
|
6
6
|
key: 0,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent as U, inject as L, openBlock as p, createElementBlock as g, Fragment as A, renderList as T, createElementVNode as i, toDisplayString as O, createVNode as C, unref as _, withCtx as R, createCommentVNode as G, createTextVNode as J, ref as E, computed as S, withDirectives as F, normalizeClass as j, vShow as P, reactive as H, createBlock as K, nextTick as Q, toRaw as z, watch as W } from "vue";
|
|
2
|
-
import { l as q, _ as X, k as Y, m as Z } from "./index-
|
|
2
|
+
import { l as q, _ as X, k as Y, m as Z } from "./index-CH2IxHQE.js";
|
|
3
3
|
import { p as w } from "./axios-ITY6Uw7A.js";
|
|
4
4
|
import { _ as D } from "./icon.vue_vue_type_script_setup_true_lang-D3QdcReY.js";
|
|
5
5
|
import { d as ee } from "./vuedraggable.umd-D2S7Eo7p.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),N=require("./vuedraggable.umd-BqhSJIAi.cjs"),i=require("./axios-CYGTE3lR.cjs"),u=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),N=require("./vuedraggable.umd-BqhSJIAi.cjs"),i=require("./axios-CYGTE3lR.cjs"),u=require("./index-CTjIY8cx.cjs"),x=require("./icon.vue_vue_type_script_setup_true_lang-DJbUD5AQ.cjs"),w={class:"epic-component-view flex flex-col"},E={class:"epic-search-box px-10px py-6px"},B={class:"flex flex-1 overflow-auto"},M={class:"epic-tabs-box"},j=["title","onClick"],q={class:"h-full flex-1 overflow-auto py-2 box-border"},I=["onClick"],L={class:"epic-componet-label flex-1 w-0 truncate"},P={class:"text-center pt-42px text-gray-400"},T=e.defineComponent({__name:"index",setup($){const k=i.pluginManager.getComponent("input"),d=e.inject("pageSchema"),p=e.inject("designer"),y=e.inject("revoke"),C=e.inject("designerProps"),m=i.pluginManager.getComponentSchemaGroups(),a=e.ref(""),g={title:"全部",list:[]},c=e.ref(g),S=e.computed(()=>[g,...m.value]),s=e.computed(()=>{let o=c.value.list;if(c.value.title==="全部"){const n=m.value.map(t=>t.list);o=[].concat(...n)}return o.filter(n=>{var t;return((t=n.label)==null?void 0:t.includes(a.value))&&(!C.value.formMode||n.type!=="form")})});function V(o){c.value=o}function b(o){var v,f,_;const n=u.findSchemaInfoById(d.schemas,((v=p.state.checkedNode)==null?void 0:v.id)??"root");if(!n)return!1;let{list:t,schema:l,index:r}=n;l.children&&!((_=(f=i.pluginManager.getComponentConfingByType(l.type))==null?void 0:f.editConstraints)!=null&&_.childImmovable)&&(t=l.children,r=l.children.length-1);const h=u.generateNewSchema(o);t.splice(r+1,0,h),p.setCheckedNode(h),y.push(d.schemas,"插入组件")}return(o,n)=>(e.openBlock(),e.createElementBlock("div",w,[e.createElementVNode("div",E,[e.createVNode(e.unref(k),{placeholder:"搜索组件",modelValue:a.value,"onUpdate:modelValue":n[0]||(n[0]=t=>a.value=t),clearable:"",allowClear:"",value:a.value,"onUpdate:value":n[1]||(n[1]=t=>a.value=t)},{prefix:e.withCtx(()=>[e.createVNode(e.unref(x._sfc_main),{class:"text-$epic-text-helper",name:"icon--epic--search-rounded"})]),_:1},8,["modelValue","value"])]),e.createElementVNode("div",B,[e.createElementVNode("div",M,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(S.value,(t,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["epic-tab cursor-pointer truncate",{checked:c.value.title===t.title}]),key:l,title:t.title,onClick:r=>V(t)},e.toDisplayString(t.title),11,j))),128))]),e.createElementVNode("div",q,[e.createVNode(e.unref(N.draggable),e.mergeProps({modelValue:s.value,"onUpdate:modelValue":n[2]||(n[2]=t=>s.value=t)},{group:{name:"edit-draggable",pull:"clone",put:!1},sort:!1,animation:180,ghostClass:"moving"},{clone:e.unref(u.generateNewSchema),"item-key":"id",class:"grid grid-cols-[auto_auto] px-10px gap-2"}),{item:e.withCtx(({element:t})=>[e.createElementVNode("div",{class:"epic-componet-item flex items-center truncate",onClick:l=>b(t)},[e.createVNode(e.unref(x._sfc_main),{name:e.unref(i.pluginManager).getComponentConfingByType(t.type).icon??""},null,8,["name"]),e.createElementVNode("div",L,e.toDisplayString(t.label),1)],8,I)]),_:1},16,["modelValue","clone"]),e.withDirectives(e.createElementVNode("div",P,"没有查询到的组件",512),[[e.vShow,!s.value.length]])])])]))}});exports.default=T;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),E=require("./vuedraggable.umd-BqhSJIAi.cjs"),p=require("./axios-CYGTE3lR.cjs"),y=require("./icon.vue_vue_type_script_setup_true_lang-DJbUD5AQ.cjs"),b=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),E=require("./vuedraggable.umd-BqhSJIAi.cjs"),p=require("./axios-CYGTE3lR.cjs"),y=require("./icon.vue_vue_type_script_setup_true_lang-DJbUD5AQ.cjs"),b=require("./index-CTjIY8cx.cjs"),B=require("element-plus"),S=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),U={key:0,class:"pl-4"},M=e.defineComponent({name:"EOptionItem",__name:"optionItem",props:{modelValue:{}},emits:["update:modelValue"],setup(h,{emit:g}){const k=h,f=p.pluginManager.getComponent("input"),s=e.inject("tree",!1),m=g,c=b.useVModel(k,"modelValue",m);function _(o){const d={label:"",value:""};o.children?o.children.push(d):o.children=[d]}function r(o){c.value=c.value.filter((d,v)=>v!==o)}return(o,d)=>{const v=e.resolveComponent("EOptionItem");return e.openBlock(),e.createBlock(e.unref(E.draggable),{modelValue:e.unref(c),"onUpdate:modelValue":d[0]||(d[0]=a=>e.isRef(c)?c.value=a:null),"item-key":"id","component-data":{type:"transition-group"},group:"option-list",handle:".handle",animation:200},{item:e.withCtx(({element:a,index:V})=>[e.createElementVNode("div",null,[e.createElementVNode("div",{class:e.normalizeClass([e.unref(s)?"grid-cols-[16px_auto_auto_16px_16px]":"grid-cols-[16px_auto_auto_16px]","option-item text-16px grid text-$epic-text-secondary gap-2 items-center mb-2"])},[e.createVNode(e.unref(y._sfc_main),{class:"mr-2 cursor-move handle",name:"icon--epic--drag"}),e.createVNode(e.unref(f),{modelValue:a.label,"onUpdate:modelValue":u=>a.label=u,value:a.label,"onUpdate:value":u=>a.label=u,placeholder:"label"},null,8,["modelValue","onUpdate:modelValue","value","onUpdate:value"]),e.createVNode(e.unref(f),{modelValue:a.value,"onUpdate:modelValue":u=>a.value=u,value:a.value,"onUpdate:value":u=>a.value=u,placeholder:"value"},null,8,["modelValue","onUpdate:modelValue","value","onUpdate:value"]),e.unref(s)?(e.openBlock(),e.createBlock(e.unref(y._sfc_main),{key:0,class:"cursor-pointer text-lg!",name:"icon--epic--add-rounded",onClick:u=>_(a)},null,8,["onClick"])):e.createCommentVNode("",!0),e.createVNode(e.unref(y._sfc_main),{class:"hover:text-red cursor-pointer",name:"icon--epic--delete-outline-rounded",onClick:u=>r(V)},null,8,["onClick"])],2),a.children?(e.openBlock(),e.createElementBlock("div",U,[e.createVNode(v,{modelValue:a.children,"onUpdate:modelValue":u=>a.children=u},null,8,["modelValue","onUpdate:modelValue"])])):e.createCommentVNode("",!0)])]),_:1},8,["modelValue"])}}}),O={class:""},I={class:"epic-tabs-box"},q=["title","onClick"],w={key:0},$={class:"py-4 my-2 text-center text-gray-400 bg-white"},D={key:1},j=e.defineComponent({__name:"index",props:{tree:{type:Boolean},modelValue:{},dynamicId:{},type:{}},emits:["update:modelValue","update:EOptionsEditor"],setup(h,{emit:g}){const k=p.pluginManager.getComponent("button"),f=p.pluginManager.getComponent("select"),s=e.ref([]),m=e.reactive({title:"静态"}),c=h,_=g;p.EventBus.on("updateSource",t=>{s.value=p.pluginManager.sourceData.map(l=>({...l,label:l.apiName,value:l.id})),V(o.value)}),e.onMounted(()=>{s.value=p.pluginManager.sourceData.map(t=>({...t,label:t.apiName,value:t.id})),V(o.value)});const r=b.useVModel(c,"modelValue",_),o=b.useVModel(c,"dynamicId",_);function d(t,l,i){return t&&Object.prototype.toString.call(t)==="[object Array]"?t.map(n=>n.children&&n.children.length?{label:n[l],value:n[i]+"",children:d(n.children,l,i)}:{label:n[l],value:n[i]+""}):(B.ElMessage.info("请检查数据位置是否配置准确"),[])}e.watch(()=>o.value,async()=>{o.value?m.title="动态":m.title="静态"},{immediate:!0});const v=[{title:"静态"},{title:"动态"}];async function a(t){m.title=t.title,t.title==="静态"?(r.value=[],o.value=""):(r.value=[],s.value=p.pluginManager.sourceData.map(l=>({...l,label:l.apiName,value:l.id})))}async function V(t){const l=s.value.find(i=>i.id===t);if(l&&l.url){let i=await p.axios({method:(l==null?void 0:l.method)||"get",url:l.url,params:l!=null&&l.params?JSON.parse(l==null?void 0:l.params):{},data:l!=null&&l.data?JSON.parse(l==null?void 0:l.data):{},headers:l!=null&&l.header?JSON.parse(l==null?void 0:l.header):{}});if(l&&(l!=null&&l.dataPath)){const x=l.dataPath.split(".").reduce((N,C)=>N[C],i.data);r.value=d(x,l.dataKey,l.dataValue)}else r.value=d(i.data,l.dataKey,l.dataValue)}}c.modelValue,e.provide("tree",c.tree);function u(){const t=e.reactive({label:"",value:""});r.value.length?r.value=[...r.value,t]:r.value=[t]}return(t,l)=>{var i;return e.openBlock(),e.createElementBlock("div",O,[e.createElementVNode("div",null,[e.createElementVNode("div",I,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(v,(n,x)=>e.createElementVNode("div",{class:e.normalizeClass(["epic-tab cursor-pointer truncate",{checked:m.title===n.title}]),key:x,title:n.title,onClick:N=>a(n)},e.toDisplayString(n.title),11,q)),64))]),m.title==="静态"?(e.openBlock(),e.createElementBlock("div",w,[e.withDirectives(e.createElementVNode("div",$,"暂无选项",512),[[e.vShow,!((i=e.unref(r))!=null&&i.length)]]),e.createVNode(M,{modelValue:e.unref(r),"onUpdate:modelValue":l[0]||(l[0]=n=>e.isRef(r)?r.value=n:null)},null,8,["modelValue"]),e.createVNode(e.unref(k),{onClick:u},{default:e.withCtx(()=>l[2]||(l[2]=[e.createTextVNode("添加选项")])),_:1})])):(e.openBlock(),e.createElementBlock("div",D,[l[3]||(l[3]=e.createElementVNode("span",{style:{"font-size":"12px","margin-bottom":"8px",display:"inline-block"}},"数据源",-1)),e.createVNode(e.unref(f),{modelValue:e.unref(o),"onUpdate:modelValue":l[1]||(l[1]=n=>e.isRef(o)?o.value=n:null),placeholder:"请选择数据源",clearable:"",options:s.value,onChange:V},null,8,["modelValue","options"])]))])])}}}),A=S._export_sfc(j,[["__scopeId","data-v-706ed161"]]);exports.default=A;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { defineComponent as D, inject as i, ref as S, computed as b, openBlock as m, createElementBlock as h, createElementVNode as n, createVNode as r, unref as a, withCtx as w, Fragment as E, renderList as M, normalizeClass as j, toDisplayString as V, mergeProps as z, withDirectives as A, vShow as F } from "vue";
|
|
2
2
|
import { d as G } from "./vuedraggable.umd-D2S7Eo7p.js";
|
|
3
3
|
import { p as d } from "./axios-ITY6Uw7A.js";
|
|
4
|
-
import { g as B, f as q } from "./index-
|
|
4
|
+
import { g as B, f as q } from "./index-CH2IxHQE.js";
|
|
5
5
|
import { _ as I } from "./icon.vue_vue_type_script_setup_true_lang-D3QdcReY.js";
|
|
6
6
|
const H = { class: "epic-component-view flex flex-col" }, J = { class: "epic-search-box px-10px py-6px" }, K = { class: "flex flex-1 overflow-auto" }, O = { class: "epic-tabs-box" }, Q = ["title", "onClick"], R = { class: "h-full flex-1 overflow-auto py-2 box-border" }, W = ["onClick"], X = { class: "epic-componet-label flex-1 w-0 truncate" }, Y = { class: "text-center pt-42px text-gray-400" }, ae = /* @__PURE__ */ D({
|
|
7
7
|
__name: "index",
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-CTjIY8cx.cjs"),a=require("./axios-CYGTE3lR.cjs");exports.EBuilder=e._sfc_main$1;exports.EDesigner=e._sfc_main$2;exports.ENode=e._sfc_main;exports.capitalizeFirstLetter=e.capitalizeFirstLetter;exports.convertKFormData=e.convertKFormData;exports.debounce=e.debounce;exports.deepClone=e.deepClone;exports.deepCompareAndModify=e.deepCompareAndModify;exports.deepEqual=e.deepEqual;exports.findSchemaById=e.findSchemaById;exports.findSchemaInfoById=e.findSchemaInfoById;exports.findSchemas=e.findSchemas;exports.generateNewSchema=e.generateNewSchema;exports.getDarkState=e.getDarkState;exports.getFormFields=e.getFormFields;exports.getFormSchemas=e.getFormSchemas;exports.getMatchedById=e.getMatchedById;exports.getUUID=e.getUUID;exports.getValueByPath=e.getValueByPath;exports.initStore=e.initStore;exports.mapSchemas=e.mapSchemas;exports.recursionConvertedNode=e.recursionConvertedNode;exports.setValueByPath=e.setValueByPath;exports.useDark=e.useDark;exports.useElementDrag=e.useElementDrag;exports.useElementZoom=e.useElementZoom;exports.useKeyPress=e.useKeyPress;exports.usePageManager=e.usePageManager;exports.useRevoke=e.useRevoke;exports.useStore=e.useStore;exports.useTheme=e.useTheme;exports.useTimedQuery=e.useTimedQuery;exports.EventBus=a.EventBus;exports.PluginManager=a.PluginManager;exports.loadAsyncComponent=a.loadAsyncComponent;exports.pluginManager=a.pluginManager;
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { q as s, r as t, _ as r, E as o, c as n, j as d, m, d as u, x as i, l as g, f as l, B as c, g as p, H as h, z as y, A as E, y as S, k as f, o as B, I as D, C as F, D as I, s as P, G as v, e as C, i as M, F as k, t as x, v as A, u as N, p as q, a as z } from "./index-
|
|
1
|
+
import { q as s, r as t, _ as r, E as o, c as n, j as d, m, d as u, x as i, l as g, f as l, B as c, g as p, H as h, z as y, A as E, y as S, k as f, o as B, I as D, C as F, D as I, s as P, G as v, e as C, i as M, F as k, t as x, v as A, u as N, p as q, a as z } from "./index-CH2IxHQE.js";
|
|
2
2
|
import { E as T, P as U, l as V, p as b } from "./axios-ITY6Uw7A.js";
|
|
3
3
|
export {
|
|
4
4
|
s as EBuilder,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent as k, inject as c, computed as P, openBlock as a, createElementBlock as s, Fragment as S, renderList as b, createElementVNode as d, normalizeClass as V, toDisplayString as w, createCommentVNode as u, createVNode as C, unref as i, nextTick as E } from "vue";
|
|
2
|
-
import { _ as z, o as I, s as y } from "./index-
|
|
2
|
+
import { _ as z, o as I, s as y } from "./index-CH2IxHQE.js";
|
|
3
3
|
import "./axios-ITY6Uw7A.js";
|
|
4
4
|
const N = ["title"], B = { class: "epic-attr-input" }, D = /* @__PURE__ */ k({
|
|
5
5
|
__name: "styleView",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),a=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),a=require("./index-CTjIY8cx.cjs");require("./axios-CYGTE3lR.cjs");const h=["title"],m={class:"epic-attr-input"},k=e.defineComponent({__name:"styleView",setup(v){const p=e.inject("designer"),u=e.inject("pageSchema"),d=e.inject("revoke"),r=[{label:"宽度",type:"EInputSize",field:"componentProps.style.width"},{label:"高度",type:"EInputSize",field:"componentProps.style.height"},{label:"内边距",type:"EInputSize",field:"componentProps.style.padding"},{label:"外边距",type:"EInputSize",field:"componentProps.style.margin"},{label:"背景色",type:"color-picker",field:"componentProps.style.backgroundColor",componentProps:{type:"color",style:{}}},{label:"字体颜色",type:"color-picker",field:"componentProps.style.color",componentProps:{type:"color",style:{}}}],c=e.computed(()=>p.state.checkedNode);function i(t){var n;return typeof t.show=="boolean"?t.show:((n=t.show)==null?void 0:n.call(t,{values:c.value}))??!0}function y(t,n,l,o=c.value){typeof l.onChange=="function"&&l.onChange({value:t,values:o,componentStyles:r}),l.changeSync?a.setValueByPath(o,n,t):e.nextTick(()=>{a.setValueByPath(o,n,t)}),d.push(u.schemas,"编辑组件属性")}return(t,n)=>{var l;return e.openBlock(),e.createElementBlock("div",{class:"epic-style-view",key:(l=c.value)==null?void 0:l.id},[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(r,o=>{var s;return e.createElementVNode("div",{key:o.field},[i(o)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["epic-attr-item",o.layout])},[o.label?(e.openBlock(),e.createElementBlock("div",{key:0,class:"epic-attr-label",title:o.label},e.toDisplayString(o.label),9,h)):e.createCommentVNode("",!0),e.createElementVNode("div",m,[e.createVNode(e.unref(a._sfc_main),{componentSchema:{...o,componentProps:{...o.componentProps,...o.field==="componentProps.defaultValue"?(s=c.value)==null?void 0:s.componentProps:{},input:!1,field:void 0,hidden:!1},show:!0,noFormItem:!0},"model-value":e.unref(a.getValueByPath)(o.editData??c.value,o.field),"onUpdate:modelValue":f=>y(f,o.field,o,o.editData)},null,8,["componentSchema","model-value","onUpdate:modelValue"])])],2)):e.createCommentVNode("",!0)])}),64))])}}});exports.default=k;
|
package/package.json
CHANGED
package/dist/index-3RNTR6WH.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 j(t){return t.charAt(0).toUpperCase()+t.slice(1)}function M(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=>M(n,a));return a.set(t,r),r}const o={};return a.set(t,o),Object.keys(t).forEach(r=>{o[r]=M(t[r],a)}),o}function he(t){const[a]=ne([M(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 N(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]=[]),N(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 Z(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(),c={};return i.forEach(u=>{o.includes(u)||(c[u]=n(s[u]))}),r.delete(s),c}else return s};return JSON.stringify(n(t))===JSON.stringify(n(a))}function ee(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 c=0;c<s.slots[i].length&&(n(s.slots[i][c]),!r);c++);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 ge(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 ye(t,a="default"){return te(t,a).map(r=>r.field)}function te(t,a="default"){const o=$(t,n=>{var s;return n.type==="form"&&(((s=n.componentProps)==null?void 0:s.name)??n.name===a)},!0);return $((o==null?void 0:o.children)??[],n=>!!n.input,!1,n=>n.type!=="subform")}function $(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 c in i.slots)s.push(...i.slots[c]);if(a(i)&&(n.push(i),o))return i}return o?!1:n}function ne(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]);N(n,a(n))}return t}function we(t,a){const o=$(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($(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 c=0;c<n.length;c++)if(n[c].id===a)return r=c,!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=R(t.list),a}function R(t,a){return t.map(o=>{var u,w,v;let r=o.type??"";const n=o.options??{},s=(l,g)=>{r===l&&(r=g,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:g}=n;n.autoSize={minRows:l,maxRows:g},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,((w=(u=o.rules)==null?void 0:u[0])==null?void 0:w.required)===!1&&o.rules.shift(),((v=o.rules)==null?void 0:v.length)>0&&(i.rules=o.rules)),o.list&&(i.children=R(o.list,o)),o.columns&&(i.children=R(o.columns,o)),o.trs&&(i.children=R(o.trs,o)),o.tds&&(i.children=R(o.tds,o)),i})}function ke(t,a){let o=null;return(...r)=>{o&&clearTimeout(o),o=setTimeout(()=>{t(...r)},a)}}function Q(){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,y){t.value[h]=y}function c(h){delete t.value[h]}function u(h,y=!1){const b=Object.entries(D.pluginManager.publicMethods).reduce((E,[A,_])=>(E[A]=_.handler,E),{});try{new Function(`const epic = this;${h}`).bind({...b,getComponent:s,find:s,defineExpose:w,publicMethods:b,pluginManager:D.pluginManager})()}catch(E){y&&console.error("[epic:自定义函数]异常:",E)}}function w(h){h!=null&&(a.value=h)}function v(h,...y){if(!h||h.length===0){console.warn("未提供任何动作");return}h.forEach(b=>{const E=b.args?JSON.parse(b.args):y;switch(b.type){case"public":l(b,E);break;case"custom":g(b,E);break;case"component":f(b,E);break;default:console.warn(`未知的动作类型: ${b.type}`);break}})}function l(h,y){var b;try{(b=D.pluginManager.publicMethods[h.methodName])==null||b.handler(...y)}catch(E){console.error(`[Epic:公共函数(${h.methodName})]执行异常:`,E)}}function g(h,y){var b,E;try{(E=(b=a.value)[h.methodName])==null||E.call(b,...y)}catch(A){console.error(`[Epic:自定义函数(${h.methodName})]执行异常:`,A)}}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(E){console.error(`[Epic:组件${h.componentId}函数(${h.methodName})]执行异常:`,E)}}function m(h=!0){o.value=h}function d(h){const y=$(h,()=>!0);r.value=y.map(b=>b.id)}function C(h,y="default"){if(n[y]){const b=n[y];N(h,b)}n[y]=h}function V(h,y="default"){if(n[y]){N(n[y],h,!1);return}n[y]=h}return{componentInstances:t,funcs:a,isDesignMode:o,defaultComponentIds:r,forms:n,addFormData:C,setFormData:V,getComponentInstance:s,find:s,addComponentInstance:i,removeComponentInstance:c,setMethods:u,doActions:v,setDesignMode:m,setDefaultComponentIds:d}}function oe(){const t=e.ref([]),a=e.ref([]),o=e.ref(null);let r=0;function n(u,w="插入组件"){const v=Date.now();r+150>v||(r=v,o.value!=null&&(t.value.push(o.value),a.value.splice(0,a.value.length)),o.value={type:w,componentSchema:JSON.stringify(u)},t.value.length>60&&t.value.unshift())}function s(){if(t.value.length===0)return!1;const u=t.value.pop();return o.value!=null&&a.value.push(o.value),o.value=u,JSON.parse(u.componentSchema)}function i(){if(a.value.length===0)return!1;const u=a.value.pop();return o.value!=null&&t.value.push(o.value),o.value=u,JSON.parse(u.componentSchema)}function c(){t.value=[],a.value=[],o.value=null}return{recordList:t,undoList:a,currentRecord:o,push:n,undo:s,redo:i,reset:c}}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(c,u)=>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(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:{}},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",{}),c=e.inject("pageManager",{}),u=e.inject("disabled",{value:!1}),w=e.inject("ruleFieldPrefix",null),v=e.inject("resetFormData",!1);let l=e.reactive(M(r.componentSchema));m();async function g(p){if(["cascader","checkbox","select","radio"].includes(p.type)&&p.componentProps.dynamicId&&r.sourceDateUrl){const k=(await D.axios({url:r.sourceDateUrl,method:"get",params:{id:p.componentProps.dynamicId}})).data.data;let I=await D.axios({url:k.url,method:k.method,data:JSON.parse(k.body),params:JSON.parse(k.params),headers:JSON.parse(k.headers)});if(k&&(k!=null&&k.dataPath)){const fe=k.dataPath.split(".").reduce((pe,me)=>pe[me],I.data);p.componentProps.options=f(fe,k.dataKey,k.dataValue)}else p.componentProps.options=f(I.data,k.dataKey,k.dataValue);return p}return p}function f(p,x,P){return p&&Object.prototype.toString.call(p)==="[object Array]"?p.map(k=>k.children&&k.children.length?{label:k[x],value:k[P]+"",children:f(k.children,x,P)}:{label:k[x],value:k[P]+""}):[]}e.watch(()=>r.componentSchema,p=>{Z(l,p,["children"])||(N(l,M(p)),m())},{deep:!0});function m(){c.isDesignMode.value&&typeof l.field=="string"&&(l.field+="-design-mode")}(r.resetFormData||v)&&(s={});const d=a,C=e.ref(),V=e.ref(),h=p=>{V.value=p},y=e.useAttrs();Object.keys(y).length&&e.provide("nodeAttrs",y);const b=e.shallowRef(null),E=e.computed(()=>{var p,x;return(p=l.componentProps)!=null&&p.hidden?!1:typeof l.show=="boolean"?l.show:((x=l.show)==null?void 0:x.call(l,{values:s}))??!0}),A=e.computed(()=>{var k;const p=E.value&&((k=l.rules)==null?void 0:k.map(I=>({...I,validator:I.validator&&c.funcs.value[I.validator]})));let x=l.field;r.ruleField?x=r.ruleField:w&&l.field&&(x=M(w),x.push(l.field));const P={...l,rules:p,rule:p,field:x};return P.children&&delete P.children,P}),_=e.computed(()=>{var P,k;const p=((P=B.value)==null?void 0:P.bindModel)??"modelValue",x={};return l.on&&Object.keys(l.on).forEach(I=>{x[`on${j(I)}`]=(...X)=>c.doActions(l.on[I],...X)}),{...r,...l.componentProps,disabled:(u==null?void 0:u.value)||((k=l.componentProps)==null?void 0:k.disabled),bindModel:p,...x}}),B=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??""])&&S(n.value)}),e.watch(()=>C.value,()=>{O()},{immediate:!0});function O(){var x;const p=C.value||o;l.id&&p&&(l.input&&(p.setValue=S,p.getValue=()=>s[l.field]||r.modelValue),p.setAttr=(P,k)=>(l.componentProps||(l.componentProps={}),l.componentProps[P]=k),p.getAttr=P=>l.componentProps[P],c.addComponentInstance(l.id,p),(x=B.value)!=null&&x.defaultSchema.input&&l.noFormItem!==!0&&V.value&&c.addComponentInstance(l.id+"formItem",V.value))}function T(){var p;l.id&&(c.removeComponentInstance(l.id),(p=B.value)!=null&&p.defaultSchema.input&&l.noFormItem!==!0&&c.removeComponentInstance(l.id+"formItem"))}async function J(){var x,P,k;if(l=await g(l),typeof((x=l.componentProps)==null?void 0:x.defaultValue)<"u"){const I=c.isDesignMode.value?(P=l.componentProps)==null?void 0:P.defaultValue:s[l.field]??((k=l.componentProps)==null?void 0:k.defaultValue);S(M(I))}if(l.type==="slot"){const I=l.slotName;if(!I)return;b.value=e.defineComponent({setup(){return()=>e.renderSlot(i,I,{componentSchema:l,model:s})}});return}const p=D.pluginManager.getComponent(l.type);if(!p){console.error(`组件${l.type}未注册`);return}if(typeof p=="function"){const I=await p();b.value=I.default??I}else b.value=p}function S(p){console.log("%c [ v ]-433","font-size:13px; background:pink; color:#bf2c9f;",p),d("update:modelValue",p),d("change",p),l.field&&(s[l.field]=p)}function q(p){d("update:dynamicId",p)}let Y=null;return e.watch(()=>l,async p=>{const x=JSON.stringify({...p,children:void 0,componentProps:{...p.componentProps,options:null}});if(x===Y)return!1;Y=x,J()},{immediate:!0,deep:!0}),e.onUnmounted(T),(p,x)=>{var k;const P=e.resolveComponent("ENode");return b.value&&E.value?(e.openBlock(),e.createBlock(Ce,{key:0,hasFormItem:e.unref(l).noFormItem!==!0&&((k=B.value)==null?void 0:k.defaultSchema.input),formItemProps:A.value,onUpdateFormItemRef:h},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(b.value),e.mergeProps({ref_key:"componentInstance",ref:C,onVnodeMounted:O,model:e.unref(s)},{..._.value},{[_.value.bindModel]:n.value,["onUpdate:"+_.value.bindModel]:x[0]||(x[0]=I=>n.value=I),[`onUpdate:${_.value.bindModel}`||""]:S,"onUpdate:dynamicId":q}),{node:e.withCtx(I=>[e.createVNode(P,e.mergeProps(I,{sourceDateUrl:r.sourceDateUrl}),null,16,["sourceDateUrl"])]),"edit-node":e.withCtx(()=>[e.renderSlot(p.$slots,"edit-node")]),_:3},16,["model"]))]),_:3},8,["hasFormItem","formItemProps"])):e.createCommentVNode("",!0)}}});function Ee(){const t=e.ref(!1),a=Q(),o=e.ref({});function r(){return new Promise(f=>{if(t.value)f();else{const m=e.watch(t,()=>{m(),f()})}})}async function n(f="default"){var d;await r();const m=(d=o.value)==null?void 0:d[f];if(!m)throw new Error(`表单 [name=${f}] 不存在`);return m}async function s(f,m){const d=await n(f);return M(await m(d))}async function i(f="default"){return await s(f,m=>m.getData())}function c(f,m="default"){var C;a.setFormData(f,m);const d=(C=o.value)==null?void 0:C[m];d==null||d.clearValidate()}async function u(f="default"){return await s(f,async m=>(await m.validate(),await m.getData()))}async function w(f){await r();const m={};for(const d in o.value){const C=o.value[d];C&&(m[d]=M(await f(C)))}return m}async function v(){return await w(f=>f.getData())}function l(f){for(const m in f)c(f[m],m)}async function g(){return await w(async f=>(await f.validate(),await f.getData()))}return{ready:t,pageManager:a,forms:o,getData:i,setData:c,validate:u,getForms:v,setForms:l,validateAll:g,getFormInstance:n}}const xe={key:0,class:"epic-loading-box"},Ae={class:"epic-builder-main"},De={class:"epic-loading-box"},ae=e.defineComponent({__name:"builder",props:{pageSchema:{},formData:{},disabled:{type:Boolean},sourceDateUrl:{}},emits:["ready","change"],setup(t,{expose:a,emit:o}){const r=D.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-Cap7FkuS.cjs"))),n=o,{ready:s,pageManager:i,forms:c,getData:u,setData:w,validate:v,getForms:l,setForms:g,validateAll:f,getFormInstance:m}=Ee(),d=t,C=e.reactive({schemas:[]});e.watch(()=>d.pageSchema,A=>{N(C,A)},{immediate:!0,deep:!0}),e.watch(()=>d.formData,A=>{A&&w(A)},{immediate:!0,deep:!0}),e.watch(()=>C.script,A=>{A&&i.setMethods(A,!0)},{immediate:!0});function V(A){console.log("%c [ ]-90","font-size:13px; background:pink; color:#bf2c9f;",1),console.log("%c [ e ]-90","font-size:13px; background:pink; color:#bf2c9f;",A)}e.provide("slots",e.useSlots()),e.provide("pageManager",i),e.provide("forms",c),e.provide("pageSchema",C),e.provide("disabled",e.computed(()=>d.disabled));const h=e.getCurrentInstance(),y=h==null?void 0:h.proxy;function b(){e.nextTick(()=>{s.value=!0,n("ready",i),y&&i.addComponentInstance("builder",y)})}function E(A){console.log("%c [ e ]-126","font-size:13px; background:pink; color:#bf2c9f;",A),n("change",A)}return a({ready:s,pageManager:i,getData:u,setData:w,validate:v,getForms:l,setForms:g,validateAll:f,getFormInstance:m}),(A,_)=>e.unref(D.pluginManager).initialized.value?(e.openBlock(),e.createBlock(e.Suspense,{key:1,onResolve:b},{default:e.withCtx(()=>[e.createElementVNode("div",Ae,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(C.schemas,(B,O)=>(e.openBlock(),e.createBlock(e.unref(re),{key:O,sourceDateUrl:d.sourceDateUrl,componentSchema:B,onChange:E,"onUpdate:modelValue":_[0]||(_[0]=T=>V(T))},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 G(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))),G(n),o)}function U(t){return typeof t=="function"?t():e.unref(t)}const Pe=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Ve=t=>typeof t<"u",Me=Object.prototype.toString,_e=t=>Me.call(t)==="[object Object]",Be=()=>{};function Ne(t){return e.getCurrentInstance()}function Fe(t,a=!0,o){Ne()?e.onMounted(t,o):a?t():e.nextTick(t)}function Oe(t=!1,a={}){const{truthyValue:o=!0,falsyValue:r=!1}=a,n=e.isRef(t),s=e.ref(t);function i(c){if(arguments.length)return s.value=c,s.value;{const u=U(o);return s.value=s.value===u?U(r):u,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 F(t){var a;const o=U(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(v=>v()),s.length=0},c=(v,l,g,f)=>(v.addEventListener(l,g,f),()=>v.removeEventListener(l,g,f)),u=e.watch(()=>[F(a),U(n)],([v,l])=>{if(i(),!v)return;const g=_e(l)?{...l}:l;s.push(...o.flatMap(f=>r.map(m=>c(v,f,m,g))))},{immediate:!0,flush:"post"}),w=()=>{u(),i()};return G(w),w}function Ue(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,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:c=!1}=r,u=Ue(a);return $e(n,s,v=>{v.repeat&&U(c)||u(v)&&o(v)},i)}function H(t,a,o={}){return se(t,a,{...o,eventName:"keydown"})}function K(t,a,o={}){return se(t,a,{...o,eventName:"keyup"})}function Te(){const t=e.ref(!1),a=e.getCurrentInstance();return a&&e.onMounted(()=>{t.value=!0},a),t}function qe(t){const a=Te();return e.computed(()=>(a.value,!!t()))}function Le(t){return JSON.parse(JSON.stringify(t))}function le(t,a,o={}){const{window:r=W,...n}=o;let s;const i=qe(()=>r&&"ResizeObserver"in r),c=()=>{s&&(s.disconnect(),s=void 0)},u=e.computed(()=>{const l=U(t);return Array.isArray(l)?l.map(g=>F(g)):[F(l)]}),w=e.watch(u,l=>{if(c(),i.value&&r){s=new ResizeObserver(a);for(const g of l)g&&s.observe(g,n)}},{immediate:!0,flush:"post"}),v=()=>{c(),w()};return G(v),{isSupported:i,stop:v}}function ze(t,a={width:0,height:0},o={}){const{window:r=W,box:n="content-box"}=o,s=e.computed(()=>{var l,g;return(g=(l=F(t))==null?void 0:l.namespaceURI)==null?void 0:g.includes("svg")}),i=e.ref(a.width),c=e.ref(a.height),{stop:u}=le(t,([l])=>{const g=n==="border-box"?l.borderBoxSize:n==="content-box"?l.contentBoxSize:l.devicePixelContentBoxSize;if(r&&s.value){const f=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:d})=>m+d,0),c.value=f.reduce((m,{blockSize:d})=>m+d,0)}else i.value=l.contentRect.width,c.value=l.contentRect.height},o);Fe(()=>{const l=F(t);l&&(i.value="offsetWidth"in l?l.offsetWidth:a.width,c.value="offsetHeight"in l?l.offsetHeight:a.height)});const w=e.watch(()=>F(t),l=>{i.value=l?a.width:0,c.value=l?a.height:0});function v(){u(),w()}return{width:i,height:c,stop:v}}function Je(t,a,o,r={}){var n,s,i;const{clone:c=!1,passive:u=!1,eventName:w,deep:v=!1,defaultValue:l,shouldEmit:g}=r,f=e.getCurrentInstance(),m=o||(f==null?void 0:f.emit)||((n=f==null?void 0:f.$emit)==null?void 0:n.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 d=w;a||(a="modelValue"),d=d||`update:${a.toString()}`;const C=y=>c?typeof c=="function"?c(y):Le(y):y,V=()=>Ve(t[a])?C(t[a]):l,h=y=>{g?g(y)&&m(d,y):m(d,y)};if(u){const y=V(),b=e.ref(y);let E=!1;return e.watch(()=>t[a],A=>{E||(E=!0,b.value=C(A),e.nextTick(()=>E=!1))}),e.watch(b,A=>{!E&&(A!==t[a]||v)&&h(A)},{deep:v}),b}else return e.computed({get(){return V()},set(y){h(y)}})}function We(){const{isDark:t}=z(),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"),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 ue(){const t=e.ref(1),a=e.ref(!1),{isDark:o}=ie(),{pressSpace:r,pressShift:n,pressCtrl:s}=de();return{canvasScale:t,pressSpace:r,pressShift:n,pressCtrl:s,disabledZoom:a,isDark:o}}const z=Ie(ue);function de(){const t=e.ref(!1),a=e.ref(!1),o=e.ref(!1);return H(" ",()=>{t.value=!0}),K(" ",()=>{t.value=!1}),H("Shift",r=>{r.preventDefault(),a.value=!0}),K("Shift",()=>{a.value=!1}),H("Control",r=>{r.preventDefault(),o.value=!0}),K("Control",()=>{o.value=!1}),{pressSpace:t,pressShift:a,pressCtrl:o}}function Ke(t){const{pressSpace:a}=z(),o=new Image(1,1);o.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==";let r=0,n=0;function s(u){var w;a.value&&(r=u.x,n=u.y,(w=u.dataTransfer)==null||w.setDragImage(document.createElement("div"),0,0))}function i(u){if(u.preventDefault(),!u.x||!u.y||!a.value)return;const w=u.x-r,v=u.y-n;r=u.x,n=u.y,t.value&&(t.value.scrollTop-=v,t.value.scrollLeft-=w)}function c(){a.value=!1}return{handleElementDragStart:s,handleElementDrag:i,handleElementDragEnd:c}}function Ze(t){const{pressCtrl:a,canvasScale:o,disabledZoom:r}=z();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),c=e.ref({}),u=e.inject("pageSchema"),w=e.ref(null),v=e.ref("");function l(){i.value=!1}function g(){s.value=!1}function f(){s.value=!0,v.value=L()}async function m(){try{let d=await w.value.validateAll();if(!Object.keys(d).length){alert("请添加表单组件后再尝试!");return}Object.keys(d).length===1&&(d=d.default),c.value=JSON.stringify(d,null,2),e.nextTick(()=>{var C;(C=n.value)==null||C.setValue(c.value)}),i.value=!0}catch(d){console.error(d)}}return a({handleOpen:f}),(d,C)=>(e.openBlock(),e.createBlock(e.unref(r),{modelValue:s.value,"onUpdate:modelValue":C[1]||(C[1]=V=>s.value=V),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:w,"page-schema":e.unref(u)},null,8,["page-schema"])),e.createVNode(e.unref(r),{modelValue:i.value,"onUpdate:modelValue":C[0]||(C[0]=V=>i.value=V),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":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: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-BzetW3fw.cjs"))),i=D.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-C6ceZM1C.cjs"))),c=D.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-Cap7FkuS.cjs"))),u=Q(),w=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&&D.pluginManager.setSourceData(v.source),v.formMode&&(l.schemas=D.pluginManager.formSchemas)}),u.setDesignMode(),u.setDefaultComponentIds(l.schemas);const g=o,f=e.ref(null),m=e.reactive({checkedNode:null,hoverNode:null,disableHover:!1,matched:[]}),d=e.reactive({schemas:[],script:l.script}),{disabledZoom:C}=z();e.watchEffect(()=>{C.value=v.disabledZoom}),e.watchEffect(()=>{const S=d.script;S&&S!==""&&u.setMethods(S)}),e.provide("pageSchema",d),e.provide("revoke",w),e.provide("pageManager",u),e.provide("designerProps",e.computed(()=>v)),e.provide("designer",{setCheckedNode:h,setHoverNode:y,setDisableHover:E,handleToggleDeviceMode:T,reset:B,state:m}),D.EventBus.on("saveSourceData",S=>{g("saveSourceData",S)}),D.EventBus.on("deleteSourceData",S=>{g("deleteSourceData",S)}),D.EventBus.on("updateSourceData",S=>{g("updateSourceData",S)});function V(){d.schemas=M(l.schemas),h(d.schemas[0]),w.push(d.schemas,"初始化撤销功能")}async function h(S=d.schemas[0]){m.checkedNode=S,m.matched=ee(d.schemas,S.id)}async function y(S=null){var q;if(!S||m.disableHover)return m.hoverNode=null,!1;if((S==null?void 0:S.id)===((q=m.hoverNode)==null?void 0:q.id))return!1;m.hoverNode=S}function b(){e.nextTick(()=>{g("ready",{pageManager:u})})}async function E(S=!1){m.disableHover=S}function A(S){N(d,M(S))}function _(){return e.toRaw(d)}function B(){Z(d.schemas,l.schemas)&&d.script===l.script||(N(d.schemas,l.schemas),d.script=l.script,h(d.schemas[0]),w.push(d.schemas,"重置操作"),g("reset",d))}function O(){g("save",e.toRaw(d))}function T(S){g("toggleDeviceMode",S)}function J(){f.value.handleOpen()}return V(),a({revoke:w,setData:A,getData:_,reset:B,preview:J}),(S,q)=>e.unref(D.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(S.$slots,"header",{},()=>[v.hiddenHeader?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(r),{key:0,onPreview:J,onSave:O},{header:e.withCtx(()=>[e.renderSlot(S.$slots,"header-prefix")]),prefix:e.withCtx(()=>[e.renderSlot(S.$slots,"header-prefix")]),title:e.withCtx(()=>[e.renderSlot(S.$slots,"header-title")]),"right-prefix":e.withCtx(()=>[e.renderSlot(S.$slots,"header-right-prefix")]),"right-action":e.withCtx(()=>[e.renderSlot(S.$slots,"header-right-action")]),"right-suffix":e.withCtx(()=>[e.renderSlot(S.$slots,"header-right-suffix")]),_:3}))])]),e.createElementVNode("div",{class:e.normalizeClass(["epic-split-view-container",{"hidden-header":S.hiddenHeader}])},[e.createVNode(e.unref(n)),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-CrsnSHt0.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-CoWccwst.cjs"))),t.component("EActionEditor",async()=>await Promise.resolve().then(()=>require("./index-hIAPokYs.cjs"))),t.component("ERuleEditor",async()=>await Promise.resolve().then(()=>require("./index-thxQ_B2C.cjs"))),t.component("EOptionsEditor",async()=>await Promise.resolve().then(()=>require("./index-Dk3I3tbP.cjs"))),t.component("ENode",async()=>await Promise.resolve().then(()=>require("./index-BuMTLuUU.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-BXR6vTnH.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-Br4R-qs2.cjs"))}),t.registerRightSidebar({id:"style_view",title:"样式",component:async()=>await Promise.resolve().then(()=>require("./styleView-CElFrsoj.cjs"))}),[rt,at].forEach(o=>{t.registerComponent(o)})}st(D.pluginManager);exports._sfc_main=re;exports._sfc_main$1=ae;exports._sfc_main$2=ot;exports.capitalizeFirstLetter=j;exports.convertKFormData=be;exports.debounce=ke;exports.deepClone=M;exports.deepCompareAndModify=N;exports.deepEqual=Z;exports.findSchemaById=we;exports.findSchemaInfoById=Se;exports.findSchemas=$;exports.generateNewSchema=he;exports.getDarkState=ce;exports.getFormFields=ye;exports.getFormSchemas=te;exports.getMatchedById=ee;exports.getUUID=L;exports.getValueByPath=ve;exports.initStore=ue;exports.mapSchemas=ne;exports.recursionConvertedNode=R;exports.setValueByPath=ge;exports.useDark=ie;exports.useElementDrag=Ke;exports.useElementSize=ze;exports.useElementZoom=Ze;exports.useKeyPress=de;exports.usePageManager=Q;exports.useResizeObserver=le;exports.useRevoke=oe;exports.useStore=z;exports.useTheme=We;exports.useTimedQuery=Qe;exports.useVModel=Je;exports.watchOnce=Re;
|
package/dist/index-BUbBjk-A.js
DELETED