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

171 lines (170 loc) 7.42 kB
import { defineComponent as E, ref as n, inject as de, onMounted as se, provide as r, openBlock as t, createElementBlock as ie, Fragment as ue, createVNode as p, unref as e, createBlock as d, isRef as B, withCtx as P, createCommentVNode as s } from "vue"; import "./style/index.css"; import { pluginManager as me } from "@javaguns/utils"; import { LoadingKey as fe, ModelKey as pe, NodeKey as ce, CurrNodeKey as ve, AddNodeKey as we, DelClickKey as ye, NodeClickKey as Ne, BranchNodeClickKey as _e, DragSourceNodeKey as ge, DragTargetNodeKey as he, PrivilegesKey as Ce, BaseColumnsKey as De, FormColumnsKey as ke, OrgApproverUserTypeKey as Ke, DictTreeKey as be, PositionsKey as Re, RolesKey as Be, NodeModifyKey as Pe } from "../utils/injection-key.mjs"; import { NodeType as u } from "../types/node.mjs"; import $e from "../hooks/useData.mjs"; import { useNode as Ee } from "../hooks/useNode.mjs"; import { useDrawer as Te } from "./hooks/drawer.mjs"; import { useEvent as Ae } from "./hooks/event.mjs"; import { useInteraction as Fe } from "./hooks/interaction.mjs"; import { useDrag as Ie } from "./hooks/drag.mjs"; import { useFlowData as Ue } from "./hooks/data.mjs"; import { FlowRender as Me } from "../flow-render/index.mjs"; import { FlowNav as Se } from "../flow-nav/index.mjs"; import Ve from "./drawer/drawerHeader.vue.mjs"; import Le from "./drawer/drawerBody.vue.mjs"; import Oe from "./drawer/drawerFooter.vue.mjs"; import xe from "./drawer/flowBeginDrawer.vue.mjs"; import Ze from "./drawer/flowApproverDrawer.vue.mjs"; import $ from "./drawer/flowBranchDrawer.vue.mjs"; import je from "./drawer/flowCopyerDrawer.vue.mjs"; import He from "./drawer/flowJumpDrawer.vue.mjs"; import ze from "./drawer/flowNoticeDrawer.vue.mjs"; import Ge from "./drawer/flowSubFlowDrawer.vue.mjs"; import Je from "./weiget/flowGlobalSetting.vue.mjs"; const We = E({ name: "flow-designer" }), Do = /* @__PURE__ */ E({ ...We, props: { width: {}, height: { default: "100%" }, top: {}, bottom: {}, readonly: { type: Boolean, default: !0 }, showZoom: { type: Boolean }, drag: { type: Boolean, default: !1 }, nav: { type: Boolean, default: !0 }, node: {}, privileges: { default: () => [] } }, emits: ["load", "preview", "close"], setup(T, { expose: A, emit: F }) { const I = me.getComponent("Drawer"), a = T, U = n(), g = n(), v = n(), h = n(), C = n(), D = n(), m = n({}), w = n({}), o = n({}), f = n({}), y = n(!1), { showNode: i } = Ee(y), { initNode: M } = $e(), S = de(fe, n(!1)), V = F, { privileges: L, baseColumns: O, formColumns: x, dictTreeDatas: Z, orgApproverUserTypes: j, positions: H, roles: z, model: k, loadFlowData: G } = Ue(), { publish: K, upgrade: J, refresh: W, preview: Y, close: q, setData: Q, getData: X, modelId: b, definitionId: R } = Fe(m, V, S, G), { open: l, closeDrawer: N, saveDrawer: ee } = Te(b, R, w, o, g, v, h, C, D), { dragSourceNode: oe, dragTargetNode: re } = Ie(), { addNodeEvent: ne, delNodeEvent: le, nodeClickEvent: te, branchNodeClickEvent: ae } = Ae(l, y, m, w, f, o); return se(() => { a.node ? m.value = a.node : m.value = M(); }), r(pe, k), r(ce, m), r(ve, w), r(we, ne), r(ye, le), r(Ne, te), r(_e, ae), r(ge, oe), r(he, re), r(Ce, L), r(De, O), r(ke, x), r(Ke, j), r(be, Z), r(Re, H), r(Be, z), r(Pe, y), A({ publish: K, setData: Q, getData: X }), (Ye, c) => (t(), ie(ue, null, [ p(e(Se), { name: e(k).modelName, node: m.value, nav: a.nav, onRefresh: e(W), onPublish: e(K), onUpgrade: e(J), onPreview: e(Y), onClose: e(q) }, null, 8, ["name", "node", "nav", "onRefresh", "onPublish", "onUpgrade", "onPreview", "onClose"]), p(e(Me), { ref_key: "flowRender", ref: U, node: m.value, readonly: !1, vertical: !0, left: a.left, top: a.top, height: a.height, showZoom: a.showZoom }, null, 8, ["node", "left", "top", "height", "showZoom"]), p(Je, { modelId: e(b), definitionId: e(R) }, null, 8, ["modelId", "definitionId"]), e(l) ? (t(), d(e(I), { key: 0, open: e(l), "onUpdate:open": c[0] || (c[0] = (_) => B(l) ? l.value = _ : null), modelValue: e(l), "onUpdate:modelValue": c[1] || (c[1] = (_) => B(l) ? l.value = _ : null), visible: e(l), show: e(l), placement: "right", direction: "rtl", "custom-class": "flow-drawer", class: "flow-drawer", "class-name": "flow-drawer", "append-to-body": !0, "with-header": !1, "show-close": !1, header: !1, footer: !1, closable: !1, width: "50%", size: "50%", onCancel: e(N), onClose: e(N) }, { default: P(() => [ p(Ve, { node: o.value }, null, 8, ["node"]), p(Le, { node: o.value }, { default: P(() => [ e(i)(o.value, e(u).START) ? (t(), d(xe, { key: 0, node: o.value, privileges: a.privileges }, null, 8, ["node", "privileges"])) : s("", !0), e(i)(o.value, e(u).APPROVER) ? (t(), d(Ze, { key: 1, ref_key: "approverDrawer", ref: g, node: o.value, privileges: a.privileges }, null, 8, ["node", "privileges"])) : s("", !0), e(i)(o.value, e(u).BRANCH) ? (t(), d($, { key: 2, ref_key: "branchDrawer", ref: v, node: o.value, routeNode: f.value }, null, 8, ["node", "routeNode"])) : s("", !0), e(i)(o.value, e(u).PARALLEL_BRANCH) ? (t(), d($, { key: 3, ref_key: "branchDrawer", ref: v, node: o.value, routeNode: f.value }, null, 8, ["node", "routeNode"])) : s("", !0), e(i)(o.value, e(u).COPYER) ? (t(), d(je, { key: 4, node: o.value, routeNode: f.value }, null, 8, ["node", "routeNode"])) : s("", !0), e(i)(o.value, e(u).JUMP) ? (t(), d(He, { key: 5, ref_key: "jumpDrawer", ref: h, node: o.value, routeNode: f.value }, null, 8, ["node", "routeNode"])) : s("", !0), e(i)(o.value, e(u).NOTICE) ? (t(), d(ze, { key: 6, ref_key: "noticeDrawer", ref: C, node: o.value, routeNode: f.value }, null, 8, ["node", "routeNode"])) : s("", !0), e(i)(o.value, e(u).SUB_FLOW) ? (t(), d(Ge, { key: 7, ref_key: "subFlowDrawer", ref: D, node: o.value, routeNode: f.value }, null, 8, ["node", "routeNode"])) : s("", !0) ]), _: 1 }, 8, ["node"]), p(Oe, { onSave: e(ee), onClose: e(N) }, null, 8, ["onSave", "onClose"]) ]), _: 1 }, 8, ["open", "modelValue", "visible", "show", "onCancel", "onClose"])) : s("", !0) ], 64)); } }); export { Do as default };