epic-designer-gold 0.0.26 → 0.0.27
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-DCzZRUVR.cjs → attributeView-DT3Pgu2H.cjs} +1 -1
- package/dist/{attributeView-kN43pWbg.js → attributeView-VgLT3_0E.js} +1 -1
- package/dist/core/components/designer/src/modules/outline/outline.vue.d.ts +2 -0
- package/dist/{index-DLBhfrNB.js → index-8jV4lvPb.js} +53 -48
- package/dist/index-B0S7YNtd.js +432 -0
- package/dist/{index-DY-o9yrn.cjs → index-B9zp9FUu.cjs} +1 -1
- package/dist/{index-jHZMacL0.cjs → index-BAbG8xrg.cjs} +1 -1
- package/dist/{index-BEe15yy8.js → index-BWCIdFn_.js} +1 -1
- package/dist/index-BcTELKKi.cjs +1 -0
- package/dist/{index-CbGpPxHm.cjs → index-BfoDWeC1.cjs} +1 -1
- package/dist/{index-DxN8RjEN.js → index-C2Nctb3q.js} +1 -1
- package/dist/{index-CaTuGyqu.js → index-CJaP0qUg.js} +1 -1
- package/dist/{index-Bjx88DqX.js → index-CQ_Xpn1C.js} +1 -1
- package/dist/{index-Dk4znWYz.js → index-Cn2i-Eyz.js} +1 -1
- package/dist/{index-CPUaKvrZ.cjs → index-D-mV-SAk.cjs} +1 -1
- package/dist/{index-Dzlg11UJ.cjs → index-DKe3uW6g.cjs} +1 -1
- package/dist/{index-XFxcgCZv.cjs → index-DkVKzqSQ.cjs} +1 -1
- package/dist/{index-Cj4ZeanZ.js → index-DqWY4lfL.js} +1 -1
- package/dist/{index-CEYb2hAA.cjs → index-R7VF52gK.cjs} +2 -2
- package/dist/{index-CIA7md14.cjs → index-Rhk7Lv_h.cjs} +1 -1
- package/dist/index-fwa-_XEi.js +4 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/outline-CJSEUbgc.cjs +1 -0
- package/dist/outline-yy4pIEi3.js +54 -0
- package/dist/style.css +1 -1
- package/dist/{styleView-CzuVNY_C.cjs → styleView-B66KWbOm.cjs} +1 -1
- package/dist/{styleView-CW51rl71.js → styleView-Cjdr_xer.js} +1 -1
- package/dist/tree.vue_vue_type_script_setup_true_lang-RWTXU6lO.cjs +1 -0
- package/dist/tree.vue_vue_type_script_setup_true_lang-uR4G8wa_.js +242 -0
- package/package.json +1 -1
- package/dist/index-AtPqwiGo.js +0 -665
- package/dist/index-CV6j5M_g.cjs +0 -1
- package/dist/index-CbNFt3RR.js +0 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),F=require("./axios-CYGTE3lR.cjs"),C=require("./index-CEYb2hAA.cjs"),J=require("./icon.vue_vue_type_script_setup_true_lang-DJbUD5AQ.cjs"),G=require("./vuedraggable.umd-BqhSJIAi.cjs"),ee={class:"epic-widget-action-item whitespace-nowrap"},te={key:0,class:"flex items-center"},ne=e.defineComponent({__name:"previewWidgets",setup(A,{expose:R}){const u=e.inject("pageManager",{}),_=e.inject("pageSchema"),r=e.inject("designer"),h=e.inject("designerProps"),c=e.inject("revoke"),f=e.ref(null),w=e.ref(null),g=e.ref(null),M=e.ref(!1),l=e.ref(!1),a=e.ref(!0),i=e.ref("top"),{canvasScale:s,disabledZoom:k}=C.useStore();let n=null;const L=e.computed(()=>{const t=r.state.checkedNode;return!(!(t!=null&&t.id)||h.value.lockDefaultSchemaEdit&&u.defaultComponentIds.value.includes(t==null?void 0:t.id))}),T=e.computed(()=>{var S,N,V,m,O,H;const t=u.componentInstances.value,d=(S=r.state.checkedNode)==null?void 0:S.id;if((V=(N=r.state.checkedNode)==null?void 0:N.componentProps)!=null&&V.hidden)return null;const y=F.pluginManager.getComponentConfingByType((m=r.state.checkedNode)==null?void 0:m.type)??null;if(!d||!(t!=null&&t[d]))return null;if(y!=null&&y.defaultSchema.input&&((O=r.state.checkedNode)==null?void 0:O.noFormItem)!==!0)return(H=t[d+"formItem"])==null?void 0:H.$el;const o=t[d];return!(o!=null&&o.$el)||(o==null?void 0:o.$el.nodeName)==="#text"||!(o!=null&&o.$el.getBoundingClientRect)?null:o==null?void 0:o.$el}),B=e.computed(()=>{var S,N,V,m;const t=u.componentInstances.value,d=(S=r.state.hoverNode)==null?void 0:S.id,y=F.pluginManager.getComponentConfingByType((N=r.state.hoverNode)==null?void 0:N.type)??null;if(!d||!(t!=null&&t[d]))return null;if(y!=null&&y.defaultSchema.input&&((V=r.state.hoverNode)==null?void 0:V.noFormItem)!==!0)return(m=t[d+"formItem"])==null?void 0:m.$el;const o=t[d];return(o==null?void 0:o.$el.nodeName)==="#text"?null:o==null?void 0:o.$el}),{mutationObserver:p,observerConfig:x}=Z(j),{startTimedQuery:v,stopTimedQuery:z}=C.useTimedQuery(j);e.watch(()=>T.value,t=>{if(t){M.value=!0,p.observe(t,x);const d=t.parentNode;d&&(d.ondragstart=()=>{a.value=!1,v()},d.ondragend=()=>{a.value=!0,z()}),j()}else M.value=!1});const{mutationObserver:P,observerConfig:E}=Z(q);e.watch(()=>B.value,t=>{t&&(P.observe(t,E),q())});let b=0;e.watch(()=>{var t;return(t=r.state.hoverNode)==null?void 0:t.id},t=>{if(t){l.value=!0,clearTimeout(b);return}b=setTimeout(()=>{l.value=!1},300)});let $=0,D=0;function j(){const t=T.value;if(!t||!n)return;const{top:d,left:y}=n==null?void 0:n.getBoundingClientRect(),{top:o,left:S,width:N,height:V}=t.getBoundingClientRect(),m=k.value?1:s.value,O=o-d+((n==null?void 0:n.scrollTop)??0)*m,H=S-y+((n==null?void 0:n.scrollLeft)??0)*m,W=V/m;f.value&&(f.value.style.width=`${N/m}px`,f.value.style.height=`${W}px`,f.value.style.top=`${O/m}px`,f.value.style.left=`${H/m}px`,I(O,H)),g.value&&(O<45&&W<100?(g.value.style.top="",g.value.style.bottom="-30px",g.value.style["border-radius"]="0px 0px 4px 4px",i.value="bottom"):O<45?(g.value.style.top="0px",g.value.style["border-radius"]="0px 0px 4px 0",i.value="center"):(g.value.style.top="-30px",g.value.style["border-radius"]="4px 4px 0px 0px",i.value="top"))}function I(t,d){const y=T.value;if(!n||!y)return;const o=n.getBoundingClientRect(),{width:S}=y.getBoundingClientRect(),N=k.value?1:s.value,V=t/N-o.top;let m=d/N-o.left+S/N;m<o.width&&(m=0);const O=n.scrollTop-o.height/3+60,H=n.scrollTop+o.height/3*2,W=n.scrollLeft-o.width+200,U=n.scrollLeft+o.width-200;Math.abs(V-$)<10&&Math.abs(m-D)<10||($=V,D=m,!(V>O&&V<H&&m>W&&m<U)&&(n.scrollTop=V,n.scrollLeft=m))}function q(){var W,U;const t=B.value;if(!t)return;const{top:d,left:y}=(n==null?void 0:n.getBoundingClientRect())??{top:0,left:0},{top:o,left:S,width:N,height:V}=((W=t.getBoundingClientRect)==null?void 0:W.call(t))??((U=t.nextElementSibling)==null?void 0:U.getBoundingClientRect()),m=k.value?1:s.value,O=o-d+((n==null?void 0:n.scrollTop)??0)*m,H=S-y+((n==null?void 0:n.scrollLeft)??0)*m;w.value&&(w.value.style.width=`${N/m}px`,w.value.style.height=`${V/m}px`,w.value.style.top=`${O/m}px`,w.value.style.left=`${H/m}px`)}function Z(t){const d=window.MutationObserver,y={childList:!0,attributes:!0,subtree:!0};return{mutationObserver:new d(t),observerConfig:y}}function K(){var N;const t=C.findSchemaInfoById(_.schemas,((N=r.state.checkedNode)==null?void 0:N.id)??"root");if(!t)return!1;const{list:d,schema:y,index:o}=t,S=C.generateNewSchema(y);d.splice(o+1,0,S),r.setCheckedNode(S),c.push(_.schemas,"复制组件")}function X(){var S;const t=C.findSchemaInfoById(_.schemas,((S=r.state.checkedNode)==null?void 0:S.id)??"root");if(!t)return!1;let{list:d,schema:y,index:o}=t;d.splice(o,1),o===d.length&&o--,r.setCheckedNode(d[o]),c.push(_.schemas,"删除组件")}function Y(t){n=t,n==null||n.addEventListener("scroll",()=>{j()}),C.useResizeObserver(T,j),C.useResizeObserver(B,q)}return R({handleInit:Y}),(t,d)=>{var y,o,S,N,V;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.withDirectives(e.createElementVNode("div",{ref_key:"selectorRef",ref:f,class:e.normalizeClass(["epic-checked-widget absolute pointer-events-none z-20",i.value+" "+(a.value?"transition-all":"")])},[e.createElementVNode("div",{class:"epic-widget-action-box",ref_key:"actionBoxRef",ref:g},[e.createElementVNode("div",ee,e.toDisplayString((o=e.unref(F.pluginManager).getComponentConfingByType(((y=e.unref(r).state.checkedNode)==null?void 0:y.type)??""))==null?void 0:o.defaultSchema.label),1),L.value?(e.openBlock(),e.createElementBlock("div",te,[e.createElementVNode("div",{title:"复制",class:"epic-widget-action-item pointer-events-auto",onClick:K},[e.createVNode(e.unref(J._sfc_main),{name:"icon--epic--copy-all-outline-rounded"})]),e.createElementVNode("div",{title:"删除",class:"epic-widget-action-item pointer-events-auto",onClick:X},[e.createVNode(e.unref(J._sfc_main),{name:"icon--epic--delete-outline-rounded"})])])):e.createCommentVNode("",!0)],512)],2),[[e.vShow,M.value&&((S=e.unref(r).state.checkedNode)==null?void 0:S.id)!=="root"]]),e.withDirectives(e.createElementVNode("div",{ref_key:"hoverWidgetRef",ref:w,class:"epic-hover-widget absolute transition-all pointer-events-none z-998"},null,512),[[e.vShow,l.value&&((N=e.unref(r).state.checkedNode)==null?void 0:N.id)!==((V=e.unref(r).state.hoverNode)==null?void 0:V.id)]])],64)}}}),oe=e.defineComponent({name:"EditNodeItem",__name:"editNodeItem",props:{schemas:{}},emits:["update:schemas"],setup(A,{emit:R}){const u=e.inject("designer"),_=e.inject("pageSchema"),r=e.inject("revoke"),h=A,c=R,f=e.computed({get(){return h.schemas},set(a){c("update:schemas",a)}});function w(a){u.setCheckedNode(f.value[a]),u.setDisableHover(!0)}function g(){u.setDisableHover(),r.push(_.schemas,"拖拽组件")}function M(){r.push(_.schemas,"插入组件")}function l(a){var i,s,k;return a.id===((i=_.schemas[0])==null?void 0:i.id)||(k=(s=F.pluginManager.getComponentConfingByType(a.type))==null?void 0:s.editConstraints)!=null&&k.immovable?"unmover-item":"draggable-item"}return(a,i)=>(e.openBlock(),e.createBlock(e.unref(G.draggable),e.mergeProps({modelValue:f.value,"onUpdate:modelValue":i[0]||(i[0]=s=>f.value=s),"item-key":"id","component-data":{type:"transition-group"},class:"epic-draggable-range"},{animation:200,group:"edit-draggable",handle:".draggable-item",ghostClass:"moveing"},{onStart:i[1]||(i[1]=s=>w(s.oldIndex)),onEnd:i[2]||(i[2]=s=>g()),onAdd:i[3]||(i[3]=s=>{w(s.newIndex),M()})}),{item:e.withCtx(({element:s,index:k})=>[(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["widget-box",l(s)]),key:k},[e.createVNode(Q,{schema:s},null,8,["schema"])],2))]),_:1},16,["modelValue"]))}}),Q=e.defineComponent({name:"ENodeItem",__name:"nodeItem",props:{schema:{},name:{}},setup(A){const R=e.useAttrs(),u=e.inject("designer"),_=e.inject("pageManager",{}),r=e.inject("pageSchema",{}),h=e.ref(null);e.provide("nodeAttrs",R);const c=A,f=e.computed(()=>{var k,n,L,T,B;const l=_.componentInstances.value,a=(k=c.schema)==null?void 0:k.id,i=F.pluginManager.getComponentConfingByType((n=c.schema)==null?void 0:n.type)??null;if(!a||!(l!=null&&l[a]))return null;if(i!=null&&i.defaultSchema.input&&((L=c.schema)==null?void 0:L.noFormItem)!==!0)return(T=l[a+"formItem"])==null?void 0:T.$el;const s=l[a];return((B=s==null?void 0:s.$el)==null?void 0:B.nodeName)==="#text"?null:s==null?void 0:s.$el});e.watch(()=>f.value,l=>{l==null||l.addEventListener("click",w,!1),l==null||l.addEventListener("mouseover",g,!1),l==null||l.addEventListener("mouseout",M,!1)}),e.onUnmounted(()=>{var l,a,i;(l=f.value)==null||l.removeEventListener("click",w,!1),(a=f.value)==null||a.removeEventListener("mouseover",g,!1),(i=f.value)==null||i.removeEventListener("mouseout",M,!1)});function w(l){l.stopPropagation(),u.setCheckedNode(c.schema)}function g(l){var a;c.schema.id!==((a=r.schemas[0])==null?void 0:a.id)&&(l.stopPropagation(),u.setHoverNode(c.schema))}function M(l){l.stopPropagation(),u.setHoverNode(null)}return(l,a)=>{var s,k;const i=e.resolveComponent("ENodeItem");return e.openBlock(),e.createBlock(e.unref(C._sfc_main),{ref_key:"nodeRef",ref:h,componentSchema:c.schema},e.createSlots({_:2},[(k=(s=e.unref(F.pluginManager).getComponentConfingByType(c.schema.type))==null?void 0:s.editConstraints)!=null&&k.childImmovable?{name:"edit-node",fn:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.schema.children,n=>(e.openBlock(),e.createBlock(i,{key:n.id,schema:n},null,8,["schema"]))),128))]),key:"0"}:{name:"edit-node",fn:e.withCtx(()=>[c.schema.children?(e.openBlock(),e.createBlock(oe,{key:0,schemas:c.schema.children,"onUpdate:schemas":a[0]||(a[0]=n=>c.schema.children=n)},null,8,["schemas"])):e.createCommentVNode("",!0)]),key:"1"}]),1032,["componentSchema"])}}}),le={class:"min-w-750px rounded h-full"},ae=e.defineComponent({__name:"previewJson",setup(A,{expose:R}){const u=F.pluginManager.getComponent("modal"),_=F.pluginManager.getComponent("monacoEditor"),r={theme:"vs-light",selectOnLineNumbers:!0,minimap:{enabled:!1},readOnly:!0},h=e.ref(null),c=e.ref(!1),f=e.inject("pageSchema");function w(){c.value=!1}function g(){c.value=!0,h.value?h.value.setValue(JSON.stringify(f,null,2)):setTimeout(()=>{g()},300)}function M(l="epic-data.json"){const a=JSON.stringify(f,null,2);var i=`data:text/json;charset=utf-8,${encodeURIComponent(a)}`,s=document.createElement("a");s.setAttribute("href",i),s.setAttribute("download",l),s.click()}return R({handleOpen:g}),(l,a)=>(e.openBlock(),e.createBlock(e.unref(u),{modelValue:c.value,"onUpdate:modelValue":a[0]||(a[0]=i=>c.value=i),title:"查看数据",class:"w-900px",width:"900px",onClose:w,onOk:M,okText:"导出数据"},{default:e.withCtx(()=>[e.createElementVNode("div",le,[e.createVNode(e.unref(_),{ref_key:"monacoEditorRef",ref:h,class:"editor h-full",autoToggleTheme:"",readOnly:"",config:r,language:"json"},null,512)])]),_:1},8,["modelValue"]))}}),se={class:"epic-edit-toolbar flex items-center justify-between px-2"},re={class:"flex-1 h-full flex items-center"},ie={key:0,class:"epic-divider"},ce=["title","onClick"],de={class:"flex-1 h-full flex items-center justify-end"},ue={key:0,class:"flex items-center ml-12px"},fe={class:"pr-8px w-82px cursor-pointer"},me={class:"epic-device h-28px items-center gap-1 rounded-md border p-2px flex"},ve=["title","onClick"],pe=e.defineComponent({__name:"toolbar",setup(A){const R=F.pluginManager.getComponent("select"),{canvasScale:u,disabledZoom:_}=C.useStore(),r=e.ref("pc"),h=e.inject("pageSchema"),c=e.inject("designer"),f=e.inject("revoke"),w=e.ref(null),g=[{icon:"icon--epic--computer-outline-rounded",title:"pc",key:"pc"}],M=e.computed(()=>[{icon:"icon--epic--trash",title:"清空",on:n},{icon:"icon--epic--undo",title:"撤销",on:s,disabled:!f.recordList.value.length,divider:!0},{icon:"icon--epic--redo",title:"重做",on:k,disabled:!f.undoList.value.length}]),l=e.ref(null),a=e.computed({get(){return`${(u.value*100).toFixed(0)}%`},set(p){const x=parseFloat(p);u.value=x/100}}),i=[{label:"60%",value:"60%"},{label:"80%",value:"80%"},{label:"100%",value:"100%"},{label:"120%",value:"120%"},{label:"140%",value:"140%"}];function s(){const p=f.undo();p&&(C.deepCompareAndModify(h.schemas,p),c.setCheckedNode(h.schemas[0]))}function k(){const p=f.redo();p&&(C.deepCompareAndModify(h.schemas,p),c.setCheckedNode(h.schemas[0]))}function n(){c.reset()}function L(p){var z;const x=(z=p.target.files)==null?void 0:z[0];if(!x)return;p.target.value=null;const v=new FileReader;v.readAsText(x),v.onload=P=>{var E;T((E=P.target)==null?void 0:E.result)}}function T(p){try{let x=JSON.parse(p??"");x.schemas||(x=C.convertKFormData(x)),C.deepCompareAndModify(h,x)}catch(x){console.error(x)}}function B(p){c.handleToggleDeviceMode(p),r.value=p;const x={pc:{},pad:{width:"780px",mode:p},mobile:{width:"390px",mode:p}};h.canvas=x[p]}return(p,x)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",se,[e.createElementVNode("div",re,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(M.value,(v,z)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:z},[v.divider?(e.openBlock(),e.createElementBlock("div",ie)):e.createCommentVNode("",!0),e.createElementVNode("div",{title:v.title,class:e.normalizeClass(["epic-action-item text-base h-90% px-10px flex items-center cursor-pointer",{disabled:v.disabled}]),onClick:v.on},[e.createVNode(e.unref(J._sfc_main),{name:v.icon},null,8,["name"])],10,ce)],64))),128))]),e.withDirectives(e.createElementVNode("input",{type:"file",ref_key:"fileRef",ref:l,accept:".json,.txt",onChange:L},null,544),[[e.vShow,!1]]),e.createElementVNode("div",de,[e.unref(_)?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",ue,[e.createElementVNode("div",fe,[e.createVNode(e.unref(R),{value:a.value,"onUpdate:value":x[0]||(x[0]=v=>a.value=v),modelValue:a.value,"onUpdate:modelValue":x[1]||(x[1]=v=>a.value=v),options:i,size:"small"},null,8,["value","modelValue"])])])),e.createElementVNode("div",me,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(g,v=>e.createElementVNode("div",{key:v.key,title:v.title,class:e.normalizeClass(["epic-device-item h-full px-1 flex items-center cursor-pointer text-base transition-colors rounded-sm",{checked:v.key===r.value}]),onClick:z=>B(v.key)},[e.createVNode(e.unref(J._sfc_main),{name:v.icon},null,8,["name"])],10,ve)),64))])])]),e.createVNode(ae,{ref_key:"previewJson",ref:w},null,512)],64))}}),he={class:"h-full flex flex-col relative"},ge=["draggable"],xe=e.defineComponent({__name:"editScreenContainer",setup(A){const R=e.inject("pageSchema"),u=e.ref(null),_=e.ref(null),r=e.ref(null),{pressSpace:h,disabledZoom:c}=C.useStore(),{handleElementDragStart:f,handleElementDrag:w,handleElementDragEnd:g}=C.useElementDrag(u),{width:M,height:l}=C.useElementSize(u),{canvasScale:a,handleZoom:i}=C.useElementZoom(_);let s=0,k=0;const n=e.ref({}),L=e.ref({}),T=e.ref({}),B=e.shallowRef({width:0,height:0});e.watchEffect(x),e.watch(T,()=>{e.nextTick(p)});function p(){r.value&&(B.value={width:r.value.clientWidth,height:r.value.clientHeight})}function x(){var E,b;T.value={width:((E=R.canvas)==null?void 0:E.width)??"0",height:((b=R.canvas)==null?void 0:b.height)??"0"}}C.watchOnce(M,v),e.watch(B,v);function v(){let E=B.value.width||s,b=B.value.height||k;n.value={width:M.value+E+"px",height:l.value+b+"px"},L.value={width:E+"px",height:b+"px"},z()}function z(){e.nextTick(()=>{var j;let E=B.value.width||s;const $=(B.value.height||k)/2,D=E/2;(j=u.value)==null||j.scrollTo(D,$)})}C.useResizeObserver(u,P),C.useResizeObserver(_,P);function P(){var b;if(!u.value)return;const E=u.value.getBoundingClientRect();if(s=E.width-60,k=E.height-80,!c.value)if(B.value.width===0)a.value=1;else{const $=(s-20)/B.value.width,D=k/(B.value.height||((b=_.value)==null?void 0:b.clientHeight)||1),j=Math.abs($-1)<Math.abs(D-1);let I=1;j?I=$:I=D,($<1||D<1)&&(I=Math.min($,D)),I<1.4&&I>.5&&(a.value=I)}C.debounce(v,50)()}return(E,b)=>(e.openBlock(),e.createElementBlock("div",he,[e.createVNode(pe),e.createElementVNode("div",{ref_key:"editScreenContainerRef",ref:u,class:e.normalizeClass(["flex-1 overflow-auto overflow-y-hidden epic-edit-screen-container",{"cursor-grab":e.unref(h)}]),draggable:e.unref(h),onWheel:b[0]||(b[0]=(...$)=>e.unref(i)&&e.unref(i)(...$)),onDragstart:b[1]||(b[1]=(...$)=>e.unref(f)&&e.unref(f)(...$)),onDragend:b[2]||(b[2]=(...$)=>e.unref(g)&&e.unref(g)(...$)),onDrag:b[3]||(b[3]=(...$)=>e.unref(w)&&e.unref(w)(...$))},[e.createElementVNode("div",{id:"canvasContainer",class:"flex items-center justify-center",style:e.normalizeStyle(n.value)},[e.createElementVNode("div",{ref_key:"draggableElRef",ref:_,class:"transition-all"},[e.createElementVNode("div",{class:e.normalizeClass({"pointer-events-none":e.unref(h)}),style:e.normalizeStyle(L.value)},[e.renderSlot(E.$slots,"default")],6)],512)],4)],42,ge),e.createElementVNode("div",{ref_key:"sizeBoxRef",ref:r,class:"absolute top-0 pointer-events-none",style:e.normalizeStyle(T.value)},null,4)]))}}),ye={class:"epic-edit-canvas"},_e=e.defineComponent({__name:"index",setup(A){const R=e.ref(null),u=e.ref(null),_=e.inject("pageSchema"),r=e.computed(()=>_.schemas[0]),h=e.computed(()=>({width:"100%",height:"100%"}));return e.onMounted(()=>{var c;(c=u.value)==null||c.handleInit(R.value)}),(c,f)=>(e.openBlock(),e.createElementBlock("section",ye,[e.createVNode(xe,null,{default:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"epicEditRangeRef",ref:R,class:"epic-edit-range rounded-md overflow-auto relative",style:e.normalizeStyle(h.value)},[e.createVNode(Q,{schema:r.value},null,8,["schema"]),e.createVNode(ne,{ref_key:"ePreviewWidgetsRef",ref:u},null,512)],4)]),_:1})]))}});exports.default=_e;
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),F=require("./axios-CYGTE3lR.cjs"),C=require("./index-R7VF52gK.cjs"),J=require("./icon.vue_vue_type_script_setup_true_lang-DJbUD5AQ.cjs"),G=require("./vuedraggable.umd-BqhSJIAi.cjs"),ee={class:"epic-widget-action-item whitespace-nowrap"},te={key:0,class:"flex items-center"},ne=e.defineComponent({__name:"previewWidgets",setup(A,{expose:R}){const u=e.inject("pageManager",{}),_=e.inject("pageSchema"),r=e.inject("designer"),h=e.inject("designerProps"),c=e.inject("revoke"),f=e.ref(null),w=e.ref(null),g=e.ref(null),M=e.ref(!1),l=e.ref(!1),a=e.ref(!0),i=e.ref("top"),{canvasScale:s,disabledZoom:k}=C.useStore();let n=null;const L=e.computed(()=>{const t=r.state.checkedNode;return!(!(t!=null&&t.id)||h.value.lockDefaultSchemaEdit&&u.defaultComponentIds.value.includes(t==null?void 0:t.id))}),T=e.computed(()=>{var S,N,V,m,O,H;const t=u.componentInstances.value,d=(S=r.state.checkedNode)==null?void 0:S.id;if((V=(N=r.state.checkedNode)==null?void 0:N.componentProps)!=null&&V.hidden)return null;const y=F.pluginManager.getComponentConfingByType((m=r.state.checkedNode)==null?void 0:m.type)??null;if(!d||!(t!=null&&t[d]))return null;if(y!=null&&y.defaultSchema.input&&((O=r.state.checkedNode)==null?void 0:O.noFormItem)!==!0)return(H=t[d+"formItem"])==null?void 0:H.$el;const o=t[d];return!(o!=null&&o.$el)||(o==null?void 0:o.$el.nodeName)==="#text"||!(o!=null&&o.$el.getBoundingClientRect)?null:o==null?void 0:o.$el}),B=e.computed(()=>{var S,N,V,m;const t=u.componentInstances.value,d=(S=r.state.hoverNode)==null?void 0:S.id,y=F.pluginManager.getComponentConfingByType((N=r.state.hoverNode)==null?void 0:N.type)??null;if(!d||!(t!=null&&t[d]))return null;if(y!=null&&y.defaultSchema.input&&((V=r.state.hoverNode)==null?void 0:V.noFormItem)!==!0)return(m=t[d+"formItem"])==null?void 0:m.$el;const o=t[d];return(o==null?void 0:o.$el.nodeName)==="#text"?null:o==null?void 0:o.$el}),{mutationObserver:p,observerConfig:x}=Z(j),{startTimedQuery:v,stopTimedQuery:z}=C.useTimedQuery(j);e.watch(()=>T.value,t=>{if(t){M.value=!0,p.observe(t,x);const d=t.parentNode;d&&(d.ondragstart=()=>{a.value=!1,v()},d.ondragend=()=>{a.value=!0,z()}),j()}else M.value=!1});const{mutationObserver:P,observerConfig:E}=Z(q);e.watch(()=>B.value,t=>{t&&(P.observe(t,E),q())});let b=0;e.watch(()=>{var t;return(t=r.state.hoverNode)==null?void 0:t.id},t=>{if(t){l.value=!0,clearTimeout(b);return}b=setTimeout(()=>{l.value=!1},300)});let $=0,D=0;function j(){const t=T.value;if(!t||!n)return;const{top:d,left:y}=n==null?void 0:n.getBoundingClientRect(),{top:o,left:S,width:N,height:V}=t.getBoundingClientRect(),m=k.value?1:s.value,O=o-d+((n==null?void 0:n.scrollTop)??0)*m,H=S-y+((n==null?void 0:n.scrollLeft)??0)*m,W=V/m;f.value&&(f.value.style.width=`${N/m}px`,f.value.style.height=`${W}px`,f.value.style.top=`${O/m}px`,f.value.style.left=`${H/m}px`,I(O,H)),g.value&&(O<45&&W<100?(g.value.style.top="",g.value.style.bottom="-30px",g.value.style["border-radius"]="0px 0px 4px 4px",i.value="bottom"):O<45?(g.value.style.top="0px",g.value.style["border-radius"]="0px 0px 4px 0",i.value="center"):(g.value.style.top="-30px",g.value.style["border-radius"]="4px 4px 0px 0px",i.value="top"))}function I(t,d){const y=T.value;if(!n||!y)return;const o=n.getBoundingClientRect(),{width:S}=y.getBoundingClientRect(),N=k.value?1:s.value,V=t/N-o.top;let m=d/N-o.left+S/N;m<o.width&&(m=0);const O=n.scrollTop-o.height/3+60,H=n.scrollTop+o.height/3*2,W=n.scrollLeft-o.width+200,U=n.scrollLeft+o.width-200;Math.abs(V-$)<10&&Math.abs(m-D)<10||($=V,D=m,!(V>O&&V<H&&m>W&&m<U)&&(n.scrollTop=V,n.scrollLeft=m))}function q(){var W,U;const t=B.value;if(!t)return;const{top:d,left:y}=(n==null?void 0:n.getBoundingClientRect())??{top:0,left:0},{top:o,left:S,width:N,height:V}=((W=t.getBoundingClientRect)==null?void 0:W.call(t))??((U=t.nextElementSibling)==null?void 0:U.getBoundingClientRect()),m=k.value?1:s.value,O=o-d+((n==null?void 0:n.scrollTop)??0)*m,H=S-y+((n==null?void 0:n.scrollLeft)??0)*m;w.value&&(w.value.style.width=`${N/m}px`,w.value.style.height=`${V/m}px`,w.value.style.top=`${O/m}px`,w.value.style.left=`${H/m}px`)}function Z(t){const d=window.MutationObserver,y={childList:!0,attributes:!0,subtree:!0};return{mutationObserver:new d(t),observerConfig:y}}function K(){var N;const t=C.findSchemaInfoById(_.schemas,((N=r.state.checkedNode)==null?void 0:N.id)??"root");if(!t)return!1;const{list:d,schema:y,index:o}=t,S=C.generateNewSchema(y);d.splice(o+1,0,S),r.setCheckedNode(S),c.push(_.schemas,"复制组件")}function X(){var S;const t=C.findSchemaInfoById(_.schemas,((S=r.state.checkedNode)==null?void 0:S.id)??"root");if(!t)return!1;let{list:d,schema:y,index:o}=t;d.splice(o,1),o===d.length&&o--,r.setCheckedNode(d[o]),c.push(_.schemas,"删除组件")}function Y(t){n=t,n==null||n.addEventListener("scroll",()=>{j()}),C.useResizeObserver(T,j),C.useResizeObserver(B,q)}return R({handleInit:Y}),(t,d)=>{var y,o,S,N,V;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.withDirectives(e.createElementVNode("div",{ref_key:"selectorRef",ref:f,class:e.normalizeClass(["epic-checked-widget absolute pointer-events-none z-20",i.value+" "+(a.value?"transition-all":"")])},[e.createElementVNode("div",{class:"epic-widget-action-box",ref_key:"actionBoxRef",ref:g},[e.createElementVNode("div",ee,e.toDisplayString((o=e.unref(F.pluginManager).getComponentConfingByType(((y=e.unref(r).state.checkedNode)==null?void 0:y.type)??""))==null?void 0:o.defaultSchema.label),1),L.value?(e.openBlock(),e.createElementBlock("div",te,[e.createElementVNode("div",{title:"复制",class:"epic-widget-action-item pointer-events-auto",onClick:K},[e.createVNode(e.unref(J._sfc_main),{name:"icon--epic--copy-all-outline-rounded"})]),e.createElementVNode("div",{title:"删除",class:"epic-widget-action-item pointer-events-auto",onClick:X},[e.createVNode(e.unref(J._sfc_main),{name:"icon--epic--delete-outline-rounded"})])])):e.createCommentVNode("",!0)],512)],2),[[e.vShow,M.value&&((S=e.unref(r).state.checkedNode)==null?void 0:S.id)!=="root"]]),e.withDirectives(e.createElementVNode("div",{ref_key:"hoverWidgetRef",ref:w,class:"epic-hover-widget absolute transition-all pointer-events-none z-998"},null,512),[[e.vShow,l.value&&((N=e.unref(r).state.checkedNode)==null?void 0:N.id)!==((V=e.unref(r).state.hoverNode)==null?void 0:V.id)]])],64)}}}),oe=e.defineComponent({name:"EditNodeItem",__name:"editNodeItem",props:{schemas:{}},emits:["update:schemas"],setup(A,{emit:R}){const u=e.inject("designer"),_=e.inject("pageSchema"),r=e.inject("revoke"),h=A,c=R,f=e.computed({get(){return h.schemas},set(a){c("update:schemas",a)}});function w(a){u.setCheckedNode(f.value[a]),u.setDisableHover(!0)}function g(){u.setDisableHover(),r.push(_.schemas,"拖拽组件")}function M(){r.push(_.schemas,"插入组件")}function l(a){var i,s,k;return a.id===((i=_.schemas[0])==null?void 0:i.id)||(k=(s=F.pluginManager.getComponentConfingByType(a.type))==null?void 0:s.editConstraints)!=null&&k.immovable?"unmover-item":"draggable-item"}return(a,i)=>(e.openBlock(),e.createBlock(e.unref(G.draggable),e.mergeProps({modelValue:f.value,"onUpdate:modelValue":i[0]||(i[0]=s=>f.value=s),"item-key":"id","component-data":{type:"transition-group"},class:"epic-draggable-range"},{animation:200,group:"edit-draggable",handle:".draggable-item",ghostClass:"moveing"},{onStart:i[1]||(i[1]=s=>w(s.oldIndex)),onEnd:i[2]||(i[2]=s=>g()),onAdd:i[3]||(i[3]=s=>{w(s.newIndex),M()})}),{item:e.withCtx(({element:s,index:k})=>[(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["widget-box",l(s)]),key:k},[e.createVNode(Q,{schema:s},null,8,["schema"])],2))]),_:1},16,["modelValue"]))}}),Q=e.defineComponent({name:"ENodeItem",__name:"nodeItem",props:{schema:{},name:{}},setup(A){const R=e.useAttrs(),u=e.inject("designer"),_=e.inject("pageManager",{}),r=e.inject("pageSchema",{}),h=e.ref(null);e.provide("nodeAttrs",R);const c=A,f=e.computed(()=>{var k,n,L,T,B;const l=_.componentInstances.value,a=(k=c.schema)==null?void 0:k.id,i=F.pluginManager.getComponentConfingByType((n=c.schema)==null?void 0:n.type)??null;if(!a||!(l!=null&&l[a]))return null;if(i!=null&&i.defaultSchema.input&&((L=c.schema)==null?void 0:L.noFormItem)!==!0)return(T=l[a+"formItem"])==null?void 0:T.$el;const s=l[a];return((B=s==null?void 0:s.$el)==null?void 0:B.nodeName)==="#text"?null:s==null?void 0:s.$el});e.watch(()=>f.value,l=>{l==null||l.addEventListener("click",w,!1),l==null||l.addEventListener("mouseover",g,!1),l==null||l.addEventListener("mouseout",M,!1)}),e.onUnmounted(()=>{var l,a,i;(l=f.value)==null||l.removeEventListener("click",w,!1),(a=f.value)==null||a.removeEventListener("mouseover",g,!1),(i=f.value)==null||i.removeEventListener("mouseout",M,!1)});function w(l){l.stopPropagation(),u.setCheckedNode(c.schema)}function g(l){var a;c.schema.id!==((a=r.schemas[0])==null?void 0:a.id)&&(l.stopPropagation(),u.setHoverNode(c.schema))}function M(l){l.stopPropagation(),u.setHoverNode(null)}return(l,a)=>{var s,k;const i=e.resolveComponent("ENodeItem");return e.openBlock(),e.createBlock(e.unref(C._sfc_main),{ref_key:"nodeRef",ref:h,componentSchema:c.schema},e.createSlots({_:2},[(k=(s=e.unref(F.pluginManager).getComponentConfingByType(c.schema.type))==null?void 0:s.editConstraints)!=null&&k.childImmovable?{name:"edit-node",fn:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.schema.children,n=>(e.openBlock(),e.createBlock(i,{key:n.id,schema:n},null,8,["schema"]))),128))]),key:"0"}:{name:"edit-node",fn:e.withCtx(()=>[c.schema.children?(e.openBlock(),e.createBlock(oe,{key:0,schemas:c.schema.children,"onUpdate:schemas":a[0]||(a[0]=n=>c.schema.children=n)},null,8,["schemas"])):e.createCommentVNode("",!0)]),key:"1"}]),1032,["componentSchema"])}}}),le={class:"min-w-750px rounded h-full"},ae=e.defineComponent({__name:"previewJson",setup(A,{expose:R}){const u=F.pluginManager.getComponent("modal"),_=F.pluginManager.getComponent("monacoEditor"),r={theme:"vs-light",selectOnLineNumbers:!0,minimap:{enabled:!1},readOnly:!0},h=e.ref(null),c=e.ref(!1),f=e.inject("pageSchema");function w(){c.value=!1}function g(){c.value=!0,h.value?h.value.setValue(JSON.stringify(f,null,2)):setTimeout(()=>{g()},300)}function M(l="epic-data.json"){const a=JSON.stringify(f,null,2);var i=`data:text/json;charset=utf-8,${encodeURIComponent(a)}`,s=document.createElement("a");s.setAttribute("href",i),s.setAttribute("download",l),s.click()}return R({handleOpen:g}),(l,a)=>(e.openBlock(),e.createBlock(e.unref(u),{modelValue:c.value,"onUpdate:modelValue":a[0]||(a[0]=i=>c.value=i),title:"查看数据",class:"w-900px",width:"900px",onClose:w,onOk:M,okText:"导出数据"},{default:e.withCtx(()=>[e.createElementVNode("div",le,[e.createVNode(e.unref(_),{ref_key:"monacoEditorRef",ref:h,class:"editor h-full",autoToggleTheme:"",readOnly:"",config:r,language:"json"},null,512)])]),_:1},8,["modelValue"]))}}),se={class:"epic-edit-toolbar flex items-center justify-between px-2"},re={class:"flex-1 h-full flex items-center"},ie={key:0,class:"epic-divider"},ce=["title","onClick"],de={class:"flex-1 h-full flex items-center justify-end"},ue={key:0,class:"flex items-center ml-12px"},fe={class:"pr-8px w-82px cursor-pointer"},me={class:"epic-device h-28px items-center gap-1 rounded-md border p-2px flex"},ve=["title","onClick"],pe=e.defineComponent({__name:"toolbar",setup(A){const R=F.pluginManager.getComponent("select"),{canvasScale:u,disabledZoom:_}=C.useStore(),r=e.ref("pc"),h=e.inject("pageSchema"),c=e.inject("designer"),f=e.inject("revoke"),w=e.ref(null),g=[{icon:"icon--epic--computer-outline-rounded",title:"pc",key:"pc"}],M=e.computed(()=>[{icon:"icon--epic--trash",title:"清空",on:n},{icon:"icon--epic--undo",title:"撤销",on:s,disabled:!f.recordList.value.length,divider:!0},{icon:"icon--epic--redo",title:"重做",on:k,disabled:!f.undoList.value.length}]),l=e.ref(null),a=e.computed({get(){return`${(u.value*100).toFixed(0)}%`},set(p){const x=parseFloat(p);u.value=x/100}}),i=[{label:"60%",value:"60%"},{label:"80%",value:"80%"},{label:"100%",value:"100%"},{label:"120%",value:"120%"},{label:"140%",value:"140%"}];function s(){const p=f.undo();p&&(C.deepCompareAndModify(h.schemas,p),c.setCheckedNode(h.schemas[0]))}function k(){const p=f.redo();p&&(C.deepCompareAndModify(h.schemas,p),c.setCheckedNode(h.schemas[0]))}function n(){c.reset()}function L(p){var z;const x=(z=p.target.files)==null?void 0:z[0];if(!x)return;p.target.value=null;const v=new FileReader;v.readAsText(x),v.onload=P=>{var E;T((E=P.target)==null?void 0:E.result)}}function T(p){try{let x=JSON.parse(p??"");x.schemas||(x=C.convertKFormData(x)),C.deepCompareAndModify(h,x)}catch(x){console.error(x)}}function B(p){c.handleToggleDeviceMode(p),r.value=p;const x={pc:{},pad:{width:"780px",mode:p},mobile:{width:"390px",mode:p}};h.canvas=x[p]}return(p,x)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",se,[e.createElementVNode("div",re,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(M.value,(v,z)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:z},[v.divider?(e.openBlock(),e.createElementBlock("div",ie)):e.createCommentVNode("",!0),e.createElementVNode("div",{title:v.title,class:e.normalizeClass(["epic-action-item text-base h-90% px-10px flex items-center cursor-pointer",{disabled:v.disabled}]),onClick:v.on},[e.createVNode(e.unref(J._sfc_main),{name:v.icon},null,8,["name"])],10,ce)],64))),128))]),e.withDirectives(e.createElementVNode("input",{type:"file",ref_key:"fileRef",ref:l,accept:".json,.txt",onChange:L},null,544),[[e.vShow,!1]]),e.createElementVNode("div",de,[e.unref(_)?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",ue,[e.createElementVNode("div",fe,[e.createVNode(e.unref(R),{value:a.value,"onUpdate:value":x[0]||(x[0]=v=>a.value=v),modelValue:a.value,"onUpdate:modelValue":x[1]||(x[1]=v=>a.value=v),options:i,size:"small"},null,8,["value","modelValue"])])])),e.createElementVNode("div",me,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(g,v=>e.createElementVNode("div",{key:v.key,title:v.title,class:e.normalizeClass(["epic-device-item h-full px-1 flex items-center cursor-pointer text-base transition-colors rounded-sm",{checked:v.key===r.value}]),onClick:z=>B(v.key)},[e.createVNode(e.unref(J._sfc_main),{name:v.icon},null,8,["name"])],10,ve)),64))])])]),e.createVNode(ae,{ref_key:"previewJson",ref:w},null,512)],64))}}),he={class:"h-full flex flex-col relative"},ge=["draggable"],xe=e.defineComponent({__name:"editScreenContainer",setup(A){const R=e.inject("pageSchema"),u=e.ref(null),_=e.ref(null),r=e.ref(null),{pressSpace:h,disabledZoom:c}=C.useStore(),{handleElementDragStart:f,handleElementDrag:w,handleElementDragEnd:g}=C.useElementDrag(u),{width:M,height:l}=C.useElementSize(u),{canvasScale:a,handleZoom:i}=C.useElementZoom(_);let s=0,k=0;const n=e.ref({}),L=e.ref({}),T=e.ref({}),B=e.shallowRef({width:0,height:0});e.watchEffect(x),e.watch(T,()=>{e.nextTick(p)});function p(){r.value&&(B.value={width:r.value.clientWidth,height:r.value.clientHeight})}function x(){var E,b;T.value={width:((E=R.canvas)==null?void 0:E.width)??"0",height:((b=R.canvas)==null?void 0:b.height)??"0"}}C.watchOnce(M,v),e.watch(B,v);function v(){let E=B.value.width||s,b=B.value.height||k;n.value={width:M.value+E+"px",height:l.value+b+"px"},L.value={width:E+"px",height:b+"px"},z()}function z(){e.nextTick(()=>{var j;let E=B.value.width||s;const $=(B.value.height||k)/2,D=E/2;(j=u.value)==null||j.scrollTo(D,$)})}C.useResizeObserver(u,P),C.useResizeObserver(_,P);function P(){var b;if(!u.value)return;const E=u.value.getBoundingClientRect();if(s=E.width-60,k=E.height-80,!c.value)if(B.value.width===0)a.value=1;else{const $=(s-20)/B.value.width,D=k/(B.value.height||((b=_.value)==null?void 0:b.clientHeight)||1),j=Math.abs($-1)<Math.abs(D-1);let I=1;j?I=$:I=D,($<1||D<1)&&(I=Math.min($,D)),I<1.4&&I>.5&&(a.value=I)}C.debounce(v,50)()}return(E,b)=>(e.openBlock(),e.createElementBlock("div",he,[e.createVNode(pe),e.createElementVNode("div",{ref_key:"editScreenContainerRef",ref:u,class:e.normalizeClass(["flex-1 overflow-auto overflow-y-hidden epic-edit-screen-container",{"cursor-grab":e.unref(h)}]),draggable:e.unref(h),onWheel:b[0]||(b[0]=(...$)=>e.unref(i)&&e.unref(i)(...$)),onDragstart:b[1]||(b[1]=(...$)=>e.unref(f)&&e.unref(f)(...$)),onDragend:b[2]||(b[2]=(...$)=>e.unref(g)&&e.unref(g)(...$)),onDrag:b[3]||(b[3]=(...$)=>e.unref(w)&&e.unref(w)(...$))},[e.createElementVNode("div",{id:"canvasContainer",class:"flex items-center justify-center",style:e.normalizeStyle(n.value)},[e.createElementVNode("div",{ref_key:"draggableElRef",ref:_,class:"transition-all"},[e.createElementVNode("div",{class:e.normalizeClass({"pointer-events-none":e.unref(h)}),style:e.normalizeStyle(L.value)},[e.renderSlot(E.$slots,"default")],6)],512)],4)],42,ge),e.createElementVNode("div",{ref_key:"sizeBoxRef",ref:r,class:"absolute top-0 pointer-events-none",style:e.normalizeStyle(T.value)},null,4)]))}}),ye={class:"epic-edit-canvas"},_e=e.defineComponent({__name:"index",setup(A){const R=e.ref(null),u=e.ref(null),_=e.inject("pageSchema"),r=e.computed(()=>_.schemas[0]),h=e.computed(()=>({width:"100%",height:"100%"}));return e.onMounted(()=>{var c;(c=u.value)==null||c.handleInit(R.value)}),(c,f)=>(e.openBlock(),e.createElementBlock("section",ye,[e.createVNode(xe,null,{default:e.withCtx(()=>[e.createElementVNode("div",{ref_key:"epicEditRangeRef",ref:R,class:"epic-edit-range rounded-md overflow-auto relative",style:e.normalizeStyle(h.value)},[e.createVNode(Q,{schema:r.value},null,8,["schema"]),e.createVNode(ne,{ref_key:"ePreviewWidgetsRef",ref:u},null,512)],4)]),_:1})]))}});exports.default=_e;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),_=require("./axios-CYGTE3lR.cjs"),v=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),_=require("./axios-CYGTE3lR.cjs"),v=require("./index-R7VF52gK.cjs"),k=require("./icon.vue_vue_type_script_setup_true_lang-DJbUD5AQ.cjs"),V={key:0,class:"epic-del-btn"},f=["onClick"],h=e.defineComponent({__name:"index",props:{modelValue:{type:Array,default:()=>[]}},emits:["update:modelValue"],setup(c,{emit:r}){const u=_.pluginManager.getComponent("number"),s=c,d=r,o=e.computed({get(){return s.modelValue},set(n){d("update:modelValue",n)}});function p(){const n={type:"col",children:[],componentProps:{span:12},id:v.getUUID()};o.value.push(n)}function i(n){o.value=o.value.filter((m,t)=>n!==t)}return(n,m)=>(e.openBlock(),e.createElementBlock("div",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(t,a)=>(e.openBlock(),e.createElementBlock("div",{key:a,class:"EColEditor-item"},[e.createVNode(e.unref(u),{value:t.componentProps.span,"onUpdate:value":l=>t.componentProps.span=l,modelValue:t.componentProps.span,"onUpdate:modelValue":l=>t.componentProps.span=l,style:{width:"100%"},min:1,max:24},null,8,["value","onUpdate:value","modelValue","onUpdate:modelValue"]),o.value.length>1?(e.openBlock(),e.createElementBlock("div",V,[e.createElementVNode("span",{onClick:l=>i(a)},[e.createVNode(e.unref(k._sfc_main),{name:"icon-shanchu1"})],8,f)])):e.createCommentVNode("",!0)]))),128)),e.createElementVNode("div",{class:"add-btn",onClick:p}," 添加 ")]))}});exports.default=h;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("vue"),p=require("monaco-editor"),b=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("vue"),p=require("monaco-editor"),b=require("./index-R7VF52gK.cjs"),h=require("./_plugin-vue_export-helper-BHFhmbuH.cjs");function v(l){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(l){for(const r in l)if(r!=="default"){const t=Object.getOwnPropertyDescriptor(l,r);Object.defineProperty(o,r,t.get?t:{enumerable:!0,get:()=>l[r]})}}return o.default=l,Object.freeze(o)}const i=v(p),_=a.defineComponent({__name:"index",props:{language:{default:"json"},readOnly:{type:Boolean,default:!1},valueFormat:{default:"string"},modelValue:{},config:{default:()=>({selectOnLineNumbers:!0,minimap:{enabled:!1}})},lineNumbers:{default:"on"},autoToggleTheme:{type:Boolean},theme:{default:"vs-light"}},emits:["update:modelValue"],setup(l,{expose:o,emit:r}){const t=l,s=r,c=a.ref(null);let e=null;const{isDark:f}=b.useTheme();function d(){f.value?i.editor.setTheme("vs-dark"):i.editor.setTheme("vs-light")}function m(u){e==null||e.setValue(u||"")}function g(u){const n=e==null?void 0:e.getPosition();n&&(e==null||e.executeEdits("",[{range:new i.Range(n.lineNumber,n.column,n.lineNumber,n.column),text:u}]),e==null||e.setPosition({...n,column:n.column+u.length}),e==null||e.focus())}return a.onMounted(()=>{e=i.editor.create(c.value,{value:u(),...t.config,language:t.language,readOnly:t.readOnly,lineNumbers:t.lineNumbers,theme:t.theme,scrollBeyondLastLine:!1,scrollbar:{verticalScrollbarSize:10,horizontalScrollbarSize:10},automaticLayout:!0}),t.autoToggleTheme&&a.watch(()=>f.value,()=>{a.nextTick(()=>d())},{immediate:!0});function u(){return t.valueFormat==="json"&&t.modelValue?JSON.stringify(t.modelValue,null,2):t.modelValue??""}e.onDidChangeModelContent(()=>{const n=e==null?void 0:e.getValue();if(t.valueFormat==="json"&&n){s("update:modelValue",JSON.parse(n));return}s("update:modelValue",n??"")})}),o({setValue:m,insertText:g}),(u,n)=>(a.openBlock(),a.createElementBlock("div",{ref_key:"editContainer",ref:c,class:"epic-code-editor"},null,512))}}),y=h._export_sfc(_,[["__scopeId","data-v-3e2e893c"]]);exports.default=y;
|
|
@@ -2,7 +2,7 @@ import { defineComponent as B, inject as j, resolveComponent as J, openBlock as
|
|
|
2
2
|
import { d as Q } from "./vuedraggable.umd-D2S7Eo7p.js";
|
|
3
3
|
import { p as g, E as W, a as X } from "./axios-ITY6Uw7A.js";
|
|
4
4
|
import { _ as S } from "./icon.vue_vue_type_script_setup_true_lang-D3QdcReY.js";
|
|
5
|
-
import { n as O } from "./index-
|
|
5
|
+
import { n as O } from "./index-8jV4lvPb.js";
|
|
6
6
|
import { ElMessage as Y } from "element-plus";
|
|
7
7
|
import { _ as Z } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
8
8
|
const ee = {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const e=require("vue"),A=require("./axios-CYGTE3lR.cjs");function U(t=10){const a="abcdefghijklmnopqrstuvwxyz0123456789";let o="";for(let r=0;r<t;r++){const n=Math.floor(Math.random()*a.length);o+=a[n]}return o}function j(t){return t.charAt(0).toUpperCase()+t.slice(1)}function V(t,a=new WeakMap){if(typeof t!="object"||t===null)return t;if(a.has(t))return a.get(t);if(Array.isArray(t)){const r=t.map(n=>V(n,a));return a.set(t,r),r}const o={};return a.set(t,o),Object.keys(t).forEach(r=>{o[r]=V(t[r],a)}),o}function he(t){const[a]=ne([V(t)],o=>{var n,s;const r={...o,id:`${o.type}_${U(8)}`};return(r.field||r.input)&&!((s=(n=A.pluginManager.getComponentConfingByType(r.type))==null?void 0:n.editConstraints)!=null&&s.fixedField)&&(r.field=r.id),r});return a}function B(t,a,o=!0){for(const[r,n]of Object.entries(a)){let s=t==null?void 0:t[r];s&&n&&typeof s=="object"&&typeof n=="object"?(Array.isArray(s)&&!Array.isArray(n)?s=t[r]={}:!Array.isArray(s)&&Array.isArray(n)&&(s=t[r]=[]),B(s,n,o)):t[r]=n}o&&Object.keys(t).reverse().forEach(r=>{a.hasOwnProperty(r)||(Array.isArray(t)?t.splice(Number(r),1):delete t[r])})}function Z(t,a,o=[],r=new WeakMap){const n=s=>{if(Array.isArray(s))return s.map(n);if(typeof s=="object"&&s!==null){if(r.has(s))return"[Circular]";r.set(s,!0);const i=Object.keys(s).sort(),c={};return i.forEach(u=>{o.includes(u)||(c[u]=n(s[u]))}),r.delete(s),c}else return s};return JSON.stringify(n(t))===JSON.stringify(n(a))}function ee(t,a){const o=[];let r=!1;function n(s){if(o.push(s),s.id===a&&(r=!0),!r&&s.children!=null&&s.children.length>0)for(let i=0;i<s.children.length&&(n(s.children[i]),!r);i++);if(!r&&s.slots)for(let i in s.slots)for(let c=0;c<s.slots[i].length&&(n(s.slots[i][c]),!r);c++);r||o.pop()}return t.forEach(n),r||console.error(`没有查询到id为${a}的节点`),o}function ve(t,a,o){const r=a.split(".");let n=t;for(let s=0;s<r.length;s++){if(n==null)return o;n=n[r[s]]}return n===void 0?o:n}function ge(t,a,o){const r=a.replace(/\[(\d+)\]/g,".$1").split(".").filter(Boolean);let n=t;for(let s=0;s<r.length-1;s++){const i=r[s];n[i]==null&&(n[i]=isNaN(Number(r[s+1]))?{}:[]),n=n[i]}return n[r[r.length-1]]=o,t}function ye(t,a="default"){return te(t,a).map(r=>r.field)}function te(t,a="default"){const o=R(t,n=>{var s;return n.type==="form"&&(((s=n.componentProps)==null?void 0:s.name)??n.name===a)},!0);return R((o==null?void 0:o.children)??[],n=>!!n.input,!1,n=>n.type!=="subform")}function R(t,a,o=!1,r){const n=[],s=[...t];for(;s.length;){const i=s.pop();if(i!=null&&i.children&&(!r||r(i))&&s.push(...i.children),i!=null&&i.slots&&(!r||r(i)))for(let c in i.slots)s.push(...i.slots[c]);if(a(i)&&(n.push(i),o))return i}return o?!1:n}function ne(t,a,o){const r=[...t];for(;r.length;){const n=r.pop();if(n!=null&&n.children&&(!o||o(n))&&r.push(...n.children),n!=null&&n.slots&&(!o||o(n)))for(let s in n.slots)r.push(...n.slots[s]);B(n,a(n))}return t}function we(t,a){const o=R(t,r=>r.id===a,!0);if(!o)throw new Error(`没有查询到id为${a}的节点`);return o}function Se(t,a){const o=[{type:"",children:t}];let r=0,n=null;if(R(o,s=>{if(n=s.children??null,!n){if(s!=null&&s.slots)for(let i in s.slots){n=s.slots[i];for(let c=0;c<n.length;c++)if(n[c].id===a)return r=c,!0}return!1}for(let i=0;i<n.length;i++)if(n[i].id===a)return r=i,!0;return!1},!0),!n)throw new Error(`没有查询到id为${a}的节点`);return{list:n,schema:n[r],index:r}}function be(t){const a={schemas:[{type:"page",id:"root",label:"页面",children:[{label:"表单",type:"form",icon:"epic-icon-daibanshixiang",labelWidth:t.config.labelWidth||100,name:"default",componentProps:{layout:t.config.layout||"horizontal",labelWidth:t.config.labelWidth||100,labelLayout:t.config.labelLayout==="flex"?"fixed":"flex",labelCol:t.config.labelCol||{span:5},wrapperCol:t.config.wrapperCol||{span:19},hideRequiredMark:t.config.hideRequiredMark||!1,colon:t.config.colon||!0,labelAlign:t.config.labelAlign||"right",size:t.config.size||"middle"},children:[],id:"form_"+U()}],componentProps:{style:{padding:"16px"}}}],script:t.script||""};return a.schemas[0].children[0].children=O(t.list),a}function O(t,a){return t.map(o=>{var u,S,v;let r=o.type??"";const n=o.options??{},s=(l,y)=>{r===l&&(r=y,n.defaultValue&&(n.defaultValue=JSON.parse(n.defaultValue)))};if(s("uploadImg","upload-image"),s("uploadFile","upload-file"),r==="date"&&n.range&&(n.type="daterange",delete n.range),(r==="date"||r==="time")&&(n.valueFormat=n.format),r==="textarea"){const{minRows:l,maxRows:y}=n;n.autoSize={minRows:l,maxRows:y},delete n.minRows,delete n.maxRows}r==="number"&&!n.precision&&delete n.precision,n.width&&(n.style={width:n.width},delete n.width),r==="grid"&&(r="row"),a&&a.type==="grid"&&(r="col",n.span=o.span,o.key=U());const i={label:o.label,type:r,icon:o.icon||"",field:o.model,componentProps:n,id:o.key};return(n.noFormItem||!n.showLabel)&&(i.noFormItem=!0,delete n.noFormItem,delete n.showLabel),n.clearable&&(n.allowClear=!0,delete n.clearable),["input","textarea","number","password","select","cascader","checkbox","radio","date","time","slider","switch","color-picker","upload-file","upload-image"].includes(r)&&(i.input=!0,((S=(u=o.rules)==null?void 0:u[0])==null?void 0:S.required)===!1&&o.rules.shift(),((v=o.rules)==null?void 0:v.length)>0&&(i.rules=o.rules)),o.list&&(i.children=O(o.list,o)),o.columns&&(i.children=O(o.columns,o)),o.trs&&(i.children=O(o.trs,o)),o.tds&&(i.children=O(o.tds,o)),i})}function Ce(t,a){let o=null;return(...r)=>{o&&clearTimeout(o),o=setTimeout(()=>{t(...r)},a)}}function Q(){const t=e.ref({}),a=e.ref({}),o=e.ref(!1),r=e.ref([]),n=e.reactive({});function s(h){return t.value[h]}function i(h,w){t.value[h]=w}function c(h){delete t.value[h]}function u(h,w=!1){const g=Object.entries(A.pluginManager.publicMethods).reduce((D,[M,_])=>(D[M]=_.handler,D),{});try{new Function(`const epic = this;${h}`).bind({...g,getComponent:s,find:s,defineExpose:S,publicMethods:g,pluginManager:A.pluginManager})()}catch(D){w&&console.error("[epic:自定义函数]异常:",D)}}function S(h){h!=null&&(a.value=h)}function v(h,...w){if(!h||h.length===0){console.warn("未提供任何动作");return}h.forEach(g=>{const D=g.args?JSON.parse(g.args):w;switch(g.type){case"public":l(g,D);break;case"custom":y(g,D);break;case"component":f(g,D);break;default:console.warn(`未知的动作类型: ${g.type}`);break}})}function l(h,w){var g;try{(g=A.pluginManager.publicMethods[h.methodName])==null||g.handler(...w)}catch(D){console.error(`[Epic:公共函数(${h.methodName})]执行异常:`,D)}}function y(h,w){var g,D;try{(D=(g=a.value)[h.methodName])==null||D.call(g,...w)}catch(M){console.error(`[Epic:自定义函数(${h.methodName})]执行异常:`,M)}}function f(h,w){const g=h.componentId!=null&&s(h.componentId);if(!g){console.warn(`[Epic:组件${h.componentId}]未找到`);return}try{g[h.methodName](...w)}catch(D){console.error(`[Epic:组件${h.componentId}函数(${h.methodName})]执行异常:`,D)}}function p(h=!0){o.value=h}function d(h){const w=R(h,()=>!0);r.value=w.map(g=>g.id)}function k(h,w="default"){if(n[w]){const g=n[w];B(h,g)}n[w]=h}function P(h,w="default"){if(n[w]){B(n[w],h,!1);return}n[w]=h}return{componentInstances:t,funcs:a,isDesignMode:o,defaultComponentIds:r,forms:n,addFormData:k,setFormData:P,getComponentInstance:s,find:s,addComponentInstance:i,removeComponentInstance:c,setMethods:u,doActions:v,setDesignMode:p,setDefaultComponentIds:d}}function oe(){const t=e.ref([]),a=e.ref([]),o=e.ref(null);let r=0;function n(u,S="插入组件"){const v=Date.now();r+150>v||(r=v,o.value!=null&&(t.value.push(o.value),a.value.splice(0,a.value.length)),o.value={type:S,componentSchema:JSON.stringify(u)},t.value.length>60&&t.value.unshift())}function s(){if(t.value.length===0)return!1;const u=t.value.pop();return o.value!=null&&a.value.push(o.value),o.value=u,JSON.parse(u.componentSchema)}function i(){if(a.value.length===0)return!1;const u=a.value.pop();return o.value!=null&&t.value.push(o.value),o.value=u,JSON.parse(u.componentSchema)}function c(){t.value=[],a.value=[],o.value=null}return{recordList:t,undoList:a,currentRecord:o,push:n,undo:s,redo:i,reset:c}}const ke=e.defineComponent({__name:"dynamicFormItem",props:{hasFormItem:{type:Boolean},formItemProps:{}},emits:["updateFormItemRef"],setup(t,{emit:a}){const o=A.pluginManager.getComponent("form-item"),r=t,n=a,s=e.ref(),i=()=>{n("updateFormItemRef",s.value)};return(c,u)=>r.hasFormItem?(e.openBlock(),e.createBlock(e.unref(o),e.mergeProps({key:0,ref_key:"formItemRef",ref:s,onVnodeMounted:i},r.formItemProps),{default:e.withCtx(()=>[e.renderSlot(c.$slots,"default")]),_:3},16,["onVnodeMounted"])):e.renderSlot(c.$slots,"default",{key:1})}}),re=e.defineComponent({name:"ENode",__name:"node",props:{componentSchema:{},modelValue:{},ruleField:{},resetFormData:{type:Boolean},name:{},dynamicId:{},sourceDateUrl:{}},emits:["update:modelValue","change","update:dynamicId"],setup(t,{emit:a}){const{proxy:o}=e.getCurrentInstance(),r=t,n=e.ref(null);let s=e.inject("formData",e.reactive({}));const i=e.inject("slots",{}),c=e.inject("pageManager",{}),u=e.inject("disabled",{value:!1}),S=e.inject("ruleFieldPrefix",null),v=e.inject("resetFormData",!1);let l=e.reactive(V(r.componentSchema));p();async function y(m){if(["cascader","checkbox","select","radio"].includes(m.type)&&m.componentProps.dynamicId&&r.sourceDateUrl){const C=(await A.axios({url:r.sourceDateUrl,method:"get",params:{id:m.componentProps.dynamicId}})).data.data;let x=await A.axios({url:C.url,method:C.method,data:JSON.parse(C.body),params:JSON.parse(C.params),headers:JSON.parse(C.headers)});if(C&&(C!=null&&C.dataPath)){const fe=C.dataPath.split(".").reduce((pe,me)=>pe[me],x.data);m.componentProps.options=f(fe,C.dataKey,C.dataValue)}else m.componentProps.options=f(x.data,C.dataKey,C.dataValue);return m}return m}function f(m,E,I){return m&&Object.prototype.toString.call(m)==="[object Array]"?m.map(C=>C.children&&C.children.length?{label:C[E],value:C[I]+"",children:f(C.children,E,I)}:{label:C[E],value:C[I]+""}):[]}e.watch(()=>r.componentSchema,m=>{Z(l,m,["children"])||(B(l,V(m)),p())},{deep:!0});function p(){c.isDesignMode.value&&typeof l.field=="string"&&(l.field+="-design-mode")}(r.resetFormData||v)&&(s={});const d=a,k=e.ref(),P=e.ref(),h=m=>{P.value=m},w=e.useAttrs();Object.keys(w).length&&e.provide("nodeAttrs",w);const g=e.shallowRef(null),D=e.computed(()=>{var m,E;return(m=l.componentProps)!=null&&m.hidden?!1:typeof l.show=="boolean"?l.show:((E=l.show)==null?void 0:E.call(l,{values:s}))??!0}),M=e.computed(()=>{var C;const m=D.value&&((C=l.rules)==null?void 0:C.map(x=>({...x,validator:x.validator&&c.funcs.value[x.validator]})));let E=l.field;r.ruleField?E=r.ruleField:S&&l.field&&(E=V(S),E.push(l.field));const I={...l,rules:m,rule:m,field:E};return I.children&&delete I.children,I}),_=e.computed(()=>{var I,C;const m=((I=N.value)==null?void 0:I.bindModel)??"modelValue",E={};return l.on&&Object.keys(l.on).forEach(x=>{E[`on${j(x)}`]=(...X)=>c.doActions(l.on[x],...X)}),{...r,...l.componentProps,disabled:(u==null?void 0:u.value)||((C=l.componentProps)==null?void 0:C.disabled),bindModel:m,...E}}),N=e.computed(()=>A.pluginManager.getComponentConfingByType(l.type)??null);e.watchEffect(()=>{n.value=r.modelValue??s[l.field??""]}),e.watch(()=>n.value,()=>{n.value!==(r.modelValue??s[l.field??""])&&b(n.value)}),e.watch(()=>k.value,()=>{L()},{immediate:!0});function L(){var E;const m=k.value||o;l.id&&m&&(l.input&&(m.setValue=b,m.getValue=()=>s[l.field]||r.modelValue),m.setAttr=(I,C)=>(l.componentProps||(l.componentProps={}),l.componentProps[I]=C),m.getAttr=I=>l.componentProps[I],c.addComponentInstance(l.id,m),(E=N.value)!=null&&E.defaultSchema.input&&l.noFormItem!==!0&&P.value&&c.addComponentInstance(l.id+"formItem",P.value))}function W(){var m;l.id&&(c.removeComponentInstance(l.id),(m=N.value)!=null&&m.defaultSchema.input&&l.noFormItem!==!0&&c.removeComponentInstance(l.id+"formItem"))}async function z(){var E,I,C;if(l=await y(l),typeof((E=l.componentProps)==null?void 0:E.defaultValue)<"u"){const x=c.isDesignMode.value?(I=l.componentProps)==null?void 0:I.defaultValue:s[l.field]??((C=l.componentProps)==null?void 0:C.defaultValue);b(V(x))}if(l.type==="slot"){const x=l.slotName;if(!x)return;g.value=e.defineComponent({setup(){return()=>e.renderSlot(i,x,{componentSchema:l,model:s})}});return}const m=A.pluginManager.getComponent(l.type);if(!m){console.error(`组件${l.type}未注册`);return}if(typeof m=="function"){const x=await m();g.value=x.default??x}else g.value=m}function b(m){d("update:modelValue",m),d("change",m),l.field&&(s[l.field]=m)}function T(m){d("update:dynamicId",m)}let Y=null;return e.watch(()=>l,async m=>{const E=JSON.stringify({...m,children:void 0,componentProps:{...m.componentProps,options:null}});if(E===Y)return!1;Y=E,z()},{immediate:!0,deep:!0}),e.onUnmounted(W),(m,E)=>{var C;const I=e.resolveComponent("ENode");return g.value&&D.value?(e.openBlock(),e.createBlock(ke,{key:0,hasFormItem:e.unref(l).noFormItem!==!0&&((C=N.value)==null?void 0:C.defaultSchema.input),formItemProps:M.value,onUpdateFormItemRef:h},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(g.value),e.mergeProps({ref_key:"componentInstance",ref:k,onVnodeMounted:L,model:e.unref(s)},{..._.value},{[_.value.bindModel]:n.value,["onUpdate:"+_.value.bindModel]:E[0]||(E[0]=x=>n.value=x),[`onUpdate:${_.value.bindModel}`||""]:b,"onUpdate:dynamicId":T}),{node:e.withCtx(x=>[e.createVNode(I,e.mergeProps(x,{sourceDateUrl:r.sourceDateUrl}),null,16,["sourceDateUrl"])]),"edit-node":e.withCtx(()=>[e.renderSlot(m.$slots,"edit-node")]),_:3},16,["model"]))]),_:3},8,["hasFormItem","formItemProps"])):e.createCommentVNode("",!0)}}});function Ee(){const t=e.ref(!1),a=Q(),o=e.ref({});function r(){return new Promise(f=>{if(t.value)f();else{const p=e.watch(t,()=>{p(),f()})}})}async function n(f="default"){var d;await r();const p=(d=o.value)==null?void 0:d[f];if(!p)throw new Error(`表单 [name=${f}] 不存在`);return p}async function s(f,p){const d=await n(f);return V(await p(d))}async function i(f="default"){return await s(f,p=>p.getData())}function c(f,p="default"){var k;a.setFormData(f,p);const d=(k=o.value)==null?void 0:k[p];d==null||d.clearValidate()}async function u(f="default"){return await s(f,async p=>(await p.validate(),await p.getData()))}async function S(f){await r();const p={};for(const d in o.value){const k=o.value[d];k&&(p[d]=V(await f(k)))}return p}async function v(){return await S(f=>f.getData())}function l(f){for(const p in f)c(f[p],p)}async function y(){return await S(async f=>(await f.validate(),await f.getData()))}return{ready:t,pageManager:a,forms:o,getData:i,setData:c,validate:u,getForms:v,setForms:l,validateAll:y,getFormInstance:n}}const De={key:0,class:"epic-loading-box"},Ae={class:"epic-builder-main"},xe={class:"epic-loading-box"},ae=e.defineComponent({__name:"builder",props:{pageSchema:{},formData:{},disabled:{type:Boolean},sourceDateUrl:{}},emits:["ready"],setup(t,{expose:a,emit:o}){const r=A.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-Cap7FkuS.cjs"))),n=o,{ready:s,pageManager:i,forms:c,getData:u,setData:S,validate:v,getForms:l,setForms:y,validateAll:f,getFormInstance:p}=Ee(),d=t,k=e.reactive({schemas:[]});e.watch(()=>d.pageSchema,g=>{B(k,g)},{immediate:!0,deep:!0}),e.watch(()=>d.formData,g=>{g&&S(g)},{immediate:!0,deep:!0}),e.watch(()=>k.script,g=>{g&&i.setMethods(g,!0)},{immediate:!0}),e.provide("slots",e.useSlots()),e.provide("pageManager",i),e.provide("forms",c),e.provide("pageSchema",k),e.provide("disabled",e.computed(()=>d.disabled));const P=e.getCurrentInstance(),h=P==null?void 0:P.proxy;function w(){e.nextTick(()=>{s.value=!0,n("ready",i),h&&i.addComponentInstance("builder",h)})}return a({ready:s,pageManager:i,getData:u,setData:S,validate:v,getForms:l,setForms:y,validateAll:f,getFormInstance:p}),(g,D)=>e.unref(A.pluginManager).initialized.value?(e.openBlock(),e.createBlock(e.Suspense,{key:1,onResolve:w},{default:e.withCtx(()=>[e.createElementVNode("div",Ae,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.schemas,(M,_)=>(e.openBlock(),e.createBlock(e.unref(re),{key:_,sourceDateUrl:d.sourceDateUrl,componentSchema:M},null,8,["sourceDateUrl","componentSchema"]))),128))])]),fallback:e.withCtx(()=>[e.createElementVNode("div",xe,[e.createVNode(e.unref(r))])]),_:1})):(e.openBlock(),e.createElementBlock("div",De))}});function G(t){return e.getCurrentScope()?(e.onScopeDispose(t),!0):!1}function Ie(t){let a=0,o,r;const n=()=>{a-=1,r&&a<=0&&(r.stop(),o=void 0,r=void 0)};return(...s)=>(a+=1,r||(r=e.effectScope(!0),o=r.run(()=>t(...s))),G(n),o)}function $(t){return typeof t=="function"?t():e.unref(t)}const Pe=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Me=t=>typeof t<"u",Ve=Object.prototype.toString,_e=t=>Ve.call(t)==="[object Object]",Be=()=>{};function Ne(t){return e.getCurrentInstance()}function Fe(t,a=!0,o){Ne()?e.onMounted(t,o):a?t():e.nextTick(t)}function Oe(t=!1,a={}){const{truthyValue:o=!0,falsyValue:r=!1}=a,n=e.isRef(t),s=e.ref(t);function i(c){if(arguments.length)return s.value=c,s.value;{const u=$(o);return s.value=s.value===u?$(r):u,s.value}}return n?i:[s,i]}function Re(t,a,o){const r=e.watch(t,(...n)=>(e.nextTick(()=>r()),a(...n)),o);return r}const J=Pe?window:void 0;function F(t){var a;const o=$(t);return(a=o==null?void 0:o.$el)!=null?a:o}function $e(...t){let a,o,r,n;if(typeof t[0]=="string"||Array.isArray(t[0])?([o,r,n]=t,a=J):[a,o,r,n]=t,!a)return Be;Array.isArray(o)||(o=[o]),Array.isArray(r)||(r=[r]);const s=[],i=()=>{s.forEach(v=>v()),s.length=0},c=(v,l,y,f)=>(v.addEventListener(l,y,f),()=>v.removeEventListener(l,y,f)),u=e.watch(()=>[F(a),$(n)],([v,l])=>{if(i(),!v)return;const y=_e(l)?{...l}:l;s.push(...o.flatMap(f=>r.map(p=>c(v,f,p,y))))},{immediate:!0,flush:"post"}),S=()=>{u(),i()};return G(S),S}function Te(t){return typeof t=="function"?t:typeof t=="string"?a=>a.key===t:Array.isArray(t)?a=>t.includes(a.key):()=>!0}function se(...t){let a,o,r={};t.length===3?(a=t[0],o=t[1],r=t[2]):t.length===2?typeof t[1]=="object"?(a=!0,o=t[0],r=t[1]):(a=t[0],o=t[1]):(a=!0,o=t[0]);const{target:n=J,eventName:s="keydown",passive:i=!1,dedupe:c=!1}=r,u=Te(a);return $e(n,s,v=>{v.repeat&&$(c)||u(v)&&o(v)},i)}function H(t,a,o={}){return se(t,a,{...o,eventName:"keydown"})}function K(t,a,o={}){return se(t,a,{...o,eventName:"keyup"})}function Ue(){const t=e.ref(!1),a=e.getCurrentInstance();return a&&e.onMounted(()=>{t.value=!0},a),t}function qe(t){const a=Ue();return e.computed(()=>(a.value,!!t()))}function Le(t){return JSON.parse(JSON.stringify(t))}function le(t,a,o={}){const{window:r=J,...n}=o;let s;const i=qe(()=>r&&"ResizeObserver"in r),c=()=>{s&&(s.disconnect(),s=void 0)},u=e.computed(()=>{const l=$(t);return Array.isArray(l)?l.map(y=>F(y)):[F(l)]}),S=e.watch(u,l=>{if(c(),i.value&&r){s=new ResizeObserver(a);for(const y of l)y&&s.observe(y,n)}},{immediate:!0,flush:"post"}),v=()=>{c(),S()};return G(v),{isSupported:i,stop:v}}function ze(t,a={width:0,height:0},o={}){const{window:r=J,box:n="content-box"}=o,s=e.computed(()=>{var l,y;return(y=(l=F(t))==null?void 0:l.namespaceURI)==null?void 0:y.includes("svg")}),i=e.ref(a.width),c=e.ref(a.height),{stop:u}=le(t,([l])=>{const y=n==="border-box"?l.borderBoxSize:n==="content-box"?l.contentBoxSize:l.devicePixelContentBoxSize;if(r&&s.value){const f=F(t);if(f){const p=f.getBoundingClientRect();i.value=p.width,c.value=p.height}}else if(y){const f=Array.isArray(y)?y:[y];i.value=f.reduce((p,{inlineSize:d})=>p+d,0),c.value=f.reduce((p,{blockSize:d})=>p+d,0)}else i.value=l.contentRect.width,c.value=l.contentRect.height},o);Fe(()=>{const l=F(t);l&&(i.value="offsetWidth"in l?l.offsetWidth:a.width,c.value="offsetHeight"in l?l.offsetHeight:a.height)});const S=e.watch(()=>F(t),l=>{i.value=l?a.width:0,c.value=l?a.height:0});function v(){u(),S()}return{width:i,height:c,stop:v}}function Je(t,a,o,r={}){var n,s,i;const{clone:c=!1,passive:u=!1,eventName:S,deep:v=!1,defaultValue:l,shouldEmit:y}=r,f=e.getCurrentInstance(),p=o||(f==null?void 0:f.emit)||((n=f==null?void 0:f.$emit)==null?void 0:n.bind(f))||((i=(s=f==null?void 0:f.proxy)==null?void 0:s.$emit)==null?void 0:i.bind(f==null?void 0:f.proxy));let d=S;a||(a="modelValue"),d=d||`update:${a.toString()}`;const k=w=>c?typeof c=="function"?c(w):Le(w):w,P=()=>Me(t[a])?k(t[a]):l,h=w=>{y?y(w)&&p(d,w):p(d,w)};if(u){const w=P(),g=e.ref(w);let D=!1;return e.watch(()=>t[a],M=>{D||(D=!0,g.value=k(M),e.nextTick(()=>D=!1))}),e.watch(g,M=>{!D&&(M!==t[a]||v)&&h(M)},{deep:v}),g}else return e.computed({get(){return P()},set(w){h(w)}})}function We(){const{isDark:t}=q(),a=Oe(t);return{isDark:t,toggleDark:a}}function ie(){const t=e.ref(!1);return e.onMounted(()=>{ce(t),He(t)}),e.watch(()=>t.value,()=>{t.value?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark")}),{isDark:t}}function ce(t){var a=document.documentElement;a&&(a.classList.contains("dark")?t.value=!0:t.value=!1)}function He(t){var a=document.querySelector("html"),o=new MutationObserver(function(r){for(var n of r)if(n.type==="attributes"&&n.attributeName==="class"){const s=n.target;new Array(...s.classList).includes("dark")?t.value=!0:t.value=!1}});o.observe(a,{attributes:!0,attributeFilter:["class"]}),e.onUnmounted(()=>{o.disconnect()})}function ue(){const t=e.ref(1),a=e.ref(!1),{isDark:o}=ie(),{pressSpace:r,pressShift:n,pressCtrl:s}=de();return{canvasScale:t,pressSpace:r,pressShift:n,pressCtrl:s,disabledZoom:a,isDark:o}}const q=Ie(ue);function de(){const t=e.ref(!1),a=e.ref(!1),o=e.ref(!1);return H(" ",()=>{t.value=!0}),K(" ",()=>{t.value=!1}),H("Shift",r=>{r.preventDefault(),a.value=!0}),K("Shift",()=>{a.value=!1}),H("Control",r=>{r.preventDefault(),o.value=!0}),K("Control",()=>{o.value=!1}),{pressSpace:t,pressShift:a,pressCtrl:o}}function Ke(t){const{pressSpace:a}=q(),o=new Image(1,1);o.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==";let r=0,n=0;function s(u){var S;a.value&&(r=u.x,n=u.y,(S=u.dataTransfer)==null||S.setDragImage(document.createElement("div"),0,0))}function i(u){if(u.preventDefault(),!u.x||!u.y||!a.value)return;const S=u.x-r,v=u.y-n;r=u.x,n=u.y,t.value&&(t.value.scrollTop-=v,t.value.scrollLeft-=S)}function c(){a.value=!1}return{handleElementDragStart:s,handleElementDrag:i,handleElementDragEnd:c}}function Ze(t){const{pressCtrl:a,canvasScale:o,disabledZoom:r}=q();function n(s){if(!a.value||r.value)return;s.preventDefault();let i=0;s.deltaY<0?i=o.value+.05:i=o.value-.05,!(i>150||i<.5)&&(o.value=i)}return e.watch(()=>o.value,s=>{t.value&&!r.value&&(t.value.style.transform=`scale(${s})`)}),{handleZoom:n,canvasScale:o}}function Qe(t,a=16.66){let o;function r(){n(),o=window.setInterval(t,a)}function n(){window.clearInterval(o)}return{startTimedQuery:r,stopTimedQuery:n}}const Ge={class:"min-w-750px rounded"},Ye={class:"h-full rounded"},Xe=e.defineComponent({__name:"index",setup(t,{expose:a}){const o=A.pluginManager.getComponent("monacoEditor"),r=A.pluginManager.getComponent("modal"),n=e.ref(null),s=e.ref(!1),i=e.ref(!1),c=e.ref({}),u=e.inject("pageSchema"),S=e.ref(null),v=e.ref("");function l(){i.value=!1}function y(){s.value=!1}function f(){s.value=!0,v.value=U()}async function p(){try{let d=await S.value.validateAll();if(!Object.keys(d).length){alert("请添加表单组件后再尝试!");return}Object.keys(d).length===1&&(d=d.default),c.value=JSON.stringify(d,null,2),e.nextTick(()=>{var k;(k=n.value)==null||k.setValue(c.value)}),i.value=!0}catch(d){console.error(d)}}return a({handleOpen:f}),(d,k)=>(e.openBlock(),e.createBlock(e.unref(r),{modelValue:s.value,"onUpdate:modelValue":k[1]||(k[1]=P=>s.value=P),title:"预览",class:"w-900px",width:"900px",onClose:y,onOk:p,okText:"表单数据"},{default:e.withCtx(()=>[e.createElementVNode("div",Ge,[(e.openBlock(),e.createBlock(e.unref(ae),{key:v.value,ref_key:"kb",ref:S,"page-schema":e.unref(u)},null,8,["page-schema"])),e.createVNode(e.unref(r),{modelValue:i.value,"onUpdate:modelValue":k[0]||(k[0]=P=>i.value=P),title:"表单数据",class:"w-860px",width:"860px",onClose:l,onOk:l},{default:e.withCtx(()=>[e.createElementVNode("div",Ye,[e.createVNode(e.unref(o),{ref_key:"monacoEditorRef",ref:n,autoToggleTheme:"",readOnly:"",class:"h-full editor","model-value":c.value},null,8,["model-value"])])]),_:1},8,["modelValue"])])]),_:1},8,["modelValue"]))}}),je={key:0,class:"epic-loading-box"},et={class:"epic-designer-main"},tt={class:"epic-header-container"},nt={class:"epic-loading-box"},ot=e.defineComponent({__name:"designer",props:{disabledZoom:{type:Boolean,default:!1},hiddenHeader:{type:Boolean,default:!1},lockDefaultSchemaEdit:{type:Boolean,default:!1},formMode:{type:Boolean,default:!1},title:{default:"EpicDesigner默认项目"},defaultSchema:{},sourceCodeReadOnly:{type:Boolean},source:{default:[]},updateSourceId:{}},emits:["ready","save","reset","toggleDeviceMode","saveSourceData","deleteSourceData","updateSourceData"],setup(t,{expose:a,emit:o}){const r=A.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-1afOcXnV.cjs"))),n=A.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-BJlPL6eL.cjs"))),s=A.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-CPUaKvrZ.cjs"))),i=A.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-C6ceZM1C.cjs"))),c=A.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-Cap7FkuS.cjs"))),u=Q(),S=oe(),v=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"),D=require("./axios-CYGTE3lR.cjs");function U(t=10){const a="abcdefghijklmnopqrstuvwxyz0123456789";let o="";for(let r=0;r<t;r++){const n=Math.floor(Math.random()*a.length);o+=a[n]}return o}function j(t){return t.charAt(0).toUpperCase()+t.slice(1)}function V(t,a=new WeakMap){if(typeof t!="object"||t===null)return t;if(a.has(t))return a.get(t);if(Array.isArray(t)){const r=t.map(n=>V(n,a));return a.set(t,r),r}const o={};return a.set(t,o),Object.keys(t).forEach(r=>{o[r]=V(t[r],a)}),o}function he(t){const[a]=ne([V(t)],o=>{var n,s;const r={...o,id:`${o.type}_${U(8)}`};return(r.field||r.input)&&!((s=(n=D.pluginManager.getComponentConfingByType(r.type))==null?void 0:n.editConstraints)!=null&&s.fixedField)&&(r.field=r.id),r});return a}function B(t,a,o=!0){for(const[r,n]of Object.entries(a)){let s=t==null?void 0:t[r];s&&n&&typeof s=="object"&&typeof n=="object"?(Array.isArray(s)&&!Array.isArray(n)?s=t[r]={}:!Array.isArray(s)&&Array.isArray(n)&&(s=t[r]=[]),B(s,n,o)):t[r]=n}o&&Object.keys(t).reverse().forEach(r=>{a.hasOwnProperty(r)||(Array.isArray(t)?t.splice(Number(r),1):delete t[r])})}function Z(t,a,o=[],r=new WeakMap){const n=s=>{if(Array.isArray(s))return s.map(n);if(typeof s=="object"&&s!==null){if(r.has(s))return"[Circular]";r.set(s,!0);const i=Object.keys(s).sort(),c={};return i.forEach(u=>{o.includes(u)||(c[u]=n(s[u]))}),r.delete(s),c}else return s};return JSON.stringify(n(t))===JSON.stringify(n(a))}function ee(t,a){const o=[];let r=!1;function n(s){if(o.push(s),s.id===a&&(r=!0),!r&&s.children!=null&&s.children.length>0)for(let i=0;i<s.children.length&&(n(s.children[i]),!r);i++);if(!r&&s.slots)for(let i in s.slots)for(let c=0;c<s.slots[i].length&&(n(s.slots[i][c]),!r);c++);r||o.pop()}return t.forEach(n),r||console.error(`没有查询到id为${a}的节点`),o}function ve(t,a,o){const r=a.split(".");let n=t;for(let s=0;s<r.length;s++){if(n==null)return o;n=n[r[s]]}return n===void 0?o:n}function ge(t,a,o){const r=a.replace(/\[(\d+)\]/g,".$1").split(".").filter(Boolean);let n=t;for(let s=0;s<r.length-1;s++){const i=r[s];n[i]==null&&(n[i]=isNaN(Number(r[s+1]))?{}:[]),n=n[i]}return n[r[r.length-1]]=o,t}function ye(t,a="default"){return te(t,a).map(r=>r.field)}function te(t,a="default"){const o=R(t,n=>{var s;return n.type==="form"&&(((s=n.componentProps)==null?void 0:s.name)??n.name===a)},!0);return R((o==null?void 0:o.children)??[],n=>!!n.input,!1,n=>n.type!=="subform")}function R(t,a,o=!1,r){const n=[],s=[...t];for(;s.length;){const i=s.pop();if(i!=null&&i.children&&(!r||r(i))&&s.push(...i.children),i!=null&&i.slots&&(!r||r(i)))for(let c in i.slots)s.push(...i.slots[c]);if(a(i)&&(n.push(i),o))return i}return o?!1:n}function ne(t,a,o){const r=[...t];for(;r.length;){const n=r.pop();if(n!=null&&n.children&&(!o||o(n))&&r.push(...n.children),n!=null&&n.slots&&(!o||o(n)))for(let s in n.slots)r.push(...n.slots[s]);B(n,a(n))}return t}function we(t,a){const o=R(t,r=>r.id===a,!0);if(!o)throw new Error(`没有查询到id为${a}的节点`);return o}function Se(t,a){const o=[{type:"",children:t}];let r=0,n=null;if(R(o,s=>{if(n=s.children??null,!n){if(s!=null&&s.slots)for(let i in s.slots){n=s.slots[i];for(let c=0;c<n.length;c++)if(n[c].id===a)return r=c,!0}return!1}for(let i=0;i<n.length;i++)if(n[i].id===a)return r=i,!0;return!1},!0),!n)throw new Error(`没有查询到id为${a}的节点`);return{list:n,schema:n[r],index:r}}function be(t){const a={schemas:[{type:"page",id:"root",label:"页面",children:[{label:"表单",type:"form",icon:"epic-icon-daibanshixiang",labelWidth:t.config.labelWidth||100,name:"default",componentProps:{layout:t.config.layout||"horizontal",labelWidth:t.config.labelWidth||100,labelLayout:t.config.labelLayout==="flex"?"fixed":"flex",labelCol:t.config.labelCol||{span:5},wrapperCol:t.config.wrapperCol||{span:19},hideRequiredMark:t.config.hideRequiredMark||!1,colon:t.config.colon||!0,labelAlign:t.config.labelAlign||"right",size:t.config.size||"middle"},children:[],id:"form_"+U()}],componentProps:{style:{padding:"16px"}}}],script:t.script||""};return a.schemas[0].children[0].children=O(t.list),a}function O(t,a){return t.map(o=>{var u,S,v;let r=o.type??"";const n=o.options??{},s=(l,y)=>{r===l&&(r=y,n.defaultValue&&(n.defaultValue=JSON.parse(n.defaultValue)))};if(s("uploadImg","upload-image"),s("uploadFile","upload-file"),r==="date"&&n.range&&(n.type="daterange",delete n.range),(r==="date"||r==="time")&&(n.valueFormat=n.format),r==="textarea"){const{minRows:l,maxRows:y}=n;n.autoSize={minRows:l,maxRows:y},delete n.minRows,delete n.maxRows}r==="number"&&!n.precision&&delete n.precision,n.width&&(n.style={width:n.width},delete n.width),r==="grid"&&(r="row"),a&&a.type==="grid"&&(r="col",n.span=o.span,o.key=U());const i={label:o.label,type:r,icon:o.icon||"",field:o.model,componentProps:n,id:o.key};return(n.noFormItem||!n.showLabel)&&(i.noFormItem=!0,delete n.noFormItem,delete n.showLabel),n.clearable&&(n.allowClear=!0,delete n.clearable),["input","textarea","number","password","select","cascader","checkbox","radio","date","time","slider","switch","color-picker","upload-file","upload-image"].includes(r)&&(i.input=!0,((S=(u=o.rules)==null?void 0:u[0])==null?void 0:S.required)===!1&&o.rules.shift(),((v=o.rules)==null?void 0:v.length)>0&&(i.rules=o.rules)),o.list&&(i.children=O(o.list,o)),o.columns&&(i.children=O(o.columns,o)),o.trs&&(i.children=O(o.trs,o)),o.tds&&(i.children=O(o.tds,o)),i})}function Ce(t,a){let o=null;return(...r)=>{o&&clearTimeout(o),o=setTimeout(()=>{t(...r)},a)}}function Q(){const t=e.ref({}),a=e.ref({}),o=e.ref(!1),r=e.ref([]),n=e.reactive({});function s(h){return t.value[h]}function i(h,w){t.value[h]=w}function c(h){delete t.value[h]}function u(h,w=!1){const g=Object.entries(D.pluginManager.publicMethods).reduce((A,[_,M])=>(A[_]=M.handler,A),{});try{new Function(`const epic = this;${h}`).bind({...g,getComponent:s,find:s,defineExpose:S,publicMethods:g,pluginManager:D.pluginManager})()}catch(A){w&&console.error("[epic:自定义函数]异常:",A)}}function S(h){h!=null&&(a.value=h)}function v(h,...w){if(!h||h.length===0){console.warn("未提供任何动作");return}h.forEach(g=>{const A=g.args?JSON.parse(g.args):w;switch(g.type){case"public":l(g,A);break;case"custom":y(g,A);break;case"component":f(g,A);break;default:console.warn(`未知的动作类型: ${g.type}`);break}})}function l(h,w){var g;try{(g=D.pluginManager.publicMethods[h.methodName])==null||g.handler(...w)}catch(A){console.error(`[Epic:公共函数(${h.methodName})]执行异常:`,A)}}function y(h,w){var g,A;try{(A=(g=a.value)[h.methodName])==null||A.call(g,...w)}catch(_){console.error(`[Epic:自定义函数(${h.methodName})]执行异常:`,_)}}function f(h,w){const g=h.componentId!=null&&s(h.componentId);if(!g){console.warn(`[Epic:组件${h.componentId}]未找到`);return}try{g[h.methodName](...w)}catch(A){console.error(`[Epic:组件${h.componentId}函数(${h.methodName})]执行异常:`,A)}}function p(h=!0){o.value=h}function d(h){const w=R(h,()=>!0);r.value=w.map(g=>g.id)}function k(h,w="default"){if(n[w]){const g=n[w];B(h,g)}n[w]=h}function P(h,w="default"){if(n[w]){B(n[w],h,!1);return}n[w]=h}return{componentInstances:t,funcs:a,isDesignMode:o,defaultComponentIds:r,forms:n,addFormData:k,setFormData:P,getComponentInstance:s,find:s,addComponentInstance:i,removeComponentInstance:c,setMethods:u,doActions:v,setDesignMode:p,setDefaultComponentIds:d}}function oe(){const t=e.ref([]),a=e.ref([]),o=e.ref(null);let r=0;function n(u,S="插入组件"){const v=Date.now();r+150>v||(r=v,o.value!=null&&(t.value.push(o.value),a.value.splice(0,a.value.length)),o.value={type:S,componentSchema:JSON.stringify(u)},t.value.length>60&&t.value.unshift())}function s(){if(t.value.length===0)return!1;const u=t.value.pop();return o.value!=null&&a.value.push(o.value),o.value=u,JSON.parse(u.componentSchema)}function i(){if(a.value.length===0)return!1;const u=a.value.pop();return o.value!=null&&t.value.push(o.value),o.value=u,JSON.parse(u.componentSchema)}function c(){t.value=[],a.value=[],o.value=null}return{recordList:t,undoList:a,currentRecord:o,push:n,undo:s,redo:i,reset:c}}const ke=e.defineComponent({__name:"dynamicFormItem",props:{hasFormItem:{type:Boolean},formItemProps:{}},emits:["updateFormItemRef"],setup(t,{emit:a}){const o=D.pluginManager.getComponent("form-item"),r=t,n=a,s=e.ref(),i=()=>{n("updateFormItemRef",s.value)};return(c,u)=>r.hasFormItem?(e.openBlock(),e.createBlock(e.unref(o),e.mergeProps({key:0,ref_key:"formItemRef",ref:s,onVnodeMounted:i},r.formItemProps),{default:e.withCtx(()=>[e.renderSlot(c.$slots,"default")]),_:3},16,["onVnodeMounted"])):e.renderSlot(c.$slots,"default",{key:1})}}),re=e.defineComponent({name:"ENode",__name:"node",props:{componentSchema:{},modelValue:{},ruleField:{},resetFormData:{type:Boolean},name:{},dynamicId:{},sourceDateUrl:{}},emits:["update:modelValue","change","update:dynamicId"],setup(t,{emit:a}){const{proxy:o}=e.getCurrentInstance(),r=t,n=e.ref(null);let s=e.inject("formData",e.reactive({}));const i=e.inject("slots",{}),c=e.inject("pageManager",{}),u=e.inject("disabled",{value:!1}),S=e.inject("ruleFieldPrefix",null),v=e.inject("resetFormData",!1);let l=e.reactive(V(r.componentSchema));p();async function y(m){if(["cascader","checkbox","select","radio"].includes(m.type)&&m.componentProps.dynamicId&&r.sourceDateUrl){const C=(await D.axios({url:r.sourceDateUrl,method:"get",params:{id:m.componentProps.dynamicId}})).data.data;let x=await D.axios({url:C.url,method:C.method,data:JSON.parse(C.body),params:JSON.parse(C.params),headers:JSON.parse(C.headers)});if(C&&(C!=null&&C.dataPath)){const fe=C.dataPath.split(".").reduce((pe,me)=>pe[me],x.data);m.componentProps.options=f(fe,C.dataKey,C.dataValue)}else m.componentProps.options=f(x.data,C.dataKey,C.dataValue);return m}return m}function f(m,E,I){return m&&Object.prototype.toString.call(m)==="[object Array]"?m.map(C=>C.children&&C.children.length?{label:C[E],value:C[I]+"",children:f(C.children,E,I)}:{label:C[E],value:C[I]+""}):[]}e.watch(()=>r.componentSchema,m=>{Z(l,m,["children"])||(B(l,V(m)),p())},{deep:!0});function p(){c.isDesignMode.value&&typeof l.field=="string"&&(l.field+="-design-mode")}(r.resetFormData||v)&&(s={});const d=a,k=e.ref(),P=e.ref(),h=m=>{P.value=m},w=e.useAttrs();Object.keys(w).length&&e.provide("nodeAttrs",w);const g=e.shallowRef(null),A=e.computed(()=>{var m,E;return(m=l.componentProps)!=null&&m.hidden?!1:typeof l.show=="boolean"?l.show:((E=l.show)==null?void 0:E.call(l,{values:s}))??!0}),_=e.computed(()=>{var C;const m=A.value&&((C=l.rules)==null?void 0:C.map(x=>({...x,validator:x.validator&&c.funcs.value[x.validator]})));let E=l.field;r.ruleField?E=r.ruleField:S&&l.field&&(E=V(S),E.push(l.field));const I={...l,rules:m,rule:m,field:E};return I.children&&delete I.children,I}),M=e.computed(()=>{var I,C;const m=((I=N.value)==null?void 0:I.bindModel)??"modelValue",E={};return l.on&&Object.keys(l.on).forEach(x=>{E[`on${j(x)}`]=(...X)=>c.doActions(l.on[x],...X)}),{...r,...l.componentProps,disabled:(u==null?void 0:u.value)||((C=l.componentProps)==null?void 0:C.disabled),bindModel:m,...E}}),N=e.computed(()=>D.pluginManager.getComponentConfingByType(l.type)??null);e.watchEffect(()=>{n.value=r.modelValue??s[l.field??""]}),e.watch(()=>n.value,()=>{n.value!==(r.modelValue??s[l.field??""])&&b(n.value)}),e.watch(()=>k.value,()=>{L()},{immediate:!0});function L(){var E;const m=k.value||o;l.id&&m&&(l.input&&(m.setValue=b,m.getValue=()=>s[l.field]||r.modelValue),m.setAttr=(I,C)=>(l.componentProps||(l.componentProps={}),l.componentProps[I]=C),m.getAttr=I=>l.componentProps[I],c.addComponentInstance(l.id,m),(E=N.value)!=null&&E.defaultSchema.input&&l.noFormItem!==!0&&P.value&&c.addComponentInstance(l.id+"formItem",P.value))}function W(){var m;l.id&&(c.removeComponentInstance(l.id),(m=N.value)!=null&&m.defaultSchema.input&&l.noFormItem!==!0&&c.removeComponentInstance(l.id+"formItem"))}async function z(){var E,I,C;if(l=await y(l),typeof((E=l.componentProps)==null?void 0:E.defaultValue)<"u"){const x=c.isDesignMode.value?(I=l.componentProps)==null?void 0:I.defaultValue:s[l.field]??((C=l.componentProps)==null?void 0:C.defaultValue);b(V(x))}if(l.type==="slot"){const x=l.slotName;if(!x)return;g.value=e.defineComponent({setup(){return()=>e.renderSlot(i,x,{componentSchema:l,model:s})}});return}const m=D.pluginManager.getComponent(l.type);if(!m){console.error(`组件${l.type}未注册`);return}if(typeof m=="function"){const x=await m();g.value=x.default??x}else g.value=m}function b(m){d("update:modelValue",m),d("change",m),l.field&&(s[l.field]=m)}function T(m){d("update:dynamicId",m)}let Y=null;return e.watch(()=>l,async m=>{const E=JSON.stringify({...m,children:void 0,componentProps:{...m.componentProps,options:null}});if(E===Y)return!1;Y=E,z()},{immediate:!0,deep:!0}),e.onUnmounted(W),(m,E)=>{var C;const I=e.resolveComponent("ENode");return g.value&&A.value?(e.openBlock(),e.createBlock(ke,{key:0,hasFormItem:e.unref(l).noFormItem!==!0&&((C=N.value)==null?void 0:C.defaultSchema.input),formItemProps:_.value,onUpdateFormItemRef:h},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(g.value),e.mergeProps({ref_key:"componentInstance",ref:k,onVnodeMounted:L,model:e.unref(s)},{...M.value},{[M.value.bindModel]:n.value,["onUpdate:"+M.value.bindModel]:E[0]||(E[0]=x=>n.value=x),[`onUpdate:${M.value.bindModel}`||""]:b,"onUpdate:dynamicId":T}),{node:e.withCtx(x=>[e.createVNode(I,e.mergeProps(x,{sourceDateUrl:r.sourceDateUrl}),null,16,["sourceDateUrl"])]),"edit-node":e.withCtx(()=>[e.renderSlot(m.$slots,"edit-node")]),_:3},16,["model"]))]),_:3},8,["hasFormItem","formItemProps"])):e.createCommentVNode("",!0)}}});function Ee(){const t=e.ref(!1),a=Q(),o=e.ref({});function r(){return new Promise(f=>{if(t.value)f();else{const p=e.watch(t,()=>{p(),f()})}})}async function n(f="default"){var d;await r();const p=(d=o.value)==null?void 0:d[f];if(!p)throw new Error(`表单 [name=${f}] 不存在`);return p}async function s(f,p){const d=await n(f);return V(await p(d))}async function i(f="default"){return await s(f,p=>p.getData())}function c(f,p="default"){var k;a.setFormData(f,p);const d=(k=o.value)==null?void 0:k[p];d==null||d.clearValidate()}async function u(f="default"){return await s(f,async p=>(await p.validate(),await p.getData()))}async function S(f){await r();const p={};for(const d in o.value){const k=o.value[d];k&&(p[d]=V(await f(k)))}return p}async function v(){return await S(f=>f.getData())}function l(f){for(const p in f)c(f[p],p)}async function y(){return await S(async f=>(await f.validate(),await f.getData()))}return{ready:t,pageManager:a,forms:o,getData:i,setData:c,validate:u,getForms:v,setForms:l,validateAll:y,getFormInstance:n}}const Ae={key:0,class:"epic-loading-box"},De={class:"epic-builder-main"},xe={class:"epic-loading-box"},ae=e.defineComponent({__name:"builder",props:{pageSchema:{},formData:{},disabled:{type:Boolean},sourceDateUrl:{}},emits:["ready"],setup(t,{expose:a,emit:o}){const r=D.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-Cap7FkuS.cjs"))),n=o,{ready:s,pageManager:i,forms:c,getData:u,setData:S,validate:v,getForms:l,setForms:y,validateAll:f,getFormInstance:p}=Ee(),d=t,k=e.reactive({schemas:[]});e.watch(()=>d.pageSchema,g=>{B(k,g)},{immediate:!0,deep:!0}),e.watch(()=>d.formData,g=>{g&&S(g)},{immediate:!0,deep:!0}),e.watch(()=>k.script,g=>{g&&i.setMethods(g,!0)},{immediate:!0}),e.provide("slots",e.useSlots()),e.provide("pageManager",i),e.provide("forms",c),e.provide("pageSchema",k),e.provide("disabled",e.computed(()=>d.disabled));const P=e.getCurrentInstance(),h=P==null?void 0:P.proxy;function w(){e.nextTick(()=>{s.value=!0,n("ready",i),h&&i.addComponentInstance("builder",h)})}return a({ready:s,pageManager:i,getData:u,setData:S,validate:v,getForms:l,setForms:y,validateAll:f,getFormInstance:p}),(g,A)=>e.unref(D.pluginManager).initialized.value?(e.openBlock(),e.createBlock(e.Suspense,{key:1,onResolve:w},{default:e.withCtx(()=>[e.createElementVNode("div",De,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.schemas,(_,M)=>(e.openBlock(),e.createBlock(e.unref(re),{key:M,sourceDateUrl:d.sourceDateUrl,componentSchema:_},null,8,["sourceDateUrl","componentSchema"]))),128))])]),fallback:e.withCtx(()=>[e.createElementVNode("div",xe,[e.createVNode(e.unref(r))])]),_:1})):(e.openBlock(),e.createElementBlock("div",Ae))}});function G(t){return e.getCurrentScope()?(e.onScopeDispose(t),!0):!1}function Ie(t){let a=0,o,r;const n=()=>{a-=1,r&&a<=0&&(r.stop(),o=void 0,r=void 0)};return(...s)=>(a+=1,r||(r=e.effectScope(!0),o=r.run(()=>t(...s))),G(n),o)}function $(t){return typeof t=="function"?t():e.unref(t)}const Pe=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const _e=t=>typeof t<"u",Ve=Object.prototype.toString,Me=t=>Ve.call(t)==="[object Object]",Be=()=>{};function Ne(t){return e.getCurrentInstance()}function Fe(t,a=!0,o){Ne()?e.onMounted(t,o):a?t():e.nextTick(t)}function Oe(t=!1,a={}){const{truthyValue:o=!0,falsyValue:r=!1}=a,n=e.isRef(t),s=e.ref(t);function i(c){if(arguments.length)return s.value=c,s.value;{const u=$(o);return s.value=s.value===u?$(r):u,s.value}}return n?i:[s,i]}function Re(t,a,o){const r=e.watch(t,(...n)=>(e.nextTick(()=>r()),a(...n)),o);return r}const J=Pe?window:void 0;function F(t){var a;const o=$(t);return(a=o==null?void 0:o.$el)!=null?a:o}function $e(...t){let a,o,r,n;if(typeof t[0]=="string"||Array.isArray(t[0])?([o,r,n]=t,a=J):[a,o,r,n]=t,!a)return Be;Array.isArray(o)||(o=[o]),Array.isArray(r)||(r=[r]);const s=[],i=()=>{s.forEach(v=>v()),s.length=0},c=(v,l,y,f)=>(v.addEventListener(l,y,f),()=>v.removeEventListener(l,y,f)),u=e.watch(()=>[F(a),$(n)],([v,l])=>{if(i(),!v)return;const y=Me(l)?{...l}:l;s.push(...o.flatMap(f=>r.map(p=>c(v,f,p,y))))},{immediate:!0,flush:"post"}),S=()=>{u(),i()};return G(S),S}function Te(t){return typeof t=="function"?t:typeof t=="string"?a=>a.key===t:Array.isArray(t)?a=>t.includes(a.key):()=>!0}function se(...t){let a,o,r={};t.length===3?(a=t[0],o=t[1],r=t[2]):t.length===2?typeof t[1]=="object"?(a=!0,o=t[0],r=t[1]):(a=t[0],o=t[1]):(a=!0,o=t[0]);const{target:n=J,eventName:s="keydown",passive:i=!1,dedupe:c=!1}=r,u=Te(a);return $e(n,s,v=>{v.repeat&&$(c)||u(v)&&o(v)},i)}function H(t,a,o={}){return se(t,a,{...o,eventName:"keydown"})}function K(t,a,o={}){return se(t,a,{...o,eventName:"keyup"})}function Ue(){const t=e.ref(!1),a=e.getCurrentInstance();return a&&e.onMounted(()=>{t.value=!0},a),t}function qe(t){const a=Ue();return e.computed(()=>(a.value,!!t()))}function Le(t){return JSON.parse(JSON.stringify(t))}function le(t,a,o={}){const{window:r=J,...n}=o;let s;const i=qe(()=>r&&"ResizeObserver"in r),c=()=>{s&&(s.disconnect(),s=void 0)},u=e.computed(()=>{const l=$(t);return Array.isArray(l)?l.map(y=>F(y)):[F(l)]}),S=e.watch(u,l=>{if(c(),i.value&&r){s=new ResizeObserver(a);for(const y of l)y&&s.observe(y,n)}},{immediate:!0,flush:"post"}),v=()=>{c(),S()};return G(v),{isSupported:i,stop:v}}function ze(t,a={width:0,height:0},o={}){const{window:r=J,box:n="content-box"}=o,s=e.computed(()=>{var l,y;return(y=(l=F(t))==null?void 0:l.namespaceURI)==null?void 0:y.includes("svg")}),i=e.ref(a.width),c=e.ref(a.height),{stop:u}=le(t,([l])=>{const y=n==="border-box"?l.borderBoxSize:n==="content-box"?l.contentBoxSize:l.devicePixelContentBoxSize;if(r&&s.value){const f=F(t);if(f){const p=f.getBoundingClientRect();i.value=p.width,c.value=p.height}}else if(y){const f=Array.isArray(y)?y:[y];i.value=f.reduce((p,{inlineSize:d})=>p+d,0),c.value=f.reduce((p,{blockSize:d})=>p+d,0)}else i.value=l.contentRect.width,c.value=l.contentRect.height},o);Fe(()=>{const l=F(t);l&&(i.value="offsetWidth"in l?l.offsetWidth:a.width,c.value="offsetHeight"in l?l.offsetHeight:a.height)});const S=e.watch(()=>F(t),l=>{i.value=l?a.width:0,c.value=l?a.height:0});function v(){u(),S()}return{width:i,height:c,stop:v}}function Je(t,a,o,r={}){var n,s,i;const{clone:c=!1,passive:u=!1,eventName:S,deep:v=!1,defaultValue:l,shouldEmit:y}=r,f=e.getCurrentInstance(),p=o||(f==null?void 0:f.emit)||((n=f==null?void 0:f.$emit)==null?void 0:n.bind(f))||((i=(s=f==null?void 0:f.proxy)==null?void 0:s.$emit)==null?void 0:i.bind(f==null?void 0:f.proxy));let d=S;a||(a="modelValue"),d=d||`update:${a.toString()}`;const k=w=>c?typeof c=="function"?c(w):Le(w):w,P=()=>_e(t[a])?k(t[a]):l,h=w=>{y?y(w)&&p(d,w):p(d,w)};if(u){const w=P(),g=e.ref(w);let A=!1;return e.watch(()=>t[a],_=>{A||(A=!0,g.value=k(_),e.nextTick(()=>A=!1))}),e.watch(g,_=>{!A&&(_!==t[a]||v)&&h(_)},{deep:v}),g}else return e.computed({get(){return P()},set(w){h(w)}})}function We(){const{isDark:t}=q(),a=Oe(t);return{isDark:t,toggleDark:a}}function ie(){const t=e.ref(!1);return e.onMounted(()=>{ce(t),He(t)}),e.watch(()=>t.value,()=>{t.value?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark")}),{isDark:t}}function ce(t){var a=document.documentElement;a&&(a.classList.contains("dark")?t.value=!0:t.value=!1)}function He(t){var a=document.querySelector("html"),o=new MutationObserver(function(r){for(var n of r)if(n.type==="attributes"&&n.attributeName==="class"){const s=n.target;new Array(...s.classList).includes("dark")?t.value=!0:t.value=!1}});o.observe(a,{attributes:!0,attributeFilter:["class"]}),e.onUnmounted(()=>{o.disconnect()})}function ue(){const t=e.ref(1),a=e.ref(!1),{isDark:o}=ie(),{pressSpace:r,pressShift:n,pressCtrl:s}=de();return{canvasScale:t,pressSpace:r,pressShift:n,pressCtrl:s,disabledZoom:a,isDark:o}}const q=Ie(ue);function de(){const t=e.ref(!1),a=e.ref(!1),o=e.ref(!1);return H(" ",()=>{t.value=!0}),K(" ",()=>{t.value=!1}),H("Shift",r=>{r.preventDefault(),a.value=!0}),K("Shift",()=>{a.value=!1}),H("Control",r=>{r.preventDefault(),o.value=!0}),K("Control",()=>{o.value=!1}),{pressSpace:t,pressShift:a,pressCtrl:o}}function Ke(t){const{pressSpace:a}=q(),o=new Image(1,1);o.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==";let r=0,n=0;function s(u){var S;a.value&&(r=u.x,n=u.y,(S=u.dataTransfer)==null||S.setDragImage(document.createElement("div"),0,0))}function i(u){if(u.preventDefault(),!u.x||!u.y||!a.value)return;const S=u.x-r,v=u.y-n;r=u.x,n=u.y,t.value&&(t.value.scrollTop-=v,t.value.scrollLeft-=S)}function c(){a.value=!1}return{handleElementDragStart:s,handleElementDrag:i,handleElementDragEnd:c}}function Ze(t){const{pressCtrl:a,canvasScale:o,disabledZoom:r}=q();function n(s){if(!a.value||r.value)return;s.preventDefault();let i=0;s.deltaY<0?i=o.value+.05:i=o.value-.05,!(i>150||i<.5)&&(o.value=i)}return e.watch(()=>o.value,s=>{t.value&&!r.value&&(t.value.style.transform=`scale(${s})`)}),{handleZoom:n,canvasScale:o}}function Qe(t,a=16.66){let o;function r(){n(),o=window.setInterval(t,a)}function n(){window.clearInterval(o)}return{startTimedQuery:r,stopTimedQuery:n}}const Ge={class:"min-w-750px rounded"},Ye={class:"h-full rounded"},Xe=e.defineComponent({__name:"index",setup(t,{expose:a}){const o=D.pluginManager.getComponent("monacoEditor"),r=D.pluginManager.getComponent("modal"),n=e.ref(null),s=e.ref(!1),i=e.ref(!1),c=e.ref({}),u=e.inject("pageSchema"),S=e.ref(null),v=e.ref("");function l(){i.value=!1}function y(){s.value=!1}function f(){s.value=!0,v.value=U()}async function p(){try{let d=await S.value.validateAll();if(!Object.keys(d).length){alert("请添加表单组件后再尝试!");return}Object.keys(d).length===1&&(d=d.default),c.value=JSON.stringify(d,null,2),e.nextTick(()=>{var k;(k=n.value)==null||k.setValue(c.value)}),i.value=!0}catch(d){console.error(d)}}return a({handleOpen:f}),(d,k)=>(e.openBlock(),e.createBlock(e.unref(r),{modelValue:s.value,"onUpdate:modelValue":k[1]||(k[1]=P=>s.value=P),title:"预览",class:"w-900px",width:"900px",onClose:y,onOk:p,okText:"表单数据"},{default:e.withCtx(()=>[e.createElementVNode("div",Ge,[(e.openBlock(),e.createBlock(e.unref(ae),{key:v.value,ref_key:"kb",ref:S,"page-schema":e.unref(u)},null,8,["page-schema"])),e.createVNode(e.unref(r),{modelValue:i.value,"onUpdate:modelValue":k[0]||(k[0]=P=>i.value=P),title:"表单数据",class:"w-860px",width:"860px",onClose:l,onOk:l},{default:e.withCtx(()=>[e.createElementVNode("div",Ye,[e.createVNode(e.unref(o),{ref_key:"monacoEditorRef",ref:n,autoToggleTheme:"",readOnly:"",class:"h-full editor","model-value":c.value},null,8,["model-value"])])]),_:1},8,["modelValue"])])]),_:1},8,["modelValue"]))}}),je={key:0,class:"epic-loading-box"},et={class:"epic-designer-main"},tt={class:"epic-header-container"},nt={class:"epic-loading-box"},ot=e.defineComponent({__name:"designer",props:{disabledZoom:{type:Boolean,default:!1},hiddenHeader:{type:Boolean,default:!1},lockDefaultSchemaEdit:{type:Boolean,default:!1},formMode:{type:Boolean,default:!1},title:{default:"EpicDesigner默认项目"},defaultSchema:{},sourceCodeReadOnly:{type:Boolean},source:{default:[]},updateSourceId:{}},emits:["ready","save","reset","toggleDeviceMode","saveSourceData","deleteSourceData","updateSourceData"],setup(t,{expose:a,emit:o}){const r=D.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-1afOcXnV.cjs"))),n=D.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-BJlPL6eL.cjs"))),s=D.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-D-mV-SAk.cjs"))),i=D.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-C6ceZM1C.cjs"))),c=D.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-Cap7FkuS.cjs"))),u=Q(),S=oe(),v=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(v.defaultSchema){l=v.defaultSchema;return}v.source&&
|
|
10
|
+
})`};e.watchEffect(()=>{if(v.defaultSchema){l=v.defaultSchema;return}v.source&&D.pluginManager.setSourceData(v.source),v.formMode&&(l.schemas=D.pluginManager.formSchemas)}),u.setDesignMode(),u.setDefaultComponentIds(l.schemas);const y=o,f=e.ref(null),p=e.reactive({checkedNode:null,hoverNode:null,disableHover:!1,matched:[]}),d=e.reactive({schemas:[],script:l.script}),{disabledZoom:k}=q();e.watchEffect(()=>{k.value=v.disabledZoom}),e.watchEffect(()=>{const b=d.script;b&&b!==""&&u.setMethods(b)}),e.provide("pageSchema",d),e.provide("revoke",S),e.provide("pageManager",u),e.provide("designerProps",e.computed(()=>v)),e.provide("designer",{setCheckedNode:h,setHoverNode:w,setDisableHover:A,handleToggleDeviceMode:W,reset:N,state:p}),D.EventBus.on("saveSourceData",b=>{y("saveSourceData",b)}),D.EventBus.on("deleteSourceData",b=>{y("deleteSourceData",b)}),D.EventBus.on("updateSourceData",b=>{y("updateSourceData",b)});function P(){d.schemas=V(l.schemas),h(d.schemas[0]),S.push(d.schemas,"初始化撤销功能")}async function h(b=d.schemas[0]){p.checkedNode=b,p.matched=ee(d.schemas,b.id)}async function w(b=null){var T;if(!b||p.disableHover)return p.hoverNode=null,!1;if((b==null?void 0:b.id)===((T=p.hoverNode)==null?void 0:T.id))return!1;p.hoverNode=b}function g(){e.nextTick(()=>{y("ready",{pageManager:u})})}async function A(b=!1){p.disableHover=b}function _(b){B(d,V(b))}function M(){return e.toRaw(d)}function N(){Z(d.schemas,l.schemas)&&d.script===l.script||(B(d.schemas,l.schemas),d.script=l.script,h(d.schemas[0]),S.push(d.schemas,"重置操作"),y("reset",d))}function L(){y("save",e.toRaw(d))}function W(b){y("toggleDeviceMode",b)}function z(){f.value.handleOpen()}return P(),a({revoke:S,setData:_,getData:M,reset:N,preview:z}),(b,T)=>e.unref(D.pluginManager).initialized.value?(e.openBlock(),e.createBlock(e.Suspense,{key:1,onResolve:g},{default:e.withCtx(()=>[e.createElementVNode("div",et,[e.createElementVNode("div",tt,[e.renderSlot(b.$slots,"header",{},()=>[v.hiddenHeader?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(r),{key:0,onPreview:z,onSave:L},{header:e.withCtx(()=>[e.renderSlot(b.$slots,"header-prefix")]),prefix:e.withCtx(()=>[e.renderSlot(b.$slots,"header-prefix")]),title:e.withCtx(()=>[e.renderSlot(b.$slots,"header-title")]),"right-prefix":e.withCtx(()=>[e.renderSlot(b.$slots,"header-right-prefix")]),"right-action":e.withCtx(()=>[e.renderSlot(b.$slots,"header-right-action")]),"right-suffix":e.withCtx(()=>[e.renderSlot(b.$slots,"header-right-suffix")]),_:3}))])]),e.createElementVNode("div",{class:e.normalizeClass(["epic-split-view-container",{"hidden-header":b.hiddenHeader}])},[e.createVNode(e.unref(n)),e.createVNode(e.unref(s)),e.createVNode(e.unref(i))],2),e.createVNode(Xe,{ref_key:"previewRef",ref:f},null,512)])]),fallback:e.withCtx(()=>[e.createElementVNode("div",nt,[e.createVNode(e.unref(c))])]),_:3})):(e.openBlock(),e.createElementBlock("div",je))}}),rt={component:async()=>await Promise.resolve().then(()=>require("./index-DkVKzqSQ.cjs")),defaultSchema:{label:"代码编辑器",type:"monacoEditor",field:"monacoEditor",icon:"epic-icon-write",input:!0},config:{attribute:[{label:"字段名",type:"input",field:"field"},{label:"标题",type:"input",field:"label"},{label:"默认值",type:"monacoEditor",field:"componentProps.defaultValue"}]},bindModel:"model-value"},at={component:async()=>await Promise.resolve().then(()=>require("./index-Ch9jeYmj.cjs")),defaultSchema:{label:"页面",type:"page",componentProps:{},children:[]},config:{attribute:[{label:"页面名称",type:"input",componentProps:{placeholder:"请输入"},field:"componentProps.name"}]}};function st(t){t.component("EInputSize",async()=>await Promise.resolve().then(()=>require("./index-DpzLP1Zp.cjs"))),t.component("EColEditor",async()=>await Promise.resolve().then(()=>require("./index-DKe3uW6g.cjs"))),t.component("EActionEditor",async()=>await Promise.resolve().then(()=>require("./index-BcTELKKi.cjs"))),t.component("ERuleEditor",async()=>await Promise.resolve().then(()=>require("./index-B9zp9FUu.cjs"))),t.component("EOptionsEditor",async()=>await Promise.resolve().then(()=>require("./index-BAbG8xrg.cjs"))),t.component("ENode",async()=>await Promise.resolve().then(()=>require("./index-Rhk7Lv_h.cjs"))),t.component("EDataSource",async()=>await Promise.resolve().then(()=>require("./index-B03W7FZR.cjs"))),t.registerActivitybar({id:"component_view",title:"组件",icon:"icon--epic--extension-outline",component:async()=>await Promise.resolve().then(()=>require("./index-BfoDWeC1.cjs"))}),t.registerActivitybar({id:"outline_view",title:"大纲",icon:"icon--epic--account-tree-outline-rounded",component:async()=>await Promise.resolve().then(()=>require("./outline-CJSEUbgc.cjs"))}),t.registerRightSidebar({id:"attribute_view",title:"属性",component:async()=>await Promise.resolve().then(()=>require("./attributeView-DT3Pgu2H.cjs"))}),t.registerRightSidebar({id:"style_view",title:"样式",component:async()=>await Promise.resolve().then(()=>require("./styleView-B66KWbOm.cjs"))}),[rt,at].forEach(o=>{t.registerComponent(o)})}st(D.pluginManager);exports._sfc_main=re;exports._sfc_main$1=ae;exports._sfc_main$2=ot;exports.capitalizeFirstLetter=j;exports.convertKFormData=be;exports.debounce=Ce;exports.deepClone=V;exports.deepCompareAndModify=B;exports.deepEqual=Z;exports.findSchemaById=we;exports.findSchemaInfoById=Se;exports.findSchemas=R;exports.generateNewSchema=he;exports.getDarkState=ce;exports.getFormFields=ye;exports.getFormSchemas=te;exports.getMatchedById=ee;exports.getUUID=U;exports.getValueByPath=ve;exports.initStore=ue;exports.mapSchemas=ne;exports.recursionConvertedNode=O;exports.setValueByPath=ge;exports.useDark=ie;exports.useElementDrag=Ke;exports.useElementSize=ze;exports.useElementZoom=Ze;exports.useKeyPress=de;exports.usePageManager=Q;exports.useResizeObserver=le;exports.useRevoke=oe;exports.useStore=q;exports.useTheme=We;exports.useTimedQuery=Qe;exports.useVModel=Je;exports.watchOnce=Re;
|
|
@@ -1 +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-R7VF52gK.cjs");exports.default=e._sfc_main;
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-R7VF52gK.cjs"),a=require("./axios-CYGTE3lR.cjs");exports.EBuilder=e._sfc_main$1;exports.EDesigner=e._sfc_main$2;exports.ENode=e._sfc_main;exports.capitalizeFirstLetter=e.capitalizeFirstLetter;exports.convertKFormData=e.convertKFormData;exports.debounce=e.debounce;exports.deepClone=e.deepClone;exports.deepCompareAndModify=e.deepCompareAndModify;exports.deepEqual=e.deepEqual;exports.findSchemaById=e.findSchemaById;exports.findSchemaInfoById=e.findSchemaInfoById;exports.findSchemas=e.findSchemas;exports.generateNewSchema=e.generateNewSchema;exports.getDarkState=e.getDarkState;exports.getFormFields=e.getFormFields;exports.getFormSchemas=e.getFormSchemas;exports.getMatchedById=e.getMatchedById;exports.getUUID=e.getUUID;exports.getValueByPath=e.getValueByPath;exports.initStore=e.initStore;exports.mapSchemas=e.mapSchemas;exports.recursionConvertedNode=e.recursionConvertedNode;exports.setValueByPath=e.setValueByPath;exports.useDark=e.useDark;exports.useElementDrag=e.useElementDrag;exports.useElementZoom=e.useElementZoom;exports.useKeyPress=e.useKeyPress;exports.usePageManager=e.usePageManager;exports.useRevoke=e.useRevoke;exports.useStore=e.useStore;exports.useTheme=e.useTheme;exports.useTimedQuery=e.useTimedQuery;exports.EventBus=a.EventBus;exports.PluginManager=a.PluginManager;exports.loadAsyncComponent=a.loadAsyncComponent;exports.pluginManager=a.pluginManager;
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { q as s, r as t, _ as r, E as o, c as n, j as d, m, d as u, x as i, l as g, f as l, B as c, g as p, H as h, z as y, A as E, y as S, k as f, o as B, I as D, C as F, D as I, s as P, G as v, e as C, i as M, F as k, t as x, v as A, u as N, p as q, a as z } from "./index-
|
|
1
|
+
import { q as s, r as t, _ as r, E as o, c as n, j as d, m, d as u, x as i, l as g, f as l, B as c, g as p, H as h, z as y, A as E, y as S, k as f, o as B, I as D, C as F, D as I, s as P, G as v, e as C, i as M, F as k, t as x, v as A, u as N, p as q, a as z } from "./index-8jV4lvPb.js";
|
|
2
2
|
import { E as T, P as U, l as V, p as b } from "./axios-ITY6Uw7A.js";
|
|
3
3
|
export {
|
|
4
4
|
s as EBuilder,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),_=require("./tree.vue_vue_type_script_setup_true_lang-RWTXU6lO.cjs"),f=require("./axios-CYGTE3lR.cjs"),m=require("./icon.vue_vue_type_script_setup_true_lang-DJbUD5AQ.cjs"),v={class:"epic-outline"},y=["onMouseenter"],g={class:"max-w-full truncate"},h={class:"epic-node-type-text flex-1 w-0 truncate"},k=e.defineComponent({__name:"outline",setup(N){const n=e.inject("designer"),a=e.inject("pageSchema"),l=e.computed(()=>{var s;const o=(s=n.state.checkedNode)==null?void 0:s.id;return o?[o]:[]});function u(o){n.setCheckedNode(o.componentSchema)}return(o,s)=>{var i;return e.openBlock(),e.createElementBlock("div",v,[e.createVNode(e.unref(_._sfc_main),{options:e.unref(a).schemas,draggable:"","selected-keys":l.value,"hover-key":(i=e.unref(n).state.hoverNode)==null?void 0:i.id,onNodeClick:u},{"tree-node":e.withCtx(({schema:t})=>{var r,c,d;return[e.createElementVNode("div",{class:e.normalizeClass(["epic-text-padding flex",{hidden:(r=t.componentProps)==null?void 0:r.hidden}]),onMouseenter:e.withModifiers(p=>e.unref(n).setHoverNode(t),["stop"]),onMouseleave:s[0]||(s[0]=e.withModifiers(p=>e.unref(n).setHoverNode(null),["stop"]))},[e.createElementVNode("span",g,[(c=t.componentProps)!=null&&c.hidden?(e.openBlock(),e.createBlock(e.unref(m._sfc_main),{key:0,name:"icon--epic--visibility-off-outline-rounded",class:"translate-y-2px"})):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(t.label??((d=e.unref(f.pluginManager).getComponentConfingByType(t.type))==null?void 0:d.defaultSchema.label)),1)]),e.createElementVNode("span",h,e.toDisplayString(t.id),1)],42,y)]}),_:1},8,["options","selected-keys","hover-key"])])}}});exports.default=k;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { defineComponent as g, inject as l, computed as k, openBlock as p, createElementBlock as v, createVNode as N, unref as e, withCtx as x, createElementVNode as i, normalizeClass as C, withModifiers as m, createBlock as M, createCommentVNode as S, createTextVNode as b, toDisplayString as u } from "vue";
|
|
2
|
+
import { _ as w } from "./tree.vue_vue_type_script_setup_true_lang-uR4G8wa_.js";
|
|
3
|
+
import { p as B } from "./axios-ITY6Uw7A.js";
|
|
4
|
+
import { _ as V } from "./icon.vue_vue_type_script_setup_true_lang-D3QdcReY.js";
|
|
5
|
+
const $ = { class: "epic-outline" }, E = ["onMouseenter"], H = { class: "max-w-full truncate" }, P = { class: "epic-node-type-text flex-1 w-0 truncate" }, q = /* @__PURE__ */ g({
|
|
6
|
+
__name: "outline",
|
|
7
|
+
setup(T) {
|
|
8
|
+
const o = l("designer"), _ = l("pageSchema"), f = k(() => {
|
|
9
|
+
var s;
|
|
10
|
+
const n = (s = o.state.checkedNode) == null ? void 0 : s.id;
|
|
11
|
+
return n ? [n] : [];
|
|
12
|
+
});
|
|
13
|
+
function h(n) {
|
|
14
|
+
o.setCheckedNode(n.componentSchema);
|
|
15
|
+
}
|
|
16
|
+
return (n, s) => {
|
|
17
|
+
var d;
|
|
18
|
+
return p(), v("div", $, [
|
|
19
|
+
N(e(w), {
|
|
20
|
+
options: e(_).schemas,
|
|
21
|
+
draggable: "",
|
|
22
|
+
"selected-keys": f.value,
|
|
23
|
+
"hover-key": (d = e(o).state.hoverNode) == null ? void 0 : d.id,
|
|
24
|
+
onNodeClick: h
|
|
25
|
+
}, {
|
|
26
|
+
"tree-node": x(({ schema: t }) => {
|
|
27
|
+
var c, a, r;
|
|
28
|
+
return [
|
|
29
|
+
i("div", {
|
|
30
|
+
class: C(["epic-text-padding flex", { hidden: (c = t.componentProps) == null ? void 0 : c.hidden }]),
|
|
31
|
+
onMouseenter: m((y) => e(o).setHoverNode(t), ["stop"]),
|
|
32
|
+
onMouseleave: s[0] || (s[0] = m((y) => e(o).setHoverNode(null), ["stop"]))
|
|
33
|
+
}, [
|
|
34
|
+
i("span", H, [
|
|
35
|
+
(a = t.componentProps) != null && a.hidden ? (p(), M(e(V), {
|
|
36
|
+
key: 0,
|
|
37
|
+
name: "icon--epic--visibility-off-outline-rounded",
|
|
38
|
+
class: "translate-y-2px"
|
|
39
|
+
})) : S("", !0),
|
|
40
|
+
b(" " + u(t.label ?? ((r = e(B).getComponentConfingByType(t.type)) == null ? void 0 : r.defaultSchema.label)), 1)
|
|
41
|
+
]),
|
|
42
|
+
i("span", P, u(t.id), 1)
|
|
43
|
+
], 42, E)
|
|
44
|
+
];
|
|
45
|
+
}),
|
|
46
|
+
_: 1
|
|
47
|
+
}, 8, ["options", "selected-keys", "hover-key"])
|
|
48
|
+
]);
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
export {
|
|
53
|
+
q as default
|
|
54
|
+
};
|