@blueking/ai-blueking 2.0.0-dev.1 → 2.0.0-dev.3
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/vue2/_baseFor-DAbrc8SN.js +309 -0
- package/dist/vue2/arc-BqlAOiZb.js +78 -0
- package/dist/vue2/architecture-U656AL7Q-Dtuq8BzO.js +7 -0
- package/dist/vue2/architectureDiagram-VXUJARFQ-BQS5Ixrn.js +4052 -0
- package/dist/vue2/array-TB8zN_HT.js +5 -0
- package/dist/vue2/blockDiagram-VD42YOAC-Bp6L6c6e.js +3013 -0
- package/dist/vue2/c4Diagram-YG6GDRKO-B15ZDn3Z.js +2956 -0
- package/dist/vue2/channel-edTl5mpN.js +3 -0
- package/dist/vue2/chunk-4BX2VUAB-eAYYj1bL.js +6 -0
- package/dist/vue2/chunk-55IACEB6-CTzuTcHv.js +6 -0
- package/dist/vue2/chunk-76Q3JFCE-BrJX66ha.js +19 -0
- package/dist/vue2/chunk-ABZYJK2D-gsx40GnJ.js +1971 -0
- package/dist/vue2/chunk-ATLVNIR6-CTTwtx-5.js +65 -0
- package/dist/vue2/chunk-B4BG7PRW-D8o7VxRH.js +3108 -0
- package/dist/vue2/chunk-CVBHYZKI-Cs8lCw3u.js +10 -0
- package/dist/vue2/chunk-DI55MBZ5-Dl59YBtR.js +1994 -0
- package/dist/vue2/chunk-DNh5sLlG.js +18 -0
- package/dist/vue2/chunk-EXTU4WIE-BPc8ye_N.js +7 -0
- package/dist/vue2/chunk-FMBD7UC4-PFlLPz_s.js +3 -0
- package/dist/vue2/chunk-FPAJGGOC-DPvjUKQ8.js +13428 -0
- package/dist/vue2/chunk-FWNWRKHM-BlUTFsPK.js +56 -0
- package/dist/vue2/chunk-HN2XXSSU-DueSY85P.js +74 -0
- package/dist/vue2/chunk-JA3XYJ7Z-CRet4f6a.js +1845 -0
- package/dist/vue2/chunk-JZLCHNYA-Df0-MseJ.js +4861 -0
- package/dist/vue2/chunk-LBM3YZW2-B0-w2HZs.js +19 -0
- package/dist/vue2/chunk-LHMN2FUI-BOH3yE2u.js +19 -0
- package/dist/vue2/chunk-MI3HLSF2-6-T1J0MS.js +1140 -0
- package/dist/vue2/chunk-N4CR4FBY-jNnt5D3v.js +39 -0
- package/dist/vue2/chunk-O7ZBX7Z2-BEP34BEE.js +26 -0
- package/dist/vue2/chunk-QN33PNHL-DsC-XeM9.js +23 -0
- package/dist/vue2/chunk-QXUST7PY-DxFRymyS.js +486 -0
- package/dist/vue2/chunk-QZHKN3VN-D9B5jQvg.js +11 -0
- package/dist/vue2/chunk-S3R3BYOJ-Bs_r55Kk.js +1222 -0
- package/dist/vue2/chunk-S6J4BHB3-XXfWHJvh.js +19 -0
- package/dist/vue2/chunk-T53DSG4Q-CNvqP6Iy.js +24 -0
- package/dist/vue2/chunk-TZMSLE5B-C5ccYWGN.js +55 -0
- package/dist/vue2/chunk-XAJISQIX-XsDvU4jW.js +135 -0
- package/dist/vue2/classDiagram-2ON5EDUG-Cgf9yVXj.js +33 -0
- package/dist/vue2/classDiagram-v2-WZHVMYZB-BtF1_0UK.js +33 -0
- package/dist/vue2/clone-Bbr3WSpg.js +7 -0
- package/dist/vue2/cose-bilkent-S5V4N54A-Cmf6WLkk.js +2250 -0
- package/dist/vue2/cytoscape.esm-nrcriBSO.js +18100 -0
- package/dist/vue2/dagre-6UL2VRFP-CTl_U96l.js +298 -0
- package/dist/vue2/dagre-DUjlMe_B.js +1496 -0
- package/dist/vue2/defaultLocale-BLATqOV5.js +177 -0
- package/dist/vue2/diagram-PSM6KHXK-Bl7brR-1.js +497 -0
- package/dist/vue2/diagram-QEK2KX5R-CAeywSxy.js +226 -0
- package/dist/vue2/diagram-S2PKOQOG-6I6J4WRC.js +144 -0
- package/dist/vue2/dist-xWJvauxf.js +49 -0
- package/dist/vue2/erDiagram-Q2GNP2WA-C8EbfuTj.js +1603 -0
- package/dist/vue2/flatten-CfPhNHUL.js +34 -0
- package/dist/vue2/flowDiagram-NV44I4VS-lFr4G2WN.js +4132 -0
- package/dist/vue2/ganttDiagram-JELNMOA3-Bvtip7yn.js +3010 -0
- package/dist/vue2/gitGraph-F6HP7TQM-OQvD95bN.js +7 -0
- package/dist/vue2/gitGraphDiagram-NY62KEGX-Cjvy4fHM.js +634 -0
- package/dist/vue2/graphlib-KDKEjVHX.js +344 -0
- package/dist/vue2/index.es.min.js +26703 -786
- package/dist/vue2/index.umd.min.js +2796 -9
- package/dist/vue2/info-NVLQJR56-DBsOnIKy.js +7 -0
- package/dist/vue2/infoDiagram-WHAUD3N6-D_isj7oC.js +31 -0
- package/dist/vue2/init-hAkIK9Bd.js +13 -0
- package/dist/vue2/isEmpty-z27q3o-D.js +32 -0
- package/dist/vue2/journeyDiagram-XKPGCS4Q-DlXHMS3v.js +885 -0
- package/dist/vue2/kanban-definition-3W4ZIXB7-CV6572lv.js +971 -0
- package/dist/vue2/katex-CEAw-xiA.js +22097 -0
- package/dist/vue2/katex-D8o5-F7C.js +2 -0
- package/dist/vue2/line-wvheYP7S.js +30 -0
- package/dist/vue2/linear-STTevhnH.js +250 -0
- package/dist/vue2/math-DF_v6dOl.js +8 -0
- package/dist/vue2/mermaid-parser.core-VAa8Vi1g.js +48 -0
- package/dist/vue2/mermaid.core-vqI6KB9k.js +895 -0
- package/dist/vue2/mindmap-definition-VGOIOE7T-gtjvHqQ-.js +960 -0
- package/dist/vue2/ordinal-DOM6Fa9P.js +61 -0
- package/dist/vue2/packet-BFZMPI3H-CG049KmZ.js +7 -0
- package/dist/vue2/path-CW_-_Ti7.js +79 -0
- package/dist/vue2/pie-7BOR55EZ-BHq0KcLP.js +7 -0
- package/dist/vue2/pieDiagram-ADFJNKIX-CTUoM-kp.js +172 -0
- package/dist/vue2/purify.es-Cm_tUMzZ.js +547 -0
- package/dist/vue2/quadrantDiagram-AYHSOK5B-Njl7BMW7.js +1971 -0
- package/dist/vue2/radar-NHE76QYJ-CUoVtrAx.js +7 -0
- package/dist/vue2/reduce-BFKSG9Rs.js +451 -0
- package/dist/vue2/requirementDiagram-UZGBJVZJ-DKjE3cDK.js +2194 -0
- package/dist/vue2/sankeyDiagram-TZEHDZUN-DW2ap3zY.js +885 -0
- package/dist/vue2/sequenceDiagram-WL72ISMW-BjMq4OjH.js +3561 -0
- package/dist/vue2/src-VlKYSsxJ.js +1975 -0
- package/dist/vue2/stateDiagram-FKZM4ZOC-CnvtGM9U.js +224 -0
- package/dist/vue2/stateDiagram-v2-4FDKWEC3-C15xi-04.js +32 -0
- package/dist/vue2/style.css +1 -1
- package/dist/vue2/timeline-definition-IT6M3QCI-C7q6jdLA.js +831 -0
- package/dist/vue2/treemap-KMMF4GRG--FdijCcy.js +7 -0
- package/dist/vue2/xychartDiagram-PRI3JC2R-UcfQmj72.js +2022 -0
- package/dist/vue3/_baseFor-DAbrc8SN.js +309 -0
- package/dist/vue3/arc-BqlAOiZb.js +78 -0
- package/dist/vue3/architecture-U656AL7Q-Dtuq8BzO.js +7 -0
- package/dist/vue3/architectureDiagram-VXUJARFQ-BQS5Ixrn.js +4052 -0
- package/dist/vue3/array-TB8zN_HT.js +5 -0
- package/dist/vue3/blockDiagram-VD42YOAC-Bp6L6c6e.js +3013 -0
- package/dist/vue3/c4Diagram-YG6GDRKO-B15ZDn3Z.js +2956 -0
- package/dist/vue3/channel-edTl5mpN.js +3 -0
- package/dist/vue3/chunk-4BX2VUAB-eAYYj1bL.js +6 -0
- package/dist/vue3/chunk-55IACEB6-CTzuTcHv.js +6 -0
- package/dist/vue3/chunk-76Q3JFCE-BrJX66ha.js +19 -0
- package/dist/vue3/chunk-ABZYJK2D-gsx40GnJ.js +1971 -0
- package/dist/vue3/chunk-ATLVNIR6-CTTwtx-5.js +65 -0
- package/dist/vue3/chunk-B4BG7PRW-D8o7VxRH.js +3108 -0
- package/dist/vue3/chunk-CVBHYZKI-Cs8lCw3u.js +10 -0
- package/dist/vue3/chunk-DI55MBZ5-Dl59YBtR.js +1994 -0
- package/dist/vue3/chunk-DNh5sLlG.js +18 -0
- package/dist/vue3/chunk-EXTU4WIE-BPc8ye_N.js +7 -0
- package/dist/vue3/chunk-FMBD7UC4-PFlLPz_s.js +3 -0
- package/dist/vue3/chunk-FPAJGGOC-DPvjUKQ8.js +13428 -0
- package/dist/vue3/chunk-FWNWRKHM-BlUTFsPK.js +56 -0
- package/dist/vue3/chunk-HN2XXSSU-DueSY85P.js +74 -0
- package/dist/vue3/chunk-JA3XYJ7Z-CRet4f6a.js +1845 -0
- package/dist/vue3/chunk-JZLCHNYA-Df0-MseJ.js +4861 -0
- package/dist/vue3/chunk-LBM3YZW2-B0-w2HZs.js +19 -0
- package/dist/vue3/chunk-LHMN2FUI-BOH3yE2u.js +19 -0
- package/dist/vue3/chunk-MI3HLSF2-6-T1J0MS.js +1140 -0
- package/dist/vue3/chunk-N4CR4FBY-jNnt5D3v.js +39 -0
- package/dist/vue3/chunk-O7ZBX7Z2-BEP34BEE.js +26 -0
- package/dist/vue3/chunk-QN33PNHL-DsC-XeM9.js +23 -0
- package/dist/vue3/chunk-QXUST7PY-DxFRymyS.js +486 -0
- package/dist/vue3/chunk-QZHKN3VN-D9B5jQvg.js +11 -0
- package/dist/vue3/chunk-S3R3BYOJ-Bs_r55Kk.js +1222 -0
- package/dist/vue3/chunk-S6J4BHB3-XXfWHJvh.js +19 -0
- package/dist/vue3/chunk-T53DSG4Q-CNvqP6Iy.js +24 -0
- package/dist/vue3/chunk-TZMSLE5B-C5ccYWGN.js +55 -0
- package/dist/vue3/chunk-XAJISQIX-XsDvU4jW.js +135 -0
- package/dist/vue3/classDiagram-2ON5EDUG-Cgf9yVXj.js +33 -0
- package/dist/vue3/classDiagram-v2-WZHVMYZB-BtF1_0UK.js +33 -0
- package/dist/vue3/clone-Bbr3WSpg.js +7 -0
- package/dist/vue3/cose-bilkent-S5V4N54A-Cmf6WLkk.js +2250 -0
- package/dist/vue3/cytoscape.esm-nrcriBSO.js +18100 -0
- package/dist/vue3/dagre-6UL2VRFP-CTl_U96l.js +298 -0
- package/dist/vue3/dagre-DUjlMe_B.js +1496 -0
- package/dist/vue3/defaultLocale-BLATqOV5.js +177 -0
- package/dist/vue3/diagram-PSM6KHXK-Bl7brR-1.js +497 -0
- package/dist/vue3/diagram-QEK2KX5R-CAeywSxy.js +226 -0
- package/dist/vue3/diagram-S2PKOQOG-6I6J4WRC.js +144 -0
- package/dist/vue3/dist-xWJvauxf.js +49 -0
- package/dist/vue3/erDiagram-Q2GNP2WA-C8EbfuTj.js +1603 -0
- package/dist/vue3/flatten-CfPhNHUL.js +34 -0
- package/dist/vue3/flowDiagram-NV44I4VS-lFr4G2WN.js +4132 -0
- package/dist/vue3/ganttDiagram-JELNMOA3-Bvtip7yn.js +3010 -0
- package/dist/vue3/gitGraph-F6HP7TQM-OQvD95bN.js +7 -0
- package/dist/vue3/gitGraphDiagram-NY62KEGX-Cjvy4fHM.js +634 -0
- package/dist/vue3/graphlib-KDKEjVHX.js +344 -0
- package/dist/vue3/index.es.min.js +26730 -813
- package/dist/vue3/index.umd.min.js +2796 -9
- package/dist/vue3/info-NVLQJR56-DBsOnIKy.js +7 -0
- package/dist/vue3/infoDiagram-WHAUD3N6-D_isj7oC.js +31 -0
- package/dist/vue3/init-hAkIK9Bd.js +13 -0
- package/dist/vue3/isEmpty-z27q3o-D.js +32 -0
- package/dist/vue3/journeyDiagram-XKPGCS4Q-DlXHMS3v.js +885 -0
- package/dist/vue3/kanban-definition-3W4ZIXB7-CV6572lv.js +971 -0
- package/dist/vue3/katex-CEAw-xiA.js +22097 -0
- package/dist/vue3/katex-D8o5-F7C.js +2 -0
- package/dist/vue3/line-wvheYP7S.js +30 -0
- package/dist/vue3/linear-STTevhnH.js +250 -0
- package/dist/vue3/math-DF_v6dOl.js +8 -0
- package/dist/vue3/mermaid-parser.core-VAa8Vi1g.js +48 -0
- package/dist/vue3/mermaid.core-vqI6KB9k.js +895 -0
- package/dist/vue3/mindmap-definition-VGOIOE7T-gtjvHqQ-.js +960 -0
- package/dist/vue3/ordinal-DOM6Fa9P.js +61 -0
- package/dist/vue3/packet-BFZMPI3H-CG049KmZ.js +7 -0
- package/dist/vue3/path-CW_-_Ti7.js +79 -0
- package/dist/vue3/pie-7BOR55EZ-BHq0KcLP.js +7 -0
- package/dist/vue3/pieDiagram-ADFJNKIX-CTUoM-kp.js +172 -0
- package/dist/vue3/purify.es-Cm_tUMzZ.js +547 -0
- package/dist/vue3/quadrantDiagram-AYHSOK5B-Njl7BMW7.js +1971 -0
- package/dist/vue3/radar-NHE76QYJ-CUoVtrAx.js +7 -0
- package/dist/vue3/reduce-BFKSG9Rs.js +451 -0
- package/dist/vue3/requirementDiagram-UZGBJVZJ-DKjE3cDK.js +2194 -0
- package/dist/vue3/sankeyDiagram-TZEHDZUN-DW2ap3zY.js +885 -0
- package/dist/vue3/sequenceDiagram-WL72ISMW-BjMq4OjH.js +3561 -0
- package/dist/vue3/src-VlKYSsxJ.js +1975 -0
- package/dist/vue3/stateDiagram-FKZM4ZOC-CnvtGM9U.js +224 -0
- package/dist/vue3/stateDiagram-v2-4FDKWEC3-C15xi-04.js +32 -0
- package/dist/vue3/style.css +1 -1
- package/dist/vue3/timeline-definition-IT6M3QCI-C7q6jdLA.js +831 -0
- package/dist/vue3/treemap-KMMF4GRG--FdijCcy.js +7 -0
- package/dist/vue3/xychartDiagram-PRI3JC2R-UcfQmj72.js +2022 -0
- package/package.json +3 -3
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
import "./purify.es-Cm_tUMzZ.js";
|
|
2
|
+
import "./reduce-BFKSG9Rs.js";
|
|
3
|
+
import "./_baseFor-DAbrc8SN.js";
|
|
4
|
+
import "./isEmpty-z27q3o-D.js";
|
|
5
|
+
import { a as map_default } from "./flatten-CfPhNHUL.js";
|
|
6
|
+
import { g as log, h as __name } from "./src-VlKYSsxJ.js";
|
|
7
|
+
import { b as getConfig2 } from "./chunk-ABZYJK2D-gsx40GnJ.js";
|
|
8
|
+
import "./path-CW_-_Ti7.js";
|
|
9
|
+
import "./math-DF_v6dOl.js";
|
|
10
|
+
import "./array-TB8zN_HT.js";
|
|
11
|
+
import "./chunk-S3R3BYOJ-Bs_r55Kk.js";
|
|
12
|
+
import "./line-wvheYP7S.js";
|
|
13
|
+
import "./dist-xWJvauxf.js";
|
|
14
|
+
import "./chunk-JA3XYJ7Z-CRet4f6a.js";
|
|
15
|
+
import "./chunk-HN2XXSSU-DueSY85P.js";
|
|
16
|
+
import { t as getSubGraphTitleMargins } from "./chunk-CVBHYZKI-Cs8lCw3u.js";
|
|
17
|
+
import { n as isUndefined_default, t as Graph } from "./graphlib-KDKEjVHX.js";
|
|
18
|
+
import { t as clone_default } from "./clone-Bbr3WSpg.js";
|
|
19
|
+
import { t as layout } from "./dagre-DUjlMe_B.js";
|
|
20
|
+
import "./chunk-ATLVNIR6-CTTwtx-5.js";
|
|
21
|
+
import { a as insertNode, c as positionNode, i as insertCluster, l as setNodeElem, n as clear2, t as clear$1, u as updateNodeBounds } from "./chunk-JZLCHNYA-Df0-MseJ.js";
|
|
22
|
+
import { a as positionEdgeLabel, i as markers_default, n as insertEdge, r as insertEdgeLabel, t as clear } from "./chunk-QXUST7PY-DxFRymyS.js";
|
|
23
|
+
function write(r) {
|
|
24
|
+
var C = {
|
|
25
|
+
options: {
|
|
26
|
+
directed: r.isDirected(),
|
|
27
|
+
multigraph: r.isMultigraph(),
|
|
28
|
+
compound: r.isCompound()
|
|
29
|
+
},
|
|
30
|
+
nodes: writeNodes(r),
|
|
31
|
+
edges: writeEdges(r)
|
|
32
|
+
};
|
|
33
|
+
return isUndefined_default(r.graph()) || (C.value = clone_default(r.graph())), C;
|
|
34
|
+
}
|
|
35
|
+
function writeNodes(C) {
|
|
36
|
+
return map_default(C.nodes(), function(r) {
|
|
37
|
+
var w = C.node(r), T = C.parent(r), E = { v: r };
|
|
38
|
+
return isUndefined_default(w) || (E.value = w), isUndefined_default(T) || (E.parent = T), E;
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
function writeEdges(C) {
|
|
42
|
+
return map_default(C.edges(), function(r) {
|
|
43
|
+
var w = C.edge(r), T = {
|
|
44
|
+
v: r.v,
|
|
45
|
+
w: r.w
|
|
46
|
+
};
|
|
47
|
+
return isUndefined_default(r.name) || (T.name = r.name), isUndefined_default(w) || (T.value = w), T;
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
var clusterDb = /* @__PURE__ */ new Map(), descendants = /* @__PURE__ */ new Map(), parents = /* @__PURE__ */ new Map(), clear4 = /* @__PURE__ */ __name(() => {
|
|
51
|
+
descendants.clear(), parents.clear(), clusterDb.clear();
|
|
52
|
+
}, "clear"), isDescendant = /* @__PURE__ */ __name((r, w) => {
|
|
53
|
+
let T = descendants.get(w) || [];
|
|
54
|
+
return log.trace("In isDescendant", w, " ", r, " = ", T.includes(r)), T.includes(r);
|
|
55
|
+
}, "isDescendant"), edgeInCluster = /* @__PURE__ */ __name((r, w) => {
|
|
56
|
+
let T = descendants.get(w) || [];
|
|
57
|
+
return log.info("Descendants of ", w, " is ", T), log.info("Edge is ", r), r.v === w || r.w === w ? !1 : T ? T.includes(r.v) || isDescendant(r.v, w) || isDescendant(r.w, w) || T.includes(r.w) : (log.debug("Tilt, ", w, ",not in descendants"), !1);
|
|
58
|
+
}, "edgeInCluster"), copy = /* @__PURE__ */ __name((r, w, T, E) => {
|
|
59
|
+
log.warn("Copying children of ", r, "root", E, "data", w.node(r), E);
|
|
60
|
+
let D = w.children(r) || [];
|
|
61
|
+
r !== E && D.push(r), log.warn("Copying (nodes) clusterId", r, "nodes", D), D.forEach((D) => {
|
|
62
|
+
if (w.children(D).length > 0) copy(D, w, T, E);
|
|
63
|
+
else {
|
|
64
|
+
let O = w.node(D);
|
|
65
|
+
log.info("cp ", D, " to ", E, " with parent ", r), T.setNode(D, O), E !== w.parent(D) && (log.warn("Setting parent", D, w.parent(D)), T.setParent(D, w.parent(D))), r !== E && D !== r ? (log.debug("Setting parent", D, r), T.setParent(D, r)) : (log.info("In copy ", r, "root", E, "data", w.node(r), E), log.debug("Not Setting parent for node=", D, "cluster!==rootId", r !== E, "node!==clusterId", D !== r));
|
|
66
|
+
let k = w.edges(D);
|
|
67
|
+
log.debug("Copying Edges", k), k.forEach((D) => {
|
|
68
|
+
log.info("Edge", D);
|
|
69
|
+
let O = w.edge(D.v, D.w, D.name);
|
|
70
|
+
log.info("Edge data", O, E);
|
|
71
|
+
try {
|
|
72
|
+
edgeInCluster(D, E) ? (log.info("Copying as ", D.v, D.w, O, D.name), T.setEdge(D.v, D.w, O, D.name), log.info("newGraph edges ", T.edges(), T.edge(T.edges()[0]))) : log.info("Skipping copy of edge ", D.v, "-->", D.w, " rootId: ", E, " clusterId:", r);
|
|
73
|
+
} catch (r) {
|
|
74
|
+
log.error(r);
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
log.debug("Removing node", D), w.removeNode(D);
|
|
79
|
+
});
|
|
80
|
+
}, "copy"), extractDescendants = /* @__PURE__ */ __name((r, C) => {
|
|
81
|
+
let w = C.children(r), T = [...w];
|
|
82
|
+
for (let E of w) parents.set(E, r), T = [...T, ...extractDescendants(E, C)];
|
|
83
|
+
return T;
|
|
84
|
+
}, "extractDescendants"), findCommonEdges = /* @__PURE__ */ __name((r, C, w) => {
|
|
85
|
+
let T = r.edges().filter((r) => r.v === C || r.w === C), E = r.edges().filter((r) => r.v === w || r.w === w), D = T.map((r) => ({
|
|
86
|
+
v: r.v === C ? w : r.v,
|
|
87
|
+
w: r.w === C ? C : r.w
|
|
88
|
+
})), O = E.map((r) => ({
|
|
89
|
+
v: r.v,
|
|
90
|
+
w: r.w
|
|
91
|
+
}));
|
|
92
|
+
return D.filter((r) => O.some((C) => r.v === C.v && r.w === C.w));
|
|
93
|
+
}, "findCommonEdges"), findNonClusterChild = /* @__PURE__ */ __name((r, w, T) => {
|
|
94
|
+
let E = w.children(r);
|
|
95
|
+
if (log.trace("Searching children of id ", r, E), E.length < 1) return r;
|
|
96
|
+
let D;
|
|
97
|
+
for (let r of E) {
|
|
98
|
+
let C = findNonClusterChild(r, w, T), E = findCommonEdges(w, T, C);
|
|
99
|
+
if (C) if (E.length > 0) D = C;
|
|
100
|
+
else return C;
|
|
101
|
+
}
|
|
102
|
+
return D;
|
|
103
|
+
}, "findNonClusterChild"), getAnchorId = /* @__PURE__ */ __name((r) => !clusterDb.has(r) || !clusterDb.get(r).externalConnections ? r : clusterDb.has(r) ? clusterDb.get(r).id : r, "getAnchorId"), adjustClustersAndEdges = /* @__PURE__ */ __name((r, w) => {
|
|
104
|
+
if (!r || w > 10) {
|
|
105
|
+
log.debug("Opting out, no graph ");
|
|
106
|
+
return;
|
|
107
|
+
} else log.debug("Opting in, graph ");
|
|
108
|
+
r.nodes().forEach(function(w) {
|
|
109
|
+
r.children(w).length > 0 && (log.warn("Cluster identified", w, " Replacement id in edges: ", findNonClusterChild(w, r, w)), descendants.set(w, extractDescendants(w, r)), clusterDb.set(w, {
|
|
110
|
+
id: findNonClusterChild(w, r, w),
|
|
111
|
+
clusterData: r.node(w)
|
|
112
|
+
}));
|
|
113
|
+
}), r.nodes().forEach(function(w) {
|
|
114
|
+
let T = r.children(w), E = r.edges();
|
|
115
|
+
T.length > 0 ? (log.debug("Cluster identified", w, descendants), E.forEach((r) => {
|
|
116
|
+
isDescendant(r.v, w) ^ isDescendant(r.w, w) && (log.warn("Edge: ", r, " leaves cluster ", w), log.warn("Descendants of XXX ", w, ": ", descendants.get(w)), clusterDb.get(w).externalConnections = !0);
|
|
117
|
+
})) : log.debug("Not a cluster ", w, descendants);
|
|
118
|
+
});
|
|
119
|
+
for (let C of clusterDb.keys()) {
|
|
120
|
+
let w = clusterDb.get(C).id, T = r.parent(w);
|
|
121
|
+
T !== C && clusterDb.has(T) && !clusterDb.get(T).externalConnections && (clusterDb.get(C).id = T);
|
|
122
|
+
}
|
|
123
|
+
r.edges().forEach(function(w) {
|
|
124
|
+
let T = r.edge(w);
|
|
125
|
+
log.warn("Edge " + w.v + " -> " + w.w + ": " + JSON.stringify(w)), log.warn("Edge " + w.v + " -> " + w.w + ": " + JSON.stringify(r.edge(w)));
|
|
126
|
+
let E = w.v, D = w.w;
|
|
127
|
+
if (log.warn("Fix XXX", clusterDb, "ids:", w.v, w.w, "Translating: ", clusterDb.get(w.v), " --- ", clusterDb.get(w.w)), clusterDb.get(w.v) || clusterDb.get(w.w)) {
|
|
128
|
+
if (log.warn("Fixing and trying - removing XXX", w.v, w.w, w.name), E = getAnchorId(w.v), D = getAnchorId(w.w), r.removeEdge(w.v, w.w, w.name), E !== w.v) {
|
|
129
|
+
let C = r.parent(E);
|
|
130
|
+
clusterDb.get(C).externalConnections = !0, T.fromCluster = w.v;
|
|
131
|
+
}
|
|
132
|
+
if (D !== w.w) {
|
|
133
|
+
let C = r.parent(D);
|
|
134
|
+
clusterDb.get(C).externalConnections = !0, T.toCluster = w.w;
|
|
135
|
+
}
|
|
136
|
+
log.warn("Fix Replacing with XXX", E, D, w.name), r.setEdge(E, D, T, w.name);
|
|
137
|
+
}
|
|
138
|
+
}), log.warn("Adjusted Graph", write(r)), extractor(r, 0), log.trace(clusterDb);
|
|
139
|
+
}, "adjustClustersAndEdges"), extractor = /* @__PURE__ */ __name((r, w) => {
|
|
140
|
+
if (log.warn("extractor - ", w, write(r), r.children("D")), w > 10) {
|
|
141
|
+
log.error("Bailing out");
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
let T = r.nodes(), E = !1;
|
|
145
|
+
for (let C of T) {
|
|
146
|
+
let w = r.children(C);
|
|
147
|
+
E ||= w.length > 0;
|
|
148
|
+
}
|
|
149
|
+
if (!E) {
|
|
150
|
+
log.debug("Done, no node has children", r.nodes());
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
log.debug("Nodes = ", T, w);
|
|
154
|
+
for (let E of T) if (log.debug("Extracting node", E, clusterDb, clusterDb.has(E) && !clusterDb.get(E).externalConnections, !r.parent(E), r.node(E), r.children("D"), " Depth ", w), !clusterDb.has(E)) log.debug("Not a cluster", E, w);
|
|
155
|
+
else if (!clusterDb.get(E).externalConnections && r.children(E) && r.children(E).length > 0) {
|
|
156
|
+
log.warn("Cluster without external connections, without a parent and with children", E, w);
|
|
157
|
+
let T = r.graph().rankdir === "TB" ? "LR" : "TB";
|
|
158
|
+
clusterDb.get(E)?.clusterData?.dir && (T = clusterDb.get(E).clusterData.dir, log.warn("Fixing dir", clusterDb.get(E).clusterData.dir, T));
|
|
159
|
+
let D = new Graph({
|
|
160
|
+
multigraph: !0,
|
|
161
|
+
compound: !0
|
|
162
|
+
}).setGraph({
|
|
163
|
+
rankdir: T,
|
|
164
|
+
nodesep: 50,
|
|
165
|
+
ranksep: 50,
|
|
166
|
+
marginx: 8,
|
|
167
|
+
marginy: 8
|
|
168
|
+
}).setDefaultEdgeLabel(function() {
|
|
169
|
+
return {};
|
|
170
|
+
});
|
|
171
|
+
log.warn("Old graph before copy", write(r)), copy(E, r, D, E), r.setNode(E, {
|
|
172
|
+
clusterNode: !0,
|
|
173
|
+
id: E,
|
|
174
|
+
clusterData: clusterDb.get(E).clusterData,
|
|
175
|
+
label: clusterDb.get(E).label,
|
|
176
|
+
graph: D
|
|
177
|
+
}), log.warn("New graph after copy node: (", E, ")", write(D)), log.debug("Old graph after copy", write(r));
|
|
178
|
+
} else log.warn("Cluster ** ", E, " **not meeting the criteria !externalConnections:", !clusterDb.get(E).externalConnections, " no parent: ", !r.parent(E), " children ", r.children(E) && r.children(E).length > 0, r.children("D"), w), log.debug(clusterDb);
|
|
179
|
+
T = r.nodes(), log.warn("New list of nodes", T);
|
|
180
|
+
for (let E of T) {
|
|
181
|
+
let T = r.node(E);
|
|
182
|
+
log.warn(" Now next level", E, T), T?.clusterNode && extractor(T.graph, w + 1);
|
|
183
|
+
}
|
|
184
|
+
}, "extractor"), sorter = /* @__PURE__ */ __name((r, C) => {
|
|
185
|
+
if (C.length === 0) return [];
|
|
186
|
+
let w = Object.assign([], C);
|
|
187
|
+
return C.forEach((C) => {
|
|
188
|
+
let T = sorter(r, r.children(C));
|
|
189
|
+
w = [...w, ...T];
|
|
190
|
+
}), w;
|
|
191
|
+
}, "sorter"), sortNodesByHierarchy = /* @__PURE__ */ __name((r) => sorter(r, r.children()), "sortNodesByHierarchy"), recursiveRender = /* @__PURE__ */ __name(async (r, T, D, O, k, M) => {
|
|
192
|
+
log.warn("Graph in recursive render:XAX", write(T), k);
|
|
193
|
+
let N = T.graph().rankdir;
|
|
194
|
+
log.trace("Dir in recursive render - dir:", N);
|
|
195
|
+
let P = r.insert("g").attr("class", "root");
|
|
196
|
+
T.nodes() ? log.info("Recursive render XXX", T.nodes()) : log.info("No nodes found for", T), T.edges().length > 0 && log.info("Recursive edges", T.edge(T.edges()[0]));
|
|
197
|
+
let F = P.insert("g").attr("class", "clusters"), I = P.insert("g").attr("class", "edgePaths"), L = P.insert("g").attr("class", "edgeLabels"), R = P.insert("g").attr("class", "nodes");
|
|
198
|
+
await Promise.all(T.nodes().map(async function(r) {
|
|
199
|
+
let w = T.node(r);
|
|
200
|
+
if (k !== void 0) {
|
|
201
|
+
let w = JSON.parse(JSON.stringify(k.clusterData));
|
|
202
|
+
log.trace("Setting data for parent cluster XXX\n Node.id = ", r, "\n data=", w.height, "\nParent cluster", k.height), T.setNode(k.id, w), T.parent(r) || (log.trace("Setting parent", r, k.id), T.setParent(r, k.id, w));
|
|
203
|
+
}
|
|
204
|
+
if (log.info("(Insert) Node XXX" + r + ": " + JSON.stringify(T.node(r))), w?.clusterNode) {
|
|
205
|
+
log.info("Cluster identified XBX", r, w.width, T.node(r));
|
|
206
|
+
let { ranksep: E, nodesep: k } = T.graph();
|
|
207
|
+
w.graph.setGraph({
|
|
208
|
+
...w.graph.graph(),
|
|
209
|
+
ranksep: E + 25,
|
|
210
|
+
nodesep: k
|
|
211
|
+
});
|
|
212
|
+
let A = await recursiveRender(R, w.graph, D, O, T.node(r), M), j = A.elem;
|
|
213
|
+
updateNodeBounds(w, j), w.diff = A.diff || 0, log.info("New compound node after recursive render XAX", r, "width", w.width, "height", w.height), setNodeElem(j, w);
|
|
214
|
+
} else T.children(r).length > 0 ? (log.trace("Cluster - the non recursive path XBX", r, w.id, w, w.width, "Graph:", T), log.trace(findNonClusterChild(w.id, T)), clusterDb.set(w.id, {
|
|
215
|
+
id: findNonClusterChild(w.id, T),
|
|
216
|
+
node: w
|
|
217
|
+
})) : (log.trace("Node - the non recursive path XAX", r, R, T.node(r), N), await insertNode(R, T.node(r), {
|
|
218
|
+
config: M,
|
|
219
|
+
dir: N
|
|
220
|
+
}));
|
|
221
|
+
})), await (/* @__PURE__ */ __name(async () => {
|
|
222
|
+
let r = T.edges().map(async function(r) {
|
|
223
|
+
let w = T.edge(r.v, r.w, r.name);
|
|
224
|
+
log.info("Edge " + r.v + " -> " + r.w + ": " + JSON.stringify(r)), log.info("Edge " + r.v + " -> " + r.w + ": ", r, " ", JSON.stringify(T.edge(r))), log.info("Fix", clusterDb, "ids:", r.v, r.w, "Translating: ", clusterDb.get(r.v), clusterDb.get(r.w)), await insertEdgeLabel(L, w);
|
|
225
|
+
});
|
|
226
|
+
await Promise.all(r);
|
|
227
|
+
}, "processEdges"))(), log.info("Graph before layout:", JSON.stringify(write(T))), log.info("############################################# XXX"), log.info("### Layout ### XXX"), log.info("############################################# XXX"), layout(T), log.info("Graph after layout:", JSON.stringify(write(T)));
|
|
228
|
+
let z = 0, { subGraphTitleTotalMargin: B } = getSubGraphTitleMargins(M);
|
|
229
|
+
return await Promise.all(sortNodesByHierarchy(T).map(async function(r) {
|
|
230
|
+
let w = T.node(r);
|
|
231
|
+
if (log.info("Position XBX => " + r + ": (" + w.x, "," + w.y, ") width: ", w.width, " height: ", w.height), w?.clusterNode) w.y += B, log.info("A tainted cluster node XBX1", r, w.id, w.width, w.height, w.x, w.y, T.parent(r)), clusterDb.get(w.id).node = w, positionNode(w);
|
|
232
|
+
else if (T.children(r).length > 0) {
|
|
233
|
+
log.info("A pure cluster node XBX1", r, w.id, w.x, w.y, w.width, w.height, T.parent(r)), w.height += B, T.node(w.parentId);
|
|
234
|
+
let E = w?.padding / 2 || 0, D = w?.labelBBox?.height || 0, O = D - E || 0;
|
|
235
|
+
log.debug("OffsetY", O, "labelHeight", D, "halfPadding", E), await insertCluster(F, w), clusterDb.get(w.id).node = w;
|
|
236
|
+
} else {
|
|
237
|
+
let r = T.node(w.parentId);
|
|
238
|
+
w.y += B / 2, log.info("A regular node XBX1 - using the padding", w.id, "parent", w.parentId, w.width, w.height, w.x, w.y, "offsetY", w.offsetY, "parent", r, r?.offsetY, w), positionNode(w);
|
|
239
|
+
}
|
|
240
|
+
})), T.edges().forEach(function(r) {
|
|
241
|
+
let w = T.edge(r);
|
|
242
|
+
log.info("Edge " + r.v + " -> " + r.w + ": " + JSON.stringify(w), w), w.points.forEach((r) => r.y += B / 2), positionEdgeLabel(w, insertEdge(I, w, clusterDb, D, T.node(r.v), T.node(r.w), O));
|
|
243
|
+
}), T.nodes().forEach(function(r) {
|
|
244
|
+
let w = T.node(r);
|
|
245
|
+
log.info(r, w.type, w.diff), w.isGroup && (z = w.diff);
|
|
246
|
+
}), log.warn("Returning from recursive render XAX", P, z), {
|
|
247
|
+
elem: P,
|
|
248
|
+
diff: z
|
|
249
|
+
};
|
|
250
|
+
}, "recursiveRender"), render = /* @__PURE__ */ __name(async (r, w) => {
|
|
251
|
+
let E = new Graph({
|
|
252
|
+
multigraph: !0,
|
|
253
|
+
compound: !0
|
|
254
|
+
}).setGraph({
|
|
255
|
+
rankdir: r.direction,
|
|
256
|
+
nodesep: r.config?.nodeSpacing || r.config?.flowchart?.nodeSpacing || r.nodeSpacing,
|
|
257
|
+
ranksep: r.config?.rankSpacing || r.config?.flowchart?.rankSpacing || r.rankSpacing,
|
|
258
|
+
marginx: 8,
|
|
259
|
+
marginy: 8
|
|
260
|
+
}).setDefaultEdgeLabel(function() {
|
|
261
|
+
return {};
|
|
262
|
+
}), D = w.select("g");
|
|
263
|
+
markers_default(D, r.markers, r.type, r.diagramId), clear2(), clear(), clear$1(), clear4(), r.nodes.forEach((r) => {
|
|
264
|
+
E.setNode(r.id, { ...r }), r.parentId && E.setParent(r.id, r.parentId);
|
|
265
|
+
}), log.debug("Edges:", r.edges), r.edges.forEach((r) => {
|
|
266
|
+
if (r.start === r.end) {
|
|
267
|
+
let C = r.start, w = C + "---" + C + "---1", T = C + "---" + C + "---2", D = E.node(C);
|
|
268
|
+
E.setNode(w, {
|
|
269
|
+
domId: w,
|
|
270
|
+
id: w,
|
|
271
|
+
parentId: D.parentId,
|
|
272
|
+
labelStyle: "",
|
|
273
|
+
label: "",
|
|
274
|
+
padding: 0,
|
|
275
|
+
shape: "labelRect",
|
|
276
|
+
style: "",
|
|
277
|
+
width: 10,
|
|
278
|
+
height: 10
|
|
279
|
+
}), E.setParent(w, D.parentId), E.setNode(T, {
|
|
280
|
+
domId: T,
|
|
281
|
+
id: T,
|
|
282
|
+
parentId: D.parentId,
|
|
283
|
+
labelStyle: "",
|
|
284
|
+
padding: 0,
|
|
285
|
+
shape: "labelRect",
|
|
286
|
+
label: "",
|
|
287
|
+
style: "",
|
|
288
|
+
width: 10,
|
|
289
|
+
height: 10
|
|
290
|
+
}), E.setParent(T, D.parentId);
|
|
291
|
+
let O = structuredClone(r), k = structuredClone(r), A = structuredClone(r);
|
|
292
|
+
O.label = "", O.arrowTypeEnd = "none", O.id = C + "-cyclic-special-1", k.arrowTypeStart = "none", k.arrowTypeEnd = "none", k.id = C + "-cyclic-special-mid", A.label = "", D.isGroup && (O.fromCluster = C, A.toCluster = C), A.id = C + "-cyclic-special-2", A.arrowTypeStart = "none", E.setEdge(C, w, O, C + "-cyclic-special-0"), E.setEdge(w, T, k, C + "-cyclic-special-1"), E.setEdge(T, C, A, C + "-cyc<lic-special-2");
|
|
293
|
+
} else E.setEdge(r.start, r.end, { ...r }, r.id);
|
|
294
|
+
}), log.warn("Graph at first:", JSON.stringify(write(E))), adjustClustersAndEdges(E), log.warn("Graph after XAX:", JSON.stringify(write(E)));
|
|
295
|
+
let k = getConfig2();
|
|
296
|
+
await recursiveRender(D, E, r.type, r.diagramId, void 0, k);
|
|
297
|
+
}, "render");
|
|
298
|
+
export { render };
|