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