epic-designer-gold 0.0.21 → 0.0.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/dist/{attributeView-CP3hg3UK.cjs → attributeView-8NOrqlS1.cjs} +1 -1
  2. package/dist/{attributeView-Bs2qSxx7.js → attributeView-BHuhrlM5.js} +8 -8
  3. package/dist/core/components/designer/src/designer.vue.d.ts +0 -1
  4. package/dist/{index-CTNgPpDR.js → index-8kRf0Tni.js} +1 -1
  5. package/dist/index-9bx0Eg0-.cjs +1 -0
  6. package/dist/index-BHkCN6Gc.cjs +1 -0
  7. package/dist/{index-DFBtzyag.js → index-BcAPkz_3.js} +1 -1
  8. package/dist/{index-CzAJ8qnW.js → index-BcRau_iO.js} +74 -74
  9. package/dist/{index-CsimLiTB.cjs → index-BfV0-xlv.cjs} +1 -1
  10. package/dist/index-BfWxzrQ0.js +675 -0
  11. package/dist/{index-Ds85DNV7.cjs → index-BqP4q7kG.cjs} +1 -1
  12. package/dist/index-CI-wApqh.cjs +10 -0
  13. package/dist/{index-wltb2XZn.js → index-CNRYixnW.js} +493 -511
  14. package/dist/{index-CzU0fSLN.cjs → index-CtqoFTv7.cjs} +1 -1
  15. package/dist/{index-IoerwjxE.cjs → index-DAQnePGW.cjs} +1 -1
  16. package/dist/{index-C0kcltz_.js → index-DLXCQOpE.js} +1 -1
  17. package/dist/index-DMO6svHk.js +4 -0
  18. package/dist/{index-BOOu9IOW.cjs → index-DPQrSg6e.cjs} +1 -1
  19. package/dist/index-DzGESDFj.cjs +1 -0
  20. package/dist/{index-npC6NXqj.js → index-R1sGzPDh.js} +1 -1
  21. package/dist/index-zFyk0fsI.js +665 -0
  22. package/dist/index.cjs +1 -1
  23. package/dist/index.js +1 -1
  24. package/dist/style.css +1 -1
  25. package/dist/{styleView-PLyaM974.cjs → styleView-DevMh4gy.cjs} +1 -1
  26. package/dist/{styleView-CQ9CoWd1.js → styleView-Dq9MseMf.js} +1 -1
  27. package/package.json +1 -1
  28. package/dist/core/components/designer/src/modules/attributeView/eventView.vue.d.ts +0 -2
  29. package/dist/core/components/designer/src/modules/outline/outline.vue.d.ts +0 -2
  30. package/dist/core/components/designer/src/modules/sourceCode/index.vue.d.ts +0 -2
  31. package/dist/eventView-DqwO0f-q.cjs +0 -1
  32. package/dist/eventView-rsxe7yze.js +0 -64
  33. package/dist/index-93_j-O1m.cjs +0 -1
  34. package/dist/index-BQ_fSZ8_.cjs +0 -1
  35. package/dist/index-BbHxNc1N.cjs +0 -10
  36. package/dist/index-C6fguDNu.cjs +0 -1
  37. package/dist/index-CIgVQyhq.js +0 -432
  38. package/dist/index-CWzPGA7K.js +0 -41
  39. package/dist/index-DxLHfmGz.js +0 -4
  40. package/dist/index-DxUk7mzH.cjs +0 -1
  41. package/dist/index-Rtzc87-b.js +0 -682
  42. package/dist/outline-CJSEUbgc.cjs +0 -1
  43. package/dist/outline-yy4pIEi3.js +0 -54
  44. package/dist/tree.vue_vue_type_script_setup_true_lang-RWTXU6lO.cjs +0 -1
  45. package/dist/tree.vue_vue_type_script_setup_true_lang-uR4G8wa_.js +0 -242
