epic-designer-gold 0.0.36 → 0.0.38
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-B7DV4lAt.js → attributeView-CGtxobMF.js} +1 -1
- package/dist/{attributeView-DDGuze51.cjs → attributeView-CWoguTGM.cjs} +1 -1
- package/dist/index-9eiypGfJ.cjs +10 -0
- package/dist/{index-d5YJ-yXd.cjs → index-9xlsE_Mf.cjs} +1 -1
- package/dist/{index-tsOwObMJ.cjs → index-B7Uy532l.cjs} +1 -1
- package/dist/{index-DrpioRZq.js → index-BALf0q8e.js} +1 -1
- package/dist/{index-S20SQCap.cjs → index-BBNxCX9U.cjs} +1 -1
- package/dist/{index-B-xlPeh9.js → index-Bj6zKw82.js} +462 -456
- package/dist/index-By5d6rRB.js +4 -0
- package/dist/{index-K-_Di3v8.js → index-C7VY8nRX.js} +1 -1
- package/dist/{index-Dqrp1qYR.js → index-CDzXkVHK.js} +1 -1
- package/dist/{index-Dp_NrzlD.cjs → index-ChGNJr_v.cjs} +1 -1
- package/dist/{index-D9Sl1Tt2.js → index-DBRz4gi5.js} +1 -1
- package/dist/{index-BjGIBeq9.cjs → index-DCoUYKRW.cjs} +1 -1
- package/dist/{index-sc9fIKsf.js → index-DFP-9KaA.js} +1 -1
- package/dist/{index-COnqFAGF.cjs → index-DU0OYNvy.cjs} +1 -1
- package/dist/{index-kXU7kXVV.js → index-DWKirflC.js} +1 -1
- package/dist/{index-B2gg10s4.cjs → index-Dan8DnTn.cjs} +1 -1
- package/dist/{index-CVoTuphS.cjs → index-F-tQsU_8.cjs} +1 -1
- package/dist/{index-B3lbdZq_.js → index-wxDrmXkw.js} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/{styleView-D0l-KW9f.js → styleView-BHaWjsLQ.js} +1 -1
- package/dist/{styleView-CJW7-Z1w.cjs → styleView-BgoSZRkZ.cjs} +1 -1
- package/package.json +1 -1
- package/dist/index-D0lfnprb.cjs +0 -10
- package/dist/index-iKGyw7sC.js +0 -4
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent as B, computed as P, inject as O, openBlock as r, createElementBlock as u, Fragment as c, renderList as k, createElementVNode as d, toDisplayString as U, createVNode as g, unref as y, createCommentVNode as $, ref as C, watchEffect as T, createBlock as I, withCtx as M, createTextVNode as N } from "vue";
|
|
2
2
|
import { p as R } from "./axios-ITY6Uw7A.js";
|
|
3
|
-
import { _ as j, n as F, m as q } from "./index-
|
|
3
|
+
import { _ as j, n as F, m as q } from "./index-Bj6zKw82.js";
|
|
4
4
|
import { _ as A } from "./icon.vue_vue_type_script_setup_true_lang-D3QdcReY.js";
|
|
5
5
|
const D = [
|
|
6
6
|
{ label: "string", value: "string" },
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent as V, computed as k, openBlock as a, createElementBlock as l, Fragment as g, renderList as C, createVNode as p, unref as r, createElementVNode as c, createCommentVNode as y } from "vue";
|
|
2
2
|
import { p as U } from "./axios-ITY6Uw7A.js";
|
|
3
|
-
import { k as P } from "./index-
|
|
3
|
+
import { k as P } from "./index-Bj6zKw82.js";
|
|
4
4
|
import { _ as b } from "./icon.vue_vue_type_script_setup_true_lang-D3QdcReY.js";
|
|
5
5
|
const E = {
|
|
6
6
|
key: 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),F=require("./axios-CYGTE3lR.cjs"),C=require("./index-D0lfnprb.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-9eiypGfJ.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,7 +1,7 @@
|
|
|
1
1
|
import { defineComponent as D, inject as i, ref as S, computed as b, openBlock as m, createElementBlock as h, createElementVNode as n, createVNode as r, unref as a, withCtx as w, Fragment as E, renderList as M, normalizeClass as j, toDisplayString as V, mergeProps as z, withDirectives as A, vShow as F } from "vue";
|
|
2
2
|
import { d as G } from "./vuedraggable.umd-D2S7Eo7p.js";
|
|
3
3
|
import { p as d } from "./axios-ITY6Uw7A.js";
|
|
4
|
-
import { g as B, f as q } from "./index-
|
|
4
|
+
import { g as B, f as q } from "./index-Bj6zKw82.js";
|
|
5
5
|
import { _ as I } from "./icon.vue_vue_type_script_setup_true_lang-D3QdcReY.js";
|
|
6
6
|
const H = { class: "epic-component-view flex flex-col" }, J = { class: "epic-search-box px-10px py-6px" }, K = { class: "flex flex-1 overflow-auto" }, O = { class: "epic-tabs-box" }, Q = ["title", "onClick"], R = { class: "h-full flex-1 overflow-auto py-2 box-border" }, W = ["onClick"], X = { class: "epic-componet-label flex-1 w-0 truncate" }, Y = { class: "text-center pt-42px text-gray-400" }, ae = /* @__PURE__ */ D({
|
|
7
7
|
__name: "index",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),k=require("./axios-CYGTE3lR.cjs"),c=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),k=require("./axios-CYGTE3lR.cjs"),c=require("./index-9eiypGfJ.cjs"),B=require("./icon.vue_vue_type_script_setup_true_lang-DJbUD5AQ.cjs"),_=[{label:"string",value:"string"},{label:"number",value:"number"},{label:"boolean",value:"boolean"},{label:"method",value:"method"},{label:"regexp",value:"regexp"},{label:"integer",value:"integer"},{label:"float",value:"float"},{label:"array",value:"array"},{label:"object",value:"object"},{label:"date",value:"date"},{label:"url",value:"url"},{label:"hex",value:"hex"},{label:"email",value:"email"},{label:"any",value:"any"}],V=[{label:"change",value:"change"},{label:"blur",value:"blur"}],f=["string","number","url","array","email"],w={class:"rule-item-main bg-white m-t-2 p-2 rounded border border-solid border-gray-200 hover:border-primary transition-all relative"},E={key:0,class:"flex m-t-2 first:m-0"},x={class:"epic-attr-label",title:"校验时机"},q={class:"epic-attr-input"},C=e.defineComponent({__name:"ERuleItem",props:{rule:{}},emits:["change","delete","update:rule"],setup(h,{emit:b}){const i=b,d=h,r=e.computed({get(){return d.rule},set(l){i("update:rule",l)}}),u=e.inject("pageManager",{}),a=e.computed(()=>Object.entries(u.funcs.value).filter(([l,p])=>typeof p=="function").map(([l])=>({label:l,value:l}))),g=[{type:"select",label:"校验时机",model:"trigger",componentProps:{options:V,placeholder:"校验时机",multiple:!0,mode:"multiple"}},{type:"switch",label:"自定义规则",model:"isValidator"},{type:"select",label:"校验函数",model:"validator",show(){return!!r.value.isValidator},componentProps:{options:a.value,placeholder:"校验函数"}},{type:"select",label:"类型",model:"type",show(){return!r.value.isValidator},componentProps:{options:_,placeholder:"类型"}},{type:"input",label:"正则校验",model:"pattern",show(){return!r.value.isValidator},componentProps:{placeholder:"正则校验"}},{type:"number",label:"字段长度",model:"len",show(){return f.includes(r.value.type??"")},componentProps:{min:0,placeholder:"字段长度"}},{type:"number",label:"最小长度",model:"min",show(){return f.includes(r.value.type??"")},componentProps:{min:0,placeholder:"最小长度"}},{type:"number",label:"最大长度",model:"max",show(){return f.includes(r.value.type??"")},componentProps:{min:0,placeholder:"最大长度"}},{type:"input",label:"校验信息",model:"message",componentProps:{placeholder:"校验信息"}}];function o(){const l=r.value;l.isValidator?(delete l.type,delete l.pattern,delete l.len,delete l.min,delete l.max):delete l.validator,i("change",l)}function y(){i("delete")}return(l,p)=>(e.openBlock(),e.createElementBlock("div",w,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(g,(t,m)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:m},[!t.show||t.show()?(e.openBlock(),e.createElementBlock("div",E,[e.createElementVNode("div",x,e.toDisplayString(t.label),1),e.createElementVNode("div",q,[e.createVNode(e.unref(c._sfc_main),{modelValue:r.value[t.model],"onUpdate:modelValue":n=>r.value[t.model]=n,componentSchema:{...t,noFormItem:!0},onChange:o},null,8,["modelValue","onUpdate:modelValue","componentSchema"])])])):e.createCommentVNode("",!0)],64))),64)),e.createElementVNode("div",{class:"rule-btn-delete absolute top-0 text-md right-0 transition-all w-24px h-24px cursor-pointer rounded-bl-2 flex justify-center items-center color-white",onClick:y},[e.createVNode(e.unref(B._sfc_main),{name:"icon--epic--delete-outline-rounded"})])]))}}),N={class:"rule-item-main m-t-2 p-2 rounded border border-solid transition-all relative"},P={key:0,class:"flex m-t-2 first:m-0"},U={class:"epic-attr-label"},F={class:"flex-1"},j=e.defineComponent({__name:"index",props:{ruleType:{type:String,default:"string"},modelValue:{type:Array,default:void 0}},emits:["update:modelValue"],setup(h,{emit:b}){const i=k.pluginManager.getComponent("button"),d=h,r=b,u=c.useVModel(d,"modelValue",r),a=e.ref({required:!1,message:"必填项",type:d.ruleType,trigger:["change"]}),g=[{type:"switch",label:"必填项",model:"required"},{type:"select",label:"校验时机",model:"trigger",show(){return!!a.value.required},componentProps:{options:V,placeholder:"校验时机",multiple:!0,mode:"multiple"}},{type:"select",label:"类型",model:"type",show(){return!!a.value.required},componentProps:{options:_,placeholder:"类型"}},{type:"input",label:"校验信息",model:"message",show(){return!!a.value.required},componentProps:{placeholder:"校验信息"}}],o=e.ref([]);e.watchEffect(()=>{u.value&&(o.value=[],u.value.forEach(t=>{typeof t.required<"u"?a.value=t:o.value.push(t)}))});function y(){o.value.push({message:"",type:d.ruleType,trigger:["change"]}),l()}function l(){if(a.value.required){u.value=c.deepClone([...o.value,a.value]);return}if(o.value.length){u.value=c.deepClone(o.value);return}u.value=void 0}function p(t){o.value.splice(t,1),l()}return(t,m)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("div",N,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(g,(n,s)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:s},[!n.show||n.show()?(e.openBlock(),e.createElementBlock("div",P,[e.createElementVNode("div",U,e.toDisplayString(n.label),1),e.createElementVNode("div",F,[e.createVNode(e.unref(c._sfc_main),{modelValue:a.value[n.model],"onUpdate:modelValue":v=>a.value[n.model]=v,componentSchema:{...n,noFormItem:!0},onChange:l},null,8,["modelValue","onUpdate:modelValue","componentSchema"])])])):e.createCommentVNode("",!0)],64))),64))]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(n,s)=>(e.openBlock(),e.createBlock(C,{key:s,rule:o.value[s],"onUpdate:rule":v=>o.value[s]=v,onDelete:v=>p(s),onChange:l},null,8,["rule","onUpdate:rule","onDelete"]))),128)),e.createVNode(e.unref(i),{class:"m-t-2",onClick:y},{default:e.withCtx(()=>m[0]||(m[0]=[e.createTextVNode(" 添加规则 ")])),_:1})]))}});exports.default=j;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent as g, ref as p, onMounted as h, watch as v, nextTick as V, openBlock as _, createElementBlock as T } from "vue";
|
|
2
2
|
import * as a from "monaco-editor";
|
|
3
|
-
import { p as b } from "./index-
|
|
3
|
+
import { p as b } from "./index-Bj6zKw82.js";
|
|
4
4
|
import { _ as y } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
5
5
|
const x = /* @__PURE__ */ g({
|
|
6
6
|
__name: "index",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),N=require("./vuedraggable.umd-BqhSJIAi.cjs"),i=require("./axios-CYGTE3lR.cjs"),u=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),N=require("./vuedraggable.umd-BqhSJIAi.cjs"),i=require("./axios-CYGTE3lR.cjs"),u=require("./index-9eiypGfJ.cjs"),x=require("./icon.vue_vue_type_script_setup_true_lang-DJbUD5AQ.cjs"),w={class:"epic-component-view flex flex-col"},E={class:"epic-search-box px-10px py-6px"},B={class:"flex flex-1 overflow-auto"},M={class:"epic-tabs-box"},j=["title","onClick"],q={class:"h-full flex-1 overflow-auto py-2 box-border"},I=["onClick"],L={class:"epic-componet-label flex-1 w-0 truncate"},P={class:"text-center pt-42px text-gray-400"},T=e.defineComponent({__name:"index",setup($){const k=i.pluginManager.getComponent("input"),d=e.inject("pageSchema"),p=e.inject("designer"),y=e.inject("revoke"),C=e.inject("designerProps"),m=i.pluginManager.getComponentSchemaGroups(),a=e.ref(""),g={title:"全部",list:[]},c=e.ref(g),S=e.computed(()=>[g,...m.value]),s=e.computed(()=>{let o=c.value.list;if(c.value.title==="全部"){const n=m.value.map(t=>t.list);o=[].concat(...n)}return o.filter(n=>{var t;return((t=n.label)==null?void 0:t.includes(a.value))&&(!C.value.formMode||n.type!=="form")})});function V(o){c.value=o}function b(o){var v,f,_;const n=u.findSchemaInfoById(d.schemas,((v=p.state.checkedNode)==null?void 0:v.id)??"root");if(!n)return!1;let{list:t,schema:l,index:r}=n;l.children&&!((_=(f=i.pluginManager.getComponentConfingByType(l.type))==null?void 0:f.editConstraints)!=null&&_.childImmovable)&&(t=l.children,r=l.children.length-1);const h=u.generateNewSchema(o);t.splice(r+1,0,h),p.setCheckedNode(h),y.push(d.schemas,"插入组件")}return(o,n)=>(e.openBlock(),e.createElementBlock("div",w,[e.createElementVNode("div",E,[e.createVNode(e.unref(k),{placeholder:"搜索组件",modelValue:a.value,"onUpdate:modelValue":n[0]||(n[0]=t=>a.value=t),clearable:"",allowClear:"",value:a.value,"onUpdate:value":n[1]||(n[1]=t=>a.value=t)},{prefix:e.withCtx(()=>[e.createVNode(e.unref(x._sfc_main),{class:"text-$epic-text-helper",name:"icon--epic--search-rounded"})]),_:1},8,["modelValue","value"])]),e.createElementVNode("div",B,[e.createElementVNode("div",M,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(S.value,(t,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["epic-tab cursor-pointer truncate",{checked:c.value.title===t.title}]),key:l,title:t.title,onClick:r=>V(t)},e.toDisplayString(t.title),11,j))),128))]),e.createElementVNode("div",q,[e.createVNode(e.unref(N.draggable),e.mergeProps({modelValue:s.value,"onUpdate:modelValue":n[2]||(n[2]=t=>s.value=t)},{group:{name:"edit-draggable",pull:"clone",put:!1},sort:!1,animation:180,ghostClass:"moving"},{clone:e.unref(u.generateNewSchema),"item-key":"id",class:"grid grid-cols-[auto_auto] px-10px gap-2"}),{item:e.withCtx(({element:t})=>[e.createElementVNode("div",{class:"epic-componet-item flex items-center truncate",onClick:l=>b(t)},[e.createVNode(e.unref(x._sfc_main),{name:e.unref(i.pluginManager).getComponentConfingByType(t.type).icon??""},null,8,["name"]),e.createElementVNode("div",L,e.toDisplayString(t.label),1)],8,I)]),_:1},16,["modelValue","clone"]),e.withDirectives(e.createElementVNode("div",P,"没有查询到的组件",512),[[e.vShow,!s.value.length]])])])]))}});exports.default=T;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent as U, inject as L, openBlock as p, createElementBlock as g, Fragment as A, renderList as T, createElementVNode as i, toDisplayString as O, createVNode as C, unref as _, withCtx as R, createCommentVNode as G, createTextVNode as J, ref as E, computed as S, withDirectives as F, normalizeClass as j, vShow as P, reactive as H, createBlock as K, nextTick as Q, toRaw as z, watch as W } from "vue";
|
|
2
|
-
import { l as q, _ as X, k as Y, m as Z } from "./index-
|
|
2
|
+
import { l as q, _ as X, k as Y, m as Z } from "./index-Bj6zKw82.js";
|
|
3
3
|
import { p as w } from "./axios-ITY6Uw7A.js";
|
|
4
4
|
import { _ as D } from "./icon.vue_vue_type_script_setup_true_lang-D3QdcReY.js";
|
|
5
5
|
import { d as ee } from "./vuedraggable.umd-D2S7Eo7p.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),_=require("./axios-CYGTE3lR.cjs"),v=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),_=require("./axios-CYGTE3lR.cjs"),v=require("./index-9eiypGfJ.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 e=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-9eiypGfJ.cjs");exports.default=e._sfc_main;
|
|
@@ -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 f, 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 N } from "./index-
|
|
5
|
+
import { n as N } from "./index-Bj6zKw82.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 = {
|
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-9eiypGfJ.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-Bj6zKw82.js";
|
|
2
2
|
import { E as T, P as U, l as V, p as b } from "./axios-ITY6Uw7A.js";
|
|
3
3
|
export {
|
|
4
4
|
s as EBuilder,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent as k, inject as c, computed as P, openBlock as a, createElementBlock as s, Fragment as S, renderList as b, createElementVNode as d, normalizeClass as V, toDisplayString as w, createCommentVNode as u, createVNode as C, unref as i, nextTick as E } from "vue";
|
|
2
|
-
import { _ as z, o as I, s as y } from "./index-
|
|
2
|
+
import { _ as z, o as I, s as y } from "./index-Bj6zKw82.js";
|
|
3
3
|
import "./axios-ITY6Uw7A.js";
|
|
4
4
|
const N = ["title"], B = { class: "epic-attr-input" }, D = /* @__PURE__ */ k({
|
|
5
5
|
__name: "styleView",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),a=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),a=require("./index-9eiypGfJ.cjs");require("./axios-CYGTE3lR.cjs");const h=["title"],m={class:"epic-attr-input"},k=e.defineComponent({__name:"styleView",setup(v){const p=e.inject("designer"),u=e.inject("pageSchema"),d=e.inject("revoke"),r=[{label:"宽度",type:"EInputSize",field:"componentProps.style.width"},{label:"高度",type:"EInputSize",field:"componentProps.style.height"},{label:"内边距",type:"EInputSize",field:"componentProps.style.padding"},{label:"外边距",type:"EInputSize",field:"componentProps.style.margin"},{label:"背景色",type:"color-picker",field:"componentProps.style.backgroundColor",componentProps:{type:"color",style:{}}},{label:"字体颜色",type:"color-picker",field:"componentProps.style.color",componentProps:{type:"color",style:{}}}],c=e.computed(()=>p.state.checkedNode);function i(t){var n;return typeof t.show=="boolean"?t.show:((n=t.show)==null?void 0:n.call(t,{values:c.value}))??!0}function y(t,n,l,o=c.value){typeof l.onChange=="function"&&l.onChange({value:t,values:o,componentStyles:r}),l.changeSync?a.setValueByPath(o,n,t):e.nextTick(()=>{a.setValueByPath(o,n,t)}),d.push(u.schemas,"编辑组件属性")}return(t,n)=>{var l;return e.openBlock(),e.createElementBlock("div",{class:"epic-style-view",key:(l=c.value)==null?void 0:l.id},[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(r,o=>{var s;return e.createElementVNode("div",{key:o.field},[i(o)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["epic-attr-item",o.layout])},[o.label?(e.openBlock(),e.createElementBlock("div",{key:0,class:"epic-attr-label",title:o.label},e.toDisplayString(o.label),9,h)):e.createCommentVNode("",!0),e.createElementVNode("div",m,[e.createVNode(e.unref(a._sfc_main),{componentSchema:{...o,componentProps:{...o.componentProps,...o.field==="componentProps.defaultValue"?(s=c.value)==null?void 0:s.componentProps:{},input:!1,field:void 0,hidden:!1},show:!0,noFormItem:!0},"model-value":e.unref(a.getValueByPath)(o.editData??c.value,o.field),"onUpdate:modelValue":f=>y(f,o.field,o,o.editData)},null,8,["componentSchema","model-value","onUpdate:modelValue"])])],2)):e.createCommentVNode("",!0)])}),64))])}}});exports.default=k;
|
package/package.json
CHANGED
package/dist/index-D0lfnprb.cjs
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";const e=require("vue"),_=require("./axios-CYGTE3lR.cjs");function J(t=10){const a="abcdefghijklmnopqrstuvwxyz0123456789";let r="";for(let n=0;n<t;n++){const o=Math.floor(Math.random()*a.length);r+=a[o]}return r}function j(t){return t.charAt(0).toUpperCase()+t.slice(1)}function F(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 n=t.map(o=>F(o,a));return a.set(t,n),n}const r={};return a.set(t,r),Object.keys(t).forEach(n=>{r[n]=F(t[n],a)}),r}function he(t){const[a]=ne([F(t)],r=>{var o,s;const n={...r,id:`${r.type}_${J(8)}`};return(n.field||n.input)&&!((s=(o=_.pluginManager.getComponentConfingByType(n.type))==null?void 0:o.editConstraints)!=null&&s.fixedField)&&(n.field=n.id),n});return a}function $(t,a,r=!0){for(const[n,o]of Object.entries(a)){let s=t==null?void 0:t[n];s&&o&&typeof s=="object"&&typeof o=="object"?(Array.isArray(s)&&!Array.isArray(o)?s=t[n]={}:!Array.isArray(s)&&Array.isArray(o)&&(s=t[n]=[]),$(s,o,r)):t[n]=o}r&&Object.keys(t).reverse().forEach(n=>{a.hasOwnProperty(n)||(Array.isArray(t)?t.splice(Number(n),1):delete t[n])})}function Q(t,a,r=[],n=new WeakMap){const o=s=>{if(Array.isArray(s))return s.map(o);if(typeof s=="object"&&s!==null){if(n.has(s))return"[Circular]";n.set(s,!0);const i=Object.keys(s).sort(),c={};return i.forEach(f=>{r.includes(f)||(c[f]=o(s[f]))}),n.delete(s),c}else return s};return JSON.stringify(o(t))===JSON.stringify(o(a))}function ee(t,a){const r=[];let n=!1;function o(s){if(r.push(s),s.id===a&&(n=!0),!n&&s.children!=null&&s.children.length>0)for(let i=0;i<s.children.length&&(o(s.children[i]),!n);i++);if(!n&&s.slots)for(let i in s.slots)for(let c=0;c<s.slots[i].length&&(o(s.slots[i][c]),!n);c++);n||r.pop()}return t.forEach(o),n||console.error(`没有查询到id为${a}的节点`),r}function ve(t,a,r){const n=a.split(".");let o=t;for(let s=0;s<n.length;s++){if(o==null)return r;o=o[n[s]]}return o===void 0?r:o}function ge(t,a,r){const n=a.replace(/\[(\d+)\]/g,".$1").split(".").filter(Boolean);let o=t;for(let s=0;s<n.length-1;s++){const i=n[s];o[i]==null&&(o[i]=isNaN(Number(n[s+1]))?{}:[]),o=o[i]}return o[n[n.length-1]]=r,t}function ye(t,a="default"){return te(t,a).map(n=>n.field)}function te(t,a="default"){const r=L(t,o=>{var s;return o.type==="form"&&(((s=o.componentProps)==null?void 0:s.name)??o.name===a)},!0);return L((r==null?void 0:r.children)??[],o=>!!o.input,!1,o=>o.type!=="subform")}function L(t,a,r=!1,n){const o=[],s=[...t];for(;s.length;){const i=s.pop();if(i!=null&&i.children&&(!n||n(i))&&s.push(...i.children),i!=null&&i.slots&&(!n||n(i)))for(let c in i.slots)s.push(...i.slots[c]);if(a(i)&&(o.push(i),r))return i}return r?!1:o}function ne(t,a,r){const n=[...t];for(;n.length;){const o=n.pop();if(o!=null&&o.children&&(!r||r(o))&&n.push(...o.children),o!=null&&o.slots&&(!r||r(o)))for(let s in o.slots)n.push(...o.slots[s]);$(o,a(o))}return t}function we(t,a){const r=L(t,n=>n.id===a,!0);if(!r)throw new Error(`没有查询到id为${a}的节点`);return r}function Se(t,a){const r=[{type:"",children:t}];let n=0,o=null;if(L(r,s=>{if(o=s.children??null,!o){if(s!=null&&s.slots)for(let i in s.slots){o=s.slots[i];for(let c=0;c<o.length;c++)if(o[c].id===a)return n=c,!0}return!1}for(let i=0;i<o.length;i++)if(o[i].id===a)return n=i,!0;return!1},!0),!o)throw new Error(`没有查询到id为${a}的节点`);return{list:o,schema:o[n],index:n}}function Ce(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_"+J()}],componentProps:{style:{padding:"16px"}}}],script:t.script||""};return a.schemas[0].children[0].children=q(t.list),a}function q(t,a){return t.map(r=>{var f,x,y;let n=r.type??"";const o=r.options??{},s=(l,E)=>{n===l&&(n=E,o.defaultValue&&(o.defaultValue=JSON.parse(o.defaultValue)))};if(s("uploadImg","upload-image"),s("uploadFile","upload-file"),n==="date"&&o.range&&(o.type="daterange",delete o.range),(n==="date"||n==="time")&&(o.valueFormat=o.format),n==="textarea"){const{minRows:l,maxRows:E}=o;o.autoSize={minRows:l,maxRows:E},delete o.minRows,delete o.maxRows}n==="number"&&!o.precision&&delete o.precision,o.width&&(o.style={width:o.width},delete o.width),n==="grid"&&(n="row"),a&&a.type==="grid"&&(n="col",o.span=r.span,r.key=J());const i={label:r.label,type:n,icon:r.icon||"",field:r.model,componentProps:o,id:r.key};return(o.noFormItem||!o.showLabel)&&(i.noFormItem=!0,delete o.noFormItem,delete o.showLabel),o.clearable&&(o.allowClear=!0,delete o.clearable),["input","textarea","number","password","select","cascader","checkbox","radio","date","time","slider","switch","color-picker","upload-file","upload-image"].includes(n)&&(i.input=!0,((x=(f=r.rules)==null?void 0:f[0])==null?void 0:x.required)===!1&&r.rules.shift(),((y=r.rules)==null?void 0:y.length)>0&&(i.rules=r.rules)),r.list&&(i.children=q(r.list,r)),r.columns&&(i.children=q(r.columns,r)),r.trs&&(i.children=q(r.trs,r)),r.tds&&(i.children=q(r.tds,r)),i})}function Ee(t,a){let r=null;return(...n)=>{r&&clearTimeout(r),r=setTimeout(()=>{t(...n)},a)}}function G(){const t=e.ref({}),a=e.ref({}),r=e.ref(!1),n=e.ref([]),o=e.reactive({});function s(h){return t.value[h]}function i(h,C){t.value[h]=C}function c(h){delete t.value[h]}function f(h,C=!1){const D=Object.entries(_.pluginManager.publicMethods).reduce((I,[d,B])=>(I[d]=B.handler,I),{});try{new Function(`const epic = this;${h}`).bind({...D,getComponent:s,find:s,defineExpose:x,publicMethods:D,pluginManager:_.pluginManager})()}catch(I){C&&console.error("[epic:自定义函数]异常:",I)}}function x(h){h!=null&&(a.value=h)}function y(h,...C){if(!h||h.length===0){console.warn("未提供任何动作");return}h.forEach(D=>{const I=D.args?JSON.parse(D.args):C;switch(D.type){case"public":l(D,I);break;case"custom":E(D,I);break;case"component":p(D,I);break;default:console.warn(`未知的动作类型: ${D.type}`);break}})}function l(h,C){var D;try{(D=_.pluginManager.publicMethods[h.methodName])==null||D.handler(...C)}catch(I){console.error(`[Epic:公共函数(${h.methodName})]执行异常:`,I)}}function E(h,C){var D,I;try{(I=(D=a.value)[h.methodName])==null||I.call(D,...C)}catch(d){console.error(`[Epic:自定义函数(${h.methodName})]执行异常:`,d)}}function p(h,C){const D=h.componentId!=null&&s(h.componentId);if(!D){console.warn(`[Epic:组件${h.componentId}]未找到`);return}try{D[h.methodName](...C)}catch(I){console.error(`[Epic:组件${h.componentId}函数(${h.methodName})]执行异常:`,I)}}function v(h=!0){r.value=h}function u(h){const C=L(h,()=>!0);n.value=C.map(D=>D.id)}function k(h,C="default"){if(o[C]){const D=o[C];$(h,D)}o[C]=h}function O(h,C="default"){if(o[C]){$(o[C],h,!1);return}o[C]=h}return{componentInstances:t,funcs:a,isDesignMode:r,defaultComponentIds:n,forms:o,addFormData:k,setFormData:O,getComponentInstance:s,find:s,addComponentInstance:i,removeComponentInstance:c,setMethods:f,doActions:y,setDesignMode:v,setDefaultComponentIds:u}}function oe(){const t=e.ref([]),a=e.ref([]),r=e.ref(null);let n=0;function o(f,x="插入组件"){const y=Date.now();n+150>y||(n=y,r.value!=null&&(t.value.push(r.value),a.value.splice(0,a.value.length)),r.value={type:x,componentSchema:JSON.stringify(f)},t.value.length>60&&t.value.unshift())}function s(){if(t.value.length===0)return!1;const f=t.value.pop();return r.value!=null&&a.value.push(r.value),r.value=f,JSON.parse(f.componentSchema)}function i(){if(a.value.length===0)return!1;const f=a.value.pop();return r.value!=null&&t.value.push(r.value),r.value=f,JSON.parse(f.componentSchema)}function c(){t.value=[],a.value=[],r.value=null}return{recordList:t,undoList:a,currentRecord:r,push:o,undo:s,redo:i,reset:c}}const De=e.defineComponent({__name:"dynamicFormItem",props:{hasFormItem:{type:Boolean},formItemProps:{}},emits:["updateFormItemRef"],setup(t,{emit:a}){const r=_.pluginManager.getComponent("form-item"),n=t,o=a,s=e.ref(),i=()=>{o("updateFormItemRef",s.value)};return(c,f)=>n.hasFormItem?(e.openBlock(),e.createBlock(e.unref(r),e.mergeProps({key:0,ref_key:"formItemRef",ref:s,onVnodeMounted:i},n.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:{},id:{}},emits:["update:modelValue","change","update:dynamicId"],setup(t,{emit:a}){const{proxy:r}=e.getCurrentInstance(),n=t,o=e.ref(null);let s=e.inject("formData",e.reactive({}));const i=e.inject("slots",{}),c=e.inject("pageManager",{}),f=e.inject("disabled",{value:!1}),x=e.inject("ruleFieldPrefix",null),y=e.inject("resetFormData",!1);let l=e.reactive(F(n.componentSchema));v();async function E(m){if(["cascader","checkbox","select","radio"].includes(m.type)&&m.componentProps.dynamicId&&n.sourceDateUrl){const w=(await _.axios({url:n.sourceDateUrl,method:"get",params:{id:m.componentProps.dynamicId}})).data.data;let V=await _.axios({url:w.url,method:w.method,data:JSON.parse(w.body),params:JSON.parse(w.params),headers:JSON.parse(w.headers)});if(w&&(w!=null&&w.dataPath)){const fe=w.dataPath.split(".").reduce((pe,me)=>pe[me],V.data);m.componentProps.options=p(fe,w.dataKey,w.dataValue)}else m.componentProps.options=p(V.data,w.dataKey,w.dataValue);return m}return m}function p(m,P,M){return m&&Object.prototype.toString.call(m)==="[object Array]"?m.map(w=>w.children&&w.children.length?{label:w[P],value:w[M]+"",children:p(w.children,P,M)}:{label:w[P],value:w[M]+""}):[]}e.watch(()=>n.componentSchema,m=>{Q(l,m,["children"])||($(l,F(m)),v())},{deep:!0});function v(){c.isDesignMode.value&&typeof l.field=="string"&&(l.field+="-design-mode")}(n.resetFormData||y)&&(s={});const u=a,k=e.ref(),O=e.ref(),h=m=>{O.value=m},C=e.useAttrs();Object.keys(C).length&&e.provide("nodeAttrs",C);const D=e.shallowRef(null),I=e.computed(()=>{var m,P;return(m=l.componentProps)!=null&&m.hidden?!1:typeof l.show=="boolean"?l.show:((P=l.show)==null?void 0:P.call(l,{values:s}))??!0}),d=e.computed(()=>{var w;const m=I.value&&((w=l.rules)==null?void 0:w.map(V=>({...V,validator:V.validator&&c.funcs.value[V.validator]})));let P=l.field;n.ruleField?P=n.ruleField:x&&l.field&&(P=F(x),P.push(l.field));const M={...l,rules:m,rule:m,field:P};return M.children&&delete M.children,M}),B=e.computed(()=>{var M,w;const m=((M=A.value)==null?void 0:M.bindModel)??"modelValue",P={};return l.on&&Object.keys(l.on).forEach(V=>{P[`on${j(V)}`]=(...X)=>c.doActions(l.on[V],...X)}),{...n,...l.componentProps,disabled:(f==null?void 0:f.value)||((w=l.componentProps)==null?void 0:w.disabled),bindModel:m,...P}}),A=e.computed(()=>_.pluginManager.getComponentConfingByType(l.type)??null);e.watchEffect(()=>{o.value=n.modelValue??s[l.field??""]}),e.watch(()=>o.value,()=>{o.value!==(n.modelValue??s[l.field??""])&&S(o.value)}),e.watch(()=>k.value,()=>{g()},{immediate:!0});function g(){var P;const m=k.value||r;l.id&&m&&(l.input&&(m.setValue=S,m.getValue=()=>s[l.field]||n.modelValue),m.setAttr=(M,w)=>(l.componentProps||(l.componentProps={}),l.componentProps[M]=w),m.getAttr=M=>l.componentProps[M],c.addComponentInstance(l.id,m),(P=A.value)!=null&&P.defaultSchema.input&&l.noFormItem!==!0&&O.value&&c.addComponentInstance(l.id+"formItem",O.value))}function b(){var m;l.id&&(c.removeComponentInstance(l.id),(m=A.value)!=null&&m.defaultSchema.input&&l.noFormItem!==!0&&c.removeComponentInstance(l.id+"formItem"))}async function R(){var P,M,w;if(l=await E(l),typeof((P=l.componentProps)==null?void 0:P.defaultValue)<"u"){const V=c.isDesignMode.value?(M=l.componentProps)==null?void 0:M.defaultValue:s[l.field]??((w=l.componentProps)==null?void 0:w.defaultValue);S(F(V))}if(l.type==="slot"){const V=l.slotName;if(!V)return;D.value=e.defineComponent({setup(){return()=>e.renderSlot(i,V,{componentSchema:l,model:s})}});return}const m=_.pluginManager.getComponent(l.type);if(!m){console.error(`组件${l.type}未注册`);return}if(typeof m=="function"){const V=await m();D.value=V.default??V}else D.value=m}function S(m){u("update:modelValue",m),u("change",m),l.field&&(s[l.field]=m),_.EventBus.emit("updateformData"+n.id,s)}function N(m){u("update:dynamicId",m)}let T=null;return e.watch(()=>l,async m=>{const P=JSON.stringify({...m,children:void 0,componentProps:{...m.componentProps,options:null}});if(P===T)return!1;T=P,R()},{immediate:!0,deep:!0}),e.onUnmounted(b),(m,P)=>{var w;const M=e.resolveComponent("ENode");return D.value&&I.value?(e.openBlock(),e.createBlock(De,{key:0,hasFormItem:e.unref(l).noFormItem!==!0&&((w=A.value)==null?void 0:w.defaultSchema.input),formItemProps:d.value,onUpdateFormItemRef:h},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(D.value),e.mergeProps({ref_key:"componentInstance",ref:k,onVnodeMounted:g,model:e.unref(s)},{...B.value},{[B.value.bindModel]:o.value,["onUpdate:"+B.value.bindModel]:P[0]||(P[0]=V=>o.value=V),[`onUpdate:${B.value.bindModel}`||""]:S,"onUpdate:dynamicId":N}),{node:e.withCtx(V=>[e.createVNode(M,e.mergeProps({id:n.id},V,{sourceDateUrl:n.sourceDateUrl}),null,16,["id","sourceDateUrl"])]),"edit-node":e.withCtx(()=>[e.renderSlot(m.$slots,"edit-node")]),_:3},16,["model"]))]),_:3},8,["hasFormItem","formItemProps"])):e.createCommentVNode("",!0)}}});function xe(){const t=e.ref(!1),a=G(),r=e.ref({});function n(){return new Promise(p=>{if(t.value)p();else{const v=e.watch(t,()=>{v(),p()})}})}async function o(p="default"){var u;await n();const v=(u=r.value)==null?void 0:u[p];if(!v)throw new Error(`表单 [name=${p}] 不存在`);return v}async function s(p,v){const u=await o(p);return F(await v(u))}async function i(p="default"){return await s(p,v=>v.getData())}function c(p,v="default",u=void 0){var k,O;if(u&&Object.keys(u).length){let h=function(d){let B=[];return d.forEach(A=>{A.children&&(B=[...B,...h(A.children)]),B.push(A)}),B},D=function(d){var A;let B=h((A=u==null?void 0:u.schemas[0])==null?void 0:A.children);return Object.keys(d).forEach(g=>{var S,N,T,m,P,M,w;const b=B.find(V=>V.field===g),R=["datetimerange","daterange","monthrange","dates"];(b&&(b==null?void 0:b.type)==="checkbox"||(b==null?void 0:b.type)==="select"&&((S=b==null?void 0:b.componentProps)!=null&&S.multiple)||(b==null?void 0:b.type)==="cascader"&&!((T=(N=b==null?void 0:b.componentProps)==null?void 0:N.props)!=null&&T.multiple)||(b==null?void 0:b.type)==="date"&&R.includes((m=b==null?void 0:b.componentProps)==null?void 0:m.type))&&typeof d[g]=="string"?d[g]=(P=d[g])==null?void 0:P.split(","):(b==null?void 0:b.type)==="cascader"&&((w=(M=b==null?void 0:b.componentProps)==null?void 0:M.props)!=null&&w.multiple)&&typeof d[g]=="string"&&(d[g].indexOf(";")>-1?d[g]=d[g].split(";").map(V=>V.split(",")):d[g]=d[g].split(","),d[g].indexOf(";")>-1?d[g]=d[g].split(";").map(V=>V.split(",")):d[g]=d[g].split(","))}),d}(p);a.setFormData(D,v);const I=(k=r.value)==null?void 0:k[v];I==null||I.clearValidate()}else{a.setFormData(p,v);const h=(O=r.value)==null?void 0:O[v];h==null||h.clearValidate()}}async function f(p="default"){return await s(p,async v=>(await v.validate(),await v.getData()))}async function x(p){await n();const v={};for(const u in r.value){const k=r.value[u];k&&(v[u]=F(await p(k)))}return v}async function y(){return await x(p=>p.getData())}function l(p){for(const v in p)c(p[v],v)}async function E(){return await x(async p=>(await p.validate(),await p.getData()))}return{ready:t,pageManager:a,forms:r,getData:i,setData:c,validate:f,getForms:y,setForms:l,validateAll:E,getFormInstance:o}}const Ae={key:0,class:"epic-loading-box"},be={class:"epic-builder-main"},Pe={class:"epic-loading-box"},ae=e.defineComponent({__name:"builder",props:{pageSchema:{},formData:{},disabled:{type:Boolean},sourceDateUrl:{},id:{}},emits:["change","ready"],setup(t,{expose:a,emit:r}){const n=_.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-Cap7FkuS.cjs"))),o=r,{ready:s,pageManager:i,forms:c,getData:f,setData:x,validate:y,getForms:l,setForms:E,validateAll:p,getFormInstance:v}=xe(),u=t,k=e.reactive({schemas:[]});e.watch(()=>u.pageSchema,d=>{$(k,d)},{immediate:!0,deep:!0}),e.watch(()=>u.formData,d=>{if(d){let B=h(d);x(B)}},{immediate:!0,deep:!0});function O(d){let B=[];return d.forEach(A=>{A.children&&(B=[...B,...O(A.children)]),B.push(A)}),B}function h(d){let B=O(u.pageSchema.schemas[0].children);return Object.keys(d).forEach(A=>{var R,S,N,T,m,P,M;const g=B.find(w=>w.field===A),b=["datetimerange","daterange","monthrange","dates"];(g&&(g==null?void 0:g.type)==="checkbox"||(g==null?void 0:g.type)==="select"&&((R=g==null?void 0:g.componentProps)!=null&&R.multiple)||(g==null?void 0:g.type)==="cascader"&&!((N=(S=g==null?void 0:g.componentProps)==null?void 0:S.props)!=null&&N.multiple)||(g==null?void 0:g.type)==="date"&&b.includes((T=g==null?void 0:g.componentProps)==null?void 0:T.type))&&typeof d[A]=="string"?d[A]=(m=d[A])==null?void 0:m.split(","):(g==null?void 0:g.type)==="cascader"&&((M=(P=g==null?void 0:g.componentProps)==null?void 0:P.props)!=null&&M.multiple)&&typeof d[A]=="string"&&(d[A].indexOf(";")>-1?d[A]=d[A].split(";").map(w=>w.split(",")):d[A]=d[A].split(","),d[A].indexOf(";")>-1?d[A]=d[A].split(";").map(w=>w.split(",")):d[A]=d[A].split(","))}),d}e.watch(()=>k.script,d=>{d&&i.setMethods(d,!0)},{immediate:!0}),e.provide("slots",e.useSlots()),e.provide("pageManager",i),e.provide("forms",c),e.provide("pageSchema",k),e.provide("disabled",e.computed(()=>u.disabled));const C=e.getCurrentInstance(),D=C==null?void 0:C.proxy;function I(){e.nextTick(()=>{s.value=!0,o("ready",i),D&&i.addComponentInstance("builder",D)})}return _.EventBus.on("updateformData"+u.id,d=>{o("change",d)}),a({ready:s,pageManager:i,getData:f,setData:x,validate:y,getForms:l,setForms:E,validateAll:p,getFormInstance:v}),(d,B)=>e.unref(_.pluginManager).initialized.value?(e.openBlock(),e.createBlock(e.Suspense,{key:1,onResolve:I},{default:e.withCtx(()=>[e.createElementVNode("div",be,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.schemas,(A,g)=>(e.openBlock(),e.createBlock(e.unref(re),{id:u.id,key:g,sourceDateUrl:u.sourceDateUrl,componentSchema:A},null,8,["id","sourceDateUrl","componentSchema"]))),128))])]),fallback:e.withCtx(()=>[e.createElementVNode("div",Pe,[e.createVNode(e.unref(n))])]),_:1})):(e.openBlock(),e.createElementBlock("div",Ae))}});function Y(t){return e.getCurrentScope()?(e.onScopeDispose(t),!0):!1}function Ie(t){let a=0,r,n;const o=()=>{a-=1,n&&a<=0&&(n.stop(),r=void 0,n=void 0)};return(...s)=>(a+=1,n||(n=e.effectScope(!0),r=n.run(()=>t(...s))),Y(o),r)}function z(t){return typeof t=="function"?t():e.unref(t)}const ke=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Ve=t=>typeof t<"u",_e=Object.prototype.toString,Me=t=>_e.call(t)==="[object Object]",Be=()=>{};function Oe(t){return e.getCurrentInstance()}function Fe(t,a=!0,r){Oe()?e.onMounted(t,r):a?t():e.nextTick(t)}function Ne(t=!1,a={}){const{truthyValue:r=!0,falsyValue:n=!1}=a,o=e.isRef(t),s=e.ref(t);function i(c){if(arguments.length)return s.value=c,s.value;{const f=z(r);return s.value=s.value===f?z(n):f,s.value}}return o?i:[s,i]}function Re(t,a,r){const n=e.watch(t,(...o)=>(e.nextTick(()=>n()),a(...o)),r);return n}const H=ke?window:void 0;function U(t){var a;const r=z(t);return(a=r==null?void 0:r.$el)!=null?a:r}function $e(...t){let a,r,n,o;if(typeof t[0]=="string"||Array.isArray(t[0])?([r,n,o]=t,a=H):[a,r,n,o]=t,!a)return Be;Array.isArray(r)||(r=[r]),Array.isArray(n)||(n=[n]);const s=[],i=()=>{s.forEach(y=>y()),s.length=0},c=(y,l,E,p)=>(y.addEventListener(l,E,p),()=>y.removeEventListener(l,E,p)),f=e.watch(()=>[U(a),z(o)],([y,l])=>{if(i(),!y)return;const E=Me(l)?{...l}:l;s.push(...r.flatMap(p=>n.map(v=>c(y,p,v,E))))},{immediate:!0,flush:"post"}),x=()=>{f(),i()};return Y(x),x}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,r,n={};t.length===3?(a=t[0],r=t[1],n=t[2]):t.length===2?typeof t[1]=="object"?(a=!0,r=t[0],n=t[1]):(a=t[0],r=t[1]):(a=!0,r=t[0]);const{target:o=H,eventName:s="keydown",passive:i=!1,dedupe:c=!1}=n,f=Te(a);return $e(o,s,y=>{y.repeat&&z(c)||f(y)&&r(y)},i)}function K(t,a,r={}){return se(t,a,{...r,eventName:"keydown"})}function Z(t,a,r={}){return se(t,a,{...r,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,r={}){const{window:n=H,...o}=r;let s;const i=qe(()=>n&&"ResizeObserver"in n),c=()=>{s&&(s.disconnect(),s=void 0)},f=e.computed(()=>{const l=z(t);return Array.isArray(l)?l.map(E=>U(E)):[U(l)]}),x=e.watch(f,l=>{if(c(),i.value&&n){s=new ResizeObserver(a);for(const E of l)E&&s.observe(E,o)}},{immediate:!0,flush:"post"}),y=()=>{c(),x()};return Y(y),{isSupported:i,stop:y}}function ze(t,a={width:0,height:0},r={}){const{window:n=H,box:o="content-box"}=r,s=e.computed(()=>{var l,E;return(E=(l=U(t))==null?void 0:l.namespaceURI)==null?void 0:E.includes("svg")}),i=e.ref(a.width),c=e.ref(a.height),{stop:f}=le(t,([l])=>{const E=o==="border-box"?l.borderBoxSize:o==="content-box"?l.contentBoxSize:l.devicePixelContentBoxSize;if(n&&s.value){const p=U(t);if(p){const v=p.getBoundingClientRect();i.value=v.width,c.value=v.height}}else if(E){const p=Array.isArray(E)?E:[E];i.value=p.reduce((v,{inlineSize:u})=>v+u,0),c.value=p.reduce((v,{blockSize:u})=>v+u,0)}else i.value=l.contentRect.width,c.value=l.contentRect.height},r);Fe(()=>{const l=U(t);l&&(i.value="offsetWidth"in l?l.offsetWidth:a.width,c.value="offsetHeight"in l?l.offsetHeight:a.height)});const x=e.watch(()=>U(t),l=>{i.value=l?a.width:0,c.value=l?a.height:0});function y(){f(),x()}return{width:i,height:c,stop:y}}function Je(t,a,r,n={}){var o,s,i;const{clone:c=!1,passive:f=!1,eventName:x,deep:y=!1,defaultValue:l,shouldEmit:E}=n,p=e.getCurrentInstance(),v=r||(p==null?void 0:p.emit)||((o=p==null?void 0:p.$emit)==null?void 0:o.bind(p))||((i=(s=p==null?void 0:p.proxy)==null?void 0:s.$emit)==null?void 0:i.bind(p==null?void 0:p.proxy));let u=x;a||(a="modelValue"),u=u||`update:${a.toString()}`;const k=C=>c?typeof c=="function"?c(C):Le(C):C,O=()=>Ve(t[a])?k(t[a]):l,h=C=>{E?E(C)&&v(u,C):v(u,C)};if(f){const C=O(),D=e.ref(C);let I=!1;return e.watch(()=>t[a],d=>{I||(I=!0,D.value=k(d),e.nextTick(()=>I=!1))}),e.watch(D,d=>{!I&&(d!==t[a]||y)&&h(d)},{deep:y}),D}else return e.computed({get(){return O()},set(C){h(C)}})}function We(){const{isDark:t}=W(),a=Ne(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"),r=new MutationObserver(function(n){for(var o of n)if(o.type==="attributes"&&o.attributeName==="class"){const s=o.target;new Array(...s.classList).includes("dark")?t.value=!0:t.value=!1}});r.observe(a,{attributes:!0,attributeFilter:["class"]}),e.onUnmounted(()=>{r.disconnect()})}function ue(){const t=e.ref(1),a=e.ref(!1),{isDark:r}=ie(),{pressSpace:n,pressShift:o,pressCtrl:s}=de();return{canvasScale:t,pressSpace:n,pressShift:o,pressCtrl:s,disabledZoom:a,isDark:r}}const W=Ie(ue);function de(){const t=e.ref(!1),a=e.ref(!1),r=e.ref(!1);return K(" ",()=>{t.value=!0}),Z(" ",()=>{t.value=!1}),K("Shift",n=>{n.preventDefault(),a.value=!0}),Z("Shift",()=>{a.value=!1}),K("Control",n=>{n.preventDefault(),r.value=!0}),Z("Control",()=>{r.value=!1}),{pressSpace:t,pressShift:a,pressCtrl:r}}function Ke(t){const{pressSpace:a}=W(),r=new Image(1,1);r.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==";let n=0,o=0;function s(f){var x;a.value&&(n=f.x,o=f.y,(x=f.dataTransfer)==null||x.setDragImage(document.createElement("div"),0,0))}function i(f){if(f.preventDefault(),!f.x||!f.y||!a.value)return;const x=f.x-n,y=f.y-o;n=f.x,o=f.y,t.value&&(t.value.scrollTop-=y,t.value.scrollLeft-=x)}function c(){a.value=!1}return{handleElementDragStart:s,handleElementDrag:i,handleElementDragEnd:c}}function Ze(t){const{pressCtrl:a,canvasScale:r,disabledZoom:n}=W();function o(s){if(!a.value||n.value)return;s.preventDefault();let i=0;s.deltaY<0?i=r.value+.05:i=r.value-.05,!(i>150||i<.5)&&(r.value=i)}return e.watch(()=>r.value,s=>{t.value&&!n.value&&(t.value.style.transform=`scale(${s})`)}),{handleZoom:o,canvasScale:r}}function Qe(t,a=16.66){let r;function n(){o(),r=window.setInterval(t,a)}function o(){window.clearInterval(r)}return{startTimedQuery:n,stopTimedQuery:o}}const Ge={class:"min-w-750px rounded"},Ye={class:"h-full rounded"},Xe=e.defineComponent({__name:"index",setup(t,{expose:a}){const r=_.pluginManager.getComponent("monacoEditor"),n=_.pluginManager.getComponent("modal"),o=e.ref(null),s=e.ref(!1),i=e.ref(!1),c=e.ref({}),f=e.inject("pageSchema"),x=e.ref(null),y=e.ref("");function l(){i.value=!1}function E(){s.value=!1}function p(){s.value=!0,y.value=J()}async function v(){try{let u=await x.value.validateAll();if(!Object.keys(u).length){alert("请添加表单组件后再尝试!");return}Object.keys(u).length===1&&(u=u.default),c.value=JSON.stringify(u,null,2),e.nextTick(()=>{var k;(k=o.value)==null||k.setValue(c.value)}),i.value=!0}catch(u){console.error(u)}}return a({handleOpen:p}),(u,k)=>(e.openBlock(),e.createBlock(e.unref(n),{modelValue:s.value,"onUpdate:modelValue":k[1]||(k[1]=O=>s.value=O),title:"预览",class:"w-900px",width:"900px",onClose:E,onOk:v,okText:"表单数据"},{default:e.withCtx(()=>[e.createElementVNode("div",Ge,[(e.openBlock(),e.createBlock(e.unref(ae),{key:y.value,ref_key:"kb",ref:x,"page-schema":e.unref(f)},null,8,["page-schema"])),e.createVNode(e.unref(n),{modelValue:i.value,"onUpdate:modelValue":k[0]||(k[0]=O=>i.value=O),title:"表单数据",class:"w-860px",width:"860px",onClose:l,onOk:l},{default:e.withCtx(()=>[e.createElementVNode("div",Ye,[e.createVNode(e.unref(r),{ref_key:"monacoEditorRef",ref:o,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:r}){const n=_.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-1afOcXnV.cjs"))),o=_.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-BJlPL6eL.cjs"))),s=_.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-Dp_NrzlD.cjs"))),i=_.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-C6ceZM1C.cjs"))),c=_.loadAsyncComponent(()=>Promise.resolve().then(()=>require("./index-Cap7FkuS.cjs"))),f=G(),x=oe(),y=t;let l={schemas:[{type:"form",id:"root",label:"页面",children:[],componentProps:{name:"表单",style:{padding:"16px"}}}],script:`const { defineExpose, find } = epic;
|
|
2
|
-
|
|
3
|
-
function test (){
|
|
4
|
-
console.log('test')
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
// 通过defineExpose暴露的函数或者属性
|
|
8
|
-
defineExpose({
|
|
9
|
-
test
|
|
10
|
-
})`};e.watchEffect(()=>{if(y.defaultSchema){l=y.defaultSchema;return}y.source&&_.pluginManager.setSourceData(y.source),y.formMode&&(l.schemas=_.pluginManager.formSchemas)}),f.setDesignMode(),f.setDefaultComponentIds(l.schemas);const E=r,p=e.ref(null),v=e.reactive({checkedNode:null,hoverNode:null,disableHover:!1,matched:[]}),u=e.reactive({schemas:[],script:l.script}),{disabledZoom:k}=W();e.watchEffect(()=>{k.value=y.disabledZoom}),e.watchEffect(()=>{const S=u.script;S&&S!==""&&f.setMethods(S)}),e.provide("pageSchema",u),e.provide("revoke",x),e.provide("pageManager",f),e.provide("designerProps",e.computed(()=>y)),e.provide("designer",{setCheckedNode:h,setHoverNode:C,setDisableHover:I,handleToggleDeviceMode:b,reset:A,state:v}),_.EventBus.on("saveSourceData",S=>{E("saveSourceData",S)}),_.EventBus.on("deleteSourceData",S=>{E("deleteSourceData",S)}),_.EventBus.on("updateSourceData",S=>{E("updateSourceData",S)});function O(){u.schemas=F(l.schemas),h(u.schemas[0]),x.push(u.schemas,"初始化撤销功能")}async function h(S=u.schemas[0]){v.checkedNode=S,v.matched=ee(u.schemas,S.id)}async function C(S=null){var N;if(!S||v.disableHover)return v.hoverNode=null,!1;if((S==null?void 0:S.id)===((N=v.hoverNode)==null?void 0:N.id))return!1;v.hoverNode=S}function D(){e.nextTick(()=>{E("ready",{pageManager:f})})}async function I(S=!1){v.disableHover=S}function d(S){$(u,F(S))}function B(){return e.toRaw(u)}function A(){Q(u.schemas,l.schemas)&&u.script===l.script||($(u.schemas,l.schemas),u.script=l.script,h(u.schemas[0]),x.push(u.schemas,"重置操作"),E("reset",u))}function g(){E("save",e.toRaw(u))}function b(S){E("toggleDeviceMode",S)}function R(){p.value.handleOpen()}return O(),a({revoke:x,setData:d,getData:B,reset:A,preview:R}),(S,N)=>e.unref(_.pluginManager).initialized.value?(e.openBlock(),e.createBlock(e.Suspense,{key:1,onResolve:D},{default:e.withCtx(()=>[e.createElementVNode("div",et,[e.createElementVNode("div",tt,[e.renderSlot(S.$slots,"header",{},()=>[y.hiddenHeader?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(n),{key:0,onPreview:R,onSave:g},{header:e.withCtx(()=>[e.renderSlot(S.$slots,"header-prefix")]),prefix:e.withCtx(()=>[e.renderSlot(S.$slots,"header-prefix")]),title:e.withCtx(()=>[e.renderSlot(S.$slots,"header-title")]),"right-prefix":e.withCtx(()=>[e.renderSlot(S.$slots,"header-right-prefix")]),"right-action":e.withCtx(()=>[e.renderSlot(S.$slots,"header-right-action")]),"right-suffix":e.withCtx(()=>[e.renderSlot(S.$slots,"header-right-suffix")]),_:3}))])]),e.createElementVNode("div",{class:e.normalizeClass(["epic-split-view-container",{"hidden-header":S.hiddenHeader}])},[e.createVNode(e.unref(o)),e.createVNode(e.unref(s)),e.createVNode(e.unref(i))],2),e.createVNode(Xe,{ref_key:"previewRef",ref:p},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-tsOwObMJ.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-B2gg10s4.cjs"))),t.component("EActionEditor",async()=>await Promise.resolve().then(()=>require("./index-d5YJ-yXd.cjs"))),t.component("ERuleEditor",async()=>await Promise.resolve().then(()=>require("./index-BjGIBeq9.cjs"))),t.component("EOptionsEditor",async()=>await Promise.resolve().then(()=>require("./index-S20SQCap.cjs"))),t.component("ENode",async()=>await Promise.resolve().then(()=>require("./index-CVoTuphS.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-COnqFAGF.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-DDGuze51.cjs"))}),t.registerRightSidebar({id:"style_view",title:"样式",component:async()=>await Promise.resolve().then(()=>require("./styleView-CJW7-Z1w.cjs"))}),[rt,at].forEach(r=>{t.registerComponent(r)})}st(_.pluginManager);exports._sfc_main=re;exports._sfc_main$1=ae;exports._sfc_main$2=ot;exports.capitalizeFirstLetter=j;exports.convertKFormData=Ce;exports.debounce=Ee;exports.deepClone=F;exports.deepCompareAndModify=$;exports.deepEqual=Q;exports.findSchemaById=we;exports.findSchemaInfoById=Se;exports.findSchemas=L;exports.generateNewSchema=he;exports.getDarkState=ce;exports.getFormFields=ye;exports.getFormSchemas=te;exports.getMatchedById=ee;exports.getUUID=J;exports.getValueByPath=ve;exports.initStore=ue;exports.mapSchemas=ne;exports.recursionConvertedNode=q;exports.setValueByPath=ge;exports.useDark=ie;exports.useElementDrag=Ke;exports.useElementSize=ze;exports.useElementZoom=Ze;exports.useKeyPress=de;exports.usePageManager=G;exports.useResizeObserver=le;exports.useRevoke=oe;exports.useStore=W;exports.useTheme=We;exports.useTimedQuery=Qe;exports.useVModel=Je;exports.watchOnce=Re;
|
package/dist/index-iKGyw7sC.js
DELETED