UNPKG

@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

114 lines (113 loc) 4.8 kB
import { computed as U } from "vue"; import { deepClone as _, getId as D } from "@javaguns/utils"; import { NodeType as n } from "../types/node.mjs"; import F from "./useData.mjs"; import V from "./useNodeRecord.mjs"; function Y(E) { const { approverNode: A, copyerNode: u, routerNode: L, branchNode: R, jumpNode: I, noticeNode: g, suggestNode: C, parallelNode: P, subFlowNode: y } = F(), { recordPush: d, recordDel: c } = V(E), T = U(() => (e, i, o, t = !1) => { if (o != "circle" && e && !(t && !i)) return t && i ? { "guns-flow-node-branch": i } : { "guns-flow-node-branch": i, "guns-flow-item-active": e.active, "guns-flow-item-hover": !e.active && !e.deletable, "has-error": e.error }; }), B = (e, i) => !e && i ? i.canDelete : !0, v = (e, i) => e && e.nodeType == i, S = (e) => e && e.childNode && e.childNode.hasOwnProperty("nodeName"), w = (e) => { const i = { value: 0 }; return f(e, i), i.value == 0; }, f = (e, i) => { e.content || [4, 7, 8, 9, 11].includes(Number(e.nodeType)) == !1 && (e.error = !0, i.value++); const o = e.childNode; o && f(o, i); const t = e.conditionNodes; t && t.forEach((s) => { f(s, i); }); }, H = (e) => { if (e == n.APPROVER) return A(); if (e == n.COPYER) return u(); if (e == n.ROUTER) return L(); if (e != n.BRANCH) { if (e == n.JUMP) return I(); if (e == n.NOTICE) return g(); if (e == n.SUGGEST) return C(); if (e == n.PARALLEL) return P(); if (e == n.SUB_FLOW) return y(); } return A(); }, m = (e, i) => (e == n.BRANCH || e == n.BRANCH, R(i)), b = (e, i) => { const o = i.currNode, t = i.item, s = H(t.nodeType); l(e, o, s), d(s); }, l = (e, i, o) => { var t; if (e && e.nodeId == i.nodeId) { const s = i.childNode; s && (s.nodePid = o.nodeId), o.nodeType == 9 ? (s && (s.nodePid = (t = o.childNode) == null ? void 0 : t.nodeId), o.childNode.childNode = s) : o.childNode = s, o.nodePid = i.nodeId, e.childNode = o; } else e && (l(e.childNode, i, o), e.conditionNodes && e.conditionNodes.forEach((s, p) => { l(s, i, o); })); }, G = (e) => { let i = e.conditionNodes.length, o = e.conditionNodes[i - 1]; if (o.attr.priorityLevel = i + 1, o.nodeType == n.BRANCH) { const t = m(n.BRANCH, i); e.conditionNodes.splice(i - 1, 0, t), d(t); } else { const t = m(n.PARALLEL_BRANCH, i + 1); t.nodeName = "并行" + (i + 1), t.nodeType = n.PARALLEL_BRANCH, t.attr = { showPriorityLevel: !1, priorityLevel: i + 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), d(t); } }, O = (e, i) => { i.nodeType == n.BRANCH || i.nodeType == n.SUGGEST_BRANCH || i.nodeType == n.PARALLEL_BRANCH ? N(e, e.childNode, i) : r(e, e.childNode, i), c(i), i.update && d(i); }, r = (e, i, o) => { if (i && o && i.nodeId == o.nodeId) { let t = o.childNode; t && o.nodeType == n.APPROVER && t.nodeType == n.SUGGEST ? e.childNode = t.childNode : e.childNode = t; } else i && o && (r(i, i.childNode, o), i.conditionNodes && i.conditionNodes.forEach((t) => { r(i, t, o); })); }, N = (e, i, o) => { var t; i && (i.nodeType == n.ROUTER || i.nodeType == n.SUGGEST || i.nodeType == n.PARALLEL) ? i.conditionNodes && i.conditionNodes.length == 2 && i.conditionNodes.filter((s) => s.nodeId == o.nodeId).length > 0 ? (e.childNode = i.childNode, o.nodeType == n.PARALLEL_BRANCH && (e.childNode = (t = i.childNode) == null ? void 0 : t.childNode), c(i)) : e.childNode.conditionNodes.forEach((s, p) => { s.nodeId == o.nodeId ? (e.childNode.conditionNodes.splice(p, 1), c(o)) : N(s, s.childNode, o); }) : e.childNode && N(e.childNode, i.childNode, o); }, h = (e, i) => { if (e && i && e.nodeId == i.nodeId) { const o = e.childNode, t = _(i); t.nodeId = D(), t.childNode = o, e.childNode = t; } else e && i && (h(e.childNode, i), e.conditionNodes && e.conditionNodes.forEach((o) => { h(o, i); })); }, a = (e, i) => { e.nodeType == 1 && (e.originalId && (e.nodeId = e.originalId), i.push(e)); const o = e.childNode; o && a(o, i); const t = e.conditionNodes; t && t.forEach((s, p) => { a(s, i); }); }; return { isShow: B, itemClass: T, showNode: v, showSubNode: S, validate: w, addNode: b, addSimpleNode: l, addBranch: G, delNode: O, copyNode: h, getApproveNodes: a }; } export { Y as default, Y as useNode };