@@ -1 +0,0 @@
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"),b=require("./icon.vue_vue_type_script_setup_true_lang-DJbUD5AQ.cjs"),C=require("./index-BbHxNc1N.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:k}){const y=h,f=p.pluginManager.getComponent("input"),d=e.inject("tree",!1),s=k,i=C.useVModel(y,"modelValue",s);function _(a){const c={label:"",value:""};a.children?a.children.push(c):a.children=[c]}function r(a){i.value=i.value.filter((c,v)=>v!==a)}return(a,c)=>{const v=e.resolveComponent("EOptionItem");return e.openBlock(),e.createBlock(e.unref(E.draggable),{modelValue:e.unref(i),"onUpdate:modelValue":c[0]||(c[0]=n=>e.isRef(i)?i.value=n:null),"item-key":"id","component-data":{type:"transition-group"},group:"option-list",handle:".handle",animation:200},{item:e.withCtx(({element:n,index:g})=>[e.createElementVNode("div",null,[e.createElementVNode("div",{class:e.normalizeClass([e.unref(d)?"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(b._sfc_main),{class:"mr-2 cursor-move handle",name:"icon--epic--drag"}),e.createVNode(e.unref(f),{modelValue:n.label,"onUpdate:modelValue":o=>n.label=o,value:n.label,"onUpdate:value":o=>n.label=o,placeholder:"label"},null,8,["modelValue","onUpdate:modelValue","value","onUpdate:value"]),e.createVNode(e.unref(f),{modelValue:n.value,"onUpdate:modelValue":o=>n.value=o,value:n.value,"onUpdate:value":o=>n.value=o,placeholder:"value"},null,8,["modelValue","onUpdate:modelValue","value","onUpdate:value"]),e.unref(d)?(e.openBlock(),e.createBlock(e.unref(b._sfc_main),{key:0,class:"cursor-pointer text-lg!",name:"icon--epic--add-rounded",onClick:o=>_(n)},null,8,["onClick"])):e.createCommentVNode("",!0),e.createVNode(e.unref(b._sfc_main),{class:"hover:text-red cursor-pointer",name:"icon--epic--delete-outline-rounded",onClick:o=>r(g)},null,8,["onClick"])],2),n.children?(e.openBlock(),e.createElementBlock("div",U,[e.createVNode(v,{modelValue:n.children,"onUpdate:modelValue":o=>n.children=o},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"},j={key:1},A=e.defineComponent({__name:"index",props:{tree:{type:Boolean},modelValue:{},dynamicId:{},type:{}},emits:["update:modelValue","update:EOptionsEditor"],setup(h,{emit:k}){const y=p.pluginManager.getComponent("button"),f=p.pluginManager.getComponent("select"),d=e.ref([]),s=e.reactive({title:"静态"}),i=h,_=k;p.EventBus.on("updateSource",l=>{d.value=p.pluginManager.sourceData.map(t=>({...t,label:t.apiName,value:t.id})),g(a.value)}),e.onMounted(()=>{d.value=p.pluginManager.sourceData.map(l=>({...l,label:l.apiName,value:l.id}))});const r=C.useVModel(i,"modelValue",_),a=C.useVModel(i,"dynamicId",_);function c(l){return l&&Object.prototype.toString.call(l)==="[object Array]"?l:(B.ElMessage.info("请检查数据位置是否配置准确"),[])}e.watch(()=>a.value,async()=>{a.value?s.title="动态":s.title="静态"},{immediate:!0});const v=[{title:"静态"},{title:"动态"}];async function n(l){s.title=l.title,l.title==="静态"&&(a.value="")}async function g(l){const t=d.value.find(m=>m.id===l);if(t&&t.url){let m=await p.axios({method:(t==null?void 0:t.method)||"get",url:t.url,params:t!=null&&t.params?JSON.parse(t==null?void 0:t.params):{},data:t!=null&&t.data?JSON.parse(t==null?void 0:t.data):{},headers:t!=null&&t.header?JSON.parse(t==null?void 0:t.header):{}});if(t&&(t!=null&&t.dataPath)){const x=t.dataPath.split(".").reduce((V,N)=>V[N],m.data);r.value=c(x).map(V=>({label:V[t.dataKey],value:V[t.dataValue]}))}else r.value=c(m.data).map(u=>({label:u[t.dataKey],value:u[t.dataValue]}))}}i.modelValue,e.provide("tree",i.tree);function o(){const l=e.reactive({label:"",value:""});r.value.length?r.value=[...r.value,l]:r.value=[l]}return(l,t)=>{var m;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,(u,x)=>e.createElementVNode("div",{class:e.normalizeClass(["epic-tab cursor-pointer truncate",{checked:s.title===u.title}]),key:x,title:u.title,onClick:V=>n(u)},e.toDisplayString(u.title),11,q)),64))]),s.title==="静态"?(e.openBlock(),e.createElementBlock("div",w,[e.withDirectives(e.createElementVNode("div",$,"暂无选项",512),[[e.vShow,!((m=e.unref(r))!=null&&m.length)]]),e.createVNode(M,{modelValue:e.unref(r),"onUpdate:modelValue":t[0]||(t[0]=u=>e.isRef(r)?r.value=u:null)},null,8,["modelValue"]),e.createVNode(e.unref(y),{onClick:o},{default:e.withCtx(()=>t[2]||(t[2]=[e.createTextVNode("添加选项")])),_:1})])):(e.openBlock(),e.createElementBlock("div",j,[t[3]||(t[3]=e.createElementVNode("span",{style:{"font-size":"12px","margin-bottom":"8px",display:"inline-block"}},"数据源",-1)),e.createVNode(e.unref(f),{modelValue:e.unref(a),"onUpdate:modelValue":t[1]||(t[1]=u=>e.isRef(a)?a.value=u:null),placeholder:"请选择数据源",clearable:"",options:d.value,onChange:g},null,8,["modelValue","options"])]))])])}}}),D=S._export_sfc(A,[["__scopeId","data-v-786f8c8a"]]);exports.default=D;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),u=require("./axios-CYGTE3lR.cjs"),d=require("./index-BbHxNc1N.cjs"),f={class:"epic-sound-code"},p=e.defineComponent({__name:"index",setup(m){const s=u.pluginManager.getComponent("monacoEditor"),c=e.ref(null),t=e.inject("designer"),a=e.inject("designerProps");let r={};e.watch(()=>t.state.checkedNode,o=>{var n;d.deepEqual(r,e.toRaw(o))||(n=c.value)==null||n.setValue(JSON.stringify(o,null,2))},{deep:!0});const i=JSON.stringify(t.state.checkedNode,null,2);function l(o){try{if(!t.state.checkedNode)return!1;r=JSON.parse(o),d.deepCompareAndModify(t.state.checkedNode,r)}catch(n){console.warn("[epic-desinger:源码]异常:",n)}}return(o,n)=>(e.openBlock(),e.createElementBlock("div",f,[e.createVNode(e.unref(s),{ref_key:"monacoEditorRef",ref:c,autoToggleTheme:"",class:"epic-editor",readOnly:e.unref(a).sourceCodeReadOnly,"model-value":e.unref(i),lineNumbers:"off","onUpdate:modelValue":l},null,8,["readOnly","model-value"])]))}});exports.default=p;
@@ -1,10 +0,0 @@
1
- "use strict";const e=require("vue"),A=require("./axios-CYGTE3lR.cjs");function z(t=10){const a="abcdefghijklmnopqrstuvwxyz0123456789";let o="";for(let r=0;r<t;r++){const n=Math.floor(Math.random()*a.length);o+=a[n]}return o}function ee(t){return t.charAt(0).toUpperCase()+t.slice(1)}function 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]=oe([M(t)],o=>{var n,s;const r={...o,id:`${o.type}_${z(8)}`};return(r.field||r.input)&&!((s=(n=A.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 Y(t,a,o=[],r=new WeakMap){const n=s=>{if(Array.isArray(s))return s.map(n);if(typeof s=="object"&&s!==null){if(r.has(s))return"[Circular]";r.set(s,!0);const i=Object.keys(s).sort(),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 te(t,a){const o=[];let r=!1;function n(s){if(o.push(s),s.id===a&&(r=!0),!r&&s.children!=null&&s.children.length>0)for(let i=0;i<s.children.length&&(n(s.children[i]),!r);i++);if(!r&&s.slots)for(let i in s.slots)for(let 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 ne(t,a).map(r=>r.field)}function ne(t,a="default"){const o=T(t,n=>{var s;return n.type==="form"&&(((s=n.componentProps)==null?void 0:s.name)??n.name===a)},!0);return T((o==null?void 0:o.children)??[],n=>!!n.input,!1,n=>n.type!=="subform")}function T(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 oe(t,a,o){const r=[...t];for(;r.length;){const n=r.pop();if(n!=null&&n.children&&(!o||o(n))&&r.push(...n.children),n!=null&&n.slots&&(!o||o(n)))for(let s in n.slots)r.push(...n.slots[s]);N(n,a(n))}return t}function we(t,a){const o=T(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(T(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_"+z()}],componentProps:{style:{padding:"16px"}}}],script:t.script||""};return a.schemas[0].children[0].children=$(t.list),a}function $(t,a){return t.map(o=>{var d,S,f;let r=o.type??"";const n=o.options??{},s=(l,k)=>{r===l&&(r=k,n.defaultValue&&(n.defaultValue=JSON.parse(n.defaultValue)))};if(s("uploadImg","upload-image"),s("uploadFile","upload-file"),r==="date"&&n.range&&(n.type="daterange",delete n.range),(r==="date"||r==="time")&&(n.valueFormat=n.format),r==="textarea"){const{minRows:l,maxRows:k}=n;n.autoSize={minRows:l,maxRows:k},delete n.minRows,delete n.maxRows}r==="number"&&!n.precision&&delete n.precision,n.width&&(n.style={width:n.width},delete n.width),r==="grid"&&(r="row"),a&&a.type==="grid"&&(r="col",n.span=o.span,o.key=z());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(),((f=o.rules)==null?void 0:f.length)>0&&(i.rules=o.rules)),o.list&&(i.children=$(o.list,o)),o.columns&&(i.children=$(o.columns,o)),o.trs&&(i.children=$(o.trs,o)),o.tds&&(i.children=$(o.tds,o)),i})}function ke(t,a){let o=null;return(...r)=>{o&&clearTimeout(o),o=setTimeout(()=>{t(...r)},a)}}function X(){const t=e.ref({}),a=e.ref({}),o=e.ref(!1),r=e.ref([]),n=e.reactive({});function s(h){return t.value[h]}function i(h,w){t.value[h]=w}function c(h){delete t.value[h]}function d(h,w=!1){const y=Object.entries(A.pluginManager.publicMethods).reduce((E,[_,B])=>(E[_]=B.handler,E),{});try{new Function(`const epic = this;${h}`).bind({...y,getComponent:s,find:s,defineExpose:S,publicMethods:y,pluginManager:A.pluginManager})()}catch(E){w&&console.error("[epic:自定义函数]异常:",E)}}function S(h){h!=null&&(a.value=h)}function f(h,...w){if(!h||h.length===0){console.warn("未提供任何动作");return}h.forEach(y=>{const E=y.args?JSON.parse(y.args):w;switch(y.type){case"public":l(y,E);break;case"custom":k(y,E);break;case"component":u(y,E);break;default:console.warn(`未知的动作类型: ${y.type}`);break}})}function l(h,w){var y;try{(y=A.pluginManager.publicMethods[h.methodName])==null||y.handler(...w)}catch(E){console.error(`[Epic:公共函数(${h.methodName})]执行异常:`,E)}}function k(h,w){var y,E;try{(E=(y=a.value)[h.methodName])==null||E.call(y,...w)}catch(_){console.error(`[Epic:自定义函数(${h.methodName})]执行异常:`,_)}}function u(h,w){const y=h.componentId!=null&&s(h.componentId);if(!y){console.warn(`[Epic:组件${h.componentId}]未找到`);return}try{y[h.methodName](...w)}catch(E){console.error(`[Epic:组件${h.componentId}函数(${h.methodName})]执行异常:`,E)}}function g(h=!0){o.value=h}function m(h){const w=T(h,()=>!0);r.value=w.map(y=>y.id)}function v(h,w="default"){if(n[w]){const y=n[w];N(h,y)}n[w]=h}function I(h,w="default"){if(n[w]){N(n[w],h,!1);return}n[w]=h}return{componentInstances:t,funcs:a,isDesignMode:o,defaultComponentIds:r,forms:n,addFormData:v,setFormData:I,getComponentInstance:s,find:s,addComponentInstance:i,removeComponentInstance:c,setMethods:d,doActions:f,setDesignMode:g,setDefaultComponentIds:m}}function re(){const t=e.ref([]),a=e.ref([]),o=e.ref(null);let r=0;function n(d,S="插入组件"){const f=Date.now();r+150>f||(r=f,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 Ce=e.defineComponent({__name:"dynamicFormItem",props:{hasFormItem:{type:Boolean},formItemProps:{}},emits:["updateFormItemRef"],setup(t,{emit:a}){const o=A.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})}}),ae=e.defineComponent({name:"ENode",__name:"node",props:{componentSchema:{},modelValue:{},ruleField:{},resetFormData:{type:Boolean},name:{},dynamicId:{},sourceDateUrl:{}},emits:["update:modelValue","change","update:dynamicId"],setup(t,{emit:a}){const{proxy:o}=e.getCurrentInstance(),r=t,n=e.ref(null);let s=e.inject("formData",e.reactive({}));const i=e.inject("slots",{}),c=e.inject("pageManager",{}),d=e.inject("disabled",{value:!1}),S=e.inject("ruleFieldPrefix",null),f=e.inject("resetFormData",!1);let l=e.reactive(M(r.componentSchema));g();async function k(p){if(["cascader","checkbox","select","radio"].includes(p.type)&&p.componentProps.dynamicId&&r.sourceDateUrl){const C=(await A.axios({url:r.sourceDateUrl,method:"get",params:{id:p.componentProps.dynamicId}})).data.data;let D=await A.axios({url:C.url,method:C.method,data:JSON.parse(C.body),params:JSON.parse(C.params),headers:JSON.parse(C.headers)});if(C&&(C!=null&&C.dataPath)){const pe=C.dataPath.split(".").reduce((W,me)=>W[me],D.data);p.componentProps.options=u(pe).map(W=>({label:W[C.dataKey],value:W[C.dataValue]}))}else p.componentProps.options=u(D.data).map(L=>({label:L[C.dataKey],value:L[C.dataValue]}));return p}return p}function u(p){return p&&Object.prototype.toString.call(p)==="[object Array]"?p:[]}e.watch(()=>r.componentSchema,p=>{Y(l,p,["children"])||(N(l,M(p)),g())},{deep:!0});function g(){c.isDesignMode.value&&typeof l.field=="string"&&(l.field+="-design-mode")}(r.resetFormData||f)&&(s={});const m=a,v=e.ref(),I=e.ref(),h=p=>{I.value=p},w=e.useAttrs();Object.keys(w).length&&e.provide("nodeAttrs",w);const y=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}),_=e.computed(()=>{var C;const p=E.value&&((C=l.rules)==null?void 0:C.map(D=>({...D,validator:D.validator&&c.funcs.value[D.validator]})));let x=l.field;r.ruleField?x=r.ruleField:S&&l.field&&(x=M(S),x.push(l.field));const P={...l,rules:p,rule:p,field:x};return P.children&&delete P.children,P}),B=e.computed(()=>{var P,C;const p=((P=R.value)==null?void 0:P.bindModel)??"modelValue",x={};return l.on&&Object.keys(l.on).forEach(D=>{x[`on${ee(D)}`]=(...L)=>c.doActions(l.on[D],...L)}),{...r,...l.componentProps,disabled:(d==null?void 0:d.value)||((C=l.componentProps)==null?void 0:C.disabled),bindModel:p,...x}}),R=e.computed(()=>A.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??""])&&F(n.value)}),e.watch(()=>v.value,()=>{q()},{immediate:!0});function q(){var x;const p=v.value||o;l.id&&p&&(l.input&&(p.setValue=F,p.getValue=()=>s[l.field]||r.modelValue),p.setAttr=(P,C)=>(l.componentProps||(l.componentProps={}),l.componentProps[P]=C),p.getAttr=P=>l.componentProps[P],c.addComponentInstance(l.id,p),(x=R.value)!=null&&x.defaultSchema.input&&l.noFormItem!==!0&&I.value&&c.addComponentInstance(l.id+"formItem",I.value))}function K(){var p;l.id&&(c.removeComponentInstance(l.id),(p=R.value)!=null&&p.defaultSchema.input&&l.noFormItem!==!0&&c.removeComponentInstance(l.id+"formItem"))}async function Z(){var x,P,C;if(l=await k(l),typeof((x=l.componentProps)==null?void 0:x.defaultValue)<"u"){const D=c.isDesignMode.value?(P=l.componentProps)==null?void 0:P.defaultValue:s[l.field]??((C=l.componentProps)==null?void 0:C.defaultValue);F(M(D))}if(l.type==="slot"){const D=l.slotName;if(!D)return;y.value=e.defineComponent({setup(){return()=>e.renderSlot(i,D,{componentSchema:l,model:s})}});return}const p=A.pluginManager.getComponent(l.type);if(!p){console.error(`组件${l.type}未注册`);return}if(typeof p=="function"){const D=await p();y.value=D.default??D}else y.value=p}function F(p){m("update:modelValue",p),m("change",p),l.field&&(s[l.field]=p)}function b(p){m("update:dynamicId",p)}let V=null;return e.watch(()=>l,async p=>{const x=JSON.stringify({...p,children:void 0,componentProps:{...p.componentProps,options:null}});if(x===V)return!1;V=x,Z()},{immediate:!0,deep:!0}),e.onUnmounted(K),(p,x)=>{var C;const P=e.resolveComponent("ENode");return y.value&&E.value?(e.openBlock(),e.createBlock(Ce,{key:0,hasFormItem:e.unref(l).noFormItem!==!0&&((C=R.value)==null?void 0:C.defaultSchema.input),formItemProps:_.value,onUpdateFormItemRef:h},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(y.value),e.mergeProps({ref_key:"componentInstance",ref:v,onVnodeMounted:q,model:e.unref(s)},{...B.value},{[B.value.bindModel]:n.value,["onUpdate:"+B.value.bindModel]:x[0]||(x[0]=D=>n.value=D),[`onUpdate:${B.value.bindModel}`||""]:F,"onUpdate:dynamicId":b}),{node:e.withCtx(D=>[e.createVNode(P,e.mergeProps(D,{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=X(),o=e.ref({});function r(){return new Promise(u=>{if(t.value)u();else{const g=e.watch(t,()=>{g(),u()})}})}async function n(u="default"){var m;await r();const g=(m=o.value)==null?void 0:m[u];if(!g)throw new Error(`表单 [name=${u}] 不存在`);return g}async function s(u,g){const m=await n(u);return M(await g(m))}async function i(u="default"){return await s(u,g=>g.getData())}function c(u,g="default"){var v;a.setFormData(u,g);const m=(v=o.value)==null?void 0:v[g];m==null||m.clearValidate()}async function d(u="default"){return await s(u,async g=>(await g.validate(),await g.getData()))}async function S(u){await r();const g={};for(const m in o.value){const v=o.value[m];v&&(g[m]=M(await u(v)))}return g}async function f(){return await S(u=>u.getData())}function l(u){for(const g in u)c(u[g],g)}async function k(){return await S(async u=>(await u.validate(),await u.getData()))}return{ready:t,pageManager:a,forms:o,getData:i,setData:c,validate:d,getForms:f,setForms:l,validateAll:k,getFormInstance:n}}const Ae={key:0,class:"epic-loading-box"},xe={class:"epic-builder-main"},De={class:"epic-loading-box"},se=e.defineComponent({__name:"builder",props:{pageSchema:{},formData:{},disabled:{type:Boolean},sourceDateUrl:{}},emits:["ready"],setup(t,{expose:a,emit:o}){const r=A.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-Cap7FkuS.cjs"))),n=o,{ready:s,pageManager:i,forms:c,getData:d,setData:S,validate:f,getForms:l,setForms:k,validateAll:u,getFormInstance:g}=Ee(),m=t,v=e.reactive({schemas:[]});e.watch(()=>m.pageSchema,y=>{N(v,y)},{immediate:!0,deep:!0}),e.watch(()=>m.formData,y=>{y&&S(y)},{immediate:!0,deep:!0}),e.watch(()=>v.script,y=>{y&&i.setMethods(y,!0)},{immediate:!0}),e.provide("slots",e.useSlots()),e.provide("pageManager",i),e.provide("forms",c),e.provide("pageSchema",v),e.provide("disabled",e.computed(()=>m.disabled));const I=e.getCurrentInstance(),h=I==null?void 0:I.proxy;function w(){e.nextTick(()=>{s.value=!0,n("ready",i),h&&i.addComponentInstance("builder",h)})}return a({ready:s,pageManager:i,getData:d,setData:S,validate:f,getForms:l,setForms:k,validateAll:u,getFormInstance:g}),(y,E)=>e.unref(A.pluginManager).initialized.value?(e.openBlock(),e.createBlock(e.Suspense,{key:1,onResolve:w},{default:e.withCtx(()=>[e.createElementVNode("div",xe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.schemas,(_,B)=>(e.openBlock(),e.createBlock(e.unref(ae),{key:B,sourceDateUrl:m.sourceDateUrl,componentSchema:_},null,8,["sourceDateUrl","componentSchema"]))),128))])]),fallback:e.withCtx(()=>[e.createElementVNode("div",De,[e.createVNode(e.unref(r))])]),_:1})):(e.openBlock(),e.createElementBlock("div",Ae))}});function j(t){return e.getCurrentScope()?(e.onScopeDispose(t),!0):!1}function Ie(t){let a=0,o,r;const n=()=>{a-=1,r&&a<=0&&(r.stop(),o=void 0,r=void 0)};return(...s)=>(a+=1,r||(r=e.effectScope(!0),o=r.run(()=>t(...s))),j(n),o)}function 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 _e=t=>typeof t<"u",Ve=Object.prototype.toString,Me=t=>Ve.call(t)==="[object Object]",Be=()=>{};function Ne(t){return e.getCurrentInstance()}function Fe(t,a=!0,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=U(o);return s.value=s.value===d?U(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 H=Pe?window:void 0;function O(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=H):[a,o,r,n]=t,!a)return Be;Array.isArray(o)||(o=[o]),Array.isArray(r)||(r=[r]);const s=[],i=()=>{s.forEach(f=>f()),s.length=0},c=(f,l,k,u)=>(f.addEventListener(l,k,u),()=>f.removeEventListener(l,k,u)),d=e.watch(()=>[O(a),U(n)],([f,l])=>{if(i(),!f)return;const k=Me(l)?{...l}:l;s.push(...o.flatMap(u=>r.map(g=>c(f,u,g,k))))},{immediate:!0,flush:"post"}),S=()=>{d(),i()};return j(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 le(...t){let a,o,r={};t.length===3?(a=t[0],o=t[1],r=t[2]):t.length===2?typeof t[1]=="object"?(a=!0,o=t[0],r=t[1]):(a=t[0],o=t[1]):(a=!0,o=t[0]);const{target:n=H,eventName:s="keydown",passive:i=!1,dedupe:c=!1}=r,d=Te(a);return $e(n,s,f=>{f.repeat&&U(c)||d(f)&&o(f)},i)}function Q(t,a,o={}){return le(t,a,{...o,eventName:"keydown"})}function G(t,a,o={}){return le(t,a,{...o,eventName:"keyup"})}function Ue(){const t=e.ref(!1),a=e.getCurrentInstance();return a&&e.onMounted(()=>{t.value=!0},a),t}function qe(t){const a=Ue();return e.computed(()=>(a.value,!!t()))}function Le(t){return JSON.parse(JSON.stringify(t))}function ie(t,a,o={}){const{window:r=H,...n}=o;let s;const i=qe(()=>r&&"ResizeObserver"in r),c=()=>{s&&(s.disconnect(),s=void 0)},d=e.computed(()=>{const l=U(t);return Array.isArray(l)?l.map(k=>O(k)):[O(l)]}),S=e.watch(d,l=>{if(c(),i.value&&r){s=new ResizeObserver(a);for(const k of l)k&&s.observe(k,n)}},{immediate:!0,flush:"post"}),f=()=>{c(),S()};return j(f),{isSupported:i,stop:f}}function ze(t,a={width:0,height:0},o={}){const{window:r=H,box:n="content-box"}=o,s=e.computed(()=>{var l,k;return(k=(l=O(t))==null?void 0:l.namespaceURI)==null?void 0:k.includes("svg")}),i=e.ref(a.width),c=e.ref(a.height),{stop:d}=ie(t,([l])=>{const k=n==="border-box"?l.borderBoxSize:n==="content-box"?l.contentBoxSize:l.devicePixelContentBoxSize;if(r&&s.value){const u=O(t);if(u){const g=u.getBoundingClientRect();i.value=g.width,c.value=g.height}}else if(k){const u=Array.isArray(k)?k:[k];i.value=u.reduce((g,{inlineSize:m})=>g+m,0),c.value=u.reduce((g,{blockSize:m})=>g+m,0)}else i.value=l.contentRect.width,c.value=l.contentRect.height},o);Fe(()=>{const l=O(t);l&&(i.value="offsetWidth"in l?l.offsetWidth:a.width,c.value="offsetHeight"in l?l.offsetHeight:a.height)});const S=e.watch(()=>O(t),l=>{i.value=l?a.width:0,c.value=l?a.height:0});function f(){d(),S()}return{width:i,height:c,stop:f}}function Je(t,a,o,r={}){var n,s,i;const{clone:c=!1,passive:d=!1,eventName:S,deep:f=!1,defaultValue:l,shouldEmit:k}=r,u=e.getCurrentInstance(),g=o||(u==null?void 0:u.emit)||((n=u==null?void 0:u.$emit)==null?void 0:n.bind(u))||((i=(s=u==null?void 0:u.proxy)==null?void 0:s.$emit)==null?void 0:i.bind(u==null?void 0:u.proxy));let m=S;a||(a="modelValue"),m=m||`update:${a.toString()}`;const v=w=>c?typeof c=="function"?c(w):Le(w):w,I=()=>_e(t[a])?v(t[a]):l,h=w=>{k?k(w)&&g(m,w):g(m,w)};if(d){const w=I(),y=e.ref(w);let E=!1;return e.watch(()=>t[a],_=>{E||(E=!0,y.value=v(_),e.nextTick(()=>E=!1))}),e.watch(y,_=>{!E&&(_!==t[a]||f)&&h(_)},{deep:f}),y}else return e.computed({get(){return I()},set(w){h(w)}})}function We(){const{isDark:t}=J(),a=Oe(t);return{isDark:t,toggleDark:a}}function ce(){const t=e.ref(!1);return e.onMounted(()=>{ue(t),He(t)}),e.watch(()=>t.value,()=>{t.value?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark")}),{isDark:t}}function ue(t){var a=document.documentElement;a&&(a.classList.contains("dark")?t.value=!0:t.value=!1)}function 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 de(){const t=e.ref(1),a=e.ref(!1),{isDark:o}=ce(),{pressSpace:r,pressShift:n,pressCtrl:s}=fe();return{canvasScale:t,pressSpace:r,pressShift:n,pressCtrl:s,disabledZoom:a,isDark:o}}const J=Ie(de);function fe(){const t=e.ref(!1),a=e.ref(!1),o=e.ref(!1);return Q(" ",()=>{t.value=!0}),G(" ",()=>{t.value=!1}),Q("Shift",r=>{r.preventDefault(),a.value=!0}),G("Shift",()=>{a.value=!1}),Q("Control",r=>{r.preventDefault(),o.value=!0}),G("Control",()=>{o.value=!1}),{pressSpace:t,pressShift:a,pressCtrl:o}}function Ke(t){const{pressSpace:a}=J(),o=new Image(1,1);o.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==";let r=0,n=0;function s(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,f=d.y-n;r=d.x,n=d.y,t.value&&(t.value.scrollTop-=f,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}=J();function n(s){if(!a.value||r.value)return;s.preventDefault();let i=0;s.deltaY<0?i=o.value+.05:i=o.value-.05,!(i>150||i<.5)&&(o.value=i)}return e.watch(()=>o.value,s=>{t.value&&!r.value&&(t.value.style.transform=`scale(${s})`)}),{handleZoom:n,canvasScale:o}}function Qe(t,a=16.66){let o;function r(){n(),o=window.setInterval(t,a)}function n(){window.clearInterval(o)}return{startTimedQuery:r,stopTimedQuery:n}}const Ge={class:"min-w-750px rounded"},Ye={class:"h-full rounded"},Xe=e.defineComponent({__name:"index",setup(t,{expose:a}){const o=A.pluginManager.getComponent("monacoEditor"),r=A.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),f=e.ref("");function l(){i.value=!1}function k(){s.value=!1}function u(){s.value=!0,f.value=z()}async function g(){try{let m=await S.value.validateAll();if(!Object.keys(m).length){alert("请添加表单组件后再尝试!");return}Object.keys(m).length===1&&(m=m.default),c.value=JSON.stringify(m,null,2),e.nextTick(()=>{var v;(v=n.value)==null||v.setValue(c.value)}),i.value=!0}catch(m){console.error(m)}}return a({handleOpen:u}),(m,v)=>(e.openBlock(),e.createBlock(e.unref(r),{modelValue:s.value,"onUpdate:modelValue":v[1]||(v[1]=I=>s.value=I),title:"预览",class:"w-900px",width:"900px",onClose:k,onOk:g,okText:"表单数据"},{default:e.withCtx(()=>[e.createElementVNode("div",Ge,[(e.openBlock(),e.createBlock(e.unref(se),{key:f.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":v[0]||(v[0]=I=>i.value=I),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:{default:""}},emits:["ready","save","reset","toggleDeviceMode","saveSourceData","deleteSourceData","updateSourceData"],setup(t,{expose:a,emit:o}){const r=A.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-1afOcXnV.cjs"))),n=A.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-BJlPL6eL.cjs"))),s=A.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-DxUk7mzH.cjs"))),i=A.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-C6ceZM1C.cjs"))),c=A.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-Cap7FkuS.cjs"))),d=X(),S=re(),f=t;let l={schemas:[{type:"form",id:"root",label:"页面",children:[],componentProps:{name:"表单",style:{padding:"16px"}}}],script:`const { defineExpose, find } = epic;
2
-
3
- function test (){
4
- console.log('test')
5
- }
6
-
7
- // 通过defineExpose暴露的函数或者属性
8
- defineExpose({
9
- test
10
- })`};e.watchEffect(async()=>{if(f.defaultSchema){l=f.defaultSchema;return}console.log("%c [ updateSourceId ]-141","font-size:13px; background:pink; color:#bf2c9f;",f.updateSourceId),console.log("%c [ source ]-141","font-size:13px; background:pink; color:#bf2c9f;",f.source),f.source&&A.pluginManager.setSourceData(f.source),f.formMode&&(l.schemas=A.pluginManager.formSchemas),f.updateSourceId&&k(l.schemas)});async function k(b){b=b.map(V=>(console.log("%c [ el ]-158","font-size:13px; background:pink; color:#bf2c9f;",V),V&&V.children&&V.children.length&&k(V.children),V))}d.setDesignMode(),d.setDefaultComponentIds(l.schemas);const u=o,g=e.ref(null),m=e.reactive({checkedNode:null,hoverNode:null,disableHover:!1,matched:[]}),v=e.reactive({schemas:[],script:l.script}),{disabledZoom:I}=J();e.watchEffect(()=>{I.value=f.disabledZoom}),e.watchEffect(()=>{const b=v.script;b&&b!==""&&d.setMethods(b)}),e.provide("pageSchema",v),e.provide("revoke",S),e.provide("pageManager",d),e.provide("designerProps",e.computed(()=>f)),e.provide("designer",{setCheckedNode:w,setHoverNode:y,setDisableHover:_,handleToggleDeviceMode:Z,reset:q,state:m}),A.EventBus.on("saveSourceData",b=>{u("saveSourceData",b)}),A.EventBus.on("deleteSourceData",b=>{u("deleteSourceData",b)}),A.EventBus.on("updateSourceData",b=>{u("updateSourceData",b)});function h(){v.schemas=M(l.schemas),w(v.schemas[0]),S.push(v.schemas,"初始化撤销功能")}async function w(b=v.schemas[0]){m.checkedNode=b,m.matched=te(v.schemas,b.id)}async function y(b=null){var V;if(!b||m.disableHover)return m.hoverNode=null,!1;if((b==null?void 0:b.id)===((V=m.hoverNode)==null?void 0:V.id))return!1;m.hoverNode=b}function E(){e.nextTick(()=>{u("ready",{pageManager:d})})}async function _(b=!1){m.disableHover=b}function B(b){N(v,M(b))}function R(){return e.toRaw(v)}function q(){Y(v.schemas,l.schemas)&&v.script===l.script||(N(v.schemas,l.schemas),v.script=l.script,w(v.schemas[0]),S.push(v.schemas,"重置操作"),u("reset",v))}function K(){u("save",e.toRaw(v))}function Z(b){u("toggleDeviceMode",b)}function F(){console.log("%c [ ]-385","font-size:13px; background:pink; color:#bf2c9f;",f),g.value.handleOpen()}return h(),a({revoke:S,setData:B,getData:R,reset:q,preview:F}),(b,V)=>e.unref(A.pluginManager).initialized.value?(e.openBlock(),e.createBlock(e.Suspense,{key:1,onResolve:E},{default:e.withCtx(()=>[e.createElementVNode("div",et,[e.createElementVNode("div",tt,[e.renderSlot(b.$slots,"header",{},()=>[f.hiddenHeader?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(r),{key:0,onPreview:F,onSave:K},{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:g},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-Ds85DNV7.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-CzU0fSLN.cjs"))),t.component("EActionEditor",async()=>await Promise.resolve().then(()=>require("./index-C6fguDNu.cjs"))),t.component("ERuleEditor",async()=>await Promise.resolve().then(()=>require("./index-CsimLiTB.cjs"))),t.component("EOptionsEditor",async()=>await Promise.resolve().then(()=>require("./index-93_j-O1m.cjs"))),t.component("ENode",async()=>await Promise.resolve().then(()=>require("./index-BOOu9IOW.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-IoerwjxE.cjs"))}),t.registerActivitybar({id:"sound_code_view",title:"源码",icon:"icon--epic--sdk-outline-rounded",component:async()=>await Promise.resolve().then(()=>require("./index-BQ_fSZ8_.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-CP3hg3UK.cjs"))}),t.registerRightSidebar({id:"style_view",title:"样式",component:async()=>await Promise.resolve().then(()=>require("./styleView-PLyaM974.cjs"))}),t.registerRightSidebar({id:"event_view",title:"事件",component:async()=>await Promise.resolve().then(()=>require("./eventView-DqwO0f-q.cjs"))}),[rt,at].forEach(o=>{t.registerComponent(o)})}st(A.pluginManager);exports._sfc_main=ae;exports._sfc_main$1=se;exports._sfc_main$2=ot;exports.capitalizeFirstLetter=ee;exports.convertKFormData=be;exports.debounce=ke;exports.deepClone=M;exports.deepCompareAndModify=N;exports.deepEqual=Y;exports.findSchemaById=we;exports.findSchemaInfoById=Se;exports.findSchemas=T;exports.generateNewSchema=he;exports.getDarkState=ue;exports.getFormFields=ye;exports.getFormSchemas=ne;exports.getMatchedById=te;exports.getUUID=z;exports.getValueByPath=ve;exports.initStore=de;exports.mapSchemas=oe;exports.recursionConvertedNode=$;exports.setValueByPath=ge;exports.useDark=ce;exports.useElementDrag=Ke;exports.useElementSize=ze;exports.useElementZoom=Ze;exports.useKeyPress=fe;exports.usePageManager=X;exports.useResizeObserver=ie;exports.useRevoke=re;exports.useStore=J;exports.useTheme=We;exports.useTimedQuery=Qe;exports.useVModel=Je;exports.watchOnce=Re;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),C=require("./index-BbHxNc1N.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,432 +0,0 @@
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-wltb2XZn.js";
3
- import { p as w } from "./axios-ITY6Uw7A.js";
4
- import { _ as D } from "./icon.vue_vue_type_script_setup_true_lang-D3QdcReY.js";
5
- import { d as ee } from "./vuedraggable.umd-D2S7Eo7p.js";
6
- import { _ as te } from "./tree.vue_vue_type_script_setup_true_lang-uR4G8wa_.js";
7
- const ne = { class: "epic-event-info" }, oe = ["title"], le = { class: "epic-event-btn text-lg flex items-center text-$epic-text-secondary" }, ae = { class: "epic-action-editor-main" }, se = { class: "epic-editor-item rounded" }, ie = { class: "w-36px flex items-center text-lg" }, ce = { class: "flex-1" }, de = { key: 0 }, ue = { key: 1 }, re = { key: 2 }, pe = { class: "epic-action-box text-lg text-$epic-text-medium" }, me = ["onClick"], ve = ["onClick"], fe = /* @__PURE__ */ U({
8
- __name: "EActionEditorItem",
9
- props: {
10
- itemEvents: {
11
- type: Array,
12
- default: () => []
13
- },
14
- allEvents: {
15
- type: Array,
16
- default: () => []
17
- },
18
- modelValue: {
19
- type: Object,
20
- default: () => []
21
- },
22
- events: {
23
- type: Object,
24
- default: () => ({})
25
- }
26
- },
27
- emits: ["add", "edit", "update:modelValue"],
28
- setup(b, { emit: k }) {
29
- const m = b, x = k, f = L("pageSchema");
30
- function V(v) {
31
- x("add", v);
32
- }
33
- function h(v) {
34
- return q(f.schemas, v).label;
35
- }
36
- function r(v, c) {
37
- var e;
38
- const l = n(c);
39
- l[c] = m.events[c].filter(($, N) => v !== N), (e = l[c]) != null && e.length || delete l[c], x("update:modelValue", l);
40
- }
41
- function u(v, c, l) {
42
- x("edit", v, c, l);
43
- }
44
- function n(v) {
45
- const c = {};
46
- return m.allEvents.forEach((l) => {
47
- if (!m.events[l.type].length || l.type === v)
48
- return !1;
49
- c[l.type] = m.events[l.type];
50
- }), c;
51
- }
52
- return (v, c) => (p(!0), g(A, null, T(b.itemEvents, (l) => (p(), g("div", {
53
- key: l.type,
54
- class: "epic-event-item"
55
- }, [
56
- i("div", ne, [
57
- i("div", {
58
- class: "epic-event-label",
59
- title: l.describe
60
- }, O(l.describe), 9, oe),
61
- i("div", le, [
62
- C(_(D), {
63
- name: "icon--epic--add-rounded",
64
- onClick: (e) => V(l.type)
65
- }, null, 8, ["onClick"])
66
- ])
67
- ]),
68
- i("div", ae, [
69
- C(_(ee), {
70
- modelValue: m.events[l.type],
71
- "onUpdate:modelValue": (e) => m.events[l.type] = e,
72
- "item-key": "id",
73
- "component-data": {
74
- type: "transition-group"
75
- },
76
- group: "option-list",
77
- handle: ".handle",
78
- animation: 200
79
- }, {
80
- item: R(({ element: e, index: $ }) => [
81
- i("div", se, [
82
- i("div", ie, [
83
- C(_(D), {
84
- class: "mr-2 text-lg cursor-move handle text-$epic-text-medium",
85
- name: "icon--epic--drag"
86
- })
87
- ]),
88
- i("div", ce, [
89
- e.type === "component" ? (p(), g("div", de, O(h(e.componentId)), 1)) : e.type === "custom" ? (p(), g("div", ue, " 自定义函数 ")) : e.type === "public" ? (p(), g("div", re, " 公共函数 ")) : G("", !0),
90
- J(" " + O(e.methodName), 1)
91
- ]),
92
- i("div", pe, [
93
- i("div", {
94
- class: "epic-edit-btn",
95
- onClick: (N) => u($, l.type, e)
96
- }, [
97
- C(_(D), { name: "icon--epic--page-info-outline-rounded" })
98
- ], 8, me),
99
- i("div", {
100
- class: "epic-del-btn",
101
- onClick: (N) => r($, l.type)
102
- }, [
103
- C(_(D), { name: "icon--epic--delete-outline-rounded" })
104
- ], 8, ve)
105
- ])
106
- ])
107
- ]),
108
- _: 2
109
- }, 1032, ["modelValue", "onUpdate:modelValue"])
110
- ])
111
- ]))), 128));
112
- }
113
- }), he = { class: "h-full flex flex-col" }, ge = /* @__PURE__ */ U({
114
- __name: "EScriptEdit",
115
- setup(b) {
116
- const k = w.getComponent("monacoEditor"), m = {
117
- theme: "vs-light",
118
- selectOnLineNumbers: !0,
119
- minimap: {
120
- enabled: !1
121
- }
122
- }, x = E(null), f = L("pageSchema");
123
- return (V, h) => (p(), g("div", he, [
124
- h[1] || (h[1] = i("div", { class: "pb-2" }, " 自定义函数编辑 ", -1)),
125
- C(_(k), {
126
- ref_key: "monacoEditorRef",
127
- ref: x,
128
- autoToggleTheme: "",
129
- modelValue: _(f).script,
130
- "onUpdate:modelValue": h[0] || (h[0] = (r) => _(f).script = r),
131
- class: "epic-editor flex-1",
132
- config: m,
133
- language: "javascript"
134
- }, null, 8, ["modelValue"])
135
- ]));
136
- }
137
- }), _e = { class: "epic-attribute-view" }, ye = ["title"], xe = { class: "epic-attr-input" }, Ie = /* @__PURE__ */ U({
138
- __name: "EArgsEditor",
139
- props: {
140
- modelValue: {},
141
- actionArgsConfigs: {}
142
- },
143
- emits: ["update:modelValue"],
144
- setup(b, { emit: k }) {
145
- const m = b, x = k, f = S(() => m.modelValue ? JSON.parse(m.modelValue) : []);
146
- function V(r) {
147
- var u;
148
- return typeof r.show == "boolean" ? r.show : typeof r.show == "function" ? (u = r.show) == null ? void 0 : u.call(r, { values: f.value }) : !0;
149
- }
150
- function h(r, u) {
151
- const n = [
152
- ...JSON.parse(m.modelValue ?? "[]")
153
- ];
154
- n[u] = r, x("update:modelValue", JSON.stringify(n));
155
- }
156
- return (r, u) => (p(), g("div", _e, [
157
- (p(!0), g(A, null, T(m.actionArgsConfigs, (n) => (p(), g("div", {
158
- key: n.field + n.type
159
- }, [
160
- F(i("div", {
161
- class: j(["epic-attr-item", n.layout])
162
- }, [
163
- i("div", {
164
- class: "epic-attr-label",
165
- title: n.label
166
- }, O(n.label), 9, ye),
167
- i("div", xe, [
168
- C(_(X), {
169
- componentSchema: { ...n, componentProps: { ...n.componentProps, input: !1, field: void 0, hidden: !1 }, show: !0, noFormItem: !0 },
170
- "model-value": f.value[n.field],
171
- "onUpdate:modelValue": (v) => h(v, n.field)
172
- }, null, 8, ["componentSchema", "model-value", "onUpdate:modelValue"])
173
- ])
174
- ], 2), [
175
- [P, V(n)]
176
- ])
177
- ]))), 128))
178
- ]));
179
- }
180
- }), Ce = { class: "rounded epic-modal-action-main" }, Ve = { class: "epic-modal-left-panel h-full flex flex-col" }, ke = { class: "flex flex-1 h-0 flex-col" }, be = { class: "flex-1 h-0" }, Ee = { class: "epic-action-select h-30/100 flex flex-col" }, $e = { class: "flex-1 overflow-auto pr-8px" }, Ne = ["onClick"], Se = { class: "text-center pt-42px text-gray-400" }, we = { class: "epic-modal-right-panel" }, Oe = {
181
- key: 1,
182
- class: "text-center pt-42px text-gray-400"
183
- }, Ae = /* @__PURE__ */ U({
184
- __name: "EActionModal",
185
- emits: ["add", "edit"],
186
- setup(b, { expose: k, emit: m }) {
187
- const x = w.getComponent("modal"), f = E(!0), V = L("pageSchema"), h = L("pageManager", {}), r = E(!1), u = E([]), n = E(null), v = m, c = S(() => {
188
- var o;
189
- return e.actionItem.type === "component" ? n.value ? (o = w.getComponentConfings()[n.value.type].config.action) == null ? void 0 : o.map((t) => ({
190
- label: t.describe,
191
- value: t.type
192
- })) : [] : e.actionItem.type === "custom" ? Object.entries(h.funcs.value).filter(([t, I]) => typeof I == "function").map(([t]) => ({ label: t, value: t })) : e.actionItem.type === "public" ? Object.entries(w.publicMethods).map(([t]) => ({
193
- label: t,
194
- value: t
195
- })) : [];
196
- }), l = S(() => {
197
- if (e.actionItem.type === "component" && n.value) {
198
- const o = w.getComponentConfings()[n.value.type].config.action, t = o == null ? void 0 : o.find(
199
- (I) => I.type === e.actionItem.methodName
200
- );
201
- if (t != null && t.argsConfigs) {
202
- const I = t.argsConfigs.findIndex(
203
- (y) => y.label === "设置数据"
204
- );
205
- I !== -1 && (t.argsConfigs[I] = {
206
- ...n.value,
207
- label: "设置数据",
208
- field: "0",
209
- id: Y()
210
- });
211
- }
212
- return (t == null ? void 0 : t.argsConfigs) ?? [];
213
- }
214
- return [];
215
- }), e = H({
216
- actionItem: {
217
- type: "custom",
218
- methodName: "test",
219
- componentId: null
220
- },
221
- cacheData: {}
222
- });
223
- function $() {
224
- var o;
225
- r.value = !0, f.value = !0, e.actionItem.type = "custom", e.actionItem.componentId = null, (o = c.value) != null && o.length && d(c.value[0].value);
226
- }
227
- function N(o) {
228
- if (r.value = !0, f.value = !1, n.value = null, o.componentId) {
229
- const t = q(V.schemas, o.componentId);
230
- n.value = t, u.value = [o.componentId];
231
- }
232
- Q(() => {
233
- e.actionItem.componentId = o.componentId, e.actionItem.methodName = o.methodName, e.actionItem.type = o.type, e.actionItem.args = o.args;
234
- });
235
- }
236
- function B() {
237
- if (!e.actionItem.methodName) {
238
- alert("请先选择动作方法");
239
- return;
240
- }
241
- v(f.value ? "add" : "edit", Z(z(e.actionItem))), M();
242
- }
243
- function M() {
244
- r.value = !1, u.value = [], e.cacheData = {};
245
- }
246
- function s(o) {
247
- var t;
248
- e.actionItem.componentId = null, e.actionItem.type = o, n.value = null, e.actionItem.methodName = null, u.value = [], (t = c.value) != null && t.length && d(c.value[0].value);
249
- }
250
- function a(o) {
251
- var t;
252
- e.actionItem.args && (e.cacheData[e.actionItem.componentId + e.actionItem.methodName] = e.actionItem.args), e.actionItem.componentId = o.id, e.actionItem.type = "component", e.actionItem.methodName = null, n.value = o.componentSchema, (t = c.value) != null && t.length && d(c.value[0].value);
253
- }
254
- function d(o) {
255
- e.actionItem.methodName = o, e.actionItem.args = e.cacheData[e.actionItem.componentId + e.actionItem.methodName];
256
- }
257
- return k({
258
- handleOpen: $,
259
- handleOpenEdit: N
260
- }), (o, t) => (p(), K(_(x), {
261
- modelValue: r.value,
262
- "onUpdate:modelValue": t[4] || (t[4] = (I) => r.value = I),
263
- class: "w-1200px",
264
- width: "1200px",
265
- onClose: M,
266
- onOk: B,
267
- title: "动作配置"
268
- }, {
269
- default: R(() => {
270
- var I;
271
- return [
272
- i("div", Ce, [
273
- i("div", Ve, [
274
- i("div", ke, [
275
- i("div", {
276
- class: j(["fun-btn", { checked: e.actionItem.type === "custom" }]),
277
- onClick: t[0] || (t[0] = (y) => s("custom"))
278
- }, " 自定义函数 ", 2),
279
- i("div", {
280
- class: j(["fun-btn", { checked: e.actionItem.type === "public" }]),
281
- onClick: t[1] || (t[1] = (y) => s("public"))
282
- }, " 公共函数 ", 2),
283
- t[5] || (t[5] = J(" 组件 ")),
284
- i("div", be, [
285
- C(_(te), {
286
- selectedKeys: u.value,
287
- "onUpdate:selectedKeys": t[2] || (t[2] = (y) => u.value = y),
288
- options: _(V).schemas,
289
- onNodeClick: a
290
- }, null, 8, ["selectedKeys", "options"])
291
- ])
292
- ]),
293
- i("div", Ee, [
294
- t[6] || (t[6] = i("div", { class: "mb-2" }, "动作选择", -1)),
295
- i("div", $e, [
296
- (p(!0), g(A, null, T(c.value, (y) => (p(), g("div", {
297
- class: j([{ checked: y.value === e.actionItem.methodName }, "epic-action-item"]),
298
- onClick: (Ue) => d(y.value),
299
- key: y.value
300
- }, [
301
- i("span", null, O(y.label), 1)
302
- ], 10, Ne))), 128)),
303
- F(i("div", Se, " 当前组件暂无动作 ", 512), [
304
- [P, !((I = c.value) != null && I.length)]
305
- ])
306
- ])
307
- ])
308
- ]),
309
- i("div", we, [
310
- e.actionItem.type === "custom" ? (p(), K(ge, { key: 0 })) : l.value.length === 0 ? (p(), g("div", Oe, " 暂无配置 ")) : (p(), K(Ie, {
311
- key: 2,
312
- modelValue: e.actionItem.args,
313
- "onUpdate:modelValue": t[3] || (t[3] = (y) => e.actionItem.args = y),
314
- actionArgsConfigs: l.value
315
- }, null, 8, ["modelValue", "actionArgsConfigs"]))
316
- ])
317
- ])
318
- ];
319
- }),
320
- _: 1
321
- }, 8, ["modelValue"]));
322
- }
323
- }), Te = /* @__PURE__ */ U({
324
- __name: "index",
325
- props: {
326
- eventList: {
327
- type: Array,
328
- default: () => []
329
- },
330
- modelValue: {
331
- type: Object
332
- }
333
- },
334
- emits: ["update:modelValue"],
335
- setup(b, { emit: k }) {
336
- const m = w.getComponent("Collapse"), x = w.getComponent("CollapseItem"), f = E(null);
337
- let V = 0;
338
- const h = b, r = k, u = S({
339
- get() {
340
- return h.modelValue;
341
- },
342
- set(s) {
343
- r("update:modelValue", s);
344
- }
345
- }), n = E([]), v = S(() => h.eventList.filter((s) => s.events.length)), c = S(() => h.eventList.map((s) => s.events).flat()), l = E({});
346
- c.value.forEach((s) => {
347
- l.value[s.type] = S({
348
- get() {
349
- var a;
350
- return ((a = u.value) == null ? void 0 : a[s.type]) ?? [];
351
- },
352
- set(a) {
353
- a && a.length ? u.value[s.type] = a.map((d) => z(d)) : delete u.value[s.type];
354
- }
355
- });
356
- }), W(() => v.value, (s) => {
357
- s.length && (n.value = s.filter((a) => {
358
- for (let d = 0; d < a.events.length; d++) {
359
- const o = a.events[d].type;
360
- if (l.value[o].length)
361
- return !0;
362
- }
363
- return !1;
364
- }).map((a) => a.title));
365
- }, {
366
- // 配置选项
367
- immediate: !0
368
- // 立即执行一次回调函数
369
- });
370
- let e = "";
371
- function $(s) {
372
- var a;
373
- (a = f.value) == null || a.handleOpen(), e = s;
374
- }
375
- function N(s, a, d) {
376
- var o;
377
- (o = f.value) == null || o.handleOpenEdit(d), V = s, e = a;
378
- }
379
- function B(s) {
380
- l.value[e][V] = s, u.value[e] = [...l.value[e] ?? []];
381
- }
382
- function M(s) {
383
- if (!u.value) {
384
- u.value = { [e]: [...l.value[e] ?? [], s] };
385
- return;
386
- }
387
- u.value[e] = [...l.value[e] ?? [], s];
388
- }
389
- return (s, a) => (p(), g(A, null, [
390
- C(_(m), {
391
- modelValue: n.value,
392
- "onUpdate:modelValue": a[1] || (a[1] = (d) => n.value = d),
393
- activeKey: n.value,
394
- "onUpdate:activeKey": a[2] || (a[2] = (d) => n.value = d),
395
- "expanded-names": n.value,
396
- "onUpdate:expandedNames": a[3] || (a[3] = (d) => n.value = d)
397
- }, {
398
- default: R(() => [
399
- (p(!0), g(A, null, T(v.value, (d) => (p(), K(_(x), {
400
- key: d.title,
401
- title: d.title,
402
- header: d.title,
403
- name: d.title
404
- }, {
405
- default: R(() => [
406
- C(fe, {
407
- modelValue: u.value,
408
- "onUpdate:modelValue": a[0] || (a[0] = (o) => u.value = o),
409
- "item-events": d.events,
410
- "all-events": c.value,
411
- events: l.value,
412
- onAdd: $,
413
- onEdit: N
414
- }, null, 8, ["modelValue", "item-events", "all-events", "events"])
415
- ]),
416
- _: 2
417
- }, 1032, ["title", "header", "name"]))), 128))
418
- ]),
419
- _: 1
420
- }, 8, ["modelValue", "activeKey", "expanded-names"]),
421
- C(Ae, {
422
- ref_key: "EActionModalRef",
423
- ref: f,
424
- onAdd: M,
425
- onEdit: B
426
- }, null, 512)
427
- ], 64));
428
- }
429
- });
430
- export {
431
- Te as default
432
- };
@@ -1,41 +0,0 @@
1
- import { defineComponent as u, ref as p, inject as d, watch as f, toRaw as m, openBlock as g, createElementBlock as _, createVNode as h, unref as r } from "vue";
2
- import { p as N } from "./axios-ITY6Uw7A.js";
3
- import { o as y, d as k } from "./index-wltb2XZn.js";
4
- const E = { class: "epic-sound-code" }, R = /* @__PURE__ */ u({
5
- __name: "index",
6
- setup(O) {
7
- const c = N.getComponent("monacoEditor"), a = p(null), t = d("designer"), s = d("designerProps");
8
- let n = {};
9
- f(() => t.state.checkedNode, (e) => {
10
- var o;
11
- y(n, m(e)) || (o = a.value) == null || o.setValue(JSON.stringify(e, null, 2));
12
- }, {
13
- deep: !0
14
- });
15
- const l = JSON.stringify(t.state.checkedNode, null, 2);
16
- function i(e) {
17
- try {
18
- if (!t.state.checkedNode)
19
- return !1;
20
- n = JSON.parse(e), k(t.state.checkedNode, n);
21
- } catch (o) {
22
- console.warn("[epic-desinger:源码]异常:", o);
23
- }
24
- }
25
- return (e, o) => (g(), _("div", E, [
26
- h(r(c), {
27
- ref_key: "monacoEditorRef",
28
- ref: a,
29
- autoToggleTheme: "",
30
- class: "epic-editor",
31
- readOnly: r(s).sourceCodeReadOnly,
32
- "model-value": r(l),
33
- lineNumbers: "off",
34
- "onUpdate:modelValue": i
35
- }, null, 8, ["readOnly", "model-value"])
36
- ]));
37
- }
38
- });
39
- export {
40
- R as default
41
- };
@@ -1,4 +0,0 @@
1
- import { _ as f } from "./index-wltb2XZn.js";
2
- export {
3
- f as default
4
- };