qx-easy-process
Version:
easy-process流程设计器,基于vue3 + vite4实现,具备低代码、快速应用及扩展的特点。【工作流】【流程引擎】
2 lines (1 loc) • 24 kB
JavaScript
(function(e,B){typeof exports=="object"&&typeof module<"u"?module.exports=B(require("vue")):typeof define=="function"&&define.amd?define(["vue"],B):(e=typeof globalThis<"u"?globalThis:e||self,e["easy-process"]=B(e.Vue))})(this,function(e){"use strict";let B="#icon-";const pe=n=>{let{prefix:t}=n||{};_e(t)},_e=n=>{n&&(B=n)},me=()=>B,vo="",fe=["xlink:href","fill"],ue=e.defineComponent({name:"ep-svg-icon"}),ge=Object.freeze(Object.defineProperty({__proto__:null,default:Object.assign(ue,{props:{iconClass:{type:String,required:!0},className:{type:String,default:""},color:{type:String,default:""}},setup(n){const t=n,o=e.computed(()=>me()+`${t.iconClass}`),d=e.computed(()=>t.className?`svg-icon ${t.className}`:"svg-icon");return(c,l)=>(e.openBlock(),e.createElementBlock("svg",{class:e.normalizeClass(d.value),"aria-hidden":"true"},[e.createElementVNode("use",{"xlink:href":o.value,fill:n.color},null,8,fe)],2))}})},Symbol.toStringTag,{value:"Module"}));let Y=2e3,$=null;const ye=({initZIndexValue:n,bindZIndexFunction:t})=>{if(t)if(typeof t=="function")$=t;else throw new Error("zIndexFunction must be a function");else n&&(Y=n)},X=()=>$&&typeof $=="function"?$():Y++,Mo="",E=(n,t)=>{const o=n.__vccOpts||n;for(const[d,c]of t)o[d]=c;return o},Ne=n=>(e.pushScopeId("data-v-fc7872f8"),n=n(),e.popScopeId(),n),he={class:"drawer"},Ce={key:0,class:"drawer-header"},be={class:"drawer-header-title"},ke={class:"drawer-body"},we={class:"drawer-footer"},Ee=Ne(()=>e.createElementVNode("div",{class:"drawer-overlay"},null,-1)),Be=e.defineComponent({name:"ep-drawer"}),Ve=E(Object.assign(Be,{props:{modelValue:{type:Boolean,default:!1},title:{type:String,default:null},icon:{type:String,default:"ep-setting"},"hide-header":{type:Boolean,default:!1},"hide-close-btn":{type:Boolean,default:!1},width:{type:String,default:"500px"}},emits:["update:modelValue","close"],setup(n,{emit:t}){const o=n;e.useCssVars(_=>({"625a3d27":o.width,"891cc3ec":e.unref(c),"009f7b52":e.unref(d)})),e.getCurrentInstance();let d=X(),c=X();e.onMounted(()=>{window.addEventListener("keydown",l)}),e.onUnmounted(()=>{window.removeEventListener("keydown",l)});const l=_=>{_.keyCode===27&&s()},s=()=>{t("update:modelValue",!1),t("close")};return(_,a)=>{const u=e.resolveComponent("ep-svg-icon");return o.modelValue?(e.openBlock(),e.createBlock(e.Teleport,{key:0,to:"body"},[e.createElementVNode("div",he,[o.hideHeader?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Ce,[o.icon?(e.openBlock(),e.createBlock(u,{key:0,"icon-class":o.icon,class:"drawer-header-icon",color:"#5a5e66"},null,8,["icon-class"])):e.createCommentVNode("",!0),e.createElementVNode("div",be,e.toDisplayString(o.title),1),o.hideCloseBtn?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(u,{key:1,"icon-class":"ep-close",class:"drawer-header-close",color:"#5a5e66",onClick:s}))])),e.createElementVNode("div",ke,[e.renderSlot(_.$slots,"default",{},void 0,!0)]),e.createElementVNode("div",we,[e.renderSlot(_.$slots,"footer",{},void 0,!0)])]),Ee])):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-fc7872f8"]]),Go="",Ie=e.defineComponent({name:"ep-button"}),W=E(Object.assign(Ie,{props:{type:{type:String,default:"default"}},setup(n){const t=n;return e.getCurrentInstance(),(o,d)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["button",t.type])},[e.renderSlot(o.$slots,"default",{},void 0,!0)],2))}}),[["__scopeId","data-v-7214d94b"]]),T="gateway",F="condition",S="start",H="task",O="terminate";let D;const Te=new Uint8Array(16);function Fe(){if(!D&&(D=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!D))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return D(Te)}const g=[];for(let n=0;n<256;++n)g.push((n+256).toString(16).slice(1));function xe(n,t=0){return(g[n[t+0]]+g[n[t+1]]+g[n[t+2]]+g[n[t+3]]+"-"+g[n[t+4]]+g[n[t+5]]+"-"+g[n[t+6]]+g[n[t+7]]+"-"+g[n[t+8]]+g[n[t+9]]+"-"+g[n[t+10]]+g[n[t+11]]+g[n[t+12]]+g[n[t+13]]+g[n[t+14]]+g[n[t+15]]).toLowerCase()}const K={randomUUID:typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function $e(n,t,o){if(K.randomUUID&&!t&&!n)return K.randomUUID();n=n||{};const d=n.random||(n.rng||Fe)();if(d[6]=d[6]&15|64,d[8]=d[8]&63|128,t){o=o||0;for(let c=0;c<16;++c)t[o+c]=d[c];return t}return xe(d)}const Se=()=>$e(),V=n=>{if(n){const t=JSON.stringify(n);return JSON.parse(t)}return null},h={};h[T]={nodeType:T,nodeName:"网关",enable:!0,canAdd:!0,hasDrawer:!1,icon:{name:"ep-gateway",color:"#3CB371"},branchList:[]},h[F]={nodeType:F,nodeName:"条件",color:"#FFFFFF",bgColor:"#3CB371",enable:!0,canAdd:!1,canRemoved:!0,hasDrawer:!0,icon:{name:"ep-condition",color:"#3CB371"}},h[S]={nodeType:S,nodeName:"开始",color:"#FFFFFF",bgColor:"#1e83e9",enable:!0,canAdd:!1,canRemoved:!1,hasDrawer:!0,icon:{name:"ep-start",color:"#1e83e9"}},h[H]={nodeType:H,nodeName:"任务",color:"#FFFFFF",bgColor:"#FF8C00",enable:!0,canAdd:!0,canRemoved:!0,hasDrawer:!0,icon:{name:"ep-task",color:"#FF8C00"}},h[O]={nodeType:O,nodeName:"终止",color:"#FFFFFF",bgColor:"#F56C6C",enable:!0,canAdd:!0,canRemoved:!0,hasDrawer:!0,icon:{name:"ep-terminate",color:"#F56C6C"}};const Oe=n=>{n&&n.length>0&&n.forEach(t=>{if(!t.nodeType)throw new Error("加载自定义配置:nodeType节点类型不能为空");if(!h[t.nodeType]&&!t.nodeName)throw new Error("加载自定义配置:nodeName节点类型不能为空");let o=h[t.nodeType]||V(De);h[t.nodeType]={...o,...t}})},De={enable:!0,color:"#FFFFFF",bgColor:"#8225e4",canAdd:!0,canRemoved:!0,hasDrawer:!0,icon:{name:"task",color:"#8225e4"}},q=e.shallowRef({}),J=e.shallowRef({}),Re=/([^/]+)-node\.vue$/i,Le=/([^/]+)-drawer\.vue$/i,je=n=>{Q(Object.assign({"../node/base/add-node.vue":()=>Promise.resolve().then(()=>oo),"../node/base/base-drawer.vue":()=>Promise.resolve().then(()=>qe),"../node/base/base-node.vue":()=>Promise.resolve().then(()=>_o),"../node/end/end-node.vue":()=>Promise.resolve().then(()=>Oo),"../node/gateway/gateway-node.vue":()=>Promise.resolve().then(()=>Io)})),n&&Q(n)},Q=n=>{Object.keys(n).forEach(t=>{Ae(n,t),Ue(n,t)})},Ae=(n,t)=>{let o=Z(Re,t);if(o){let d=n[t];q.value[o]=e.defineAsyncComponent(d)}},Ue=(n,t)=>{let o=Z(Le,t);if(o){let d=n[t];J.value[o]=e.defineAsyncComponent(d)}},Z=(n,t)=>{let o=n.exec(t);return o!==null?o[1]:null},R="processCtrl",ee="validator",ve="processData",Pe="on_designer_mounted",Me="on_pre_add_node",ze="on_after_add_node",Ge="on_pre_remove_node",Ye="on_after_remove_node",Xe="on_pre_update_node_config",We="on_after_update_node_config",Wo="",He={key:0,class:"ep-node-drawer-container"},Ke=e.defineComponent({name:"base-drawer"}),oe=E(Object.assign(Ke,{props:{},emits:["updateConfig","cancelUpdateConfig"],setup(n,{expose:t,emit:o}){const{proxy:d}=e.getCurrentInstance();let c=e.ref(null);const l=e.ref(null);let s=e.ref(!1);const _=e.inject(R),a=r=>{c.value=V(r),l.value=h[c.value.nodeType],s.value=!0},u=()=>{let r=d.$refs.drawerImplRef.preUpdateHandle;if(r&&typeof r=="function"&&!_.eventReturnIsTrue(r()))return;let i=_.triggerEvent(Xe,{tmpNodeId:c.value.tmpNodeId,config:c.value.config});_.eventReturnIsTrue(i)&&(s.value=!1,o("updateConfig",V(c.value.config)),e.nextTick(()=>{_.triggerEvent(We,{tmpNodeId:c.value.tmpNodeId})}))},m=()=>{s.value=!1,o("cancelUpdateConfig")};return t({show:a}),(r,i)=>e.unref(c)?(e.openBlock(),e.createElementBlock("div",He,[e.createVNode(Ve,{modelValue:e.unref(s),"onUpdate:modelValue":i[0]||(i[0]=y=>e.isRef(s)?s.value=y:s=y),title:"设置",width:"600px"},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(J)[e.unref(c).nodeType]),{ref:"drawerImplRef",config:e.unref(c).config},null,8,["config"]))]),footer:e.withCtx(()=>[e.createVNode(W,{onClick:m},{default:e.withCtx(()=>[e.createTextVNode("取消")]),_:1}),e.createVNode(W,{type:"primary",onClick:u},{default:e.withCtx(()=>[e.createTextVNode("确定")]),_:1})]),_:1},8,["modelValue"])])):e.createCommentVNode("",!0)}}),[["__scopeId","data-v-7423183a"]]),qe=Object.freeze(Object.defineProperty({__proto__:null,default:oe},Symbol.toStringTag,{value:"Module"})),M=(n=S)=>{let t=h[n],o=z(t);if(n===T){let d=h[F];o.branchList=[z(d),z(d)]}return o},z=n=>({tmpNodeId:Se(),nodeName:n.nodeName,nodeType:n.nodeType,config:n.config||{},childNode:null}),Ko="",Je={class:"ep-node-add"},Qe=["onClick"],Ze={class:"ep-node-add-select-item-title"},eo=e.defineComponent({name:"add-node"}),G=E(Object.assign(eo,{props:{node:{type:Object,default:{}}},setup(n){const t=n,{proxy:o}=e.getCurrentInstance();e.ref(h[t.node.nodeType]);const d=e.ref(!1),c=e.ref(null),l=e.ref([]),s=e.inject(R);Object.keys(h).forEach(m=>{let r=h[m];r.enable&&r.canAdd&&l.value.push({nodeName:r.nodeName,type:m,icon:r.icon,isSelected:!1})}),e.onMounted(async()=>{});const _=e.computed(()=>t.node.nodeType!==O),a=m=>{d.value=m,m&&o.$nextTick(()=>{let i=o.$refs.nodeAddSelect.getBoundingClientRect().width,w=o.$refs.nodeAddBtn.getBoundingClientRect().right;const I=window.innerWidth;w+i>I?c.value=1:c.value=2})},u=m=>{let r=s.triggerEvent(Me,{currentTmpNodeId:t.node.tmpNodeId,addNodeType:m});if(!s.eventReturnIsTrue(r))return;let i=M(m);i&&(m!==O&&(i.childNode=V(t.node.childNode)),t.node.childNode=i),a(!1),e.nextTick(()=>{s.triggerEvent(ze,{currentTmpNodeId:t.node.tmpNodeId,addTmpNodeId:i.tmpNodeId})})};return(m,r)=>{const i=e.resolveComponent("ep-svg-icon");return e.openBlock(),e.createElementBlock("div",Je,[_.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref:"nodeAddBtn",class:"ep-node-add-btn",onMouseenter:r[0]||(r[0]=y=>a(!0)),onMouseleave:r[1]||(r[1]=y=>a(!1))},[e.createVNode(i,{"icon-class":"ep-plus",class:"ep-node-add-btn-icon",color:"#FFFFFF"}),d.value?(e.openBlock(),e.createElementBlock("div",{key:0,ref:"nodeAddSelect",class:e.normalizeClass(["ep-node-add-select-box",c.value==1?"ep-node-add-left":"ep-node-add-right"])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,y=>(e.openBlock(),e.createElementBlock("div",{class:"ep-node-add-select-item",onClick:w=>u(y.type)},[e.createVNode(i,{"icon-class":y.icon.name,class:"ep-node-add-select-item-icon",color:y.selected?"#FFFFFF":y.icon.color},null,8,["icon-class","color"]),e.createElementVNode("div",Ze,e.toDisplayString(y.nodeName),1)],8,Qe))),256))],2)):e.createCommentVNode("",!0)],544)):e.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-9de0a394"]]),oo=Object.freeze(Object.defineProperty({__proto__:null,default:G},Symbol.toStringTag,{value:"Module"})),Jo="",no={class:"ep-node-header-title"},to={key:0,class:"ep-node-header-title-text"},co={key:1,class:"ep-node-header-title-input"},so={key:0,class:"ep-node-move ep-node-move-left"},lo={key:1,class:"ep-node-move ep-node-move-right"},ro={key:2,class:"ep-node-error-msg"},ao={class:"ep-node-error-msg-box"},io={key:0,class:"ep-node-error-tips"},po=e.defineComponent({name:"base-node"}),ne=E(Object.assign(po,{props:{node:{type:Object,default:{}},branchList:{type:Array,default:[]},conditionIndex:{type:Number,default:0}},emits:["removeNode"],setup(n,{emit:t}){const o=n,{proxy:d}=e.getCurrentInstance(),c=e.ref(h[o.node.nodeType]);if(!c.value)throw`未定义的节点类型: ${o.node.nodeType}`;const l=e.ref(!1),s=e.ref(null),_=e.inject(R),a=e.inject(ee),u=e.ref(null);e.watch(()=>o.node,p=>{c.value=h[o.node.nodeType],a.validate()}),e.onMounted(async()=>{_.addNode(o.node.tmpNodeId,o.node)}),e.onUnmounted(async()=>{_.removeNode(o.node.tmpNodeId),a.remove(o.node.tmpNodeId),a.validate()});const m=e.computed(()=>o.node.nodeType===S),r=e.computed(()=>{let p=a.getResult(o.node.tmpNodeId);return p?(u.value=p.message,!p.valid):(u.value=null,!1)}),i=e.computed(()=>c.value.canRemoved),y=()=>{c.value.hasDrawer&&d.$refs.nodeDrawer.show(o.node)},w=()=>o.node.nodeType===F,I=()=>!!(w()&&o.conditionIndex===o.branchList.length-1),A=()=>{let p=_.triggerEvent(Ge,{tmpNodeId:o.node.tmpNodeId});_.eventReturnIsTrue(p)&&(t("removeNode"),e.nextTick(()=>{_.triggerEvent(Ye,{tmpNodeId:o.node.tmpNodeId})}))},U=p=>{let f=o.conditionIndex,C=o.branchList[f],k;p===1?f>0?(k=f-1,o.branchList[f]=o.branchList[k],o.branchList[k]=C):(o.branchList.splice(0,1),o.branchList.push(C)):f<o.branchList.length-1?(k=f+1,o.branchList[f]=o.branchList[k],o.branchList[k]=C):(o.branchList.splice(o.branchList.length-1,1),o.branchList.splice(0,0,C))},v=p=>{o.node.config=p,a.validate()},P=()=>{a.validate()},ie=()=>{l.value=!0,e.nextTick(()=>{s.value.focus()})},N=()=>{l.value=!1,(o.node.nodeName==null||o.node.nodeName.trim()==="")&&(o.node.nodeName=c.value.nodeName)};return(p,f)=>{const C=e.resolveComponent("ep-svg-icon");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"ep-node":!0,"ep-node-arrows":!m.value})},[e.createElementVNode("div",{class:e.normalizeClass({"ep-node-content":!0,"ep-node-error":r.value})},[e.createElementVNode("div",{class:"ep-node-header",style:e.normalizeStyle({color:c.value.color,"background-color":c.value.bgColor})},[e.createVNode(C,{"icon-class":c.value.icon.name,class:"ep-node-icon",color:"#FFFFFF"},null,8,["icon-class"]),e.createElementVNode("div",no,[l.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",to,e.toDisplayString(o.node.nodeName),1)),l.value?(e.openBlock(),e.createElementBlock("div",co,[e.withDirectives(e.createElementVNode("input",{ref_key:"nodeNameRef",ref:s,"onUpdate:modelValue":f[0]||(f[0]=k=>o.node.nodeName=k),onBlur:N},null,544),[[e.vModelText,o.node.nodeName]])])):e.createCommentVNode("",!0),l.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(C,{key:2,class:"ep-node-header-title-edit","icon-class":"ep-edit",color:"#FFFFFF",onClick:ie}))]),i.value?(e.openBlock(),e.createBlock(C,{key:0,"icon-class":"ep-close",class:"ep-node-close",color:"#FFFFFF",onClick:A})):e.createCommentVNode("",!0)],4),e.createElementVNode("div",{class:"ep-node-body",onClick:y},[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(q)[o.node.nodeType]),{ref:"node",node:o.node,isLastCondition:I()},null,8,["node","isLastCondition"]))]),w()?(e.openBlock(),e.createElementBlock("div",so,[e.createVNode(C,{"icon-class":"ep-left",class:"ep-node-move-icon",onClick:f[1]||(f[1]=k=>U(1))})])):e.createCommentVNode("",!0),w()?(e.openBlock(),e.createElementBlock("div",lo,[e.createVNode(C,{"icon-class":"ep-right",class:"ep-node-move-icon",onClick:f[2]||(f[2]=k=>U(2))})])):e.createCommentVNode("",!0),r.value?(e.openBlock(),e.createElementBlock("div",ro,[e.createElementVNode("div",ao,[e.createVNode(C,{"icon-class":"ep-tips",class:"ep-node-error-icon",color:"red"}),u.value?(e.openBlock(),e.createElementBlock("div",io,e.toDisplayString(u.value),1)):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0)],2),e.createVNode(G,{node:o.node},null,8,["node"]),e.createVNode(oe,{ref:"nodeDrawer",onUpdateConfig:v,onCancelUpdateConfig:P},null,512)],2)}}}),[["__scopeId","data-v-5678d639"]]),_o=Object.freeze(Object.defineProperty({__proto__:null,default:ne},Symbol.toStringTag,{value:"Module"})),te="exclusive",de="parallel",b={};b[te]={type:te,name:"排他网关",enable:!0,icon:"ep-exclusive-gateway",desc:"按照分支顺序(从左向右)进行计算,选择第一个条件计算为true的分支继续流程,未设置条件时默认通过。"},b[de]={type:de,name:"并行网关",enable:!0,icon:"ep-parallel-gateway",desc:"计算所有分支条件,符合条件的分支可并列执行,未设置条件时默认通过。"};let L=null;const mo=n=>{if(n&&n.length>0&&n.forEach(t=>{if(!t.type)throw new Error("加载网关类型配置:type网关类型不能为空");if(!b[t.type])throw new Error("加载网关类型配置:不存在网关类型:"+t.type);b[t.type]={...b[t.type],...t},t.isDefault&&t.isDefault===!0&&(L=t.type)}),L==null){let t=Object.keys(b);for(let o=0;o<t.length;o++)if(b[t[o]].enable){L=t[o];break}}},Zo="",x=n=>(e.pushScopeId("data-v-251cc8a6"),n=n(),e.popScopeId(),n),fo={class:"ep-node-gateway"},uo={class:"ep-node-gateway-body"},go={class:"select-type-box"},yo=x(()=>e.createElementVNode("div",{class:"type-item-title"},"添加分支",-1)),No=["onClick"],ho={class:"type-item-title"},Co={class:"ep-node-gateway-box"},bo={class:"ep-node-gateway-col"},ko=x(()=>e.createElementVNode("div",{class:"cover-line top-left-cover-line"},null,-1)),wo=x(()=>e.createElementVNode("div",{class:"cover-line bottom-left-cover-line"},null,-1)),Eo=x(()=>e.createElementVNode("div",{class:"cover-line top-right-cover-line"},null,-1)),Bo=x(()=>e.createElementVNode("div",{class:"cover-line bottom-right-cover-line"},null,-1)),Vo=e.defineComponent({name:"router-node"}),ce=E(Object.assign(Vo,{props:{node:{type:Object,default:{}}},emits:["removeNode"],setup(n,{emit:t}){const o=n;e.getCurrentInstance();const d=e.computed(()=>b[o.node.gatewayType]),c=e.computed(()=>{let a=[];return Object.keys(b).forEach(u=>{let m=b[u];m.enable&&a.push(m)}),a});e.onMounted(async()=>{(!o.node.gatewayType||!d)&&(o.node.gatewayType=L)});const l=a=>{o.node.gatewayType=a},s=a=>{o.node.branchList.length>2?o.node.branchList.splice(a,1):(o.node.branchList.splice(a,1),t("removeNode"))},_=()=>{let a=M(F);o.node.branchList.push(a)};return(a,u)=>{const m=e.resolveComponent("ep-svg-icon");return e.openBlock(),e.createElementBlock("div",fo,[e.createElementVNode("div",uo,[d.value?(e.openBlock(),e.createBlock(m,{key:0,"icon-class":d.value.icon,class:"icon"},null,8,["icon-class"])):e.createCommentVNode("",!0),e.createElementVNode("div",go,[e.createElementVNode("div",{class:"type-item",onClick:_},[e.createVNode(m,{"icon-class":"ep-gateway",class:"type-item-icon"}),yo]),c.value&&c.value.length>1?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(c.value,r=>(e.openBlock(),e.createElementBlock("div",{class:"type-item",onClick:i=>l(r.type)},[e.createVNode(m,{"icon-class":r.icon,class:"type-item-icon"},null,8,["icon-class"]),e.createElementVNode("div",ho,e.toDisplayString(r.name),1)],8,No))),256)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",Co,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.node.branchList,(r,i)=>(e.openBlock(),e.createElementBlock("div",bo,[e.createVNode(se,{node:r,branchList:o.node.branchList,conditionIndex:i,onRemoveNode:y=>s(i)},null,8,["node","branchList","conditionIndex","onRemoveNode"]),i===0?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[ko,wo],64)):e.createCommentVNode("",!0),i===o.node.branchList.length-1?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[Eo,Bo],64)):e.createCommentVNode("",!0)]))),256))]),e.createVNode(G,{node:o.node},null,8,["node"])])}}}),[["__scopeId","data-v-251cc8a6"]]),Io=Object.freeze(Object.defineProperty({__proto__:null,default:ce},Symbol.toStringTag,{value:"Module"})),To={key:0,class:"ep-node-wrap"},Fo=e.defineComponent({name:"NodeWrap"}),se=Object.assign(Fo,{props:{node:{type:Object,default:{}},branchList:{type:Array,default:[]},conditionIndex:{type:Number,default:0},canRemoved:{type:Boolean,default:!0}},emits:["removeNode"],setup(n,{emit:t}){const o=n;e.getCurrentInstance(),e.ref({}),e.onMounted(async()=>{});const d=()=>{t("removeNode")},c=()=>{if(o.node.childNode.nodeType===T){let l=o.node.childNode.branchList[0].childNode;l?l.childNode=o.node.childNode.childNode:l=o.node.childNode.childNode,o.node.childNode=l||null}else o.node.childNode=o.node.childNode.childNode};return(l,s)=>{const _=e.resolveComponent("node-wrap",!0);return o.node?(e.openBlock(),e.createElementBlock("div",To,[o.node.nodeType===e.unref(T)?(e.openBlock(),e.createBlock(ce,{node:o.node,onRemoveNode:d,key:o.node.tmpNodeId},null,8,["node"])):(e.openBlock(),e.createBlock(ne,{node:o.node,branchList:o.branchList,conditionIndex:o.conditionIndex,onRemoveNode:d,key:o.node.tmpNodeId},null,8,["node","branchList","conditionIndex"])),o.node.childNode&&o.node.childNode.nodeType?(e.openBlock(),e.createBlock(_,{key:2,node:o.node.childNode,onRemoveNode:c},null,8,["node"])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0)}}}),on="",le=n=>(e.pushScopeId("data-v-68e175f7"),n=n(),e.popScopeId(),n),xo={class:"ep-node-end"},$o=[le(()=>e.createElementVNode("div",{class:"ep-node-end-icon"},null,-1)),le(()=>e.createElementVNode("div",{class:"ep-node-end-text"},"流程结束",-1))],So=e.defineComponent({name:"end-node"}),re=E(Object.assign(So,{props:{node:{type:Object,default:{}}},setup(n){return e.getCurrentInstance(),e.ref({}),e.onMounted(async()=>{}),(t,o)=>(e.openBlock(),e.createElementBlock("div",xo,$o))}}),[["__scopeId","data-v-68e175f7"]]),Oo=Object.freeze(Object.defineProperty({__proto__:null,default:re},Symbol.toStringTag,{value:"Module"})),Do=()=>{let n={};return n.nodes=new Map,n.events=new Map,n.addNode=(t,o)=>{n.nodes.set(t,o)},n.getNode=t=>n.nodes.get(t),n.removeNode=t=>{n.nodes.delete(t)},n.bindEvent=(t,o)=>{t&&o&&typeof o=="function"&&n.events.set(t,o)},n.unbindEvent=t=>{n.events.delete(t)},n.getBindEvent=t=>n.events.get(t),n.triggerEvent=(t,o)=>{let d=n.getBindEvent(t);return d?d(o):null},n.eventReturnIsTrue=t=>typeof t=="boolean"?t:!0,n},Ro=()=>{let n={};return n.nodeRules=new Map,n.results=e.reactive(new Map),n.register=(t,o)=>{o&&o instanceof Function&&n.nodeRules.set(t,o)},n.remove=t=>{n.nodeRules.delete(t),n.results.delete(t)},n.validate=()=>{let t=!0,o=[];return n.nodeRules.forEach((d,c)=>{let l=d;if(l&&l instanceof Function){let s=l();s.valid?n.results.delete(c):(t=!1,n.results.set(c,s),o.push(s.message))}}),{valid:t,messages:o}},n.getResult=t=>{let o=n.results.get(t);if(o)return o},n},cn="",Lo={class:"ep-zoom"},jo=e.defineComponent({name:"ep-designer"}),ae=Object.assign({"./components/svg-icon/ep-svg-icon.vue":ge,"./ep-designer.vue":Object.freeze(Object.defineProperty({__proto__:null,default:E(Object.assign(jo,{props:{data:{type:Object,default:{}}},setup(n,{expose:t}){const o=n;e.getCurrentInstance();let d=e.ref(100),c=Do();e.provide(R,c);let l=Ro();e.provide(ee,l);let s=e.ref({});e.provide(ve,s),e.watch(()=>o.data,N=>{a()}),e.onMounted(async()=>{a()});const _=N=>{if(N===1){if(d.value===40)return;d.value-=10}else{if(d.value===150)return;d.value+=10}},a=()=>{o.data.nodeConfig?s.value=V(o.data):s.value.nodeConfig=M(),e.nextTick(()=>{u(),c.triggerEvent(Pe)})},u=N=>{let p=l.validate();N&&typeof N=="function"&&N(p.valid,p.messages)},m=()=>V(s.value),r=()=>c,i=e.ref(!1),y=e.ref(0),w=e.ref(0),I=e.ref(0),A=e.ref(0),U=N=>{i.value=!0,y.value=N.clientX,w.value=N.clientY;const p=document.getElementById("ep-container");I.value=p.scrollLeft,A.value=p.scrollTop,document.addEventListener("mousemove",v),document.addEventListener("mouseup",P)},v=N=>{if(i.value){let p=N.clientX-y.value,f=N.clientY-w.value;const C=document.getElementById("ep-container");C.scrollLeft=I.value-p,C.scrollTop=A.value-f}},P=()=>{i.value=!1,document.removeEventListener("mousemove",v),document.removeEventListener("mouseup",P)};return t({validate:u,getResult:m,getProcessCtrl:r,bindEvent:(N,p)=>{c.bindEvent(N,p)}}),(N,p)=>{const f=e.resolveComponent("ep-svg-icon");return e.openBlock(),e.createElementBlock("div",{id:"ep-container",class:"ep-container",onMousedown:U},[e.createElementVNode("div",{class:"ep-process",style:e.normalizeStyle(`transform: scale(${e.unref(d)/100});`)},[e.unref(s)&&e.unref(s).nodeConfig?(e.openBlock(),e.createBlock(se,{key:0,node:e.unref(s).nodeConfig},null,8,["node"])):e.createCommentVNode("",!0),e.createVNode(re)],4),e.createElementVNode("div",Lo,[e.createVNode(f,{"icon-class":"ep-subtract",class:"ep-zoom-icon",color:"#ffffff",onClick:p[0]||(p[0]=C=>_(1))}),e.createElementVNode("span",null,e.toDisplayString(e.unref(d))+"%",1),e.createVNode(f,{"icon-class":"ep-plus",class:"ep-zoom-icon",color:"#ffffff",onClick:p[1]||(p[1]=C=>_(2))})])],32)}}}),[["__scopeId","data-v-c7eedae4"]])},Symbol.toStringTag,{value:"Module"}))}),j=(n,t)=>{console.log("run install"),!j.installed&&(j.installed,Uo(n,t),Ao(n))},Ao=(n,t)=>{Object.keys(ae).forEach(o=>{const d=ae[o],c=d.default.name;n.component(c,d.default||d)})},Uo=(n,t)=>{let{nodeImplPath:o,nodeConfig:d,gatewayTypeConfig:c,zIndexConfig:l,iconConfig:s}=t;je(o),Oe(d),mo(c),ye(l),pe(s)};return typeof window<"u"&&window.Vue&&j(window.Vue),{install:j}});