@javaguns/flow-ui
Version:
``` <template> <a-spin :spinning="loading"> <FlowDesigner ref="flowDesigner" top="50px"> </FlowDesigner> </a-spin> </template> <script lang="ts" setup> import { ref, provide, onMounted } from 'vue'; import { FlowDesigner, LoadingKey } from '@j
2 lines (1 loc) • 3.85 kB
JavaScript
;Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const q=require("vue"),A=require("@javaguns/utils"),d=require("../types/node.js"),D=require("./useData.js"),M=require("./useNodeRecord.js");function R(E){const{approverNode:y,copyerNode:L,routerNode:g,branchNode:T,jumpNode:I,noticeNode:C,suggestNode:P,parallelNode:v,subFlowNode:m}=D.default(),{recordPush:s,recordDel:c}=M.default(E),B=q.computed(()=>(e,o,i,t=!1)=>{if(i!="circle"&&e&&!(t&&!o))return t&&o?{"guns-flow-node-branch":o}:{"guns-flow-node-branch":o,"guns-flow-item-active":e.active,"guns-flow-item-hover":!e.active&&!e.deletable,"has-error":e.error}}),S=(e,o)=>!e&&o?o.canDelete:!0,w=(e,o)=>e&&e.nodeType==o,H=e=>e&&e.childNode&&e.childNode.hasOwnProperty("nodeName"),b=e=>{const o={value:0};return N(e,o),o.value==0},N=(e,o)=>{e.content||[4,7,8,9,11].includes(Number(e.nodeType))==!1&&(e.error=!0,o.value++);const i=e.childNode;i&&N(i,o);const t=e.conditionNodes;t&&t.forEach(n=>{N(n,o)})},O=e=>{if(e==d.NodeType.APPROVER)return y();if(e==d.NodeType.COPYER)return L();if(e==d.NodeType.ROUTER)return g();if(e!=d.NodeType.BRANCH){if(e==d.NodeType.JUMP)return I();if(e==d.NodeType.NOTICE)return C();if(e==d.NodeType.SUGGEST)return P();if(e==d.NodeType.PARALLEL)return v();if(e==d.NodeType.SUB_FLOW)return m()}return y()},u=(e,o)=>(e==d.NodeType.BRANCH||e==d.NodeType.BRANCH,T(o)),G=(e,o)=>{const i=o.currNode,t=o.item,n=O(t.nodeType);l(e,i,n),s(n)},l=(e,o,i)=>{var t;if(e&&e.nodeId==o.nodeId){const n=o.childNode;n&&(n.nodePid=i.nodeId),i.nodeType==9?(n&&(n.nodePid=(t=i.childNode)==null?void 0:t.nodeId),i.childNode.childNode=n):i.childNode=n,i.nodePid=o.nodeId,e.childNode=i}else e&&(l(e.childNode,o,i),e.conditionNodes&&e.conditionNodes.forEach((n,h)=>{l(n,o,i)}))},U=e=>{let o=e.conditionNodes.length,i=e.conditionNodes[o-1];if(i.attr.priorityLevel=o+1,i.nodeType==d.NodeType.BRANCH){const t=u(d.NodeType.BRANCH,o);e.conditionNodes.splice(o-1,0,t),s(t)}else{const t=u(d.NodeType.PARALLEL_BRANCH,o+1);t.nodeName="并行"+(o+1),t.nodeType=d.NodeType.PARALLEL_BRANCH,t.attr={showPriorityLevel:!1,priorityLevel:o+1,branchType:3,emptyApproverIds:[],emptyApproverNames:[],rate:100},t.content="任意(默认)",t.color1="rgb(43, 170, 177)",t.color2="rgb(43, 170, 177)",t.color3="rgb(43, 170, 177)",e.conditionNodes.push(t),s(t)}},_=(e,o)=>{o.nodeType==d.NodeType.BRANCH||o.nodeType==d.NodeType.SUGGEST_BRANCH||o.nodeType==d.NodeType.PARALLEL_BRANCH?f(e,e.childNode,o):r(e,e.childNode,o),c(o),o.update&&s(o)},r=(e,o,i)=>{if(o&&i&&o.nodeId==i.nodeId){let t=i.childNode;t&&i.nodeType==d.NodeType.APPROVER&&t.nodeType==d.NodeType.SUGGEST?e.childNode=t.childNode:e.childNode=t}else o&&i&&(r(o,o.childNode,i),o.conditionNodes&&o.conditionNodes.forEach(t=>{r(o,t,i)}))},f=(e,o,i)=>{var t;o&&(o.nodeType==d.NodeType.ROUTER||o.nodeType==d.NodeType.SUGGEST||o.nodeType==d.NodeType.PARALLEL)?o.conditionNodes&&o.conditionNodes.length==2&&o.conditionNodes.filter(n=>n.nodeId==i.nodeId).length>0?(e.childNode=o.childNode,i.nodeType==d.NodeType.PARALLEL_BRANCH&&(e.childNode=(t=o.childNode)==null?void 0:t.childNode),c(o)):e.childNode.conditionNodes.forEach((n,h)=>{n.nodeId==i.nodeId?(e.childNode.conditionNodes.splice(h,1),c(i)):f(n,n.childNode,i)}):e.childNode&&f(e.childNode,o.childNode,i)},p=(e,o)=>{if(e&&o&&e.nodeId==o.nodeId){const i=e.childNode,t=A.deepClone(o);t.nodeId=A.getId(),t.childNode=i,e.childNode=t}else e&&o&&(p(e.childNode,o),e.conditionNodes&&e.conditionNodes.forEach(i=>{p(i,o)}))},a=(e,o)=>{e.nodeType==1&&(e.originalId&&(e.nodeId=e.originalId),o.push(e));const i=e.childNode;i&&a(i,o);const t=e.conditionNodes;t&&t.forEach((n,h)=>{a(n,o)})};return{isShow:S,itemClass:B,showNode:w,showSubNode:H,validate:b,addNode:G,addSimpleNode:l,addBranch:U,delNode:_,copyNode:p,getApproveNodes:a}}exports.default=R;exports.useNode=R;