@wzh-/ai-chat-example 1.0.13 → 1.0.15
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/css/index.css +1 -1
- package/dist/js/_baseFor.js +309 -0
- package/dist/js/architecture-U656AL7Q.js +3 -4
- package/dist/js/architectureDiagram-VXUJARFQ.js +53 -54
- package/dist/js/blockDiagram-VD42YOAC.js +449 -449
- package/dist/js/c4Diagram-YG6GDRKO.js +87 -87
- package/dist/js/chunk-B4BG7PRW.js +160 -160
- package/dist/js/chunk-DI55MBZ5.js +98 -98
- package/dist/js/chunk-FPAJGGOC.js +1373 -197
- package/dist/js/chunk-JA3XYJ7Z.js +36 -36
- package/dist/js/chunk-JZLCHNYA.js +1461 -1461
- package/dist/js/chunk-N4CR4FBY.js +5 -5
- package/dist/js/chunk-QXUST7PY.js +226 -226
- package/dist/js/chunk-S3R3BYOJ.js +602 -454
- package/dist/js/classDiagram-2ON5EDUG.js +2 -2
- package/dist/js/classDiagram-v2-WZHVMYZB.js +2 -2
- package/dist/js/clone.js +1 -1
- package/dist/js/dagre-6UL2VRFP.js +152 -152
- package/dist/js/dagre.js +1034 -933
- package/dist/js/diagram-PSM6KHXK.js +58 -59
- package/dist/js/diagram-QEK2KX5R.js +53 -54
- package/dist/js/diagram-S2PKOQOG.js +24 -25
- package/dist/js/erDiagram-Q2GNP2WA.js +96 -96
- package/dist/js/flatten.js +34 -0
- package/dist/js/flowDiagram-NV44I4VS.js +166 -166
- package/dist/js/ganttDiagram-JELNMOA3.js +916 -916
- package/dist/js/gitGraph-F6HP7TQM.js +3 -4
- package/dist/js/gitGraphDiagram-NY62KEGX.js +373 -374
- package/dist/js/graphlib.js +264 -143
- package/dist/js/index.js +3280 -3266
- package/dist/js/info-NVLQJR56.js +3 -4
- package/dist/js/infoDiagram-WHAUD3N6.js +3 -4
- package/dist/js/isEmpty.js +18 -18
- package/dist/js/kanban-definition-3W4ZIXB7.js +2 -2
- package/dist/js/line.js +7 -7
- package/dist/js/mermaid.core.js +65 -65
- package/dist/js/mindmap-definition-VGOIOE7T.js +2 -2
- package/dist/js/packet-BFZMPI3H.js +3 -4
- package/dist/js/pie-7BOR55EZ.js +3 -4
- package/dist/js/pieDiagram-ADFJNKIX.js +39 -40
- package/dist/js/radar-NHE76QYJ.js +3 -4
- package/dist/js/reduce.js +451 -0
- package/dist/js/requirementDiagram-UZGBJVZJ.js +16 -16
- package/dist/js/sequenceDiagram-WL72ISMW.js +731 -731
- package/dist/js/stateDiagram-FKZM4ZOC.js +83 -83
- package/dist/js/stateDiagram-v2-4FDKWEC3.js +2 -2
- package/dist/js/treemap-KMMF4GRG.js +3 -4
- package/dist/js/xychartDiagram-PRI3JC2R.js +25 -25
- package/package.json +14 -7
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import "./marked.esm.js";
|
|
2
|
-
import "./
|
|
3
|
-
import "./chunk-S3R3BYOJ.js";
|
|
2
|
+
import "./_baseFor.js";
|
|
4
3
|
import { h as __name } from "./src.js";
|
|
5
4
|
import "./chunk-ABZYJK2D.js";
|
|
6
5
|
import "./path.js";
|
|
7
6
|
import "./math.js";
|
|
8
7
|
import "./array.js";
|
|
8
|
+
import "./chunk-S3R3BYOJ.js";
|
|
9
9
|
import "./line.js";
|
|
10
10
|
import "./dist.js";
|
|
11
11
|
import "./chunk-JA3XYJ7Z.js";
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import "./marked.esm.js";
|
|
2
|
-
import "./
|
|
3
|
-
import "./chunk-S3R3BYOJ.js";
|
|
2
|
+
import "./_baseFor.js";
|
|
4
3
|
import { h as __name } from "./src.js";
|
|
5
4
|
import "./chunk-ABZYJK2D.js";
|
|
6
5
|
import "./path.js";
|
|
7
6
|
import "./math.js";
|
|
8
7
|
import "./array.js";
|
|
8
|
+
import "./chunk-S3R3BYOJ.js";
|
|
9
9
|
import "./line.js";
|
|
10
10
|
import "./dist.js";
|
|
11
11
|
import "./chunk-JA3XYJ7Z.js";
|
package/dist/js/clone.js
CHANGED
|
@@ -1,81 +1,81 @@
|
|
|
1
1
|
import "./marked.esm.js";
|
|
2
|
-
import "./
|
|
3
|
-
import
|
|
4
|
-
import { s as map_default } from "./_basePickBy.js";
|
|
2
|
+
import "./reduce.js";
|
|
3
|
+
import "./_baseFor.js";
|
|
5
4
|
import "./isEmpty.js";
|
|
6
|
-
import {
|
|
7
|
-
import "./chunk-S3R3BYOJ.js";
|
|
8
|
-
import { t as clone_default } from "./clone.js";
|
|
9
|
-
import { t as Graph } from "./graphlib.js";
|
|
5
|
+
import { a as map_default } from "./flatten.js";
|
|
10
6
|
import { g as log, h as __name } from "./src.js";
|
|
11
7
|
import { b as getConfig2 } from "./chunk-ABZYJK2D.js";
|
|
12
8
|
import "./path.js";
|
|
13
9
|
import "./math.js";
|
|
14
10
|
import "./array.js";
|
|
11
|
+
import "./chunk-S3R3BYOJ.js";
|
|
15
12
|
import "./line.js";
|
|
16
13
|
import "./dist.js";
|
|
17
14
|
import "./chunk-JA3XYJ7Z.js";
|
|
18
15
|
import "./chunk-HN2XXSSU.js";
|
|
19
16
|
import { t as getSubGraphTitleMargins } from "./chunk-CVBHYZKI.js";
|
|
17
|
+
import { n as isUndefined_default, t as Graph } from "./graphlib.js";
|
|
18
|
+
import { t as clone_default } from "./clone.js";
|
|
19
|
+
import { t as layout } from "./dagre.js";
|
|
20
20
|
import "./chunk-ATLVNIR6.js";
|
|
21
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.js";
|
|
22
22
|
import { a as positionEdgeLabel, i as markers_default, n as insertEdge, r as insertEdgeLabel, t as clear } from "./chunk-QXUST7PY.js";
|
|
23
|
-
function write(
|
|
24
|
-
var
|
|
23
|
+
function write(r) {
|
|
24
|
+
var C = {
|
|
25
25
|
options: {
|
|
26
|
-
directed:
|
|
27
|
-
multigraph:
|
|
28
|
-
compound:
|
|
26
|
+
directed: r.isDirected(),
|
|
27
|
+
multigraph: r.isMultigraph(),
|
|
28
|
+
compound: r.isCompound()
|
|
29
29
|
},
|
|
30
|
-
nodes: writeNodes(
|
|
31
|
-
edges: writeEdges(
|
|
30
|
+
nodes: writeNodes(r),
|
|
31
|
+
edges: writeEdges(r)
|
|
32
32
|
};
|
|
33
|
-
return isUndefined_default(
|
|
33
|
+
return isUndefined_default(r.graph()) || (C.value = clone_default(r.graph())), C;
|
|
34
34
|
}
|
|
35
|
-
function writeNodes(
|
|
36
|
-
return map_default(
|
|
37
|
-
var
|
|
38
|
-
return isUndefined_default(
|
|
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
39
|
});
|
|
40
40
|
}
|
|
41
|
-
function writeEdges(
|
|
42
|
-
return map_default(
|
|
43
|
-
var
|
|
44
|
-
v:
|
|
45
|
-
w:
|
|
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
46
|
};
|
|
47
|
-
return isUndefined_default(
|
|
47
|
+
return isUndefined_default(r.name) || (T.name = r.name), isUndefined_default(w) || (T.value = w), T;
|
|
48
48
|
});
|
|
49
49
|
}
|
|
50
50
|
var clusterDb = /* @__PURE__ */ new Map(), descendants = /* @__PURE__ */ new Map(), parents = /* @__PURE__ */ new Map(), clear4 = /* @__PURE__ */ __name(() => {
|
|
51
51
|
descendants.clear(), parents.clear(), clusterDb.clear();
|
|
52
|
-
}, "clear"), isDescendant = /* @__PURE__ */ __name((r,
|
|
53
|
-
let
|
|
54
|
-
return log.trace("In isDescendant",
|
|
55
|
-
}, "isDescendant"), edgeInCluster = /* @__PURE__ */ __name((r,
|
|
56
|
-
let
|
|
57
|
-
return log.info("Descendants of ",
|
|
58
|
-
}, "edgeInCluster"), copy = /* @__PURE__ */ __name((r,
|
|
59
|
-
log.warn("Copying children of ", r, "root",
|
|
60
|
-
let
|
|
61
|
-
r !==
|
|
62
|
-
if (
|
|
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
63
|
else {
|
|
64
|
-
let O =
|
|
65
|
-
log.info("cp ",
|
|
66
|
-
let k =
|
|
67
|
-
log.debug("Copying Edges", k), k.forEach((
|
|
68
|
-
log.info("Edge",
|
|
69
|
-
let O =
|
|
70
|
-
log.info("Edge data", O,
|
|
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
71
|
try {
|
|
72
|
-
edgeInCluster(
|
|
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
73
|
} catch (r) {
|
|
74
74
|
log.error(r);
|
|
75
75
|
}
|
|
76
76
|
});
|
|
77
77
|
}
|
|
78
|
-
log.debug("Removing node",
|
|
78
|
+
log.debug("Removing node", D), w.removeNode(D);
|
|
79
79
|
});
|
|
80
80
|
}, "copy"), extractDescendants = /* @__PURE__ */ __name((r, C) => {
|
|
81
81
|
let w = C.children(r), T = [...w];
|
|
@@ -90,77 +90,77 @@ var clusterDb = /* @__PURE__ */ new Map(), descendants = /* @__PURE__ */ new Map
|
|
|
90
90
|
w: r.w
|
|
91
91
|
}));
|
|
92
92
|
return D.filter((r) => O.some((C) => r.v === C.v && r.w === C.w));
|
|
93
|
-
}, "findCommonEdges"), findNonClusterChild = /* @__PURE__ */ __name((r,
|
|
94
|
-
let
|
|
95
|
-
if (log.trace("Searching children of id ", r,
|
|
96
|
-
let
|
|
97
|
-
for (let r of
|
|
98
|
-
let
|
|
99
|
-
if (
|
|
100
|
-
else return
|
|
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
101
|
}
|
|
102
|
-
return
|
|
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,
|
|
104
|
-
if (!r ||
|
|
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
105
|
log.debug("Opting out, no graph ");
|
|
106
106
|
return;
|
|
107
107
|
} else log.debug("Opting in, graph ");
|
|
108
|
-
r.nodes().forEach(function(
|
|
109
|
-
r.children(
|
|
110
|
-
id: findNonClusterChild(
|
|
111
|
-
clusterData: r.node(
|
|
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
112
|
}));
|
|
113
|
-
}), r.nodes().forEach(function(
|
|
114
|
-
let
|
|
115
|
-
|
|
116
|
-
isDescendant(r.v,
|
|
117
|
-
})) : log.debug("Not a cluster ",
|
|
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
118
|
});
|
|
119
119
|
for (let C of clusterDb.keys()) {
|
|
120
120
|
let w = clusterDb.get(C).id, T = r.parent(w);
|
|
121
121
|
T !== C && clusterDb.has(T) && !clusterDb.get(T).externalConnections && (clusterDb.get(C).id = T);
|
|
122
122
|
}
|
|
123
|
-
r.edges().forEach(function(
|
|
124
|
-
let
|
|
125
|
-
log.warn("Edge " +
|
|
126
|
-
let
|
|
127
|
-
if (log.warn("Fix XXX", clusterDb, "ids:",
|
|
128
|
-
if (log.warn("Fixing and trying - removing XXX",
|
|
129
|
-
let
|
|
130
|
-
clusterDb.get(
|
|
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
131
|
}
|
|
132
|
-
if (
|
|
133
|
-
let
|
|
134
|
-
clusterDb.get(
|
|
132
|
+
if (D !== w.w) {
|
|
133
|
+
let C = r.parent(D);
|
|
134
|
+
clusterDb.get(C).externalConnections = !0, T.toCluster = w.w;
|
|
135
135
|
}
|
|
136
|
-
log.warn("Fix Replacing with XXX",
|
|
136
|
+
log.warn("Fix Replacing with XXX", E, D, w.name), r.setEdge(E, D, T, w.name);
|
|
137
137
|
}
|
|
138
138
|
}), log.warn("Adjusted Graph", write(r)), extractor(r, 0), log.trace(clusterDb);
|
|
139
|
-
}, "adjustClustersAndEdges"), extractor = /* @__PURE__ */ __name((r,
|
|
140
|
-
if (log.warn("extractor - ",
|
|
139
|
+
}, "adjustClustersAndEdges"), extractor = /* @__PURE__ */ __name((r, w) => {
|
|
140
|
+
if (log.warn("extractor - ", w, write(r), r.children("D")), w > 10) {
|
|
141
141
|
log.error("Bailing out");
|
|
142
142
|
return;
|
|
143
143
|
}
|
|
144
|
-
let
|
|
145
|
-
for (let C of
|
|
144
|
+
let T = r.nodes(), E = !1;
|
|
145
|
+
for (let C of T) {
|
|
146
146
|
let w = r.children(C);
|
|
147
|
-
|
|
147
|
+
E ||= w.length > 0;
|
|
148
148
|
}
|
|
149
|
-
if (!
|
|
149
|
+
if (!E) {
|
|
150
150
|
log.debug("Done, no node has children", r.nodes());
|
|
151
151
|
return;
|
|
152
152
|
}
|
|
153
|
-
log.debug("Nodes = ",
|
|
154
|
-
for (let
|
|
155
|
-
else if (!clusterDb.get(
|
|
156
|
-
log.warn("Cluster without external connections, without a parent and with children",
|
|
157
|
-
let
|
|
158
|
-
clusterDb.get(
|
|
159
|
-
let
|
|
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
160
|
multigraph: !0,
|
|
161
161
|
compound: !0
|
|
162
162
|
}).setGraph({
|
|
163
|
-
rankdir:
|
|
163
|
+
rankdir: T,
|
|
164
164
|
nodesep: 50,
|
|
165
165
|
ranksep: 50,
|
|
166
166
|
marginx: 8,
|
|
@@ -168,18 +168,18 @@ var clusterDb = /* @__PURE__ */ new Map(), descendants = /* @__PURE__ */ new Map
|
|
|
168
168
|
}).setDefaultEdgeLabel(function() {
|
|
169
169
|
return {};
|
|
170
170
|
});
|
|
171
|
-
log.warn("Old graph before copy", write(r)), copy(
|
|
171
|
+
log.warn("Old graph before copy", write(r)), copy(E, r, D, E), r.setNode(E, {
|
|
172
172
|
clusterNode: !0,
|
|
173
|
-
id:
|
|
174
|
-
clusterData: clusterDb.get(
|
|
175
|
-
label: clusterDb.get(
|
|
176
|
-
graph:
|
|
177
|
-
}), log.warn("New graph after copy node: (",
|
|
178
|
-
} else log.warn("Cluster ** ",
|
|
179
|
-
|
|
180
|
-
for (let
|
|
181
|
-
let
|
|
182
|
-
log.warn(" Now next level",
|
|
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
183
|
}
|
|
184
184
|
}, "extractor"), sorter = /* @__PURE__ */ __name((r, C) => {
|
|
185
185
|
if (C.length === 0) return [];
|
|
@@ -188,67 +188,67 @@ var clusterDb = /* @__PURE__ */ new Map(), descendants = /* @__PURE__ */ new Map
|
|
|
188
188
|
let T = sorter(r, r.children(C));
|
|
189
189
|
w = [...w, ...T];
|
|
190
190
|
}), w;
|
|
191
|
-
}, "sorter"), sortNodesByHierarchy = /* @__PURE__ */ __name((r) => sorter(r, r.children()), "sortNodesByHierarchy"), recursiveRender = /* @__PURE__ */ __name(async (r,
|
|
192
|
-
log.warn("Graph in recursive render:XAX", write(
|
|
193
|
-
let N =
|
|
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
194
|
log.trace("Dir in recursive render - dir:", N);
|
|
195
195
|
let P = r.insert("g").attr("class", "root");
|
|
196
|
-
|
|
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
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(
|
|
199
|
-
let w =
|
|
198
|
+
await Promise.all(T.nodes().map(async function(r) {
|
|
199
|
+
let w = T.node(r);
|
|
200
200
|
if (k !== void 0) {
|
|
201
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),
|
|
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
203
|
}
|
|
204
|
-
if (log.info("(Insert) Node XXX" + r + ": " + JSON.stringify(
|
|
205
|
-
log.info("Cluster identified XBX", r, w.width,
|
|
206
|
-
let { ranksep:
|
|
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
207
|
w.graph.setGraph({
|
|
208
208
|
...w.graph.graph(),
|
|
209
|
-
ranksep:
|
|
209
|
+
ranksep: E + 25,
|
|
210
210
|
nodesep: k
|
|
211
211
|
});
|
|
212
|
-
let A = await recursiveRender(R, w.graph,
|
|
212
|
+
let A = await recursiveRender(R, w.graph, D, O, T.node(r), M), j = A.elem;
|
|
213
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
|
|
215
|
-
id: findNonClusterChild(w.id,
|
|
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
216
|
node: w
|
|
217
|
-
})) : (log.trace("Node - the non recursive path XAX", r, R,
|
|
217
|
+
})) : (log.trace("Node - the non recursive path XAX", r, R, T.node(r), N), await insertNode(R, T.node(r), {
|
|
218
218
|
config: M,
|
|
219
219
|
dir: N
|
|
220
220
|
}));
|
|
221
221
|
})), await (/* @__PURE__ */ __name(async () => {
|
|
222
|
-
let r =
|
|
223
|
-
let w =
|
|
224
|
-
log.info("Edge " + r.v + " -> " + r.w + ": " + JSON.stringify(r)), log.info("Edge " + r.v + " -> " + r.w + ": ", r, " ", JSON.stringify(
|
|
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
225
|
});
|
|
226
226
|
await Promise.all(r);
|
|
227
|
-
}, "processEdges"))(), log.info("Graph before layout:", JSON.stringify(write(
|
|
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
228
|
let z = 0, { subGraphTitleTotalMargin: B } = getSubGraphTitleMargins(M);
|
|
229
|
-
return await Promise.all(sortNodesByHierarchy(
|
|
230
|
-
let w =
|
|
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,
|
|
232
|
-
else if (
|
|
233
|
-
log.info("A pure cluster node XBX1", r, w.id, w.x, w.y, w.width, w.height,
|
|
234
|
-
let
|
|
235
|
-
log.debug("OffsetY", O, "labelHeight",
|
|
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
236
|
} else {
|
|
237
|
-
let r =
|
|
237
|
+
let r = T.node(w.parentId);
|
|
238
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
239
|
}
|
|
240
|
-
})),
|
|
241
|
-
let w =
|
|
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,
|
|
243
|
-
}),
|
|
244
|
-
let w =
|
|
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
245
|
log.info(r, w.type, w.diff), w.isGroup && (z = w.diff);
|
|
246
246
|
}), log.warn("Returning from recursive render XAX", P, z), {
|
|
247
247
|
elem: P,
|
|
248
248
|
diff: z
|
|
249
249
|
};
|
|
250
|
-
}, "recursiveRender"), render = /* @__PURE__ */ __name(async (r,
|
|
251
|
-
let
|
|
250
|
+
}, "recursiveRender"), render = /* @__PURE__ */ __name(async (r, w) => {
|
|
251
|
+
let E = new Graph({
|
|
252
252
|
multigraph: !0,
|
|
253
253
|
compound: !0
|
|
254
254
|
}).setGraph({
|
|
@@ -259,15 +259,15 @@ var clusterDb = /* @__PURE__ */ new Map(), descendants = /* @__PURE__ */ new Map
|
|
|
259
259
|
marginy: 8
|
|
260
260
|
}).setDefaultEdgeLabel(function() {
|
|
261
261
|
return {};
|
|
262
|
-
}),
|
|
263
|
-
markers_default(
|
|
264
|
-
|
|
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
265
|
}), log.debug("Edges:", r.edges), r.edges.forEach((r) => {
|
|
266
266
|
if (r.start === r.end) {
|
|
267
|
-
let C = r.start,
|
|
268
|
-
|
|
269
|
-
domId:
|
|
270
|
-
id:
|
|
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
271
|
parentId: D.parentId,
|
|
272
272
|
labelStyle: "",
|
|
273
273
|
label: "",
|
|
@@ -276,9 +276,9 @@ var clusterDb = /* @__PURE__ */ new Map(), descendants = /* @__PURE__ */ new Map
|
|
|
276
276
|
style: "",
|
|
277
277
|
width: 10,
|
|
278
278
|
height: 10
|
|
279
|
-
}),
|
|
280
|
-
domId:
|
|
281
|
-
id:
|
|
279
|
+
}), E.setParent(w, D.parentId), E.setNode(T, {
|
|
280
|
+
domId: T,
|
|
281
|
+
id: T,
|
|
282
282
|
parentId: D.parentId,
|
|
283
283
|
labelStyle: "",
|
|
284
284
|
padding: 0,
|
|
@@ -287,12 +287,12 @@ var clusterDb = /* @__PURE__ */ new Map(), descendants = /* @__PURE__ */ new Map
|
|
|
287
287
|
style: "",
|
|
288
288
|
width: 10,
|
|
289
289
|
height: 10
|
|
290
|
-
}),
|
|
290
|
+
}), E.setParent(T, D.parentId);
|
|
291
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",
|
|
293
|
-
} else
|
|
294
|
-
}), log.warn("Graph at first:", JSON.stringify(write(
|
|
295
|
-
let
|
|
296
|
-
await recursiveRender(
|
|
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
297
|
}, "render");
|
|
298
298
|
export { render };
|