epic-designer-gold 1.0.0 → 1.0.2
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-BhPj8bSe.js → attributeView-B-IswSw7.js} +1 -1
- package/dist/{attributeView-C9gY9X-c.cjs → attributeView-CQBVIMGW.cjs} +1 -1
- package/dist/{col-0rmM8on4.js → col-D4hvKfJ6.js} +1 -3
- package/dist/col-Dy6oYMf5.js +41 -0
- package/dist/col-RWuL5Zuz.cjs +1 -0
- package/dist/index-B4ido7VJ.cjs +1 -0
- package/dist/{index-DMDLjlCJ.js → index-BGvqo4s7.js} +1 -1
- package/dist/{index-DpitV6qp.cjs → index-BMtRXkSh.cjs} +1 -1
- package/dist/{index-CvF1WVts.cjs → index-BXO8Zj1H.cjs} +1 -1
- package/dist/{index-DNuLy9hB.js → index-B_9x_cPH.js} +6 -6
- package/dist/{index-efmvTLGJ.js → index-B_TFfRwe.js} +1 -1
- package/dist/{index-N_JBxsiO.js → index-C3_E7xcD.js} +1 -1
- package/dist/{index-C2HMY2I2.cjs → index-C3a1hfUC.cjs} +2 -2
- package/dist/{index-CE9DjYAW.cjs → index-CYDtBJTI.cjs} +1 -1
- package/dist/{index-BmqAqj29.cjs → index-CvEzOhT_.cjs} +1 -1
- package/dist/{index-3ndHV3fl.js → index-DJxuHxdI.js} +1 -1
- package/dist/{index-DtWX93JN.js → index-DKVv0PbJ.js} +1 -1
- package/dist/{index-Cw3VVR9A.js → index-DLMH0OSJ.js} +1 -1
- package/dist/{index-G-yqaciQ.cjs → index-DSzJgAzW.cjs} +1 -1
- package/dist/index-DkyxbMHi.js +742 -0
- package/dist/{index-F6atymcD.cjs → index-Dyo12Kua.cjs} +1 -1
- package/dist/{index-BA5cmAC5.cjs → index-Dz1OM1dD.cjs} +1 -1
- package/dist/index-aBofZ4Mk.js +4 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/row-Bm8OjIsU.cjs +1 -0
- package/dist/row-qOviQw5w.js +45 -0
- package/dist/select-BvJWp4t6.cjs +1 -0
- package/dist/select-CjWTf5kk.js +45 -0
- package/dist/{sign-Cn6LXVcp.cjs → sign--js815Se.cjs} +1 -1
- package/dist/{sign-BJBURbHk.js → sign-CO47QOTw.js} +1 -1
- package/dist/style.css +1 -1
- package/dist/{styleView-SPW99MRS.js → styleView-BLVqzqPV.js} +1 -1
- package/dist/{styleView-Dew56dxa.cjs → styleView-C1zTBeyd.cjs} +1 -1
- package/dist/table-CnBJm7Bx.js +43 -0
- package/dist/table-DM2-xHlv.cjs +1 -0
- package/dist/text-C-52xLjs.js +33 -0
- package/dist/text-X9fl5oe8.cjs +1 -0
- package/dist/ui/elementPlus/index.cjs +1 -1
- package/dist/ui/elementPlus/index.js +347 -27
- package/dist/ui/elementPlus/table/index.d.ts +3 -0
- package/dist/ui/elementPlus/table/table.d.ts +20 -0
- package/dist/ui/elementPlus/table-col/col.d.ts +20 -0
- package/dist/ui/elementPlus/table-col/index.d.ts +3 -0
- package/dist/ui/elementPlus/table-row/index.d.ts +3 -0
- package/dist/ui/elementPlus/table-row/row.d.ts +20 -0
- package/dist/ui/elementPlus/text/index.d.ts +3 -0
- package/dist/ui/elementPlus/text/text.d.ts +20 -0
- package/package.json +1 -1
- package/dist/index-B45xlt7e.js +0 -4
- package/dist/index-CshPxldv.js +0 -675
- package/dist/index-iQ5ZEvrv.cjs +0 -1
- package/dist/select-BCX_FOhw.js +0 -36
- package/dist/select-Cnp3LxNc.cjs +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent as S, inject as i, computed as V, ref as P, watchEffect as C, openBlock as l, createElementBlock as s, Fragment as N, renderList as D, normalizeClass as m, toDisplayString as E, createCommentVNode as y, createElementVNode as U, createVNode as B, unref as f, nextTick as v } from "vue";
|
|
2
|
-
import { _ as x, o as g, s as h } from "./index-
|
|
2
|
+
import { _ as x, o as g, s as h } from "./index-B_9x_cPH.js";
|
|
3
3
|
import { p as z } from "./js.cookie-oHpRFPCO.js";
|
|
4
4
|
const F = ["title"], M = /* @__PURE__ */ S({
|
|
5
5
|
__name: "attributeView",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),l=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),l=require("./index-C3a1hfUC.cjs"),v=require("./js.cookie-BH1G_HRi.cjs"),k=["title"],g=e.defineComponent({__name:"attributeView",setup(b){const s=e.inject("designer"),d=e.inject("pageSchema"),p=e.inject("revoke"),f=v.pluginManager.getComponentConfings(),c=e.computed(()=>s.state.checkedNode);function h(n){var a;return typeof n.show=="boolean"?n.show:typeof n.show=="function"?(a=n.show)==null?void 0:a.call(n,{values:c.value}):!0}const u=e.ref([]);e.watchEffect(()=>{var o,t,r;const n=(o=s.state.checkedNode)==null?void 0:o.type;if(!s.state.checkedNode||!n)return[];const a=((t=f[n])==null?void 0:t.config.attribute)??[];u.value=[{label:"组件ID",type:"input",field:"id",componentProps:{disabled:!0}},...a],s.state.checkedNode.id===((r=d.schemas[0])==null?void 0:r.id)&&u.value.push({label:"画布宽度",type:"EInputSize",field:"canvas.width",editData:d},{label:"画布高度",type:"EInputSize",field:"canvas.height",editData:d})});function y(n,a,o,t=c.value){typeof o.onChange=="function"&&o.onChange({value:n,values:t,componentAttributes:u}),o.changeSync?l.setValueByPath(t,a,n):e.nextTick(()=>{l.setValueByPath(t,a,n)}),p.push(d.schemas,"编辑组件属性")}function m(n,a,o=c.value){e.nextTick(()=>{l.setValueByPath(o,"componentProps.dynamicId",n)})}return(n,a)=>{var o;return e.openBlock(),e.createElementBlock("div",{class:"epic-attribute-view",key:(o=c.value)==null?void 0:o.id},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,t=>{var r;return e.openBlock(),e.createElementBlock("div",{key:t.field},[h(t)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["epic-attr-item",t.layout])},[t.label?(e.openBlock(),e.createElementBlock("div",{key:0,class:"epic-attr-label",title:t.label},e.toDisplayString(t.label),9,k)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["epic-attr-input",{"block!":t.layout==="vertical"}])},[e.createVNode(e.unref(l._sfc_main),{componentSchema:{...t,componentProps:{...t.componentProps,...t.field==="componentProps.defaultValue"?(r=c.value)==null?void 0:r.componentProps:{},input:!1,field:void 0,hidden:!1},show:!0,noFormItem:!0},dynamicId:e.unref(l.getValueByPath)(t.editData??c.value,"componentProps.dynamicId"),"model-value":e.unref(l.getValueByPath)(t.editData??c.value,t.field),"onUpdate:modelValue":i=>y(i,t.field,t,t.editData),"onUpdate:dynamicId":i=>m(i)},null,8,["componentSchema","dynamicId","model-value","onUpdate:modelValue","onUpdate:dynamicId"])],2)],2)):e.createCommentVNode("",!0)])}),128))])}}});exports.default=g;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { defineComponent as d, h as l, renderSlot as c } from "vue";
|
|
2
|
+
import { ElCol as p } from "element-plus";
|
|
3
|
+
const u = d({
|
|
4
|
+
props: {
|
|
5
|
+
componentSchema: {
|
|
6
|
+
type: Object,
|
|
7
|
+
required: !0,
|
|
8
|
+
default: () => ({})
|
|
9
|
+
}
|
|
10
|
+
},
|
|
11
|
+
setup(t, { attrs: a, slots: n }) {
|
|
12
|
+
return () => {
|
|
13
|
+
var o;
|
|
14
|
+
const e = {
|
|
15
|
+
...t.componentSchema,
|
|
16
|
+
title: (o = t.componentSchema) == null ? void 0 : o.label
|
|
17
|
+
}, r = e.children ?? [];
|
|
18
|
+
return delete e.children, l(
|
|
19
|
+
p,
|
|
20
|
+
{
|
|
21
|
+
...e,
|
|
22
|
+
style: {
|
|
23
|
+
// border: "1px dashed #333",
|
|
24
|
+
padding: "8px"
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
default: () => c(
|
|
29
|
+
n,
|
|
30
|
+
"edit-node",
|
|
31
|
+
{},
|
|
32
|
+
() => r.map((m) => c(n, "node", { componentSchema: m }))
|
|
33
|
+
)
|
|
34
|
+
}
|
|
35
|
+
);
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
export {
|
|
40
|
+
u as default
|
|
41
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),d=require("element-plus"),u=e.defineComponent({props:{componentSchema:{type:Object,required:!0,default:()=>({})}},setup(n,{attrs:a,slots:o}){return()=>{var r;const t={...n.componentSchema,title:(r=n.componentSchema)==null?void 0:r.label},c=t.children??[];return delete t.children,e.h(d.ElCol,{...t,style:{padding:"8px"}},{default:()=>e.renderSlot(o,"edit-node",{},()=>c.map(l=>e.renderSlot(o,"node",{componentSchema:l})))})}}});exports.default=u;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),I=require("./js.cookie-BH1G_HRi.cjs"),y=require("./index-C3a1hfUC.cjs"),U=require("./icon.vue_vue_type_script_setup_true_lang-DJbUD5AQ.cjs"),oe=require("./vuedraggable.umd-BqhSJIAi.cjs"),le={class:"epic-widget-action-item whitespace-nowrap"},ae={key:0,class:"flex items-center"},re=e.defineComponent({__name:"previewWidgets",setup(F,{expose:$}){const p=e.inject("pageManager",{}),g=e.inject("pageSchema"),l=e.inject("designer"),b=e.inject("designerProps"),c=e.inject("revoke"),h=e.ref(null),B=e.ref(null),N=e.ref(null),R=e.ref(!1),a=e.ref(!1),r=e.ref(!0),i=e.ref("top"),{canvasScale:s,disabledZoom:S}=y.useStore();let o=null;const O=e.computed(()=>{const t=l.state.checkedNode;return!(!(t!=null&&t.id)||b.value.lockDefaultSchemaEdit&&p.defaultComponentIds.value.includes(t==null?void 0:t.id)||t.type==="table-col")}),L=e.computed(()=>{const t=l.state.checkedNode;return(t==null?void 0:t.type)==="table-col"}),V=e.computed(()=>{const t=l.state.checkedNode;return(t==null?void 0:t.type)==="table"}),m=e.computed(()=>{var v,C,_,u,M,j;const t=p.componentInstances.value,d=(v=l.state.checkedNode)==null?void 0:v.id;if((_=(C=l.state.checkedNode)==null?void 0:C.componentProps)!=null&&_.hidden)return null;const f=I.pluginManager.getComponentConfingByType((u=l.state.checkedNode)==null?void 0:u.type)??null;if(!d||!(t!=null&&t[d]))return null;if(f!=null&&f.defaultSchema.input&&((M=l.state.checkedNode)==null?void 0:M.noFormItem)!==!0)return(j=t[d+"formItem"])==null?void 0:j.$el;const n=t[d];return!(n!=null&&n.$el)||(n==null?void 0:n.$el.nodeName)==="#text"||!(n!=null&&n.$el.getBoundingClientRect)?null:n==null?void 0:n.$el}),k=e.computed(()=>{var v,C,_,u;const t=p.componentInstances.value,d=(v=l.state.hoverNode)==null?void 0:v.id,f=I.pluginManager.getComponentConfingByType((C=l.state.hoverNode)==null?void 0:C.type)??null;if(!d||!(t!=null&&t[d]))return null;if(f!=null&&f.defaultSchema.input&&((_=l.state.hoverNode)==null?void 0:_.noFormItem)!==!0)return(u=t[d+"formItem"])==null?void 0:u.$el;const n=t[d];return(n==null?void 0:n.$el.nodeName)==="#text"?null:n==null?void 0:n.$el}),{mutationObserver:x,observerConfig:z}=Q(J),{startTimedQuery:W,stopTimedQuery:E}=y.useTimedQuery(J);e.watch(()=>m.value,t=>{if(t){R.value=!0,x.observe(t,z);const d=t.parentNode;d&&(d.ondragstart=()=>{r.value=!1,W()},d.ondragend=()=>{r.value=!0,E()}),J()}else R.value=!1});const{mutationObserver:w,observerConfig:T}=Q(Z);e.watch(()=>k.value,t=>{t&&(w.observe(t,T),Z())});let D=0;e.watch(()=>{var t;return(t=l.state.hoverNode)==null?void 0:t.id},t=>{if(t){a.value=!0,clearTimeout(D);return}D=setTimeout(()=>{a.value=!1},300)});let A=0,H=0;function J(){const t=m.value;if(!t||!o)return;const{top:d,left:f}=o==null?void 0:o.getBoundingClientRect(),{top:n,left:v,width:C,height:_}=t.getBoundingClientRect(),u=S.value?1:s.value,M=n-d+((o==null?void 0:o.scrollTop)??0)*u,j=v-f+((o==null?void 0:o.scrollLeft)??0)*u,P=_/u;h.value&&(h.value.style.width=`${C/u}px`,h.value.style.height=`${P}px`,h.value.style.top=`${M/u}px`,h.value.style.left=`${j/u}px`,X(M,j)),N.value&&(M<45&&P<100?(N.value.style.top="",N.value.style.bottom="-30px",N.value.style["border-radius"]="0px 0px 4px 4px",i.value="bottom"):M<45?(N.value.style.top="0px",N.value.style["border-radius"]="0px 0px 4px 0",i.value="center"):(N.value.style.top="-30px",N.value.style["border-radius"]="4px 4px 0px 0px",i.value="top"))}function X(t,d){const f=m.value;if(!o||!f)return;const n=o.getBoundingClientRect(),{width:v}=f.getBoundingClientRect(),C=S.value?1:s.value,_=t/C-n.top;let u=d/C-n.left+v/C;u<n.width&&(u=0);const M=o.scrollTop-n.height/3+60,j=o.scrollTop+n.height/3*2,P=o.scrollLeft-n.width+200,q=o.scrollLeft+n.width-200;Math.abs(_-A)<10&&Math.abs(u-H)<10||(A=_,H=u,!(_>M&&_<j&&u>P&&u<q)&&(o.scrollTop=_,o.scrollLeft=u))}function Z(){var P,q;const t=k.value;if(!t)return;const{top:d,left:f}=(o==null?void 0:o.getBoundingClientRect())??{top:0,left:0},{top:n,left:v,width:C,height:_}=((P=t.getBoundingClientRect)==null?void 0:P.call(t))??((q=t.nextElementSibling)==null?void 0:q.getBoundingClientRect()),u=S.value?1:s.value,M=n-d+((o==null?void 0:o.scrollTop)??0)*u,j=v-f+((o==null?void 0:o.scrollLeft)??0)*u;B.value&&(B.value.style.width=`${C/u}px`,B.value.style.height=`${_/u}px`,B.value.style.top=`${M/u}px`,B.value.style.left=`${j/u}px`)}function Q(t){const d=window.MutationObserver,f={childList:!0,attributes:!0,subtree:!0};return{mutationObserver:new d(t),observerConfig:f}}function Y(){var n,v;const t=y.findSchemaInfoById(g.schemas,((n=l.state.checkedNode)==null?void 0:n.id)??"root");if(!t||!t.list||!t.list.length||!t.list[0].children||!t.list[0].children.length)return!1;let d=JSON.parse(JSON.stringify((v=t.list[0])==null?void 0:v.children[0]));d.children.forEach((C,_)=>{d.children[_].children=[]});const f=y.generateNewSchema(d);t.list[0].children.push(f),l.setCheckedNode(f),c.push(g.schemas,"表格增加一行")}function G(){var f,n,v,C;const t=y.findSchemaInfoById(g.schemas,((f=l.state.checkedNode)==null?void 0:f.id)??"root");if(!((n=t==null?void 0:t.list)!=null&&n.length)||!((C=(v=t.list[0])==null?void 0:v.children)!=null&&C.length))return!1;t.list[0].children.forEach(_=>{const u=_.children.length+1,M=Math.floor(24/u);_.children.forEach(j=>{j.componentProps.span=M}),_.children.push(y.generateNewSchema({type:"table-col",children:[],componentProps:{span:M}}))}),c.push(g.schemas,"表格增加一列")}function ee(){var C;const t=y.findSchemaInfoById(g.schemas,((C=l.state.checkedNode)==null?void 0:C.id)??"root");if(!t)return!1;const{list:d,schema:f,index:n}=t,v=y.generateNewSchema(f);d.splice(n+1,0,v),l.setCheckedNode(v),c.push(g.schemas,"复制组件")}function te(){var v;const t=y.findSchemaInfoById(g.schemas,((v=l.state.checkedNode)==null?void 0:v.id)??"root");if(!t)return!1;let{list:d,schema:f,index:n}=t;d.splice(n,1),n===d.length&&n--,l.setCheckedNode(d[n]),c.push(g.schemas,"删除组件")}function ne(t){o=t,o==null||o.addEventListener("scroll",()=>{J()}),y.useResizeObserver(m,J),y.useResizeObserver(k,Z)}return $({handleInit:ne}),(t,d)=>{var f,n,v,C,_;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.withDirectives(e.createElementVNode("div",{ref_key:"selectorRef",ref:h,class:e.normalizeClass(["epic-checked-widget absolute pointer-events-none z-20",i.value+" "+(r.value?"transition-all":"")])},[e.createElementVNode("div",{class:"epic-widget-action-box",ref_key:"actionBoxRef",ref:N},[e.createElementVNode("div",le,e.toDisplayString((n=e.unref(I.pluginManager).getComponentConfingByType(((f=e.unref(l).state.checkedNode)==null?void 0:f.type)??""))==null?void 0:n.defaultSchema.label),1),O.value||V.value||L.value?(e.openBlock(),e.createElementBlock("div",ae,[O.value?(e.openBlock(),e.createElementBlock("div",{key:0,title:"复制",class:"epic-widget-action-item pointer-events-auto",onClick:ee},[e.createVNode(e.unref(U._sfc_main),{name:"icon--epic--copy-all-outline-rounded"})])):e.createCommentVNode("",!0),V.value?(e.openBlock(),e.createElementBlock("div",{key:1,title:"插入新行",class:"epic-widget-action-item pointer-events-auto",onClick:Y},[e.createVNode(e.unref(U._sfc_main),{name:"icon--epic--account-tree-outline-rounded"})])):e.createCommentVNode("",!0),V.value?(e.openBlock(),e.createElementBlock("div",{key:2,title:"插入新列",class:"epic-widget-action-item pointer-events-auto",onClick:G,style:{transform:"rotate(270deg)"}},[e.createVNode(e.unref(U._sfc_main),{name:"icon--epic--account-tree-outline-rounded"})])):e.createCommentVNode("",!0),O.value?(e.openBlock(),e.createElementBlock("div",{key:3,title:"删除",class:"epic-widget-action-item pointer-events-auto",onClick:te},[e.createVNode(e.unref(U._sfc_main),{name:"icon--epic--delete-outline-rounded"})])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)],512)],2),[[e.vShow,R.value&&((v=e.unref(l).state.checkedNode)==null?void 0:v.id)!=="root"]]),e.withDirectives(e.createElementVNode("div",{ref_key:"hoverWidgetRef",ref:B,class:"epic-hover-widget absolute transition-all pointer-events-none z-998"},null,512),[[e.vShow,a.value&&((C=e.unref(l).state.checkedNode)==null?void 0:C.id)!==((_=e.unref(l).state.hoverNode)==null?void 0:_.id)]])],64)}}}),se=e.defineComponent({name:"EditNodeItem",__name:"editNodeItem",props:{schemas:{}},emits:["update:schemas"],setup(F,{emit:$}){const p=e.inject("designer"),g=e.inject("pageSchema"),l=e.inject("revoke"),b=F,c=$,h=e.computed({get(){return b.schemas},set(r){c("update:schemas",r)}});function B(r){p.setCheckedNode(h.value[r]),p.setDisableHover(!0)}function N(){p.setDisableHover(),l.push(g.schemas,"拖拽组件")}function R(){l.push(g.schemas,"插入组件")}function a(r){var i,s,S;return r.id===((i=g.schemas[0])==null?void 0:i.id)||(S=(s=I.pluginManager.getComponentConfingByType(r.type))==null?void 0:s.editConstraints)!=null&&S.immovable?"unmover-item":"draggable-item"}return(r,i)=>(e.openBlock(),e.createBlock(e.unref(oe.draggable),e.mergeProps({modelValue:h.value,"onUpdate:modelValue":i[0]||(i[0]=s=>h.value=s),"item-key":"id","component-data":{type:"transition-group"},class:"epic-draggable-range"},{animation:200,group:"edit-draggable",handle:".draggable-item",ghostClass:"moveing"},{onStart:i[1]||(i[1]=s=>B(s.oldIndex)),onEnd:i[2]||(i[2]=s=>N()),onAdd:i[3]||(i[3]=s=>{B(s.newIndex),R()})}),{item:e.withCtx(({element:s,index:S})=>[(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["widget-box",a(s)]),key:S},[e.createVNode(K,{schema:s},null,8,["schema"])],2))]),_:1},16,["modelValue"]))}}),K=e.defineComponent({name:"ENodeItem",__name:"nodeItem",props:{schema:{},name:{}},setup(F){const $=e.useAttrs(),p=e.inject("designer"),g=e.inject("pageManager",{}),l=e.inject("pageSchema",{}),b=e.ref(null);e.provide("nodeAttrs",$);const c=F,h=e.computed(()=>{var S,o,O,L,V;const a=g.componentInstances.value,r=(S=c.schema)==null?void 0:S.id,i=I.pluginManager.getComponentConfingByType((o=c.schema)==null?void 0:o.type)??null;if(!r||!(a!=null&&a[r]))return null;if(i!=null&&i.defaultSchema.input&&((O=c.schema)==null?void 0:O.noFormItem)!==!0)return(L=a[r+"formItem"])==null?void 0:L.$el;const s=a[r];return((V=s==null?void 0:s.$el)==null?void 0:V.nodeName)==="#text"?null:s==null?void 0:s.$el});e.watch(()=>h.value,a=>{a==null||a.addEventListener("click",B,!1),a==null||a.addEventListener("mouseover",N,!1),a==null||a.addEventListener("mouseout",R,!1)}),e.onUnmounted(()=>{var a,r,i;(a=h.value)==null||a.removeEventListener("click",B,!1),(r=h.value)==null||r.removeEventListener("mouseover",N,!1),(i=h.value)==null||i.removeEventListener("mouseout",R,!1)});function B(a){a.stopPropagation(),p.setCheckedNode(c.schema)}function N(a){var r;c.schema.id!==((r=l.schemas[0])==null?void 0:r.id)&&(a.stopPropagation(),p.setHoverNode(c.schema))}function R(a){a.stopPropagation(),p.setHoverNode(null)}return(a,r)=>{var s,S;const i=e.resolveComponent("ENodeItem");return e.openBlock(),e.createBlock(e.unref(y._sfc_main),{ref_key:"nodeRef",ref:b,componentSchema:c.schema},e.createSlots({_:2},[(S=(s=e.unref(I.pluginManager).getComponentConfingByType(c.schema.type))==null?void 0:s.editConstraints)!=null&&S.childImmovable?{name:"edit-node",fn:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.schema.children,o=>(e.openBlock(),e.createBlock(i,{key:o.id,schema:o},null,8,["schema"]))),128))]),key:"0"}:{name:"edit-node",fn:e.withCtx(()=>[c.schema.children?(e.openBlock(),e.createBlock(se,{key:0,schemas:c.schema.children,"onUpdate:schemas":r[0]||(r[0]=o=>c.schema.children=o)},null,8,["schemas"])):e.createCommentVNode("",!0)]),key:"1"}]),1032,["componentSchema"])}}}),ce={class:"min-w-750px rounded h-full"},ie=e.defineComponent({__name:"previewJson",setup(F,{expose:$}){const p=I.pluginManager.getComponent("modal"),g=I.pluginManager.getComponent("monacoEditor"),l={theme:"vs-light",selectOnLineNumbers:!0,minimap:{enabled:!1},readOnly:!0},b=e.ref(null),c=e.ref(!1),h=e.inject("pageSchema");function B(){c.value=!1}function N(){c.value=!0,b.value?b.value.setValue(JSON.stringify(h,null,2)):setTimeout(()=>{N()},300)}function R(a="epic-data.json"){const r=JSON.stringify(h,null,2);var i=`data:text/json;charset=utf-8,${encodeURIComponent(r)}`,s=document.createElement("a");s.setAttribute("href",i),s.setAttribute("download",a),s.click()}return $({handleOpen:N}),(a,r)=>(e.openBlock(),e.createBlock(e.unref(p),{modelValue:c.value,"onUpdate:modelValue":r[0]||(r[0]=i=>c.value=i),title:"查看数据",class:"w-900px",width:"900px",onClose:B,onOk:R,okText:"导出数据"},{default:e.withCtx(()=>[e.createElementVNode("div",ce,[e.createVNode(e.unref(g),{ref_key:"monacoEditorRef",ref:b,class:"editor h-full",autoToggleTheme:"",readOnly:"",config:l,language:"json"},null,512)])]),_:1},8,["modelValue"]))}}),de={class:"epic-edit-toolbar flex items-center justify-between px-2"},ue={class:"flex-1 h-full flex items-center"},fe={key:0,class:"epic-divider"},pe=["title","onClick"],he={class:"flex-1 h-full flex items-center justify-end"},me={key:0,class:"flex items-center ml-12px"},ve={class:"pr-8px w-82px cursor-pointer"},ge={class:"epic-device h-28px items-center gap-1 rounded-md border p-2px flex"},ye=["title","onClick"],ke=e.defineComponent({__name:"toolbar",setup(F){const $=I.pluginManager.getComponent("select"),{canvasScale:p,disabledZoom:g}=y.useStore(),l=e.ref("pc"),b=e.inject("pageSchema"),c=e.inject("designer"),h=e.inject("revoke"),B=e.ref(null),N=[{icon:"icon--epic--computer-outline-rounded",title:"pc",key:"pc"},{icon:"icon--epic--tablet-android-outline-rounded",title:"平板",key:"pad"},{icon:"icon--epic--phone-iphone-outline-sharp",title:"手机",key:"mobile"}],R=e.computed(()=>[{icon:"icon--epic--trash",title:"清空",on:o},{icon:"icon--epic--undo",title:"撤销",on:s,disabled:!h.recordList.value.length,divider:!0},{icon:"icon--epic--redo",title:"重做",on:S,disabled:!h.undoList.value.length}]),a=e.ref(null),r=e.computed({get(){return`${(p.value*100).toFixed(0)}%`},set(m){const k=parseFloat(m);p.value=k/100}}),i=[{label:"60%",value:"60%"},{label:"80%",value:"80%"},{label:"100%",value:"100%"},{label:"120%",value:"120%"},{label:"140%",value:"140%"}];function s(){const m=h.undo();m&&(y.deepCompareAndModify(b.schemas,m),c.setCheckedNode(b.schemas[0]))}function S(){const m=h.redo();m&&(y.deepCompareAndModify(b.schemas,m),c.setCheckedNode(b.schemas[0]))}function o(){c.reset()}function O(m){var z;const k=(z=m.target.files)==null?void 0:z[0];if(!k)return;m.target.value=null;const x=new FileReader;x.readAsText(k),x.onload=W=>{var E;L((E=W.target)==null?void 0:E.result)}}function L(m){try{let k=JSON.parse(m??"");k.schemas||(k=y.convertKFormData(k)),y.deepCompareAndModify(b,k)}catch(k){console.error(k)}}function V(m){c.handleToggleDeviceMode(m),l.value=m;const k={pc:{},pad:{width:"780px",mode:m},mobile:{width:"390px",height:"844px",mode:m}};b.canvas=k[m],console.log("%c [ pageSchema ]-248","font-size:13px; background:pink; color:#bf2c9f;",b)}return(m,k)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",de,[e.createElementVNode("div",ue,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(R.value,(x,z)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:z},[x.divider?(e.openBlock(),e.createElementBlock("div",fe)):e.createCommentVNode("",!0),e.createElementVNode("div",{title:x.title,class:e.normalizeClass(["epic-action-item text-base h-90% px-10px flex items-center cursor-pointer",{disabled:x.disabled}]),onClick:x.on},[e.createVNode(e.unref(U._sfc_main),{name:x.icon},null,8,["name"])],10,pe)],64))),128))]),e.withDirectives(e.createElementVNode("input",{type:"file",ref_key:"fileRef",ref:a,accept:".json,.txt",onChange:O},null,544),[[e.vShow,!1]]),e.createElementVNode("div",he,[e.unref(g)?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",me,[e.createElementVNode("div",ve,[e.createVNode(e.unref($),{value:r.value,"onUpdate:value":k[0]||(k[0]=x=>r.value=x),modelValue:r.value,"onUpdate:modelValue":k[1]||(k[1]=x=>r.value=x),options:i,size:"small"},null,8,["value","modelValue"])])])),e.createElementVNode("div",ge,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(N,x=>e.createElementVNode("div",{key:x.key,title:x.title,class:e.normalizeClass(["epic-device-item h-full px-1 flex items-center cursor-pointer text-base transition-colors rounded-sm",{checked:x.key===l.value}]),onClick:z=>V(x.key)},[e.createVNode(e.unref(U._sfc_main),{name:x.icon},null,8,["name"])],10,ye)),64))])])]),e.createVNode(ie,{ref_key:"previewJson",ref:B},null,512)],64))}}),xe={class:"h-full flex flex-col relative"},_e=["draggable"],be=e.defineComponent({__name:"editScreenContainer",setup(F){const $=e.inject("pageSchema"),p=e.ref(null),g=e.ref(null),l=e.ref(null),{pressSpace:b,disabledZoom:c}=y.useStore(),{handleElementDragStart:h,handleElementDrag:B,handleElementDragEnd:N}=y.useElementDrag(p),{width:R,height:a}=y.useElementSize(p),{canvasScale:r,handleZoom:i}=y.useElementZoom(g);let s=0,S=0;const o=e.ref({}),O=e.ref({}),L=e.ref({}),V=e.shallowRef({width:0,height:0});e.watchEffect(k),e.watch(L,()=>{e.nextTick(m)});function m(){l.value&&(V.value={width:l.value.clientWidth,height:l.value.clientHeight})}function k(){var E,w;L.value={width:((E=$.canvas)==null?void 0:E.width)??"0",height:((w=$.canvas)==null?void 0:w.height)??"0"}}y.watchOnce(R,x),e.watch(V,x);function x(){let E=V.value.width||s,w=V.value.height||S;o.value={width:R.value+E+"px",height:a.value+w+"px"},O.value={width:E+"px",height:w+"px"},z()}function z(){e.nextTick(()=>{var A;let E=V.value.width||s;const T=(V.value.height||S)/2,D=E/2;(A=p.value)==null||A.scrollTo(D,T)})}y.useResizeObserver(p,W),y.useResizeObserver(g,W);function W(){var w;if(!p.value)return;const E=p.value.getBoundingClientRect();if(s=E.width-60,S=E.height-80,!c.value)if(V.value.width===0)r.value=1;else{const T=(s-20)/V.value.width,D=S/(V.value.height||((w=g.value)==null?void 0:w.clientHeight)||1),A=Math.abs(T-1)<Math.abs(D-1);let H=1;A?H=T:H=D,(T<1||D<1)&&(H=Math.min(T,D)),H<1.4&&H>.5&&(r.value=H)}y.debounce(x,50)()}return(E,w)=>(e.openBlock(),e.createElementBlock("div",xe,[e.createVNode(ke),e.createElementVNode("div",{ref_key:"editScreenContainerRef",ref:p,class:e.normalizeClass(["flex-1 overflow-auto overflow-y-hidden epic-edit-screen-container",{"cursor-grab":e.unref(b)}]),draggable:e.unref(b),onWheel:w[0]||(w[0]=(...T)=>e.unref(i)&&e.unref(i)(...T)),onDragstart:w[1]||(w[1]=(...T)=>e.unref(h)&&e.unref(h)(...T)),onDragend:w[2]||(w[2]=(...T)=>e.unref(N)&&e.unref(N)(...T)),onDrag:w[3]||(w[3]=(...T)=>e.unref(B)&&e.unref(B)(...T))},[e.createElementVNode("div",{id:"canvasContainer",class:"flex items-center justify-center",style:e.normalizeStyle(o.value)},[e.createElementVNode("div",{ref_key:"draggableElRef",ref:g,class:"transition-all"},[e.createElementVNode("div",{class:e.normalizeClass({"pointer-events-none":e.unref(b)}),style:e.normalizeStyle(O.value)},[e.renderSlot(E.$slots,"default")],6)],512)],4)],42,_e),e.createElementVNode("div",{ref_key:"sizeBoxRef",ref:l,class:"absolute top-0 pointer-events-none",style:e.normalizeStyle(L.value)},null,4)]))}}),Ce={class:"epic-edit-canvas"},Ne=e.defineComponent({__name:"index",setup(F){const $=e.ref(null),p=e.ref(null),g=e.inject("pageSchema"),l=e.computed(()=>g.schemas[0]),b=e.computed(()=>({width:"100%",height:"100%"}));return e.onMounted(()=>{var c;(c=p.value)==null||c.handleInit($.value)}),(c,h)=>(e.openBlock(),e.createElementBlock("section",Ce,[e.createVNode(be,null,{default:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"epicEditRangeRef",ref:$,class:"epic-edit-range rounded-md overflow-auto relative",style:e.normalizeStyle(b.value)},[e.createVNode(K,{schema:l.value},null,8,["schema"]),e.createVNode(re,{ref_key:"ePreviewWidgetsRef",ref:p},null,512)],4)]),_:1})]))}});exports.default=Ne;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { defineComponent as D, inject as i, ref as S, computed as b, openBlock as m, createElementBlock as h, createElementVNode as n, createVNode as r, unref as a, withCtx as w, Fragment as E, renderList as M, normalizeClass as j, toDisplayString as V, mergeProps as z, withDirectives as A, vShow as F } from "vue";
|
|
2
2
|
import { d as G } from "./vuedraggable.umd-D2S7Eo7p.js";
|
|
3
3
|
import { p as d } from "./js.cookie-oHpRFPCO.js";
|
|
4
|
-
import { g as B, f as q } from "./index-
|
|
4
|
+
import { g as B, f as q } from "./index-B_9x_cPH.js";
|
|
5
5
|
import { _ as I } from "./icon.vue_vue_type_script_setup_true_lang-D3QdcReY.js";
|
|
6
6
|
const H = { class: "epic-component-view flex flex-col" }, J = { class: "epic-search-box px-10px py-6px" }, K = { class: "flex flex-1 overflow-auto" }, O = { class: "epic-tabs-box" }, Q = ["title", "onClick"], R = { class: "h-full flex-1 overflow-auto py-2 box-border" }, W = ["onClick"], X = { class: "epic-componet-label flex-1 w-0 truncate" }, Y = { class: "text-center pt-42px text-gray-400" }, ae = /* @__PURE__ */ D({
|
|
7
7
|
__name: "index",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),N=require("./vuedraggable.umd-BqhSJIAi.cjs"),i=require("./js.cookie-BH1G_HRi.cjs"),u=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),N=require("./vuedraggable.umd-BqhSJIAi.cjs"),i=require("./js.cookie-BH1G_HRi.cjs"),u=require("./index-C3a1hfUC.cjs"),x=require("./icon.vue_vue_type_script_setup_true_lang-DJbUD5AQ.cjs"),w={class:"epic-component-view flex flex-col"},E={class:"epic-search-box px-10px py-6px"},B={class:"flex flex-1 overflow-auto"},j={class:"epic-tabs-box"},M=["title","onClick"],q={class:"h-full flex-1 overflow-auto py-2 box-border"},I=["onClick"],L={class:"epic-componet-label flex-1 w-0 truncate"},P={class:"text-center pt-42px text-gray-400"},T=e.defineComponent({__name:"index",setup($){const k=i.pluginManager.getComponent("input"),d=e.inject("pageSchema"),p=e.inject("designer"),y=e.inject("revoke"),C=e.inject("designerProps"),m=i.pluginManager.getComponentSchemaGroups(),c=e.ref(""),g={title:"全部",list:[]},a=e.ref(g),S=e.computed(()=>[g,...m.value]),s=e.computed(()=>{let o=a.value.list;if(a.value.title==="全部"){const n=m.value.map(t=>t.list);o=[].concat(...n)}return o.filter(n=>{var t;return((t=n.label)==null?void 0:t.includes(c.value))&&(!C.value.formMode||n.type!=="form")})});function V(o){a.value=o}function b(o){var v,f,_;const n=u.findSchemaInfoById(d.schemas,((v=p.state.checkedNode)==null?void 0:v.id)??"root");if(!n)return!1;let{list:t,schema:l,index:r}=n;l.children&&!((_=(f=i.pluginManager.getComponentConfingByType(l.type))==null?void 0:f.editConstraints)!=null&&_.childImmovable)&&(t=l.children,r=l.children.length-1);const h=u.generateNewSchema(o);t.splice(r+1,0,h),p.setCheckedNode(h),y.push(d.schemas,"插入组件")}return(o,n)=>(e.openBlock(),e.createElementBlock("div",w,[e.createElementVNode("div",E,[e.createVNode(e.unref(k),{placeholder:"搜索组件",modelValue:c.value,"onUpdate:modelValue":n[0]||(n[0]=t=>c.value=t),clearable:"",allowClear:"",value:c.value,"onUpdate:value":n[1]||(n[1]=t=>c.value=t)},{prefix:e.withCtx(()=>[e.createVNode(e.unref(x._sfc_main),{class:"text-$epic-text-helper",name:"icon--epic--search-rounded"})]),_:1},8,["modelValue","value"])]),e.createElementVNode("div",B,[e.createElementVNode("div",j,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(S.value,(t,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["epic-tab cursor-pointer truncate",{checked:a.value.title===t.title}]),key:l,title:t.title,onClick:r=>V(t)},e.toDisplayString(t.title),11,M))),128))]),e.createElementVNode("div",q,[e.createVNode(e.unref(N.draggable),e.mergeProps({modelValue:s.value,"onUpdate:modelValue":n[2]||(n[2]=t=>s.value=t)},{group:{name:"edit-draggable",pull:"clone",put:!1},sort:!1,animation:180,ghostClass:"moving"},{clone:e.unref(u.generateNewSchema),"item-key":"id",class:"grid grid-cols-[auto_auto] px-10px gap-2"}),{item:e.withCtx(({element:t})=>[e.createElementVNode("div",{class:"epic-componet-item flex items-center truncate",onClick:l=>b(t)},[e.createVNode(e.unref(x._sfc_main),{name:e.unref(i.pluginManager).getComponentConfingByType(t.type).icon??""},null,8,["name"]),e.createElementVNode("div",L,e.toDisplayString(t.label),1)],8,I)]),_:1},16,["modelValue","clone"]),e.withDirectives(e.createElementVNode("div",P,"没有查询到的组件",512),[[e.vShow,!s.value.length]])])])]))}});exports.default=T;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),i=require("./js.cookie-BH1G_HRi.cjs"),p=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),i=require("./js.cookie-BH1G_HRi.cjs"),p=require("./index-C3a1hfUC.cjs"),s=e.defineComponent({__name:"index",props:{modelValue:{type:Array,default:()=>[]}},emits:["update:modelValue"],setup(o,{emit:r}){const d=i.pluginManager.getComponent("number"),l=e.ref(0),a=o,m=r;return e.watch(()=>a.modelValue,()=>{l.value=a.modelValue.length},{immediate:!0}),e.watch(()=>l.value,u=>{let t=new Array(u).fill({}).map(n=>({type:"col",children:[],componentProps:{span:24/u},id:p.getUUID()}));m("update:modelValue",t)},{}),(u,t)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("div",null,[e.createVNode(e.unref(d),{value:l.value,"onUpdate:value":t[0]||(t[0]=n=>l.value=n),modelValue:l.value,"onUpdate:modelValue":t[1]||(t[1]=n=>l.value=n),style:{width:"100%"},min:1,max:24},null,8,["value","modelValue"])])]))}});exports.default=s;
|
|
@@ -1332,7 +1332,7 @@ const Dt = { class: "min-w-750px rounded" }, At = { class: "h-full rounded" }, E
|
|
|
1332
1332
|
"updateSourceData"
|
|
1333
1333
|
],
|
|
1334
1334
|
setup(e, { expose: r, emit: o }) {
|
|
1335
|
-
const t = ee(() => import("./index-BKDRMrcc.js")), n = ee(() => import("./index-XUQ1VGQg.js")), s = ee(() => import("./index-
|
|
1335
|
+
const t = ee(() => import("./index-BKDRMrcc.js")), n = ee(() => import("./index-XUQ1VGQg.js")), s = ee(() => import("./index-DkyxbMHi.js")), i = ee(() => import("./index-DNeYX6HK.js")), u = ee(() => import("./index-DgcFxYFp.js")), f = Ie(), b = qe(), w = e;
|
|
1336
1336
|
let a = {
|
|
1337
1337
|
schemas: [
|
|
1338
1338
|
{
|
|
@@ -1520,7 +1520,7 @@ defineExpose({
|
|
|
1520
1520
|
})) : (T(), ve("div", bt));
|
|
1521
1521
|
}
|
|
1522
1522
|
}), Ot = {
|
|
1523
|
-
component: async () => await import("./index-
|
|
1523
|
+
component: async () => await import("./index-DLMH0OSJ.js"),
|
|
1524
1524
|
defaultSchema: {
|
|
1525
1525
|
label: "代码编辑器",
|
|
1526
1526
|
type: "monacoEditor",
|
|
@@ -1570,11 +1570,11 @@ defineExpose({
|
|
|
1570
1570
|
}
|
|
1571
1571
|
};
|
|
1572
1572
|
function Pt(e) {
|
|
1573
|
-
e.component("EInputSize", async () => await import("./index-0GtpyUBx.js")), e.component("EColEditor", async () => await import("./index-
|
|
1573
|
+
e.component("EInputSize", async () => await import("./index-0GtpyUBx.js")), e.component("EColEditor", async () => await import("./index-DKVv0PbJ.js")), e.component("EActionEditor", async () => await import("./index-DJxuHxdI.js")), e.component("ERuleEditor", async () => await import("./index-C3_E7xcD.js")), e.component("EOptionsEditor", async () => await import("./index-B_TFfRwe.js")), e.component("ENode", async () => await import("./index-aBofZ4Mk.js")), e.component("EDataSource", async () => await import("./index-JhxJizMR.js")), e.registerActivitybar({
|
|
1574
1574
|
id: "component_view",
|
|
1575
1575
|
title: "组件",
|
|
1576
1576
|
icon: "icon--epic--extension-outline",
|
|
1577
|
-
component: async () => await import("./index-
|
|
1577
|
+
component: async () => await import("./index-BGvqo4s7.js")
|
|
1578
1578
|
}), e.registerActivitybar({
|
|
1579
1579
|
id: "outline_view",
|
|
1580
1580
|
title: "大纲",
|
|
@@ -1583,11 +1583,11 @@ function Pt(e) {
|
|
|
1583
1583
|
}), e.registerRightSidebar({
|
|
1584
1584
|
id: "attribute_view",
|
|
1585
1585
|
title: "属性",
|
|
1586
|
-
component: async () => await import("./attributeView-
|
|
1586
|
+
component: async () => await import("./attributeView-B-IswSw7.js")
|
|
1587
1587
|
}), e.registerRightSidebar({
|
|
1588
1588
|
id: "style_view",
|
|
1589
1589
|
title: "样式",
|
|
1590
|
-
component: async () => await import("./styleView-
|
|
1590
|
+
component: async () => await import("./styleView-BLVqzqPV.js")
|
|
1591
1591
|
}), [Ot, _t].forEach((o) => {
|
|
1592
1592
|
e.registerComponent(o);
|
|
1593
1593
|
});
|
|
@@ -2,7 +2,7 @@ import { defineComponent as $, inject as w, resolveComponent as M, openBlock as
|
|
|
2
2
|
import { d as J } from "./vuedraggable.umd-D2S7Eo7p.js";
|
|
3
3
|
import { p as v, E as S } from "./js.cookie-oHpRFPCO.js";
|
|
4
4
|
import { _ as y } from "./icon.vue_vue_type_script_setup_true_lang-D3QdcReY.js";
|
|
5
|
-
import { n as C } from "./index-
|
|
5
|
+
import { n as C } from "./index-B_9x_cPH.js";
|
|
6
6
|
import "element-plus";
|
|
7
7
|
import { _ as K } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
8
8
|
const P = {
|
|
@@ -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 "./js.cookie-oHpRFPCO.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-B_9x_cPH.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,4 +1,4 @@
|
|
|
1
|
-
"use strict";const e=require("vue"),O=require("./js.cookie-BH1G_HRi.cjs");function H(t=10){const s="abcdefghijklmnopqrstuvwxyz0123456789";let r="";for(let n=0;n<t;n++){const o=Math.floor(Math.random()*s.length);r+=s[o]}return r}function ee(t){return t.charAt(0).toUpperCase()+t.slice(1)}function R(t,s=new WeakMap){if(typeof t!="object"||t===null)return t;if(s.has(t))return s.get(t);if(Array.isArray(t)){const n=t.map(o=>R(o,s));return s.set(t,n),n}const r={};return s.set(t,r),Object.keys(t).forEach(n=>{r[n]=R(t[n],s)}),r}function ve(t){const[s]=oe([R(t)],r=>{var o,a;const n={...r,id:`${r.type}_${H(8)}`};return(n.field||n.input)&&!((a=(o=O.pluginManager.getComponentConfingByType(n.type))==null?void 0:o.editConstraints)!=null&&a.fixedField)&&(n.field=n.id),n});return s}function $(t,s,r=!0){for(const[n,o]of Object.entries(s)){let a=t==null?void 0:t[n];a&&o&&typeof a=="object"&&typeof o=="object"?(Array.isArray(a)&&!Array.isArray(o)?a=t[n]={}:!Array.isArray(a)&&Array.isArray(o)&&(a=t[n]=[]),$(a,o,r)):t[n]=o}r&&Object.keys(t).reverse().forEach(n=>{s.hasOwnProperty(n)||(Array.isArray(t)?t.splice(Number(n),1):delete t[n])})}function Y(t,s,r=[],n=new WeakMap){const o=a=>{if(Array.isArray(a))return a.map(o);if(typeof a=="object"&&a!==null){if(n.has(a))return"[Circular]";n.set(a,!0);const c=Object.keys(a).sort(),d={};return c.forEach(p=>{r.includes(p)||(d[p]=o(a[p]))}),n.delete(a),d}else return a};return JSON.stringify(o(t))===JSON.stringify(o(s))}function te(t,s){const r=[];let n=!1;function o(a){if(r.push(a),a.id===s&&(n=!0),!n&&a.children!=null&&a.children.length>0)for(let c=0;c<a.children.length&&(o(a.children[c]),!n);c++);if(!n&&a.slots)for(let c in a.slots)for(let d=0;d<a.slots[c].length&&(o(a.slots[c][d]),!n);d++);n||r.pop()}return t.forEach(o),n||console.error(`没有查询到id为${s}的节点`),r}function ge(t,s,r){const n=s.split(".");let o=t;for(let a=0;a<n.length;a++){if(o==null)return r;o=o[n[a]]}return o===void 0?r:o}function ye(t,s,r){const n=s.replace(/\[(\d+)\]/g,".$1").split(".").filter(Boolean);let o=t;for(let a=0;a<n.length-1;a++){const c=n[a];o[c]==null&&(o[c]=isNaN(Number(n[a+1]))?{}:[]),o=o[c]}return o[n[n.length-1]]=r,t}function we(t,s="default"){return ne(t,s).map(n=>n.field)}function ne(t,s="default"){const r=J(t,o=>{var a;return o.type==="form"&&(((a=o.componentProps)==null?void 0:a.name)??o.name===s)},!0);return J((r==null?void 0:r.children)??[],o=>!!o.input,!1,o=>o.type!=="subform")}function J(t,s,r=!1,n){const o=[],a=[...t];for(;a.length;){const c=a.pop();if(c!=null&&c.children&&(!n||n(c))&&a.push(...c.children),c!=null&&c.slots&&(!n||n(c)))for(let d in c.slots)a.push(...c.slots[d]);if(s(c)&&(o.push(c),r))return c}return r?!1:o}function oe(t,s,r){const n=[...t];for(;n.length;){const o=n.pop();if(o!=null&&o.children&&(!r||r(o))&&n.push(...o.children),o!=null&&o.slots&&(!r||r(o)))for(let a in o.slots)n.push(...o.slots[a]);$(o,s(o))}return t}function Se(t,s){const r=J(t,n=>n.id===s,!0);if(!r)throw new Error(`没有查询到id为${s}的节点`);return r}function Ee(t,s){const r=[{type:"",children:t}];let n=0,o=null;if(J(r,a=>{if(o=a.children??null,!o){if(a!=null&&a.slots)for(let c in a.slots){o=a.slots[c];for(let d=0;d<o.length;d++)if(o[d].id===s)return n=d,!0}return!1}for(let c=0;c<o.length;c++)if(o[c].id===s)return n=c,!0;return!1},!0),!o)throw new Error(`没有查询到id为${s}的节点`);return{list:o,schema:o[n],index:n}}function Ce(t){const s={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_"+H()}],componentProps:{style:{padding:"16px"}}}],script:t.script||""};return s.schemas[0].children[0].children=z(t.list),s}function z(t,s){return t.map(r=>{var p,A,S;let n=r.type??"";const o=r.options??{},a=(l,C)=>{n===l&&(n=C,o.defaultValue&&(o.defaultValue=JSON.parse(o.defaultValue)))};if(a("uploadImg","upload-image"),a("uploadFile","upload-file"),n==="date"&&o.range&&(o.type="daterange",delete o.range),(n==="date"||n==="time")&&(o.valueFormat=o.format),n==="textarea"){const{minRows:l,maxRows:C}=o;o.autoSize={minRows:l,maxRows:C},delete o.minRows,delete o.maxRows}n==="number"&&!o.precision&&delete o.precision,o.width&&(o.style={width:o.width},delete o.width),n==="grid"&&(n="row"),s&&s.type==="grid"&&(n="col",o.span=r.span,r.key=H());const c={label:r.label,type:n,icon:r.icon||"",field:r.model,componentProps:o,id:r.key};return(o.noFormItem||!o.showLabel)&&(c.noFormItem=!0,delete o.noFormItem,delete o.showLabel),o.clearable&&(o.allowClear=!0,delete o.clearable),["input","textarea","number","password","select","cascader","checkbox","radio","date","time","slider","switch","color-picker","upload-file","upload-image"].includes(n)&&(c.input=!0,((A=(p=r.rules)==null?void 0:p[0])==null?void 0:A.required)===!1&&r.rules.shift(),((S=r.rules)==null?void 0:S.length)>0&&(c.rules=r.rules)),r.list&&(c.children=z(r.list,r)),r.columns&&(c.children=z(r.columns,r)),r.trs&&(c.children=z(r.trs,r)),r.tds&&(c.children=z(r.tds,r)),c})}function xe(t,s){let r=null;return(...n)=>{r&&clearTimeout(r),r=setTimeout(()=>{t(...n)},s)}}function X(){const t=e.ref({}),s=e.ref({}),r=e.ref(!1),n=e.ref([]),o=e.reactive({});function a(h){return t.value[h]}function c(h,E){t.value[h]=E}function d(h){delete t.value[h]}function p(h,E=!1){const D=Object.entries(O.pluginManager.publicMethods).reduce((_,[u,B])=>(_[u]=B.handler,_),{});try{new Function(`const epic = this;${h}`).bind({...D,getComponent:a,find:a,defineExpose:A,publicMethods:D,pluginManager:O.pluginManager})()}catch(_){E&&console.error("[epic:自定义函数]异常:",_)}}function A(h){h!=null&&(s.value=h)}function S(h,...E){if(!h||h.length===0){console.warn("未提供任何动作");return}h.forEach(D=>{const _=D.args?JSON.parse(D.args):E;switch(D.type){case"public":l(D,_);break;case"custom":C(D,_);break;case"component":m(D,_);break;default:console.warn(`未知的动作类型: ${D.type}`);break}})}function l(h,E){var D;try{(D=O.pluginManager.publicMethods[h.methodName])==null||D.handler(...E)}catch(_){console.error(`[Epic:公共函数(${h.methodName})]执行异常:`,_)}}function C(h,E){var D,_;try{(_=(D=s.value)[h.methodName])==null||_.call(D,...E)}catch(u){console.error(`[Epic:自定义函数(${h.methodName})]执行异常:`,u)}}function m(h,E){const D=h.componentId!=null&&a(h.componentId);if(!D){console.warn(`[Epic:组件${h.componentId}]未找到`);return}try{D[h.methodName](...E)}catch(_){console.error(`[Epic:组件${h.componentId}函数(${h.methodName})]执行异常:`,_)}}function g(h=!0){r.value=h}function f(h){const E=J(h,()=>!0);n.value=E.map(D=>D.id)}function M(h,E="default"){if(o[E]){const D=o[E];$(h,D)}o[E]=h}function N(h,E="default"){if(o[E]){$(o[E],h,!1);return}o[E]=h}return{componentInstances:t,funcs:s,isDesignMode:r,defaultComponentIds:n,forms:o,addFormData:M,setFormData:N,getComponentInstance:a,find:a,addComponentInstance:c,removeComponentInstance:d,setMethods:p,doActions:S,setDesignMode:g,setDefaultComponentIds:f}}function re(){const t=e.ref([]),s=e.ref([]),r=e.ref(null);let n=0;function o(p,A="插入组件"){const S=Date.now();n+150>S||(n=S,r.value!=null&&(t.value.push(r.value),s.value.splice(0,s.value.length)),r.value={type:A,componentSchema:JSON.stringify(p)},t.value.length>60&&t.value.unshift())}function a(){if(t.value.length===0)return!1;const p=t.value.pop();return r.value!=null&&s.value.push(r.value),r.value=p,JSON.parse(p.componentSchema)}function c(){if(s.value.length===0)return!1;const p=s.value.pop();return r.value!=null&&t.value.push(r.value),r.value=p,JSON.parse(p.componentSchema)}function d(){t.value=[],s.value=[],r.value=null}return{recordList:t,undoList:s,currentRecord:r,push:o,undo:a,redo:c,reset:d}}const De=e.defineComponent({__name:"dynamicFormItem",props:{hasFormItem:{type:Boolean},formItemProps:{}},emits:["updateFormItemRef"],setup(t,{emit:s}){const r=O.pluginManager.getComponent("form-item"),n=t,o=s,a=e.ref(),c=()=>{o("updateFormItemRef",a.value)};return(d,p)=>n.hasFormItem?(e.openBlock(),e.createBlock(e.unref(r),e.mergeProps({key:0,ref_key:"formItemRef",ref:a,onVnodeMounted:c},n.formItemProps),{default:e.withCtx(()=>[e.renderSlot(d.$slots,"default")]),_:3},16,["onVnodeMounted"])):e.renderSlot(d.$slots,"default",{key:1})}}),se=e.defineComponent({name:"ENode",__name:"node",props:{componentSchema:{},modelValue:{},ruleField:{},resetFormData:{type:Boolean},name:{},dynamicId:{},sourceDateUrl:{},id:{}},emits:["update:modelValue","change","update:dynamicId"],setup(t,{emit:s}){const{proxy:r}=e.getCurrentInstance(),n=t,o=e.ref(null);let a=e.inject("formData",e.reactive({}));const c=e.inject("slots",{}),d=e.inject("pageManager",{}),p=e.inject("disabled",{value:!1}),A=e.inject("ruleFieldPrefix",null),S=e.inject("resetFormData",!1);let l=e.reactive(R(n.componentSchema));g();async function C(i){if(["cascader","checkbox","select","radio"].includes(i.type)&&i.componentProps.dynamicId&&n.sourceDateUrl){const v=(await O.axios({url:n.sourceDateUrl,method:"get",params:{id:i.componentProps.dynamicId},headers:{Authorization:"Bearer "+O.api.get("Admin-Token")}})).data.data;let I=await O.axios({url:v.url,method:v.method,data:JSON.parse(v.body),params:JSON.parse(v.params),headers:{...JSON.parse(v.headers),Authorization:"Bearer "+O.api.get("Admin-Token")}});if(v&&(v!=null&&v.dataPath)){const pe=v.dataPath.split(".").reduce((me,he)=>me[he],I.data);i.componentProps.options=m(pe,v.dataKey,v.dataValue)}else i.componentProps.options=m(I.data,v.dataKey,v.dataValue);return i}return i}function m(i,b,V){return i&&Object.prototype.toString.call(i)==="[object Array]"?i.map(v=>v.children&&v.children.length?{label:v[b],value:v[V]+"",children:m(v.children,b,V)}:{label:v[b],value:v[V]+""}):[]}e.watch(()=>n.componentSchema,i=>{Y(l,i,["children"])||($(l,R(i)),g())},{deep:!0});function g(){d.isDesignMode.value&&typeof l.field=="string"&&(l.field+="-design-mode")}(n.resetFormData||S)&&(a={});const f=s,M=e.ref(),N=e.ref(),h=i=>{N.value=i},E=e.useAttrs();Object.keys(E).length&&e.provide("nodeAttrs",E);const D=e.shallowRef(null),_=e.computed(()=>{var i,b;return(i=l.componentProps)!=null&&i.hidden?!1:typeof l.show=="boolean"?l.show:((b=l.show)==null?void 0:b.call(l,{values:a}))??!0}),u=e.computed(()=>{var v;const i=_.value&&((v=l.rules)==null?void 0:v.map(I=>({...I,validator:I.validator&&d.funcs.value[I.validator]})));let b=l.field;n.ruleField?b=n.ruleField:A&&l.field&&(b=R(A),b.push(l.field));const V={...l,rules:i,rule:i,field:b};return V.children&&delete V.children,V}),B=e.computed(()=>{var V,v;const i=((V=w.value)==null?void 0:V.bindModel)??"modelValue",b={};return l.on&&Object.keys(l.on).forEach(I=>{b[`on${ee(I)}`]=(...q)=>d.doActions(l.on[I],...q)}),{...n,...l.componentProps,disabled:(p==null?void 0:p.value)||((v=l.componentProps)==null?void 0:v.disabled),bindModel:i,...b}}),w=e.computed(()=>O.pluginManager.getComponentConfingByType(l.type)??null);e.watchEffect(()=>{o.value=n.modelValue??a[l.field??""]}),e.watch(()=>o.value,()=>{o.value!==(n.modelValue??a[l.field??""])&&F(o.value)}),e.watch(()=>M.value,()=>{P()},{immediate:!0});function P(){var b;const i=M.value||r;l.id&&i&&(l.input&&(i.setValue=F,i.getValue=()=>a[l.field]||n.modelValue),i.setAttr=(V,v)=>(l.componentProps||(l.componentProps={}),l.componentProps[V]=v),i.getAttr=V=>l.componentProps[V],d.addComponentInstance(l.id,i),(b=w.value)!=null&&b.defaultSchema.input&&l.noFormItem!==!0&&N.value&&d.addComponentInstance(l.id+"formItem",N.value))}function y(){var i;l.id&&(d.removeComponentInstance(l.id),(i=w.value)!=null&&i.defaultSchema.input&&l.noFormItem!==!0&&d.removeComponentInstance(l.id+"formItem"))}async function k(){var b,V,v;if(l=await C(l),typeof((b=l.componentProps)==null?void 0:b.defaultValue)<"u"){const I=d.isDesignMode.value?(V=l.componentProps)==null?void 0:V.defaultValue:a[l.field]??((v=l.componentProps)==null?void 0:v.defaultValue);F(R(I))}if(l.type==="slot"){const I=l.slotName;if(!I)return;D.value=e.defineComponent({setup(){return()=>e.renderSlot(c,I,{componentSchema:l,model:a})}});return}const i=O.pluginManager.getComponent(l.type);if(!i){console.error(`组件${l.type}未注册`);return}if(typeof i=="function"){const I=await i();D.value=I.default??I}else D.value=i}function x(i){Object.prototype.toString.call(i),Object.prototype.toString.call(i)==="[object Array]"?i.forEach(b=>{a[b.value]=b.label}):a[i.value]=i.label,O.EventBus.emit("updateformData"+n.id,a)}function F(i){f("update:modelValue",i),f("change",i),l.field&&(a[l.field]=i),O.EventBus.emit("updateformData"+n.id,a)}function U(i){f("update:dynamicId",i)}let T=null;return e.watch(()=>l,async i=>{const b=JSON.stringify({...i,children:void 0,componentProps:{...i.componentProps,options:null}});if(b===T)return!1;T=b,k()},{immediate:!0,deep:!0}),e.onUnmounted(y),(i,b)=>{var v;const V=e.resolveComponent("ENode");return D.value&&_.value?(e.openBlock(),e.createBlock(De,{key:0,hasFormItem:e.unref(l).noFormItem!==!0&&((v=w.value)==null?void 0:v.defaultSchema.input),formItemProps:u.value,onUpdateFormItemRef:h},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(D.value),e.mergeProps({ref_key:"componentInstance",ref:M,onVnodeMounted:P,model:e.unref(a)},{...B.value},{[B.value.bindModel]:o.value,["onUpdate:"+B.value.bindModel]:b[0]||(b[0]=I=>o.value=I),[`onUpdate:${B.value.bindModel}`||""]:F,"onUpdate:modelValueLabel":x,"onUpdate:dynamicId":U}),{node:e.withCtx(I=>[e.createVNode(V,e.mergeProps({id:n.id},I,{sourceDateUrl:n.sourceDateUrl}),null,16,["id","sourceDateUrl"])]),"edit-node":e.withCtx(()=>[e.renderSlot(i.$slots,"edit-node")]),_:3},16,["model"]))]),_:3},8,["hasFormItem","formItemProps"])):e.createCommentVNode("",!0)}}});function Ae(){const t=e.ref(!1),s=X(),r=e.ref({});function n(){return new Promise(m=>{if(t.value)m();else{const g=e.watch(t,()=>{g(),m()})}})}async function o(m="default"){var f;await n();const g=(f=r.value)==null?void 0:f[m];if(!g)throw new Error(`表单 [name=${m}] 不存在`);return g}async function a(m,g){const f=await o(m);return R(await g(f))}async function c(m="default"){return await a(m,g=>g.getData())}function d(m,g="default",f=void 0){var M,N;if(f&&Object.keys(f).length){let h=function(u){let B=[];return u.forEach(w=>{w.children&&(B=[...B,...h(w.children)]),B.push(w)}),B},D=function(u){var w;let B=h((w=f==null?void 0:f.schemas[0])==null?void 0:w.children);return Object.keys(u).forEach(P=>{var x,F,U,T,i,b,V;const y=B.find(v=>v.field===P),k=["datetimerange","daterange","monthrange","dates"];if((y&&(y==null?void 0:y.type)==="checkbox"||(y==null?void 0:y.type)==="select"&&((x=y==null?void 0:y.componentProps)!=null&&x.multiple)||(y==null?void 0:y.type)==="cascader"&&!((U=(F=y==null?void 0:y.componentProps)==null?void 0:F.props)!=null&&U.multiple)||(y==null?void 0:y.type)==="date"&&k.includes((T=y==null?void 0:y.componentProps)==null?void 0:T.type))&&typeof u[P]=="string")u[P]=(i=u[P])==null?void 0:i.split(",");else if((y==null?void 0:y.type)==="cascader"&&((V=(b=y==null?void 0:y.componentProps)==null?void 0:b.props)!=null&&V.multiple)&&typeof u[P]=="string")u[P].indexOf(";")>-1?u[P]=u[P].split(";").map(v=>v.split(",")):u[P]=u[P].split(","),u[P].indexOf(";")>-1?u[P]=u[P].split(";").map(v=>v.split(",")):u[P]=u[P].split(",");else if(((y==null?void 0:y.type)==="upload-image"||(y==null?void 0:y.type)==="upload-file")&&typeof u[P]=="string"){let v=[];Object.entries(u).forEach(([I,q])=>{u[P]===q&&I!==y.field&&I.indexOf("@")>-1&&I.indexOf(P)>-1&&(v=I.split("@")[1].split(","))}),u[P]=u[P].split(",").map((I,q)=>({url:I,name:v[q]||I}))}else(y==null?void 0:y.type)==="number"||(y==null?void 0:y.type)==="slider"?u[P]=Number(u[P]):(y==null?void 0:y.type)==="switch"&&(u[P]=typeof u[P]=="boolean"?u[P]:u[P].indexOf("true")>-1)}),u}(m);s.setFormData(D,g);const _=(M=r.value)==null?void 0:M[g];_==null||_.clearValidate()}else{s.setFormData(m,g);const h=(N=r.value)==null?void 0:N[g];h==null||h.clearValidate()}}async function p(m="default"){return await a(m,async g=>(await g.validate(),await g.getData()))}async function A(m){await n();const g={};for(const f in r.value){const M=r.value[f];M&&(g[f]=R(await m(M)))}return g}async function S(){return await A(m=>m.getData())}function l(m){for(const g in m)d(m[g],g)}async function C(){return await A(async m=>(await m.validate(),await m.getData()))}return{ready:t,pageManager:s,forms:r,getData:c,setData:d,validate:p,getForms:S,setForms:l,validateAll:C,getFormInstance:o}}const Pe={key:0,class:"epic-loading-box"},be={class:"epic-builder-main"},Ie={class:"epic-loading-box"},ae=e.defineComponent({__name:"builder",props:{pageSchema:{},formData:{},disabled:{type:Boolean},sourceDateUrl:{},id:{}},emits:["change","ready"],setup(t,{expose:s,emit:r}){const n=O.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-Cap7FkuS.cjs"))),o=r,{ready:a,pageManager:c,forms:d,getData:p,setData:A,validate:S,getForms:l,setForms:C,validateAll:m,getFormInstance:g}=Ae(),f=t,M=e.reactive({schemas:[]});e.watch(()=>f.pageSchema,u=>{$(M,u)},{immediate:!0,deep:!0}),e.watch(()=>f.formData,u=>{if(u){let B=h(u);A(B)}},{immediate:!0,deep:!0});function N(u){let B=[];return u.forEach(w=>{w.children&&(B=[...B,...N(w.children)]),B.push(w)}),B}function h(u){let B=N(f.pageSchema.schemas[0].children);return Object.keys(u).forEach(w=>{var P,y,k,x,F,U,T;if(w.indexOf("@")<0){const i=B.find(V=>V.field===w),b=["datetimerange","daterange","monthrange","dates"];if((i&&(i==null?void 0:i.type)==="checkbox"||(i==null?void 0:i.type)==="select"&&((P=i==null?void 0:i.componentProps)!=null&&P.multiple)||(i==null?void 0:i.type)==="cascader"&&!((k=(y=i==null?void 0:i.componentProps)==null?void 0:y.props)!=null&&k.multiple)||(i==null?void 0:i.type)==="date"&&b.includes((x=i==null?void 0:i.componentProps)==null?void 0:x.type))&&typeof u[w]=="string")u[w]=(F=u[w])==null?void 0:F.split(",");else if((i==null?void 0:i.type)==="cascader"&&((T=(U=i==null?void 0:i.componentProps)==null?void 0:U.props)!=null&&T.multiple)&&typeof u[w]=="string")u[w].indexOf(";")>-1?u[w]=u[w].split(";").map(V=>V.split(",")):u[w]=u[w].split(","),u[w].indexOf(";")>-1?u[w]=u[w].split(";").map(V=>V.split(",")):u[w]=u[w].split(",");else if(((i==null?void 0:i.type)==="upload-image"||(i==null?void 0:i.type)==="upload-file")&&typeof u[w]=="string"){let V=[];Object.entries(u).forEach(([v,I])=>{u[w]===I&&v!==i.field&&v.indexOf("@")>-1&&v.indexOf(w)>-1&&(V=v.split("@")[1].split(","))}),u[w]=u[w].split(",").map((v,I)=>({url:v,name:V[I]||v}))}else(i==null?void 0:i.type)==="number"||(i==null?void 0:i.type)==="slider"?u[w]=Number(u[w]):(i==null?void 0:i.type)==="switch"&&(u[w]=typeof u[w]=="boolean"?u[w]:u[w].indexOf("true")>-1)}}),u}e.watch(()=>M.script,u=>{u&&c.setMethods(u,!0)},{immediate:!0}),e.provide("slots",e.useSlots()),e.provide("pageManager",c),e.provide("forms",d),e.provide("pageSchema",M),e.provide("disabled",e.computed(()=>f.disabled));const E=e.getCurrentInstance(),D=E==null?void 0:E.proxy;function _(){e.nextTick(()=>{a.value=!0,o("ready",c),D&&c.addComponentInstance("builder",D)})}return O.EventBus.on("updateformData"+f.id,u=>{o("change",u)}),s({ready:a,pageManager:c,getData:p,setData:A,validate:S,getForms:l,setForms:C,validateAll:m,getFormInstance:g}),(u,B)=>e.unref(O.pluginManager).initialized.value?(e.openBlock(),e.createBlock(e.Suspense,{key:1,onResolve:_},{default:e.withCtx(()=>[e.createElementVNode("div",be,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(M.schemas,(w,P)=>(e.openBlock(),e.createBlock(e.unref(se),{id:f.id,key:P,sourceDateUrl:f.sourceDateUrl,componentSchema:w},null,8,["id","sourceDateUrl","componentSchema"]))),128))])]),fallback:e.withCtx(()=>[e.createElementVNode("div",Ie,[e.createVNode(e.unref(n))])]),_:1})):(e.openBlock(),e.createElementBlock("div",Pe))}});function j(t){return e.getCurrentScope()?(e.onScopeDispose(t),!0):!1}function Ve(t){let s=0,r,n;const o=()=>{s-=1,n&&s<=0&&(n.stop(),r=void 0,n=void 0)};return(...a)=>(s+=1,n||(n=e.effectScope(!0),r=n.run(()=>t(...a))),j(o),r)}function W(t){return typeof t=="function"?t():e.unref(t)}const _e=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Oe=t=>typeof t<"u",Me=Object.prototype.toString,Be=t=>Me.call(t)==="[object Object]",Ne=()=>{};function Fe(t){return e.getCurrentInstance()}function Re(t,s=!0,r){Fe()?e.onMounted(t,r):s?t():e.nextTick(t)}function ke(t=!1,s={}){const{truthyValue:r=!0,falsyValue:n=!1}=s,o=e.isRef(t),a=e.ref(t);function c(d){if(arguments.length)return a.value=d,a.value;{const p=W(r);return a.value=a.value===p?W(n):p,a.value}}return o?c:[a,c]}function $e(t,s,r){const n=e.watch(t,(...o)=>(e.nextTick(()=>n()),s(...o)),r);return n}const Z=_e?window:void 0;function L(t){var s;const r=W(t);return(s=r==null?void 0:r.$el)!=null?s:r}function Te(...t){let s,r,n,o;if(typeof t[0]=="string"||Array.isArray(t[0])?([r,n,o]=t,s=Z):[s,r,n,o]=t,!s)return Ne;Array.isArray(r)||(r=[r]),Array.isArray(n)||(n=[n]);const a=[],c=()=>{a.forEach(S=>S()),a.length=0},d=(S,l,C,m)=>(S.addEventListener(l,C,m),()=>S.removeEventListener(l,C,m)),p=e.watch(()=>[L(s),W(o)],([S,l])=>{if(c(),!S)return;const C=Be(l)?{...l}:l;a.push(...r.flatMap(m=>n.map(g=>d(S,m,g,C))))},{immediate:!0,flush:"post"}),A=()=>{p(),c()};return j(A),A}function Ue(t){return typeof t=="function"?t:typeof t=="string"?s=>s.key===t:Array.isArray(t)?s=>t.includes(s.key):()=>!0}function le(...t){let s,r,n={};t.length===3?(s=t[0],r=t[1],n=t[2]):t.length===2?typeof t[1]=="object"?(s=!0,r=t[0],n=t[1]):(s=t[0],r=t[1]):(s=!0,r=t[0]);const{target:o=Z,eventName:a="keydown",passive:c=!1,dedupe:d=!1}=n,p=Ue(s);return Te(o,a,S=>{S.repeat&&W(d)||p(S)&&r(S)},c)}function Q(t,s,r={}){return le(t,s,{...r,eventName:"keydown"})}function G(t,s,r={}){return le(t,s,{...r,eventName:"keyup"})}function Le(){const t=e.ref(!1),s=e.getCurrentInstance();return s&&e.onMounted(()=>{t.value=!0},s),t}function qe(t){const s=Le();return e.computed(()=>(s.value,!!t()))}function ze(t){return JSON.parse(JSON.stringify(t))}function ie(t,s,r={}){const{window:n=Z,...o}=r;let a;const c=qe(()=>n&&"ResizeObserver"in n),d=()=>{a&&(a.disconnect(),a=void 0)},p=e.computed(()=>{const l=W(t);return Array.isArray(l)?l.map(C=>L(C)):[L(l)]}),A=e.watch(p,l=>{if(d(),c.value&&n){a=new ResizeObserver(s);for(const C of l)C&&a.observe(C,o)}},{immediate:!0,flush:"post"}),S=()=>{d(),A()};return j(S),{isSupported:c,stop:S}}function Je(t,s={width:0,height:0},r={}){const{window:n=Z,box:o="content-box"}=r,a=e.computed(()=>{var l,C;return(C=(l=L(t))==null?void 0:l.namespaceURI)==null?void 0:C.includes("svg")}),c=e.ref(s.width),d=e.ref(s.height),{stop:p}=ie(t,([l])=>{const C=o==="border-box"?l.borderBoxSize:o==="content-box"?l.contentBoxSize:l.devicePixelContentBoxSize;if(n&&a.value){const m=L(t);if(m){const g=m.getBoundingClientRect();c.value=g.width,d.value=g.height}}else if(C){const m=Array.isArray(C)?C:[C];c.value=m.reduce((g,{inlineSize:f})=>g+f,0),d.value=m.reduce((g,{blockSize:f})=>g+f,0)}else c.value=l.contentRect.width,d.value=l.contentRect.height},r);Re(()=>{const l=L(t);l&&(c.value="offsetWidth"in l?l.offsetWidth:s.width,d.value="offsetHeight"in l?l.offsetHeight:s.height)});const A=e.watch(()=>L(t),l=>{c.value=l?s.width:0,d.value=l?s.height:0});function S(){p(),A()}return{width:c,height:d,stop:S}}function We(t,s,r,n={}){var o,a,c;const{clone:d=!1,passive:p=!1,eventName:A,deep:S=!1,defaultValue:l,shouldEmit:C}=n,m=e.getCurrentInstance(),g=r||(m==null?void 0:m.emit)||((o=m==null?void 0:m.$emit)==null?void 0:o.bind(m))||((c=(a=m==null?void 0:m.proxy)==null?void 0:a.$emit)==null?void 0:c.bind(m==null?void 0:m.proxy));let f=A;s||(s="modelValue"),f=f||`update:${s.toString()}`;const M=E=>d?typeof d=="function"?d(E):ze(E):E,N=()=>Oe(t[s])?M(t[s]):l,h=E=>{C?C(E)&&g(f,E):g(f,E)};if(p){const E=N(),D=e.ref(E);let _=!1;return e.watch(()=>t[s],u=>{_||(_=!0,D.value=M(u),e.nextTick(()=>_=!1))}),e.watch(D,u=>{!_&&(u!==t[s]||S)&&h(u)},{deep:S}),D}else return e.computed({get(){return N()},set(E){h(E)}})}function He(){const{isDark:t}=K(),s=ke(t);return{isDark:t,toggleDark:s}}function ce(){const t=e.ref(!1);return e.onMounted(()=>{ue(t),Ke(t)}),e.watch(()=>t.value,()=>{t.value?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark")}),{isDark:t}}function ue(t){var s=document.documentElement;s&&(s.classList.contains("dark")?t.value=!0:t.value=!1)}function Ke(t){var s=document.querySelector("html"),r=new MutationObserver(function(n){for(var o of n)if(o.type==="attributes"&&o.attributeName==="class"){const a=o.target;new Array(...a.classList).includes("dark")?t.value=!0:t.value=!1}});r.observe(s,{attributes:!0,attributeFilter:["class"]}),e.onUnmounted(()=>{r.disconnect()})}function de(){const t=e.ref(1),s=e.ref(!1),{isDark:r}=ce(),{pressSpace:n,pressShift:o,pressCtrl:a}=fe();return{canvasScale:t,pressSpace:n,pressShift:o,pressCtrl:a,disabledZoom:s,isDark:r}}const K=Ve(de);function fe(){const t=e.ref(!1),s=e.ref(!1),r=e.ref(!1);return Q(" ",()=>{t.value=!0}),G(" ",()=>{t.value=!1}),Q("Shift",n=>{n.preventDefault(),s.value=!0}),G("Shift",()=>{s.value=!1}),Q("Control",n=>{n.preventDefault(),r.value=!0}),G("Control",()=>{r.value=!1}),{pressSpace:t,pressShift:s,pressCtrl:r}}function Ze(t){const{pressSpace:s}=K(),r=new Image(1,1);r.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==";let n=0,o=0;function a(p){var A;s.value&&(n=p.x,o=p.y,(A=p.dataTransfer)==null||A.setDragImage(document.createElement("div"),0,0))}function c(p){if(p.preventDefault(),!p.x||!p.y||!s.value)return;const A=p.x-n,S=p.y-o;n=p.x,o=p.y,t.value&&(t.value.scrollTop-=S,t.value.scrollLeft-=A)}function d(){s.value=!1}return{handleElementDragStart:a,handleElementDrag:c,handleElementDragEnd:d}}function Qe(t){const{pressCtrl:s,canvasScale:r,disabledZoom:n}=K();function o(a){if(!s.value||n.value)return;a.preventDefault();let c=0;a.deltaY<0?c=r.value+.05:c=r.value-.05,!(c>150||c<.5)&&(r.value=c)}return e.watch(()=>r.value,a=>{t.value&&!n.value&&(t.value.style.transform=`scale(${a})`)}),{handleZoom:o,canvasScale:r}}function Ge(t,s=16.66){let r;function n(){o(),r=window.setInterval(t,s)}function o(){window.clearInterval(r)}return{startTimedQuery:n,stopTimedQuery:o}}const Ye={class:"min-w-750px rounded"},Xe={class:"h-full rounded"},je=e.defineComponent({__name:"index",setup(t,{expose:s}){const r=O.pluginManager.getComponent("monacoEditor"),n=O.pluginManager.getComponent("modal"),o=e.ref(null),a=e.ref(!1),c=e.ref(!1),d=e.ref({}),p=e.inject("pageSchema"),A=e.ref(null),S=e.ref("");function l(){c.value=!1}function C(){a.value=!1}function m(){a.value=!0,S.value=H()}async function g(){try{let f=await A.value.validateAll();if(!Object.keys(f).length){alert("请添加表单组件后再尝试!");return}Object.keys(f).length===1&&(f=f.default),d.value=JSON.stringify(f,null,2),e.nextTick(()=>{var M;(M=o.value)==null||M.setValue(d.value)}),c.value=!0}catch(f){console.error(f)}}return s({handleOpen:m}),(f,M)=>(e.openBlock(),e.createBlock(e.unref(n),{modelValue:a.value,"onUpdate:modelValue":M[1]||(M[1]=N=>a.value=N),title:"预览",class:"w-900px",width:"900px",onClose:C,onOk:g,okText:"表单数据"},{default:e.withCtx(()=>[e.createElementVNode("div",Ye,[(e.openBlock(),e.createBlock(e.unref(ae),{key:S.value,ref_key:"kb",ref:A,"page-schema":e.unref(p)},null,8,["page-schema"])),e.createVNode(e.unref(n),{modelValue:c.value,"onUpdate:modelValue":M[0]||(M[0]=N=>c.value=N),title:"表单数据",class:"w-860px",width:"860px",onClose:l,onOk:l},{default:e.withCtx(()=>[e.createElementVNode("div",Xe,[e.createVNode(e.unref(r),{ref_key:"monacoEditorRef",ref:o,autoToggleTheme:"",readOnly:"",class:"h-full editor","model-value":d.value},null,8,["model-value"])])]),_:1},8,["modelValue"])])]),_:1},8,["modelValue"]))}}),et={key:0,class:"epic-loading-box"},tt={class:"epic-designer-main"},nt={class:"epic-header-container"},ot={class:"epic-loading-box"},rt=e.defineComponent({__name:"designer",props:{disabledZoom:{type:Boolean,default:!1},hiddenHeader:{type:Boolean,default:!1},lockDefaultSchemaEdit:{type:Boolean,default:!1},formMode:{type:Boolean,default:!1},title:{default:"EpicDesigner默认项目"},defaultSchema:{},sourceCodeReadOnly:{type:Boolean},source:{default:[]},updateSourceId:{}},emits:["ready","save","reset","toggleDeviceMode","saveSourceData","deleteSourceData","updateSourceData"],setup(t,{expose:s,emit:r}){const n=O.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-sKJ91s0r.cjs"))),o=O.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-BSLudrcT.cjs"))),a=O.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-iQ5ZEvrv.cjs"))),c=O.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-HNPgHrkl.cjs"))),d=O.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-Cap7FkuS.cjs"))),p=X(),A=re(),S=t;let l={schemas:[{type:"form",id:"root",label:"页面",children:[],componentProps:{name:"表单",style:{padding:"16px"}}}],script:`const { defineExpose, find } = epic;
|
|
1
|
+
"use strict";const e=require("vue"),O=require("./js.cookie-BH1G_HRi.cjs");function H(t=10){const s="abcdefghijklmnopqrstuvwxyz0123456789";let r="";for(let n=0;n<t;n++){const o=Math.floor(Math.random()*s.length);r+=s[o]}return r}function ee(t){return t.charAt(0).toUpperCase()+t.slice(1)}function R(t,s=new WeakMap){if(typeof t!="object"||t===null)return t;if(s.has(t))return s.get(t);if(Array.isArray(t)){const n=t.map(o=>R(o,s));return s.set(t,n),n}const r={};return s.set(t,r),Object.keys(t).forEach(n=>{r[n]=R(t[n],s)}),r}function ve(t){const[s]=oe([R(t)],r=>{var o,a;const n={...r,id:`${r.type}_${H(8)}`};return(n.field||n.input)&&!((a=(o=O.pluginManager.getComponentConfingByType(n.type))==null?void 0:o.editConstraints)!=null&&a.fixedField)&&(n.field=n.id),n});return s}function $(t,s,r=!0){for(const[n,o]of Object.entries(s)){let a=t==null?void 0:t[n];a&&o&&typeof a=="object"&&typeof o=="object"?(Array.isArray(a)&&!Array.isArray(o)?a=t[n]={}:!Array.isArray(a)&&Array.isArray(o)&&(a=t[n]=[]),$(a,o,r)):t[n]=o}r&&Object.keys(t).reverse().forEach(n=>{s.hasOwnProperty(n)||(Array.isArray(t)?t.splice(Number(n),1):delete t[n])})}function Y(t,s,r=[],n=new WeakMap){const o=a=>{if(Array.isArray(a))return a.map(o);if(typeof a=="object"&&a!==null){if(n.has(a))return"[Circular]";n.set(a,!0);const c=Object.keys(a).sort(),d={};return c.forEach(p=>{r.includes(p)||(d[p]=o(a[p]))}),n.delete(a),d}else return a};return JSON.stringify(o(t))===JSON.stringify(o(s))}function te(t,s){const r=[];let n=!1;function o(a){if(r.push(a),a.id===s&&(n=!0),!n&&a.children!=null&&a.children.length>0)for(let c=0;c<a.children.length&&(o(a.children[c]),!n);c++);if(!n&&a.slots)for(let c in a.slots)for(let d=0;d<a.slots[c].length&&(o(a.slots[c][d]),!n);d++);n||r.pop()}return t.forEach(o),n||console.error(`没有查询到id为${s}的节点`),r}function ge(t,s,r){const n=s.split(".");let o=t;for(let a=0;a<n.length;a++){if(o==null)return r;o=o[n[a]]}return o===void 0?r:o}function ye(t,s,r){const n=s.replace(/\[(\d+)\]/g,".$1").split(".").filter(Boolean);let o=t;for(let a=0;a<n.length-1;a++){const c=n[a];o[c]==null&&(o[c]=isNaN(Number(n[a+1]))?{}:[]),o=o[c]}return o[n[n.length-1]]=r,t}function we(t,s="default"){return ne(t,s).map(n=>n.field)}function ne(t,s="default"){const r=J(t,o=>{var a;return o.type==="form"&&(((a=o.componentProps)==null?void 0:a.name)??o.name===s)},!0);return J((r==null?void 0:r.children)??[],o=>!!o.input,!1,o=>o.type!=="subform")}function J(t,s,r=!1,n){const o=[],a=[...t];for(;a.length;){const c=a.pop();if(c!=null&&c.children&&(!n||n(c))&&a.push(...c.children),c!=null&&c.slots&&(!n||n(c)))for(let d in c.slots)a.push(...c.slots[d]);if(s(c)&&(o.push(c),r))return c}return r?!1:o}function oe(t,s,r){const n=[...t];for(;n.length;){const o=n.pop();if(o!=null&&o.children&&(!r||r(o))&&n.push(...o.children),o!=null&&o.slots&&(!r||r(o)))for(let a in o.slots)n.push(...o.slots[a]);$(o,s(o))}return t}function Se(t,s){const r=J(t,n=>n.id===s,!0);if(!r)throw new Error(`没有查询到id为${s}的节点`);return r}function Ee(t,s){const r=[{type:"",children:t}];let n=0,o=null;if(J(r,a=>{if(o=a.children??null,!o){if(a!=null&&a.slots)for(let c in a.slots){o=a.slots[c];for(let d=0;d<o.length;d++)if(o[d].id===s)return n=d,!0}return!1}for(let c=0;c<o.length;c++)if(o[c].id===s)return n=c,!0;return!1},!0),!o)throw new Error(`没有查询到id为${s}的节点`);return{list:o,schema:o[n],index:n}}function Ce(t){const s={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_"+H()}],componentProps:{style:{padding:"16px"}}}],script:t.script||""};return s.schemas[0].children[0].children=z(t.list),s}function z(t,s){return t.map(r=>{var p,A,S;let n=r.type??"";const o=r.options??{},a=(l,C)=>{n===l&&(n=C,o.defaultValue&&(o.defaultValue=JSON.parse(o.defaultValue)))};if(a("uploadImg","upload-image"),a("uploadFile","upload-file"),n==="date"&&o.range&&(o.type="daterange",delete o.range),(n==="date"||n==="time")&&(o.valueFormat=o.format),n==="textarea"){const{minRows:l,maxRows:C}=o;o.autoSize={minRows:l,maxRows:C},delete o.minRows,delete o.maxRows}n==="number"&&!o.precision&&delete o.precision,o.width&&(o.style={width:o.width},delete o.width),n==="grid"&&(n="row"),s&&s.type==="grid"&&(n="col",o.span=r.span,r.key=H());const c={label:r.label,type:n,icon:r.icon||"",field:r.model,componentProps:o,id:r.key};return(o.noFormItem||!o.showLabel)&&(c.noFormItem=!0,delete o.noFormItem,delete o.showLabel),o.clearable&&(o.allowClear=!0,delete o.clearable),["input","textarea","number","password","select","cascader","checkbox","radio","date","time","slider","switch","color-picker","upload-file","upload-image"].includes(n)&&(c.input=!0,((A=(p=r.rules)==null?void 0:p[0])==null?void 0:A.required)===!1&&r.rules.shift(),((S=r.rules)==null?void 0:S.length)>0&&(c.rules=r.rules)),r.list&&(c.children=z(r.list,r)),r.columns&&(c.children=z(r.columns,r)),r.trs&&(c.children=z(r.trs,r)),r.tds&&(c.children=z(r.tds,r)),c})}function xe(t,s){let r=null;return(...n)=>{r&&clearTimeout(r),r=setTimeout(()=>{t(...n)},s)}}function X(){const t=e.ref({}),s=e.ref({}),r=e.ref(!1),n=e.ref([]),o=e.reactive({});function a(h){return t.value[h]}function c(h,E){t.value[h]=E}function d(h){delete t.value[h]}function p(h,E=!1){const D=Object.entries(O.pluginManager.publicMethods).reduce((_,[u,B])=>(_[u]=B.handler,_),{});try{new Function(`const epic = this;${h}`).bind({...D,getComponent:a,find:a,defineExpose:A,publicMethods:D,pluginManager:O.pluginManager})()}catch(_){E&&console.error("[epic:自定义函数]异常:",_)}}function A(h){h!=null&&(s.value=h)}function S(h,...E){if(!h||h.length===0){console.warn("未提供任何动作");return}h.forEach(D=>{const _=D.args?JSON.parse(D.args):E;switch(D.type){case"public":l(D,_);break;case"custom":C(D,_);break;case"component":m(D,_);break;default:console.warn(`未知的动作类型: ${D.type}`);break}})}function l(h,E){var D;try{(D=O.pluginManager.publicMethods[h.methodName])==null||D.handler(...E)}catch(_){console.error(`[Epic:公共函数(${h.methodName})]执行异常:`,_)}}function C(h,E){var D,_;try{(_=(D=s.value)[h.methodName])==null||_.call(D,...E)}catch(u){console.error(`[Epic:自定义函数(${h.methodName})]执行异常:`,u)}}function m(h,E){const D=h.componentId!=null&&a(h.componentId);if(!D){console.warn(`[Epic:组件${h.componentId}]未找到`);return}try{D[h.methodName](...E)}catch(_){console.error(`[Epic:组件${h.componentId}函数(${h.methodName})]执行异常:`,_)}}function g(h=!0){r.value=h}function f(h){const E=J(h,()=>!0);n.value=E.map(D=>D.id)}function M(h,E="default"){if(o[E]){const D=o[E];$(h,D)}o[E]=h}function N(h,E="default"){if(o[E]){$(o[E],h,!1);return}o[E]=h}return{componentInstances:t,funcs:s,isDesignMode:r,defaultComponentIds:n,forms:o,addFormData:M,setFormData:N,getComponentInstance:a,find:a,addComponentInstance:c,removeComponentInstance:d,setMethods:p,doActions:S,setDesignMode:g,setDefaultComponentIds:f}}function re(){const t=e.ref([]),s=e.ref([]),r=e.ref(null);let n=0;function o(p,A="插入组件"){const S=Date.now();n+150>S||(n=S,r.value!=null&&(t.value.push(r.value),s.value.splice(0,s.value.length)),r.value={type:A,componentSchema:JSON.stringify(p)},t.value.length>60&&t.value.unshift())}function a(){if(t.value.length===0)return!1;const p=t.value.pop();return r.value!=null&&s.value.push(r.value),r.value=p,JSON.parse(p.componentSchema)}function c(){if(s.value.length===0)return!1;const p=s.value.pop();return r.value!=null&&t.value.push(r.value),r.value=p,JSON.parse(p.componentSchema)}function d(){t.value=[],s.value=[],r.value=null}return{recordList:t,undoList:s,currentRecord:r,push:o,undo:a,redo:c,reset:d}}const De=e.defineComponent({__name:"dynamicFormItem",props:{hasFormItem:{type:Boolean},formItemProps:{}},emits:["updateFormItemRef"],setup(t,{emit:s}){const r=O.pluginManager.getComponent("form-item"),n=t,o=s,a=e.ref(),c=()=>{o("updateFormItemRef",a.value)};return(d,p)=>n.hasFormItem?(e.openBlock(),e.createBlock(e.unref(r),e.mergeProps({key:0,ref_key:"formItemRef",ref:a,onVnodeMounted:c},n.formItemProps),{default:e.withCtx(()=>[e.renderSlot(d.$slots,"default")]),_:3},16,["onVnodeMounted"])):e.renderSlot(d.$slots,"default",{key:1})}}),se=e.defineComponent({name:"ENode",__name:"node",props:{componentSchema:{},modelValue:{},ruleField:{},resetFormData:{type:Boolean},name:{},dynamicId:{},sourceDateUrl:{},id:{}},emits:["update:modelValue","change","update:dynamicId"],setup(t,{emit:s}){const{proxy:r}=e.getCurrentInstance(),n=t,o=e.ref(null);let a=e.inject("formData",e.reactive({}));const c=e.inject("slots",{}),d=e.inject("pageManager",{}),p=e.inject("disabled",{value:!1}),A=e.inject("ruleFieldPrefix",null),S=e.inject("resetFormData",!1);let l=e.reactive(R(n.componentSchema));g();async function C(i){if(["cascader","checkbox","select","radio"].includes(i.type)&&i.componentProps.dynamicId&&n.sourceDateUrl){const v=(await O.axios({url:n.sourceDateUrl,method:"get",params:{id:i.componentProps.dynamicId},headers:{Authorization:"Bearer "+O.api.get("Admin-Token")}})).data.data;let I=await O.axios({url:v.url,method:v.method,data:JSON.parse(v.body),params:JSON.parse(v.params),headers:{...JSON.parse(v.headers),Authorization:"Bearer "+O.api.get("Admin-Token")}});if(v&&(v!=null&&v.dataPath)){const pe=v.dataPath.split(".").reduce((me,he)=>me[he],I.data);i.componentProps.options=m(pe,v.dataKey,v.dataValue)}else i.componentProps.options=m(I.data,v.dataKey,v.dataValue);return i}return i}function m(i,b,V){return i&&Object.prototype.toString.call(i)==="[object Array]"?i.map(v=>v.children&&v.children.length?{label:v[b],value:v[V]+"",children:m(v.children,b,V)}:{label:v[b],value:v[V]+""}):[]}e.watch(()=>n.componentSchema,i=>{Y(l,i,["children"])||($(l,R(i)),g())},{deep:!0});function g(){d.isDesignMode.value&&typeof l.field=="string"&&(l.field+="-design-mode")}(n.resetFormData||S)&&(a={});const f=s,M=e.ref(),N=e.ref(),h=i=>{N.value=i},E=e.useAttrs();Object.keys(E).length&&e.provide("nodeAttrs",E);const D=e.shallowRef(null),_=e.computed(()=>{var i,b;return(i=l.componentProps)!=null&&i.hidden?!1:typeof l.show=="boolean"?l.show:((b=l.show)==null?void 0:b.call(l,{values:a}))??!0}),u=e.computed(()=>{var v;const i=_.value&&((v=l.rules)==null?void 0:v.map(I=>({...I,validator:I.validator&&d.funcs.value[I.validator]})));let b=l.field;n.ruleField?b=n.ruleField:A&&l.field&&(b=R(A),b.push(l.field));const V={...l,rules:i,rule:i,field:b};return V.children&&delete V.children,V}),B=e.computed(()=>{var V,v;const i=((V=w.value)==null?void 0:V.bindModel)??"modelValue",b={};return l.on&&Object.keys(l.on).forEach(I=>{b[`on${ee(I)}`]=(...q)=>d.doActions(l.on[I],...q)}),{...n,...l.componentProps,disabled:(p==null?void 0:p.value)||((v=l.componentProps)==null?void 0:v.disabled),bindModel:i,...b}}),w=e.computed(()=>O.pluginManager.getComponentConfingByType(l.type)??null);e.watchEffect(()=>{o.value=n.modelValue??a[l.field??""]}),e.watch(()=>o.value,()=>{o.value!==(n.modelValue??a[l.field??""])&&F(o.value)}),e.watch(()=>M.value,()=>{P()},{immediate:!0});function P(){var b;const i=M.value||r;l.id&&i&&(l.input&&(i.setValue=F,i.getValue=()=>a[l.field]||n.modelValue),i.setAttr=(V,v)=>(l.componentProps||(l.componentProps={}),l.componentProps[V]=v),i.getAttr=V=>l.componentProps[V],d.addComponentInstance(l.id,i),(b=w.value)!=null&&b.defaultSchema.input&&l.noFormItem!==!0&&N.value&&d.addComponentInstance(l.id+"formItem",N.value))}function y(){var i;l.id&&(d.removeComponentInstance(l.id),(i=w.value)!=null&&i.defaultSchema.input&&l.noFormItem!==!0&&d.removeComponentInstance(l.id+"formItem"))}async function k(){var b,V,v;if(l=await C(l),typeof((b=l.componentProps)==null?void 0:b.defaultValue)<"u"){const I=d.isDesignMode.value?(V=l.componentProps)==null?void 0:V.defaultValue:a[l.field]??((v=l.componentProps)==null?void 0:v.defaultValue);F(R(I))}if(l.type==="slot"){const I=l.slotName;if(!I)return;D.value=e.defineComponent({setup(){return()=>e.renderSlot(c,I,{componentSchema:l,model:a})}});return}const i=O.pluginManager.getComponent(l.type);if(!i){console.error(`组件${l.type}未注册`);return}if(typeof i=="function"){const I=await i();D.value=I.default??I}else D.value=i}function x(i){Object.prototype.toString.call(i),Object.prototype.toString.call(i)==="[object Array]"?i.forEach(b=>{a[b.value]=b.label}):a[i.value]=i.label,O.EventBus.emit("updateformData"+n.id,a)}function F(i){f("update:modelValue",i),f("change",i),l.field&&(a[l.field]=i),O.EventBus.emit("updateformData"+n.id,a)}function U(i){f("update:dynamicId",i)}let T=null;return e.watch(()=>l,async i=>{const b=JSON.stringify({...i,children:void 0,componentProps:{...i.componentProps,options:null}});if(b===T)return!1;T=b,k()},{immediate:!0,deep:!0}),e.onUnmounted(y),(i,b)=>{var v;const V=e.resolveComponent("ENode");return D.value&&_.value?(e.openBlock(),e.createBlock(De,{key:0,hasFormItem:e.unref(l).noFormItem!==!0&&((v=w.value)==null?void 0:v.defaultSchema.input),formItemProps:u.value,onUpdateFormItemRef:h},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(D.value),e.mergeProps({ref_key:"componentInstance",ref:M,onVnodeMounted:P,model:e.unref(a)},{...B.value},{[B.value.bindModel]:o.value,["onUpdate:"+B.value.bindModel]:b[0]||(b[0]=I=>o.value=I),[`onUpdate:${B.value.bindModel}`||""]:F,"onUpdate:modelValueLabel":x,"onUpdate:dynamicId":U}),{node:e.withCtx(I=>[e.createVNode(V,e.mergeProps({id:n.id},I,{sourceDateUrl:n.sourceDateUrl}),null,16,["id","sourceDateUrl"])]),"edit-node":e.withCtx(()=>[e.renderSlot(i.$slots,"edit-node")]),_:3},16,["model"]))]),_:3},8,["hasFormItem","formItemProps"])):e.createCommentVNode("",!0)}}});function Ae(){const t=e.ref(!1),s=X(),r=e.ref({});function n(){return new Promise(m=>{if(t.value)m();else{const g=e.watch(t,()=>{g(),m()})}})}async function o(m="default"){var f;await n();const g=(f=r.value)==null?void 0:f[m];if(!g)throw new Error(`表单 [name=${m}] 不存在`);return g}async function a(m,g){const f=await o(m);return R(await g(f))}async function c(m="default"){return await a(m,g=>g.getData())}function d(m,g="default",f=void 0){var M,N;if(f&&Object.keys(f).length){let h=function(u){let B=[];return u.forEach(w=>{w.children&&(B=[...B,...h(w.children)]),B.push(w)}),B},D=function(u){var w;let B=h((w=f==null?void 0:f.schemas[0])==null?void 0:w.children);return Object.keys(u).forEach(P=>{var x,F,U,T,i,b,V;const y=B.find(v=>v.field===P),k=["datetimerange","daterange","monthrange","dates"];if((y&&(y==null?void 0:y.type)==="checkbox"||(y==null?void 0:y.type)==="select"&&((x=y==null?void 0:y.componentProps)!=null&&x.multiple)||(y==null?void 0:y.type)==="cascader"&&!((U=(F=y==null?void 0:y.componentProps)==null?void 0:F.props)!=null&&U.multiple)||(y==null?void 0:y.type)==="date"&&k.includes((T=y==null?void 0:y.componentProps)==null?void 0:T.type))&&typeof u[P]=="string")u[P]=(i=u[P])==null?void 0:i.split(",");else if((y==null?void 0:y.type)==="cascader"&&((V=(b=y==null?void 0:y.componentProps)==null?void 0:b.props)!=null&&V.multiple)&&typeof u[P]=="string")u[P].indexOf(";")>-1?u[P]=u[P].split(";").map(v=>v.split(",")):u[P]=u[P].split(","),u[P].indexOf(";")>-1?u[P]=u[P].split(";").map(v=>v.split(",")):u[P]=u[P].split(",");else if(((y==null?void 0:y.type)==="upload-image"||(y==null?void 0:y.type)==="upload-file")&&typeof u[P]=="string"){let v=[];Object.entries(u).forEach(([I,q])=>{u[P]===q&&I!==y.field&&I.indexOf("@")>-1&&I.indexOf(P)>-1&&(v=I.split("@")[1].split(","))}),u[P]=u[P].split(",").map((I,q)=>({url:I,name:v[q]||I}))}else(y==null?void 0:y.type)==="number"||(y==null?void 0:y.type)==="slider"?u[P]=Number(u[P]):(y==null?void 0:y.type)==="switch"&&(u[P]=typeof u[P]=="boolean"?u[P]:u[P].indexOf("true")>-1)}),u}(m);s.setFormData(D,g);const _=(M=r.value)==null?void 0:M[g];_==null||_.clearValidate()}else{s.setFormData(m,g);const h=(N=r.value)==null?void 0:N[g];h==null||h.clearValidate()}}async function p(m="default"){return await a(m,async g=>(await g.validate(),await g.getData()))}async function A(m){await n();const g={};for(const f in r.value){const M=r.value[f];M&&(g[f]=R(await m(M)))}return g}async function S(){return await A(m=>m.getData())}function l(m){for(const g in m)d(m[g],g)}async function C(){return await A(async m=>(await m.validate(),await m.getData()))}return{ready:t,pageManager:s,forms:r,getData:c,setData:d,validate:p,getForms:S,setForms:l,validateAll:C,getFormInstance:o}}const Pe={key:0,class:"epic-loading-box"},be={class:"epic-builder-main"},Ie={class:"epic-loading-box"},ae=e.defineComponent({__name:"builder",props:{pageSchema:{},formData:{},disabled:{type:Boolean},sourceDateUrl:{},id:{}},emits:["change","ready"],setup(t,{expose:s,emit:r}){const n=O.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-Cap7FkuS.cjs"))),o=r,{ready:a,pageManager:c,forms:d,getData:p,setData:A,validate:S,getForms:l,setForms:C,validateAll:m,getFormInstance:g}=Ae(),f=t,M=e.reactive({schemas:[]});e.watch(()=>f.pageSchema,u=>{$(M,u)},{immediate:!0,deep:!0}),e.watch(()=>f.formData,u=>{if(u){let B=h(u);A(B)}},{immediate:!0,deep:!0});function N(u){let B=[];return u.forEach(w=>{w.children&&(B=[...B,...N(w.children)]),B.push(w)}),B}function h(u){let B=N(f.pageSchema.schemas[0].children);return Object.keys(u).forEach(w=>{var P,y,k,x,F,U,T;if(w.indexOf("@")<0){const i=B.find(V=>V.field===w),b=["datetimerange","daterange","monthrange","dates"];if((i&&(i==null?void 0:i.type)==="checkbox"||(i==null?void 0:i.type)==="select"&&((P=i==null?void 0:i.componentProps)!=null&&P.multiple)||(i==null?void 0:i.type)==="cascader"&&!((k=(y=i==null?void 0:i.componentProps)==null?void 0:y.props)!=null&&k.multiple)||(i==null?void 0:i.type)==="date"&&b.includes((x=i==null?void 0:i.componentProps)==null?void 0:x.type))&&typeof u[w]=="string")u[w]=(F=u[w])==null?void 0:F.split(",");else if((i==null?void 0:i.type)==="cascader"&&((T=(U=i==null?void 0:i.componentProps)==null?void 0:U.props)!=null&&T.multiple)&&typeof u[w]=="string")u[w].indexOf(";")>-1?u[w]=u[w].split(";").map(V=>V.split(",")):u[w]=u[w].split(","),u[w].indexOf(";")>-1?u[w]=u[w].split(";").map(V=>V.split(",")):u[w]=u[w].split(",");else if(((i==null?void 0:i.type)==="upload-image"||(i==null?void 0:i.type)==="upload-file")&&typeof u[w]=="string"){let V=[];Object.entries(u).forEach(([v,I])=>{u[w]===I&&v!==i.field&&v.indexOf("@")>-1&&v.indexOf(w)>-1&&(V=v.split("@")[1].split(","))}),u[w]=u[w].split(",").map((v,I)=>({url:v,name:V[I]||v}))}else(i==null?void 0:i.type)==="number"||(i==null?void 0:i.type)==="slider"?u[w]=Number(u[w]):(i==null?void 0:i.type)==="switch"&&(u[w]=typeof u[w]=="boolean"?u[w]:u[w].indexOf("true")>-1)}}),u}e.watch(()=>M.script,u=>{u&&c.setMethods(u,!0)},{immediate:!0}),e.provide("slots",e.useSlots()),e.provide("pageManager",c),e.provide("forms",d),e.provide("pageSchema",M),e.provide("disabled",e.computed(()=>f.disabled));const E=e.getCurrentInstance(),D=E==null?void 0:E.proxy;function _(){e.nextTick(()=>{a.value=!0,o("ready",c),D&&c.addComponentInstance("builder",D)})}return O.EventBus.on("updateformData"+f.id,u=>{o("change",u)}),s({ready:a,pageManager:c,getData:p,setData:A,validate:S,getForms:l,setForms:C,validateAll:m,getFormInstance:g}),(u,B)=>e.unref(O.pluginManager).initialized.value?(e.openBlock(),e.createBlock(e.Suspense,{key:1,onResolve:_},{default:e.withCtx(()=>[e.createElementVNode("div",be,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(M.schemas,(w,P)=>(e.openBlock(),e.createBlock(e.unref(se),{id:f.id,key:P,sourceDateUrl:f.sourceDateUrl,componentSchema:w},null,8,["id","sourceDateUrl","componentSchema"]))),128))])]),fallback:e.withCtx(()=>[e.createElementVNode("div",Ie,[e.createVNode(e.unref(n))])]),_:1})):(e.openBlock(),e.createElementBlock("div",Pe))}});function j(t){return e.getCurrentScope()?(e.onScopeDispose(t),!0):!1}function Ve(t){let s=0,r,n;const o=()=>{s-=1,n&&s<=0&&(n.stop(),r=void 0,n=void 0)};return(...a)=>(s+=1,n||(n=e.effectScope(!0),r=n.run(()=>t(...a))),j(o),r)}function W(t){return typeof t=="function"?t():e.unref(t)}const _e=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Oe=t=>typeof t<"u",Me=Object.prototype.toString,Be=t=>Me.call(t)==="[object Object]",Ne=()=>{};function Fe(t){return e.getCurrentInstance()}function Re(t,s=!0,r){Fe()?e.onMounted(t,r):s?t():e.nextTick(t)}function ke(t=!1,s={}){const{truthyValue:r=!0,falsyValue:n=!1}=s,o=e.isRef(t),a=e.ref(t);function c(d){if(arguments.length)return a.value=d,a.value;{const p=W(r);return a.value=a.value===p?W(n):p,a.value}}return o?c:[a,c]}function $e(t,s,r){const n=e.watch(t,(...o)=>(e.nextTick(()=>n()),s(...o)),r);return n}const Z=_e?window:void 0;function L(t){var s;const r=W(t);return(s=r==null?void 0:r.$el)!=null?s:r}function Te(...t){let s,r,n,o;if(typeof t[0]=="string"||Array.isArray(t[0])?([r,n,o]=t,s=Z):[s,r,n,o]=t,!s)return Ne;Array.isArray(r)||(r=[r]),Array.isArray(n)||(n=[n]);const a=[],c=()=>{a.forEach(S=>S()),a.length=0},d=(S,l,C,m)=>(S.addEventListener(l,C,m),()=>S.removeEventListener(l,C,m)),p=e.watch(()=>[L(s),W(o)],([S,l])=>{if(c(),!S)return;const C=Be(l)?{...l}:l;a.push(...r.flatMap(m=>n.map(g=>d(S,m,g,C))))},{immediate:!0,flush:"post"}),A=()=>{p(),c()};return j(A),A}function Ue(t){return typeof t=="function"?t:typeof t=="string"?s=>s.key===t:Array.isArray(t)?s=>t.includes(s.key):()=>!0}function le(...t){let s,r,n={};t.length===3?(s=t[0],r=t[1],n=t[2]):t.length===2?typeof t[1]=="object"?(s=!0,r=t[0],n=t[1]):(s=t[0],r=t[1]):(s=!0,r=t[0]);const{target:o=Z,eventName:a="keydown",passive:c=!1,dedupe:d=!1}=n,p=Ue(s);return Te(o,a,S=>{S.repeat&&W(d)||p(S)&&r(S)},c)}function Q(t,s,r={}){return le(t,s,{...r,eventName:"keydown"})}function G(t,s,r={}){return le(t,s,{...r,eventName:"keyup"})}function Le(){const t=e.ref(!1),s=e.getCurrentInstance();return s&&e.onMounted(()=>{t.value=!0},s),t}function qe(t){const s=Le();return e.computed(()=>(s.value,!!t()))}function ze(t){return JSON.parse(JSON.stringify(t))}function ie(t,s,r={}){const{window:n=Z,...o}=r;let a;const c=qe(()=>n&&"ResizeObserver"in n),d=()=>{a&&(a.disconnect(),a=void 0)},p=e.computed(()=>{const l=W(t);return Array.isArray(l)?l.map(C=>L(C)):[L(l)]}),A=e.watch(p,l=>{if(d(),c.value&&n){a=new ResizeObserver(s);for(const C of l)C&&a.observe(C,o)}},{immediate:!0,flush:"post"}),S=()=>{d(),A()};return j(S),{isSupported:c,stop:S}}function Je(t,s={width:0,height:0},r={}){const{window:n=Z,box:o="content-box"}=r,a=e.computed(()=>{var l,C;return(C=(l=L(t))==null?void 0:l.namespaceURI)==null?void 0:C.includes("svg")}),c=e.ref(s.width),d=e.ref(s.height),{stop:p}=ie(t,([l])=>{const C=o==="border-box"?l.borderBoxSize:o==="content-box"?l.contentBoxSize:l.devicePixelContentBoxSize;if(n&&a.value){const m=L(t);if(m){const g=m.getBoundingClientRect();c.value=g.width,d.value=g.height}}else if(C){const m=Array.isArray(C)?C:[C];c.value=m.reduce((g,{inlineSize:f})=>g+f,0),d.value=m.reduce((g,{blockSize:f})=>g+f,0)}else c.value=l.contentRect.width,d.value=l.contentRect.height},r);Re(()=>{const l=L(t);l&&(c.value="offsetWidth"in l?l.offsetWidth:s.width,d.value="offsetHeight"in l?l.offsetHeight:s.height)});const A=e.watch(()=>L(t),l=>{c.value=l?s.width:0,d.value=l?s.height:0});function S(){p(),A()}return{width:c,height:d,stop:S}}function We(t,s,r,n={}){var o,a,c;const{clone:d=!1,passive:p=!1,eventName:A,deep:S=!1,defaultValue:l,shouldEmit:C}=n,m=e.getCurrentInstance(),g=r||(m==null?void 0:m.emit)||((o=m==null?void 0:m.$emit)==null?void 0:o.bind(m))||((c=(a=m==null?void 0:m.proxy)==null?void 0:a.$emit)==null?void 0:c.bind(m==null?void 0:m.proxy));let f=A;s||(s="modelValue"),f=f||`update:${s.toString()}`;const M=E=>d?typeof d=="function"?d(E):ze(E):E,N=()=>Oe(t[s])?M(t[s]):l,h=E=>{C?C(E)&&g(f,E):g(f,E)};if(p){const E=N(),D=e.ref(E);let _=!1;return e.watch(()=>t[s],u=>{_||(_=!0,D.value=M(u),e.nextTick(()=>_=!1))}),e.watch(D,u=>{!_&&(u!==t[s]||S)&&h(u)},{deep:S}),D}else return e.computed({get(){return N()},set(E){h(E)}})}function He(){const{isDark:t}=K(),s=ke(t);return{isDark:t,toggleDark:s}}function ce(){const t=e.ref(!1);return e.onMounted(()=>{ue(t),Ke(t)}),e.watch(()=>t.value,()=>{t.value?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark")}),{isDark:t}}function ue(t){var s=document.documentElement;s&&(s.classList.contains("dark")?t.value=!0:t.value=!1)}function Ke(t){var s=document.querySelector("html"),r=new MutationObserver(function(n){for(var o of n)if(o.type==="attributes"&&o.attributeName==="class"){const a=o.target;new Array(...a.classList).includes("dark")?t.value=!0:t.value=!1}});r.observe(s,{attributes:!0,attributeFilter:["class"]}),e.onUnmounted(()=>{r.disconnect()})}function de(){const t=e.ref(1),s=e.ref(!1),{isDark:r}=ce(),{pressSpace:n,pressShift:o,pressCtrl:a}=fe();return{canvasScale:t,pressSpace:n,pressShift:o,pressCtrl:a,disabledZoom:s,isDark:r}}const K=Ve(de);function fe(){const t=e.ref(!1),s=e.ref(!1),r=e.ref(!1);return Q(" ",()=>{t.value=!0}),G(" ",()=>{t.value=!1}),Q("Shift",n=>{n.preventDefault(),s.value=!0}),G("Shift",()=>{s.value=!1}),Q("Control",n=>{n.preventDefault(),r.value=!0}),G("Control",()=>{r.value=!1}),{pressSpace:t,pressShift:s,pressCtrl:r}}function Ze(t){const{pressSpace:s}=K(),r=new Image(1,1);r.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==";let n=0,o=0;function a(p){var A;s.value&&(n=p.x,o=p.y,(A=p.dataTransfer)==null||A.setDragImage(document.createElement("div"),0,0))}function c(p){if(p.preventDefault(),!p.x||!p.y||!s.value)return;const A=p.x-n,S=p.y-o;n=p.x,o=p.y,t.value&&(t.value.scrollTop-=S,t.value.scrollLeft-=A)}function d(){s.value=!1}return{handleElementDragStart:a,handleElementDrag:c,handleElementDragEnd:d}}function Qe(t){const{pressCtrl:s,canvasScale:r,disabledZoom:n}=K();function o(a){if(!s.value||n.value)return;a.preventDefault();let c=0;a.deltaY<0?c=r.value+.05:c=r.value-.05,!(c>150||c<.5)&&(r.value=c)}return e.watch(()=>r.value,a=>{t.value&&!n.value&&(t.value.style.transform=`scale(${a})`)}),{handleZoom:o,canvasScale:r}}function Ge(t,s=16.66){let r;function n(){o(),r=window.setInterval(t,s)}function o(){window.clearInterval(r)}return{startTimedQuery:n,stopTimedQuery:o}}const Ye={class:"min-w-750px rounded"},Xe={class:"h-full rounded"},je=e.defineComponent({__name:"index",setup(t,{expose:s}){const r=O.pluginManager.getComponent("monacoEditor"),n=O.pluginManager.getComponent("modal"),o=e.ref(null),a=e.ref(!1),c=e.ref(!1),d=e.ref({}),p=e.inject("pageSchema"),A=e.ref(null),S=e.ref("");function l(){c.value=!1}function C(){a.value=!1}function m(){a.value=!0,S.value=H()}async function g(){try{let f=await A.value.validateAll();if(!Object.keys(f).length){alert("请添加表单组件后再尝试!");return}Object.keys(f).length===1&&(f=f.default),d.value=JSON.stringify(f,null,2),e.nextTick(()=>{var M;(M=o.value)==null||M.setValue(d.value)}),c.value=!0}catch(f){console.error(f)}}return s({handleOpen:m}),(f,M)=>(e.openBlock(),e.createBlock(e.unref(n),{modelValue:a.value,"onUpdate:modelValue":M[1]||(M[1]=N=>a.value=N),title:"预览",class:"w-900px",width:"900px",onClose:C,onOk:g,okText:"表单数据"},{default:e.withCtx(()=>[e.createElementVNode("div",Ye,[(e.openBlock(),e.createBlock(e.unref(ae),{key:S.value,ref_key:"kb",ref:A,"page-schema":e.unref(p)},null,8,["page-schema"])),e.createVNode(e.unref(n),{modelValue:c.value,"onUpdate:modelValue":M[0]||(M[0]=N=>c.value=N),title:"表单数据",class:"w-860px",width:"860px",onClose:l,onOk:l},{default:e.withCtx(()=>[e.createElementVNode("div",Xe,[e.createVNode(e.unref(r),{ref_key:"monacoEditorRef",ref:o,autoToggleTheme:"",readOnly:"",class:"h-full editor","model-value":d.value},null,8,["model-value"])])]),_:1},8,["modelValue"])])]),_:1},8,["modelValue"]))}}),et={key:0,class:"epic-loading-box"},tt={class:"epic-designer-main"},nt={class:"epic-header-container"},ot={class:"epic-loading-box"},rt=e.defineComponent({__name:"designer",props:{disabledZoom:{type:Boolean,default:!1},hiddenHeader:{type:Boolean,default:!1},lockDefaultSchemaEdit:{type:Boolean,default:!1},formMode:{type:Boolean,default:!1},title:{default:"EpicDesigner默认项目"},defaultSchema:{},sourceCodeReadOnly:{type:Boolean},source:{default:[]},updateSourceId:{}},emits:["ready","save","reset","toggleDeviceMode","saveSourceData","deleteSourceData","updateSourceData"],setup(t,{expose:s,emit:r}){const n=O.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-sKJ91s0r.cjs"))),o=O.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-BSLudrcT.cjs"))),a=O.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-B4ido7VJ.cjs"))),c=O.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-HNPgHrkl.cjs"))),d=O.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-Cap7FkuS.cjs"))),p=X(),A=re(),S=t;let l={schemas:[{type:"form",id:"root",label:"页面",children:[],componentProps:{name:"表单",style:{padding:"16px"}}}],script:`const { defineExpose, find } = epic;
|
|
2
2
|
|
|
3
3
|
function test (){
|
|
4
4
|
console.log('test')
|
|
@@ -7,4 +7,4 @@ function test (){
|
|
|
7
7
|
// 通过defineExpose暴露的函数或者属性
|
|
8
8
|
defineExpose({
|
|
9
9
|
test
|
|
10
|
-
})`};e.watchEffect(()=>{if(S.defaultSchema){l=S.defaultSchema;return}S.source&&O.pluginManager.setSourceData(S.source),S.formMode&&(l.schemas=O.pluginManager.formSchemas)}),p.setDesignMode(),p.setDefaultComponentIds(l.schemas);const C=r,m=e.ref(null),g=e.reactive({checkedNode:null,hoverNode:null,disableHover:!1,matched:[]}),f=e.reactive({schemas:[],script:l.script}),{disabledZoom:M}=K();e.watchEffect(()=>{M.value=S.disabledZoom}),e.watchEffect(()=>{const x=f.script;x&&x!==""&&p.setMethods(x)}),e.provide("pageSchema",f),e.provide("revoke",A),e.provide("pageManager",p),e.provide("designerProps",e.computed(()=>S)),e.provide("designer",{setCheckedNode:h,setHoverNode:E,setDisableHover:_,handleToggleDeviceMode:y,reset:w,state:g}),O.EventBus.on("saveSourceData",x=>{C("saveSourceData",x)}),O.EventBus.on("deleteSourceData",x=>{C("deleteSourceData",x)}),O.EventBus.on("updateSourceData",x=>{C("updateSourceData",x)});function N(){f.schemas=R(l.schemas),h(f.schemas[0]),A.push(f.schemas,"初始化撤销功能")}async function h(x=f.schemas[0]){g.checkedNode=x,g.matched=te(f.schemas,x.id)}async function E(x=null){var F;if(!x||g.disableHover)return g.hoverNode=null,!1;if((x==null?void 0:x.id)===((F=g.hoverNode)==null?void 0:F.id))return!1;g.hoverNode=x}function D(){e.nextTick(()=>{C("ready",{pageManager:p})})}async function _(x=!1){g.disableHover=x}function u(x){$(f,R(x))}function B(){return e.toRaw(f)}function w(){Y(f.schemas,l.schemas)&&f.script===l.script||($(f.schemas,l.schemas),f.script=l.script,h(f.schemas[0]),A.push(f.schemas,"重置操作"),C("reset",f))}function P(){C("save",e.toRaw(f))}function y(x){C("toggleDeviceMode",x)}function k(){m.value.handleOpen()}return N(),s({revoke:A,setData:u,getData:B,reset:w,preview:k}),(x,F)=>e.unref(O.pluginManager).initialized.value?(e.openBlock(),e.createBlock(e.Suspense,{key:1,onResolve:D},{default:e.withCtx(()=>[e.createElementVNode("div",tt,[e.createElementVNode("div",nt,[e.renderSlot(x.$slots,"header",{},()=>[S.hiddenHeader?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(n),{key:0,onPreview:k,onSave:P},{header:e.withCtx(()=>[e.renderSlot(x.$slots,"header-prefix")]),prefix:e.withCtx(()=>[e.renderSlot(x.$slots,"header-prefix")]),title:e.withCtx(()=>[e.renderSlot(x.$slots,"header-title")]),"right-prefix":e.withCtx(()=>[e.renderSlot(x.$slots,"header-right-prefix")]),"right-action":e.withCtx(()=>[e.renderSlot(x.$slots,"header-right-action")]),"right-suffix":e.withCtx(()=>[e.renderSlot(x.$slots,"header-right-suffix")]),_:3}))])]),e.createElementVNode("div",{class:e.normalizeClass(["epic-split-view-container",{"hidden-header":x.hiddenHeader}])},[e.createVNode(e.unref(o)),e.createVNode(e.unref(a)),e.createVNode(e.unref(c))],2),e.createVNode(je,{ref_key:"previewRef",ref:m},null,512)])]),fallback:e.withCtx(()=>[e.createElementVNode("div",ot,[e.createVNode(e.unref(d))])]),_:3})):(e.openBlock(),e.createElementBlock("div",et))}}),st={component:async()=>await Promise.resolve().then(()=>require("./index-
|
|
10
|
+
})`};e.watchEffect(()=>{if(S.defaultSchema){l=S.defaultSchema;return}S.source&&O.pluginManager.setSourceData(S.source),S.formMode&&(l.schemas=O.pluginManager.formSchemas)}),p.setDesignMode(),p.setDefaultComponentIds(l.schemas);const C=r,m=e.ref(null),g=e.reactive({checkedNode:null,hoverNode:null,disableHover:!1,matched:[]}),f=e.reactive({schemas:[],script:l.script}),{disabledZoom:M}=K();e.watchEffect(()=>{M.value=S.disabledZoom}),e.watchEffect(()=>{const x=f.script;x&&x!==""&&p.setMethods(x)}),e.provide("pageSchema",f),e.provide("revoke",A),e.provide("pageManager",p),e.provide("designerProps",e.computed(()=>S)),e.provide("designer",{setCheckedNode:h,setHoverNode:E,setDisableHover:_,handleToggleDeviceMode:y,reset:w,state:g}),O.EventBus.on("saveSourceData",x=>{C("saveSourceData",x)}),O.EventBus.on("deleteSourceData",x=>{C("deleteSourceData",x)}),O.EventBus.on("updateSourceData",x=>{C("updateSourceData",x)});function N(){f.schemas=R(l.schemas),h(f.schemas[0]),A.push(f.schemas,"初始化撤销功能")}async function h(x=f.schemas[0]){g.checkedNode=x,g.matched=te(f.schemas,x.id)}async function E(x=null){var F;if(!x||g.disableHover)return g.hoverNode=null,!1;if((x==null?void 0:x.id)===((F=g.hoverNode)==null?void 0:F.id))return!1;g.hoverNode=x}function D(){e.nextTick(()=>{C("ready",{pageManager:p})})}async function _(x=!1){g.disableHover=x}function u(x){$(f,R(x))}function B(){return e.toRaw(f)}function w(){Y(f.schemas,l.schemas)&&f.script===l.script||($(f.schemas,l.schemas),f.script=l.script,h(f.schemas[0]),A.push(f.schemas,"重置操作"),C("reset",f))}function P(){C("save",e.toRaw(f))}function y(x){C("toggleDeviceMode",x)}function k(){m.value.handleOpen()}return N(),s({revoke:A,setData:u,getData:B,reset:w,preview:k}),(x,F)=>e.unref(O.pluginManager).initialized.value?(e.openBlock(),e.createBlock(e.Suspense,{key:1,onResolve:D},{default:e.withCtx(()=>[e.createElementVNode("div",tt,[e.createElementVNode("div",nt,[e.renderSlot(x.$slots,"header",{},()=>[S.hiddenHeader?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(n),{key:0,onPreview:k,onSave:P},{header:e.withCtx(()=>[e.renderSlot(x.$slots,"header-prefix")]),prefix:e.withCtx(()=>[e.renderSlot(x.$slots,"header-prefix")]),title:e.withCtx(()=>[e.renderSlot(x.$slots,"header-title")]),"right-prefix":e.withCtx(()=>[e.renderSlot(x.$slots,"header-right-prefix")]),"right-action":e.withCtx(()=>[e.renderSlot(x.$slots,"header-right-action")]),"right-suffix":e.withCtx(()=>[e.renderSlot(x.$slots,"header-right-suffix")]),_:3}))])]),e.createElementVNode("div",{class:e.normalizeClass(["epic-split-view-container",{"hidden-header":x.hiddenHeader}])},[e.createVNode(e.unref(o)),e.createVNode(e.unref(a)),e.createVNode(e.unref(c))],2),e.createVNode(je,{ref_key:"previewRef",ref:m},null,512)])]),fallback:e.withCtx(()=>[e.createElementVNode("div",ot,[e.createVNode(e.unref(d))])]),_:3})):(e.openBlock(),e.createElementBlock("div",et))}}),st={component:async()=>await Promise.resolve().then(()=>require("./index-Dyo12Kua.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 lt(t){t.component("EInputSize",async()=>await Promise.resolve().then(()=>require("./index-CucdgcqX.cjs"))),t.component("EColEditor",async()=>await Promise.resolve().then(()=>require("./index-BXO8Zj1H.cjs"))),t.component("EActionEditor",async()=>await Promise.resolve().then(()=>require("./index-Dz1OM1dD.cjs"))),t.component("ERuleEditor",async()=>await Promise.resolve().then(()=>require("./index-CvEzOhT_.cjs"))),t.component("EOptionsEditor",async()=>await Promise.resolve().then(()=>require("./index-DSzJgAzW.cjs"))),t.component("ENode",async()=>await Promise.resolve().then(()=>require("./index-CYDtBJTI.cjs"))),t.component("EDataSource",async()=>await Promise.resolve().then(()=>require("./index-DEPx91yu.cjs"))),t.registerActivitybar({id:"component_view",title:"组件",icon:"icon--epic--extension-outline",component:async()=>await Promise.resolve().then(()=>require("./index-BMtRXkSh.cjs"))}),t.registerActivitybar({id:"outline_view",title:"大纲",icon:"icon--epic--account-tree-outline-rounded",component:async()=>await Promise.resolve().then(()=>require("./outline-6Qt3qlWm.cjs"))}),t.registerRightSidebar({id:"attribute_view",title:"属性",component:async()=>await Promise.resolve().then(()=>require("./attributeView-CQBVIMGW.cjs"))}),t.registerRightSidebar({id:"style_view",title:"样式",component:async()=>await Promise.resolve().then(()=>require("./styleView-C1zTBeyd.cjs"))}),[st,at].forEach(r=>{t.registerComponent(r)})}lt(O.pluginManager);exports._sfc_main=se;exports._sfc_main$1=ae;exports._sfc_main$2=rt;exports.capitalizeFirstLetter=ee;exports.convertKFormData=Ce;exports.debounce=xe;exports.deepClone=R;exports.deepCompareAndModify=$;exports.deepEqual=Y;exports.findSchemaById=Se;exports.findSchemaInfoById=Ee;exports.findSchemas=J;exports.generateNewSchema=ve;exports.getDarkState=ue;exports.getFormFields=we;exports.getFormSchemas=ne;exports.getMatchedById=te;exports.getUUID=H;exports.getValueByPath=ge;exports.initStore=de;exports.mapSchemas=oe;exports.recursionConvertedNode=z;exports.setValueByPath=ye;exports.useDark=ce;exports.useElementDrag=Ze;exports.useElementSize=Je;exports.useElementZoom=Qe;exports.useKeyPress=fe;exports.usePageManager=X;exports.useResizeObserver=ie;exports.useRevoke=re;exports.useStore=K;exports.useTheme=He;exports.useTimedQuery=Ge;exports.useVModel=We;exports.watchOnce=$e;
|
|
@@ -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-C3a1hfUC.cjs");exports.default=e._sfc_main;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),k=require("./js.cookie-BH1G_HRi.cjs"),c=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),k=require("./js.cookie-BH1G_HRi.cjs"),c=require("./index-C3a1hfUC.cjs"),B=require("./icon.vue_vue_type_script_setup_true_lang-DJbUD5AQ.cjs"),_=[{label:"string",value:"string"},{label:"number",value:"number"},{label:"boolean",value:"boolean"},{label:"method",value:"method"},{label:"regexp",value:"regexp"},{label:"integer",value:"integer"},{label:"float",value:"float"},{label:"array",value:"array"},{label:"object",value:"object"},{label:"date",value:"date"},{label:"url",value:"url"},{label:"hex",value:"hex"},{label:"email",value:"email"},{label:"any",value:"any"}],V=[{label:"change",value:"change"},{label:"blur",value:"blur"}],f=["string","number","url","array","email"],w={class:"rule-item-main bg-white m-t-2 p-2 rounded border border-solid border-gray-200 hover:border-primary transition-all relative"},E={key:0,class:"flex m-t-2 first:m-0"},x={class:"epic-attr-label",title:"校验时机"},q={class:"epic-attr-input"},C=e.defineComponent({__name:"ERuleItem",props:{rule:{}},emits:["change","delete","update:rule"],setup(h,{emit:b}){const i=b,d=h,r=e.computed({get(){return d.rule},set(l){i("update:rule",l)}}),u=e.inject("pageManager",{}),a=e.computed(()=>Object.entries(u.funcs.value).filter(([l,p])=>typeof p=="function").map(([l])=>({label:l,value:l}))),g=[{type:"select",label:"校验时机",model:"trigger",componentProps:{options:V,placeholder:"校验时机",multiple:!0,mode:"multiple"}},{type:"switch",label:"自定义规则",model:"isValidator"},{type:"select",label:"校验函数",model:"validator",show(){return!!r.value.isValidator},componentProps:{options:a.value,placeholder:"校验函数"}},{type:"select",label:"类型",model:"type",show(){return!r.value.isValidator},componentProps:{options:_,placeholder:"类型"}},{type:"input",label:"正则校验",model:"pattern",show(){return!r.value.isValidator},componentProps:{placeholder:"正则校验"}},{type:"number",label:"字段长度",model:"len",show(){return f.includes(r.value.type??"")},componentProps:{min:0,placeholder:"字段长度"}},{type:"number",label:"最小长度",model:"min",show(){return f.includes(r.value.type??"")},componentProps:{min:0,placeholder:"最小长度"}},{type:"number",label:"最大长度",model:"max",show(){return f.includes(r.value.type??"")},componentProps:{min:0,placeholder:"最大长度"}},{type:"input",label:"校验信息",model:"message",componentProps:{placeholder:"校验信息"}}];function o(){const l=r.value;l.isValidator?(delete l.type,delete l.pattern,delete l.len,delete l.min,delete l.max):delete l.validator,i("change",l)}function y(){i("delete")}return(l,p)=>(e.openBlock(),e.createElementBlock("div",w,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(g,(t,m)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:m},[!t.show||t.show()?(e.openBlock(),e.createElementBlock("div",E,[e.createElementVNode("div",x,e.toDisplayString(t.label),1),e.createElementVNode("div",q,[e.createVNode(e.unref(c._sfc_main),{modelValue:r.value[t.model],"onUpdate:modelValue":n=>r.value[t.model]=n,componentSchema:{...t,noFormItem:!0},onChange:o},null,8,["modelValue","onUpdate:modelValue","componentSchema"])])])):e.createCommentVNode("",!0)],64))),64)),e.createElementVNode("div",{class:"rule-btn-delete absolute top-0 text-md right-0 transition-all w-24px h-24px cursor-pointer rounded-bl-2 flex justify-center items-center color-white",onClick:y},[e.createVNode(e.unref(B._sfc_main),{name:"icon--epic--delete-outline-rounded"})])]))}}),N={class:"rule-item-main m-t-2 p-2 rounded border border-solid transition-all relative"},P={key:0,class:"flex m-t-2 first:m-0"},U={class:"epic-attr-label"},j={class:"flex-1"},F=e.defineComponent({__name:"index",props:{ruleType:{type:String,default:"string"},modelValue:{type:Array,default:void 0}},emits:["update:modelValue"],setup(h,{emit:b}){const i=k.pluginManager.getComponent("button"),d=h,r=b,u=c.useVModel(d,"modelValue",r),a=e.ref({required:!1,message:"必填项",type:d.ruleType,trigger:["change"]}),g=[{type:"switch",label:"必填项",model:"required"},{type:"select",label:"校验时机",model:"trigger",show(){return!!a.value.required},componentProps:{options:V,placeholder:"校验时机",multiple:!0,mode:"multiple"}},{type:"select",label:"类型",model:"type",show(){return!!a.value.required},componentProps:{options:_,placeholder:"类型"}},{type:"input",label:"校验信息",model:"message",show(){return!!a.value.required},componentProps:{placeholder:"校验信息"}}],o=e.ref([]);e.watchEffect(()=>{u.value&&(o.value=[],u.value.forEach(t=>{typeof t.required<"u"?a.value=t:o.value.push(t)}))});function y(){o.value.push({message:"",type:d.ruleType,trigger:["change"]}),l()}function l(){if(a.value.required){u.value=c.deepClone([...o.value,a.value]);return}if(o.value.length){u.value=c.deepClone(o.value);return}u.value=void 0}function p(t){o.value.splice(t,1),l()}return(t,m)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("div",N,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(g,(n,s)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:s},[!n.show||n.show()?(e.openBlock(),e.createElementBlock("div",P,[e.createElementVNode("div",U,e.toDisplayString(n.label),1),e.createElementVNode("div",j,[e.createVNode(e.unref(c._sfc_main),{modelValue:a.value[n.model],"onUpdate:modelValue":v=>a.value[n.model]=v,componentSchema:{...n,noFormItem:!0},onChange:l},null,8,["modelValue","onUpdate:modelValue","componentSchema"])])])):e.createCommentVNode("",!0)],64))),64))]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(n,s)=>(e.openBlock(),e.createBlock(C,{key:s,rule:o.value[s],"onUpdate:rule":v=>o.value[s]=v,onDelete:v=>p(s),onChange:l},null,8,["rule","onUpdate:rule","onDelete"]))),128)),e.createVNode(e.unref(i),{class:"m-t-2",onClick:y},{default:e.withCtx(()=>m[0]||(m[0]=[e.createTextVNode(" 添加规则 ")])),_:1})]))}});exports.default=F;
|
|
@@ -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-B_9x_cPH.js";
|
|
3
3
|
import { p as w } from "./js.cookie-oHpRFPCO.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,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent as d, ref as i, watch as n, openBlock as s, createElementBlock as v, createElementVNode as c, createVNode as f, unref as V } from "vue";
|
|
2
2
|
import { p as g } from "./js.cookie-oHpRFPCO.js";
|
|
3
|
-
import { k as y } from "./index-
|
|
3
|
+
import { k as y } from "./index-B_9x_cPH.js";
|
|
4
4
|
const w = /* @__PURE__ */ d({
|
|
5
5
|
__name: "index",
|
|
6
6
|
props: {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent as g, ref as p, onMounted as h, watch as v, nextTick as V, openBlock as _, createElementBlock as T } from "vue";
|
|
2
2
|
import * as a from "monaco-editor";
|
|
3
|
-
import { p as b } from "./index-
|
|
3
|
+
import { p as b } from "./index-B_9x_cPH.js";
|
|
4
4
|
import { _ as y } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
5
5
|
const x = /* @__PURE__ */ g({
|
|
6
6
|
__name: "index",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),b=require("./vuedraggable.umd-BqhSJIAi.cjs"),d=require("./js.cookie-BH1G_HRi.cjs"),g=require("./icon.vue_vue_type_script_setup_true_lang-DJbUD5AQ.cjs"),k=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),b=require("./vuedraggable.umd-BqhSJIAi.cjs"),d=require("./js.cookie-BH1G_HRi.cjs"),g=require("./icon.vue_vue_type_script_setup_true_lang-DJbUD5AQ.cjs"),k=require("./index-C3a1hfUC.cjs");require("element-plus");const y=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),C={key:0,class:"pl-4"},N=e.defineComponent({name:"EOptionItem",__name:"optionItem",props:{modelValue:{}},emits:["update:modelValue"],setup(V,{emit:_}){const f=V,p=d.pluginManager.getComponent("input"),c=e.inject("tree",!1),s=_,u=k.useVModel(f,"modelValue",s);function v(n){const r={label:"",value:""};n.children?n.children.push(r):n.children=[r]}function o(n){u.value=u.value.filter((r,m)=>m!==n)}return(n,r)=>{const m=e.resolveComponent("EOptionItem");return e.openBlock(),e.createBlock(e.unref(b.draggable),{modelValue:e.unref(u),"onUpdate:modelValue":r[0]||(r[0]=l=>e.isRef(u)?u.value=l:null),"item-key":"id","component-data":{type:"transition-group"},group:"option-list",handle:".handle",animation:200},{item:e.withCtx(({element:l,index:a})=>[e.createElementVNode("div",null,[e.createElementVNode("div",{class:e.normalizeClass([e.unref(c)?"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(g._sfc_main),{class:"mr-2 cursor-move handle",name:"icon--epic--drag"}),e.createVNode(e.unref(p),{modelValue:l.label,"onUpdate:modelValue":t=>l.label=t,value:l.label,"onUpdate:value":t=>l.label=t,placeholder:"label"},null,8,["modelValue","onUpdate:modelValue","value","onUpdate:value"]),e.createVNode(e.unref(p),{modelValue:l.value,"onUpdate:modelValue":t=>l.value=t,value:l.value,"onUpdate:value":t=>l.value=t,placeholder:"value"},null,8,["modelValue","onUpdate:modelValue","value","onUpdate:value"]),e.unref(c)?(e.openBlock(),e.createBlock(e.unref(g._sfc_main),{key:0,class:"cursor-pointer text-lg!",name:"icon--epic--add-rounded",onClick:t=>v(l)},null,8,["onClick"])):e.createCommentVNode("",!0),e.createVNode(e.unref(g._sfc_main),{class:"hover:text-red cursor-pointer",name:"icon--epic--delete-outline-rounded",onClick:t=>o(a)},null,8,["onClick"])],2),l.children?(e.openBlock(),e.createElementBlock("div",C,[e.createVNode(m,{modelValue:l.children,"onUpdate:modelValue":t=>l.children=t},null,8,["modelValue","onUpdate:modelValue"])])):e.createCommentVNode("",!0)])]),_:1},8,["modelValue"])}}}),E={class:""},B={class:"epic-tabs-box"},U=["title","onClick"],M={key:0},I={class:"py-4 my-2 text-center text-gray-400 bg-white"},S={key:1},q=e.defineComponent({__name:"index",props:{tree:{type:Boolean},modelValue:{},dynamicId:{},type:{}},emits:["update:modelValue","update:EOptionsEditor"],setup(V,{emit:_}){const f=d.pluginManager.getComponent("button"),p=d.pluginManager.getComponent("select"),c=e.ref([]),s=e.reactive({title:"静态"}),u=V,v=_;d.EventBus.on("deleteSourceData",a=>{n.value===a&&(n.value="",o.value=[])}),d.EventBus.on("updateSource",a=>{c.value=d.pluginManager.sourceData.map(t=>({...t,label:t.apiName,value:t.id}))}),e.onMounted(()=>{c.value=d.pluginManager.sourceData.map(a=>({...a,label:a.apiName,value:a.id}))});const o=k.useVModel(u,"modelValue",v),n=k.useVModel(u,"dynamicId",v);e.watch(()=>n.value,async()=>{n.value?s.title="动态":s.title="静态"},{immediate:!0});const r=[{title:"静态"},{title:"动态"}];async function m(a){s.title=a.title,a.title==="静态"?(o.value=[],n.value=""):(o.value=[],c.value=d.pluginManager.sourceData.map(t=>({...t,label:t.apiName,value:t.id})))}u.modelValue,e.provide("tree",u.tree);function l(){const a=e.reactive({label:"",value:""});o.value.length?o.value=[...o.value,a]:o.value=[a]}return(a,t)=>{var h;return e.openBlock(),e.createElementBlock("div",E,[e.createElementVNode("div",null,[e.createElementVNode("div",B,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(r,(i,x)=>e.createElementVNode("div",{class:e.normalizeClass(["epic-tab cursor-pointer truncate",{checked:s.title===i.title}]),key:x,title:i.title,onClick:$=>m(i)},e.toDisplayString(i.title),11,U)),64))]),s.title==="静态"?(e.openBlock(),e.createElementBlock("div",M,[e.withDirectives(e.createElementVNode("div",I,"暂无选项",512),[[e.vShow,!((h=e.unref(o))!=null&&h.length)]]),e.createVNode(N,{modelValue:e.unref(o),"onUpdate:modelValue":t[0]||(t[0]=i=>e.isRef(o)?o.value=i:null)},null,8,["modelValue"]),e.createVNode(e.unref(f),{onClick:l},{default:e.withCtx(()=>t[2]||(t[2]=[e.createTextVNode("添加选项")])),_:1})])):(e.openBlock(),e.createElementBlock("div",S,[t[3]||(t[3]=e.createElementVNode("span",{style:{"font-size":"12px","margin-bottom":"8px",display:"inline-block"}},"数据源",-1)),e.createVNode(e.unref(p),{modelValue:e.unref(n),"onUpdate:modelValue":t[1]||(t[1]=i=>e.isRef(n)?n.value=i:null),placeholder:"请选择数据源",clearable:"",options:c.value},null,8,["modelValue","options"])]))])])}}}),O=y._export_sfc(q,[["__scopeId","data-v-21fb2159"]]);exports.default=O;
|