ink-graph-new 0.0.1-beta.25

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.
Files changed (242) hide show
  1. package/README.md +5 -0
  2. package/dist/assets/big/dataSourceTypeIcon.d.ts +23 -0
  3. package/dist/assets/big/dataSourceTypeIcon.d.ts.map +1 -0
  4. package/dist/assets/big/dataSourceTypeIcon.js +23 -0
  5. package/dist/assets/big/dataSourceTypeIcon.js.map +1 -0
  6. package/dist/assets/big/entityType.d.ts +2 -0
  7. package/dist/assets/big/entityType.d.ts.map +1 -0
  8. package/dist/assets/big/entityType.js +2 -0
  9. package/dist/assets/big/entityType.js.map +1 -0
  10. package/dist/assets/big/lineageIcon.d.ts +14 -0
  11. package/dist/assets/big/lineageIcon.d.ts.map +1 -0
  12. package/dist/assets/big/lineageIcon.js +14 -0
  13. package/dist/assets/big/lineageIcon.js.map +1 -0
  14. package/dist/assets/big/tableTypeIcon.d.ts +7 -0
  15. package/dist/assets/big/tableTypeIcon.d.ts.map +1 -0
  16. package/dist/assets/big/tableTypeIcon.js +7 -0
  17. package/dist/assets/big/tableTypeIcon.js.map +1 -0
  18. package/dist/assets/big/tipIcon.d.ts +4 -0
  19. package/dist/assets/big/tipIcon.d.ts.map +1 -0
  20. package/dist/assets/big/tipIcon.js +4 -0
  21. package/dist/assets/big/tipIcon.js.map +1 -0
  22. package/dist/assets/index.d.ts +4 -0
  23. package/dist/assets/index.d.ts.map +1 -0
  24. package/dist/assets/index.js +7 -0
  25. package/dist/assets/index.js.map +1 -0
  26. package/dist/components/Edges/ALDEdge.d.ts +11 -0
  27. package/dist/components/Edges/ALDEdge.d.ts.map +1 -0
  28. package/dist/components/Edges/ALDEdge.js +195 -0
  29. package/dist/components/Edges/ALDEdge.js.map +1 -0
  30. package/dist/components/Edges/BaseEdge.d.ts +24 -0
  31. package/dist/components/Edges/BaseEdge.d.ts.map +1 -0
  32. package/dist/components/Edges/BaseEdge.js +171 -0
  33. package/dist/components/Edges/BaseEdge.js.map +1 -0
  34. package/dist/components/Edges/DagreEdge.d.ts +7 -0
  35. package/dist/components/Edges/DagreEdge.d.ts.map +1 -0
  36. package/dist/components/Edges/DagreEdge.js +73 -0
  37. package/dist/components/Edges/DagreEdge.js.map +1 -0
  38. package/dist/components/Edges/HierarchyEdge.d.ts +11 -0
  39. package/dist/components/Edges/HierarchyEdge.d.ts.map +1 -0
  40. package/dist/components/Edges/HierarchyEdge.js +75 -0
  41. package/dist/components/Edges/HierarchyEdge.js.map +1 -0
  42. package/dist/components/Edges/index.d.ts +6 -0
  43. package/dist/components/Edges/index.d.ts.map +1 -0
  44. package/dist/components/Edges/index.js +6 -0
  45. package/dist/components/Edges/index.js.map +1 -0
  46. package/dist/components/Edges/utils/bezierPath.d.ts +2 -0
  47. package/dist/components/Edges/utils/bezierPath.d.ts.map +1 -0
  48. package/dist/components/Edges/utils/bezierPath.js +24 -0
  49. package/dist/components/Edges/utils/bezierPath.js.map +1 -0
  50. package/dist/components/Edges/utils/index.d.ts +4 -0
  51. package/dist/components/Edges/utils/index.d.ts.map +1 -0
  52. package/dist/components/Edges/utils/index.js +4 -0
  53. package/dist/components/Edges/utils/index.js.map +1 -0
  54. package/dist/components/Edges/utils/loopBackPath.d.ts +2 -0
  55. package/dist/components/Edges/utils/loopBackPath.d.ts.map +1 -0
  56. package/dist/components/Edges/utils/loopBackPath.js +35 -0
  57. package/dist/components/Edges/utils/loopBackPath.js.map +1 -0
  58. package/dist/components/Edges/utils/selfConnectPath.d.ts +2 -0
  59. package/dist/components/Edges/utils/selfConnectPath.d.ts.map +1 -0
  60. package/dist/components/Edges/utils/selfConnectPath.js +25 -0
  61. package/dist/components/Edges/utils/selfConnectPath.js.map +1 -0
  62. package/dist/components/Nodes/ALDNode.d.ts +18 -0
  63. package/dist/components/Nodes/ALDNode.d.ts.map +1 -0
  64. package/dist/components/Nodes/ALDNode.js +34 -0
  65. package/dist/components/Nodes/ALDNode.js.map +1 -0
  66. package/dist/components/Nodes/BaseNode.d.ts +37 -0
  67. package/dist/components/Nodes/BaseNode.d.ts.map +1 -0
  68. package/dist/components/Nodes/BaseNode.js +225 -0
  69. package/dist/components/Nodes/BaseNode.js.map +1 -0
  70. package/dist/components/Nodes/index.d.ts +3 -0
  71. package/dist/components/Nodes/index.d.ts.map +1 -0
  72. package/dist/components/Nodes/index.js +3 -0
  73. package/dist/components/Nodes/index.js.map +1 -0
  74. package/dist/components/index.d.ts +3 -0
  75. package/dist/components/index.d.ts.map +1 -0
  76. package/dist/components/index.js +3 -0
  77. package/dist/components/index.js.map +1 -0
  78. package/dist/constant/bigEvents.d.ts +22 -0
  79. package/dist/constant/bigEvents.d.ts.map +1 -0
  80. package/dist/constant/bigEvents.js +25 -0
  81. package/dist/constant/bigEvents.js.map +1 -0
  82. package/dist/constant/events.d.ts +5 -0
  83. package/dist/constant/events.d.ts.map +1 -0
  84. package/dist/constant/events.js +6 -0
  85. package/dist/constant/events.js.map +1 -0
  86. package/dist/constant/index.d.ts +3 -0
  87. package/dist/constant/index.d.ts.map +1 -0
  88. package/dist/constant/index.js +3 -0
  89. package/dist/constant/index.js.map +1 -0
  90. package/dist/constant/lineage.d.ts +64 -0
  91. package/dist/constant/lineage.d.ts.map +1 -0
  92. package/dist/constant/lineage.js +95 -0
  93. package/dist/constant/lineage.js.map +1 -0
  94. package/dist/graph/Graph.d.ts +83 -0
  95. package/dist/graph/Graph.d.ts.map +1 -0
  96. package/dist/graph/Graph.js +392 -0
  97. package/dist/graph/Graph.js.map +1 -0
  98. package/dist/graph/TreeGraph.d.ts +65 -0
  99. package/dist/graph/TreeGraph.d.ts.map +1 -0
  100. package/dist/graph/TreeGraph.js +267 -0
  101. package/dist/graph/TreeGraph.js.map +1 -0
  102. package/dist/graph/index.d.ts +3 -0
  103. package/dist/graph/index.d.ts.map +1 -0
  104. package/dist/graph/index.js +3 -0
  105. package/dist/graph/index.js.map +1 -0
  106. package/dist/index.d.ts +8 -0
  107. package/dist/index.d.ts.map +1 -0
  108. package/dist/index.js +8 -0
  109. package/dist/index.js.map +1 -0
  110. package/dist/layout/ALDLayout.d.ts +8 -0
  111. package/dist/layout/ALDLayout.d.ts.map +1 -0
  112. package/dist/layout/ALDLayout.js +147 -0
  113. package/dist/layout/ALDLayout.js.map +1 -0
  114. package/dist/layout/BaseLayout.d.ts +14 -0
  115. package/dist/layout/BaseLayout.d.ts.map +1 -0
  116. package/dist/layout/BaseLayout.js +10 -0
  117. package/dist/layout/BaseLayout.js.map +1 -0
  118. package/dist/layout/BigLayout.d.ts +43 -0
  119. package/dist/layout/BigLayout.d.ts.map +1 -0
  120. package/dist/layout/BigLayout.js +308 -0
  121. package/dist/layout/BigLayout.js.map +1 -0
  122. package/dist/layout/Dagre.d.ts +6 -0
  123. package/dist/layout/Dagre.d.ts.map +1 -0
  124. package/dist/layout/Dagre.js +97 -0
  125. package/dist/layout/Dagre.js.map +1 -0
  126. package/dist/layout/HierarchyLayout.d.ts +7 -0
  127. package/dist/layout/HierarchyLayout.d.ts.map +1 -0
  128. package/dist/layout/HierarchyLayout.js +66 -0
  129. package/dist/layout/HierarchyLayout.js.map +1 -0
  130. package/dist/layout/index.d.ts +6 -0
  131. package/dist/layout/index.d.ts.map +1 -0
  132. package/dist/layout/index.js +6 -0
  133. package/dist/layout/index.js.map +1 -0
  134. package/dist/manager/PluginManager.d.ts +11 -0
  135. package/dist/manager/PluginManager.d.ts.map +1 -0
  136. package/dist/manager/PluginManager.js +25 -0
  137. package/dist/manager/PluginManager.js.map +1 -0
  138. package/dist/manager/index.d.ts +2 -0
  139. package/dist/manager/index.d.ts.map +1 -0
  140. package/dist/manager/index.js +2 -0
  141. package/dist/manager/index.js.map +1 -0
  142. package/dist/plugins/Minimap/index.d.ts +54 -0
  143. package/dist/plugins/Minimap/index.d.ts.map +1 -0
  144. package/dist/plugins/Minimap/index.js +378 -0
  145. package/dist/plugins/Minimap/index.js.map +1 -0
  146. package/dist/plugins/Tools/ResetViewport.d.ts +11 -0
  147. package/dist/plugins/Tools/ResetViewport.d.ts.map +1 -0
  148. package/dist/plugins/Tools/ResetViewport.js +32 -0
  149. package/dist/plugins/Tools/ResetViewport.js.map +1 -0
  150. package/dist/plugins/Tools/ToolPlugin.d.ts +9 -0
  151. package/dist/plugins/Tools/ToolPlugin.d.ts.map +1 -0
  152. package/dist/plugins/Tools/ToolPlugin.js +42 -0
  153. package/dist/plugins/Tools/ToolPlugin.js.map +1 -0
  154. package/dist/plugins/Tools/Zoom.d.ts +8 -0
  155. package/dist/plugins/Tools/Zoom.d.ts.map +1 -0
  156. package/dist/plugins/Tools/Zoom.js +58 -0
  157. package/dist/plugins/Tools/Zoom.js.map +1 -0
  158. package/dist/plugins/Tools/defaultConfig.d.ts +12 -0
  159. package/dist/plugins/Tools/defaultConfig.d.ts.map +1 -0
  160. package/dist/plugins/Tools/defaultConfig.js +12 -0
  161. package/dist/plugins/Tools/defaultConfig.js.map +1 -0
  162. package/dist/plugins/Tools/index.d.ts +2 -0
  163. package/dist/plugins/Tools/index.d.ts.map +1 -0
  164. package/dist/plugins/Tools/index.js +2 -0
  165. package/dist/plugins/Tools/index.js.map +1 -0
  166. package/dist/types/Edge.d.ts +34 -0
  167. package/dist/types/Edge.d.ts.map +1 -0
  168. package/dist/types/Edge.js +2 -0
  169. package/dist/types/Edge.js.map +1 -0
  170. package/dist/types/Graph.d.ts +53 -0
  171. package/dist/types/Graph.d.ts.map +1 -0
  172. package/dist/types/Graph.js +2 -0
  173. package/dist/types/Graph.js.map +1 -0
  174. package/dist/types/Layout.d.ts +57 -0
  175. package/dist/types/Layout.d.ts.map +1 -0
  176. package/dist/types/Layout.js +9 -0
  177. package/dist/types/Layout.js.map +1 -0
  178. package/dist/types/Node.d.ts +45 -0
  179. package/dist/types/Node.d.ts.map +1 -0
  180. package/dist/types/Node.js +2 -0
  181. package/dist/types/Node.js.map +1 -0
  182. package/dist/types/Plugin.d.ts +7 -0
  183. package/dist/types/Plugin.d.ts.map +1 -0
  184. package/dist/types/Plugin.js +2 -0
  185. package/dist/types/Plugin.js.map +1 -0
  186. package/dist/types/big/BigNode.d.ts +8 -0
  187. package/dist/types/big/BigNode.d.ts.map +1 -0
  188. package/dist/types/big/BigNode.js +15 -0
  189. package/dist/types/big/BigNode.js.map +1 -0
  190. package/dist/types/big/enumType.d.ts +6 -0
  191. package/dist/types/big/enumType.d.ts.map +1 -0
  192. package/dist/types/big/enumType.js +11 -0
  193. package/dist/types/big/enumType.js.map +1 -0
  194. package/dist/types/big/index.d.ts +3 -0
  195. package/dist/types/big/index.d.ts.map +1 -0
  196. package/dist/types/big/index.js +3 -0
  197. package/dist/types/big/index.js.map +1 -0
  198. package/dist/types/index.d.ts +7 -0
  199. package/dist/types/index.d.ts.map +1 -0
  200. package/dist/types/index.js +7 -0
  201. package/dist/types/index.js.map +1 -0
  202. package/dist/utils/big/defaultNode.d.ts +23 -0
  203. package/dist/utils/big/defaultNode.d.ts.map +1 -0
  204. package/dist/utils/big/defaultNode.js +40 -0
  205. package/dist/utils/big/defaultNode.js.map +1 -0
  206. package/dist/utils/big/getIconByType.d.ts +2 -0
  207. package/dist/utils/big/getIconByType.d.ts.map +1 -0
  208. package/dist/utils/big/getIconByType.js +21 -0
  209. package/dist/utils/big/getIconByType.js.map +1 -0
  210. package/dist/utils/big/index.d.ts +2 -0
  211. package/dist/utils/big/index.d.ts.map +1 -0
  212. package/dist/utils/big/index.js +2 -0
  213. package/dist/utils/big/index.js.map +1 -0
  214. package/dist/utils/buildTreeEdge.d.ts +3 -0
  215. package/dist/utils/buildTreeEdge.d.ts.map +1 -0
  216. package/dist/utils/buildTreeEdge.js +49 -0
  217. package/dist/utils/buildTreeEdge.js.map +1 -0
  218. package/dist/utils/canvas.d.ts +5 -0
  219. package/dist/utils/canvas.d.ts.map +1 -0
  220. package/dist/utils/canvas.js +13 -0
  221. package/dist/utils/canvas.js.map +1 -0
  222. package/dist/utils/graph.d.ts +4 -0
  223. package/dist/utils/graph.d.ts.map +1 -0
  224. package/dist/utils/graph.js +22 -0
  225. package/dist/utils/graph.js.map +1 -0
  226. package/dist/utils/index.d.ts +6 -0
  227. package/dist/utils/index.d.ts.map +1 -0
  228. package/dist/utils/index.js +6 -0
  229. package/dist/utils/index.js.map +1 -0
  230. package/dist/utils/node-performance-test.d.ts +3 -0
  231. package/dist/utils/node-performance-test.d.ts.map +1 -0
  232. package/dist/utils/node-performance-test.js +155 -0
  233. package/dist/utils/node-performance-test.js.map +1 -0
  234. package/dist/utils/node.d.ts +8 -0
  235. package/dist/utils/node.d.ts.map +1 -0
  236. package/dist/utils/node.js +275 -0
  237. package/dist/utils/node.js.map +1 -0
  238. package/dist/utils/text.d.ts +2 -0
  239. package/dist/utils/text.d.ts.map +1 -0
  240. package/dist/utils/text.js +14 -0
  241. package/dist/utils/text.js.map +1 -0
  242. package/package.json +34 -0
@@ -0,0 +1,49 @@
1
+ import { __read, __spreadArray } from "tslib";
2
+ export function buildTreeEdge(tree, parent) {
3
+ if (parent === void 0) { parent = null; }
4
+ var edges = [];
5
+ if (parent !== null) {
6
+ // 添加当前节点和父节点之间的边关系
7
+ var id = "".concat(parent, "___").concat(tree.id);
8
+ edges.push({
9
+ id: id,
10
+ type: 'edge_hierarchy',
11
+ source: parent,
12
+ target: tree.id,
13
+ points: [],
14
+ });
15
+ }
16
+ if (tree.children) {
17
+ // 遍历子节点
18
+ tree.children.forEach(function (child) {
19
+ // 递归处理子节点的子节点
20
+ edges.push.apply(edges, __spreadArray([], __read(buildTreeEdge(child, tree.id)), false));
21
+ });
22
+ }
23
+ // 返回构建好的边信息
24
+ return edges;
25
+ }
26
+ export function getTreeEdgePositions(tree, parent) {
27
+ if (parent === void 0) { parent = null; }
28
+ var edgesPositions = [];
29
+ if (parent !== null) {
30
+ var id = "".concat(parent.id, "___").concat(tree.id);
31
+ edgesPositions.push({
32
+ id: id,
33
+ points: [
34
+ {
35
+ x: parent.x + (parent.width - parent.hgap * 2) / 2,
36
+ y: (parent === null || parent === void 0 ? void 0 : parent.y) + parent.height - parent.vgap * 2,
37
+ },
38
+ { x: tree.x + (tree.width - tree.hgap * 2) / 2, y: tree.y },
39
+ ],
40
+ });
41
+ }
42
+ if (tree.children) {
43
+ tree.children.forEach(function (child) {
44
+ edgesPositions.push.apply(edgesPositions, __spreadArray([], __read(getTreeEdgePositions(child, tree)), false));
45
+ });
46
+ }
47
+ return edgesPositions;
48
+ }
49
+ //# sourceMappingURL=buildTreeEdge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildTreeEdge.js","sourceRoot":"","sources":["../../src/utils/buildTreeEdge.ts"],"names":[],"mappings":";AAAA,MAAM,UAAU,aAAa,CAAC,IAAS,EAAE,MAAa;IAAb,uBAAA,EAAA,aAAa;IACpD,IAAM,KAAK,GAAG,EAAE,CAAC;IAEjB,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,mBAAmB;QACnB,IAAM,EAAE,GAAG,UAAG,MAAM,gBAAM,IAAI,CAAC,EAAE,CAAE,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC;YACT,EAAE,IAAA;YACF,IAAI,EAAE,gBAAgB;YACtB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,MAAM,EAAE,EAAE;SACX,CAAC,CAAC;IACL,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,QAAQ;QACR,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAC,KAAU;YAC/B,cAAc;YACd,KAAK,CAAC,IAAI,OAAV,KAAK,2BAAS,aAAa,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,WAAE;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,YAAY;IACZ,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAI,EAAE,MAAa;IAAb,uBAAA,EAAA,aAAa;IACtD,IAAM,cAAc,GAAG,EAAE,CAAC;IAE1B,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,IAAM,EAAE,GAAG,UAAG,MAAM,CAAC,EAAE,gBAAM,IAAI,CAAC,EAAE,CAAE,CAAC;QACvC,cAAc,CAAC,IAAI,CAAC;YAClB,EAAE,IAAA;YACF,MAAM,EAAE;gBACN;oBACE,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC;oBAClD,CAAC,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,CAAC,IAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,GAAG,CAAC;iBAC/C;gBACD,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE;aAC5D;SACF,CAAC,CAAC;IACL,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAC,KAAK;YAC1B,cAAc,CAAC,IAAI,OAAnB,cAAc,2BAAS,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,WAAE;QAC5D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,cAAc,CAAC;AACxB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare function getCanvasCenter(canvas: any): {
2
+ centerX: number;
3
+ centerY: number;
4
+ };
5
+ //# sourceMappingURL=canvas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canvas.d.ts","sourceRoot":"","sources":["../../src/utils/canvas.ts"],"names":[],"mappings":"AAEA,wBAAgB,eAAe,CAAC,MAAM,EAAE,GAAG;;;EAW1C"}
@@ -0,0 +1,13 @@
1
+ import _ from 'lodash';
2
+ export function getCanvasCenter(canvas) {
3
+ var _a = canvas.getConfig(), canvasWidth = _a.width, canvasHeight = _a.height;
4
+ if (!_.isNumber(canvasWidth) || !_.isNumber(canvasHeight))
5
+ return;
6
+ var centerX = canvasWidth * 0.5;
7
+ var centerY = canvasHeight * 0.5;
8
+ return {
9
+ centerX: centerX,
10
+ centerY: centerY,
11
+ };
12
+ }
13
+ //# sourceMappingURL=canvas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canvas.js","sourceRoot":"","sources":["../../src/utils/canvas.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAC;AAEvB,MAAM,UAAU,eAAe,CAAC,MAAW;IACnC,IAAA,KAA+C,MAAM,CAAC,SAAS,EAAE,EAAxD,WAAW,WAAA,EAAU,YAAY,YAAuB,CAAC;IACxE,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO;IAElE,IAAM,OAAO,GAAG,WAAW,GAAG,GAAG,CAAC;IAClC,IAAM,OAAO,GAAG,YAAY,GAAG,GAAG,CAAC;IAEnC,OAAO;QACL,OAAO,SAAA;QACP,OAAO,SAAA;KACR,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { EdgeBaseCtor, IBaseEdgeConfig, IBaseNodeConfig, NodeBaseCtor } from '../types';
2
+ export declare function getEdgeConstructor(edgeType: string, edgeTypeMap: Map<string, EdgeBaseCtor<IBaseEdgeConfig>>, mode: 'SIMPLE' | 'NORMAL'): EdgeBaseCtor<IBaseEdgeConfig>;
3
+ export declare function getNodeConstructor(nodeType: string, nodeTypeMap: Map<string, NodeBaseCtor<IBaseNodeConfig>>, mode: 'SIMPLE' | 'NORMAL'): NodeBaseCtor<IBaseNodeConfig>;
4
+ //# sourceMappingURL=graph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/utils/graph.ts"],"names":[],"mappings":"AACA,OAAO,EACH,YAAY,EACZ,eAAe,EACf,eAAe,EACf,YAAY,EACf,MAAM,UAAU,CAAC;AAElB,wBAAgB,kBAAkB,CAC9B,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,eAAe,CAAC,CAAC,EACvD,IAAI,EAAE,QAAQ,GAAG,QAAQ,iCAW5B;AAED,wBAAgB,kBAAkB,CAC9B,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,eAAe,CAAC,CAAC,EACvD,IAAI,EAAE,QAAQ,GAAG,QAAQ,iCAU5B"}
@@ -0,0 +1,22 @@
1
+ import { BASE_EDGE, BASE_NODE } from '../constant/lineage';
2
+ export function getEdgeConstructor(edgeType, edgeTypeMap, mode) {
3
+ if (!edgeType) {
4
+ edgeType = BASE_EDGE;
5
+ }
6
+ var edgeConstructor = edgeTypeMap.get(edgeType);
7
+ if (mode === 'SIMPLE') {
8
+ edgeConstructor = edgeTypeMap.get(BASE_EDGE);
9
+ }
10
+ return edgeConstructor;
11
+ }
12
+ export function getNodeConstructor(nodeType, nodeTypeMap, mode) {
13
+ if (!nodeType) {
14
+ nodeType = BASE_NODE;
15
+ }
16
+ var nodeConstructor = nodeTypeMap.get(nodeType);
17
+ if (mode === 'SIMPLE') {
18
+ nodeConstructor = nodeTypeMap.get(BASE_NODE);
19
+ }
20
+ return nodeConstructor;
21
+ }
22
+ //# sourceMappingURL=graph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/utils/graph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAQ3D,MAAM,UAAU,kBAAkB,CAC9B,QAAgB,EAChB,WAAuD,EACvD,IAAyB;IAEzB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,QAAQ,GAAG,SAAS,CAAC;IACzB,CAAC;IAED,IAAI,eAAe,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpB,eAAe,GAAG,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,eAAe,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,kBAAkB,CAC9B,QAAgB,EAChB,WAAuD,EACvD,IAAyB;IAEzB,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,QAAQ,GAAG,SAAS,CAAC;IACzB,CAAC;IACD,IAAI,eAAe,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpB,eAAe,GAAG,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,eAAe,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from './node';
2
+ export * from './buildTreeEdge';
3
+ export * from './text';
4
+ export * from './big';
5
+ export * from './graph';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from './node';
2
+ export * from './buildTreeEdge';
3
+ export * from './text';
4
+ export * from './big';
5
+ export * from './graph';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare function runPerformanceTest(): void;
2
+ export declare function runCorrectnessTest(): void;
3
+ //# sourceMappingURL=node-performance-test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-performance-test.d.ts","sourceRoot":"","sources":["../../src/utils/node-performance-test.ts"],"names":[],"mappings":"AA+HA,wBAAgB,kBAAkB,SA6CjC;AAGD,wBAAgB,kBAAkB,SAmBjC"}
@@ -0,0 +1,155 @@
1
+ import { EDirection } from '../types';
2
+ // 原始版本(用于性能对比)
3
+ function groupNodesByEdgesAndDirectionOriginal(startNodeCfg, nodesConfigMap, edgesConfig, direction) {
4
+ var existMap = new Map();
5
+ existMap.set(startNodeCfg.id, 0);
6
+ var todoList = [startNodeCfg];
7
+ var relatedEdges = new Set();
8
+ var _loop_1 = function () {
9
+ var curr = todoList.shift();
10
+ if (!curr)
11
+ return { value: void 0 };
12
+ var currPosition = existMap.get(curr.id);
13
+ if (currPosition === undefined)
14
+ return { value: void 0 };
15
+ edgesConfig.forEach(function (edge) {
16
+ var _a, _b;
17
+ if (direction === EDirection.BOTH || direction === EDirection.INPUT) {
18
+ if (edge.target === curr.id ||
19
+ ((_a = curr.relatedColumns) === null || _a === void 0 ? void 0 : _a.some(function (col) { return col.id === edge.target; }))) {
20
+ relatedEdges.add(edge);
21
+ var inMapNode = nodesConfigMap.get(edge.source);
22
+ if (!inMapNode)
23
+ return;
24
+ var srcNode = inMapNode.tableId
25
+ ? nodesConfigMap.get(inMapNode.tableId)
26
+ : inMapNode;
27
+ if (!srcNode)
28
+ return;
29
+ if (!existMap.has(srcNode.id)) {
30
+ existMap.set(srcNode.id, currPosition - 1);
31
+ todoList.push(srcNode);
32
+ }
33
+ }
34
+ }
35
+ if (direction === EDirection.BOTH || direction === EDirection.OUTPUT) {
36
+ if (edge.source === curr.id ||
37
+ ((_b = curr.relatedColumns) === null || _b === void 0 ? void 0 : _b.some(function (col) { return col.id === edge.source; }))) {
38
+ relatedEdges.add(edge);
39
+ var inMapNode = nodesConfigMap.get(edge.target);
40
+ if (!inMapNode)
41
+ return;
42
+ var tgtNode = inMapNode.tableId
43
+ ? nodesConfigMap.get(inMapNode.tableId)
44
+ : inMapNode;
45
+ if (!existMap.has(tgtNode.id)) {
46
+ existMap.set(tgtNode.id, currPosition + 1);
47
+ todoList.push(tgtNode);
48
+ }
49
+ }
50
+ }
51
+ });
52
+ };
53
+ while (todoList.length > 0) {
54
+ var state_1 = _loop_1();
55
+ if (typeof state_1 === "object")
56
+ return state_1.value;
57
+ }
58
+ return {
59
+ groupedNodes: existMap,
60
+ relatedEdges: Array.from(relatedEdges),
61
+ };
62
+ }
63
+ // 生成测试数据
64
+ function generateTestData(nodeCount, edgeCount) {
65
+ var nodes = [];
66
+ var edges = [];
67
+ var nodesMap = new Map();
68
+ // 生成节点
69
+ for (var i = 0; i < nodeCount; i++) {
70
+ var node = {
71
+ id: "node_".concat(i),
72
+ type: 'test-node',
73
+ name: "Node ".concat(i),
74
+ position: { x: i * 100, y: 0 },
75
+ style: { width: 100, height: 50 },
76
+ visible: true,
77
+ isStartNode: i === Math.floor(nodeCount / 2), // 中间的节点作为起始节点
78
+ relatedColumns: i % 3 === 0 ? [{ id: "col_".concat(i) }] : undefined, // 部分节点有relatedColumns
79
+ };
80
+ nodes.push(node);
81
+ nodesMap.set(node.id, node);
82
+ // 为relatedColumns也添加到map中
83
+ if (node.relatedColumns && Array.isArray(node.relatedColumns)) {
84
+ node.relatedColumns.forEach(function (col) {
85
+ if (col === null || col === void 0 ? void 0 : col.id) {
86
+ nodesMap.set(col.id, col);
87
+ }
88
+ });
89
+ }
90
+ }
91
+ // 生成边
92
+ for (var i = 0; i < edgeCount; i++) {
93
+ var sourceIndex = Math.floor(Math.random() * nodeCount);
94
+ var targetIndex = Math.floor(Math.random() * nodeCount);
95
+ if (sourceIndex !== targetIndex) {
96
+ var edge = {
97
+ id: "edge_".concat(i),
98
+ type: 'test-edge',
99
+ source: "node_".concat(sourceIndex),
100
+ target: "node_".concat(targetIndex),
101
+ points: [{ x: 0, y: 0 }, { x: 100, y: 0 }],
102
+ visible: true,
103
+ };
104
+ edges.push(edge);
105
+ }
106
+ }
107
+ return { nodes: nodes, edges: edges, nodesMap: nodesMap, startNode: nodes[Math.floor(nodeCount / 2)] };
108
+ }
109
+ // 性能测试函数
110
+ export function runPerformanceTest() {
111
+ console.log('🚀 开始性能测试...\n');
112
+ var testCases = [
113
+ { nodes: 100, edges: 500 },
114
+ { nodes: 500, edges: 2000 },
115
+ { nodes: 1000, edges: 5000 },
116
+ { nodes: 2000, edges: 10000 },
117
+ ];
118
+ testCases.forEach(function (_a) {
119
+ var nodeCount = _a.nodes, edgeCount = _a.edges;
120
+ console.log("\uD83D\uDCCA \u6D4B\u8BD5\u7528\u4F8B: ".concat(nodeCount, " \u4E2A\u8282\u70B9, ").concat(edgeCount, " \u6761\u8FB9"));
121
+ var _b = generateTestData(nodeCount, edgeCount), nodes = _b.nodes, edges = _b.edges, nodesMap = _b.nodesMap, startNode = _b.startNode;
122
+ // 测试原始版本
123
+ var start1 = performance.now();
124
+ var result1 = groupNodesByEdgesAndDirectionOriginal(startNode, nodesMap, edges, EDirection.BOTH);
125
+ var end1 = performance.now();
126
+ var originalTime = end1 - start1;
127
+ // 测试优化版本 (需要从实际的模块导入)
128
+ var start2 = performance.now();
129
+ // 这里应该导入优化后的函数
130
+ // const result2 = groupNodesByEdgesAndDirection(startNode, nodesMap, edges, EDirection.BOTH);
131
+ var end2 = performance.now();
132
+ var optimizedTime = end2 - start2;
133
+ console.log(" \uD83D\uDCC8 \u539F\u59CB\u7248\u672C\u8017\u65F6: ".concat(originalTime.toFixed(2), "ms"));
134
+ console.log(" \u26A1 \u4F18\u5316\u7248\u672C\u8017\u65F6: ".concat(optimizedTime.toFixed(2), "ms"));
135
+ console.log(" \uD83C\uDFAF \u6027\u80FD\u63D0\u5347: ".concat(((originalTime - optimizedTime) / originalTime * 100).toFixed(1), "%"));
136
+ if (result1) {
137
+ console.log(" \uD83D\uDCCB \u5904\u7406\u7684\u8282\u70B9\u6570: ".concat(result1.groupedNodes.size));
138
+ console.log(" \uD83D\uDD17 \u76F8\u5173\u8FB9\u6570: ".concat(result1.relatedEdges.length));
139
+ }
140
+ console.log('');
141
+ });
142
+ console.log('✅ 性能测试完成!');
143
+ }
144
+ // 验证结果一致性的测试
145
+ export function runCorrectnessTest() {
146
+ console.log('🔍 开始正确性测试...\n');
147
+ var _a = generateTestData(50, 200), nodes = _a.nodes, edges = _a.edges, nodesMap = _a.nodesMap, startNode = _a.startNode;
148
+ var result1 = groupNodesByEdgesAndDirectionOriginal(startNode, nodesMap, edges, EDirection.BOTH);
149
+ // 这里应该测试优化版本的结果
150
+ // const result2 = groupNodesByEdgesAndDirection(startNode, nodesMap, edges, EDirection.BOTH);
151
+ console.log('原始版本结果:', result1 === null || result1 === void 0 ? void 0 : result1.groupedNodes.size, '个节点');
152
+ // console.log('优化版本结果:', result2?.groupedNodes.size, '个节点');
153
+ console.log('✅ 正确性测试完成!');
154
+ }
155
+ //# sourceMappingURL=node-performance-test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-performance-test.js","sourceRoot":"","sources":["../../src/utils/node-performance-test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAoC,MAAM,UAAU,CAAC;AAExE,eAAe;AACf,SAAS,qCAAqC,CAI5C,YAAe,EACf,cAA8B,EAC9B,WAAgB,EAChB,SAAqB;IAErB,IAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACjC,IAAM,QAAQ,GAAQ,CAAC,YAAY,CAAC,CAAC;IACrC,IAAM,YAAY,GAAG,IAAI,GAAG,EAAK,CAAC;;QAGhC,IAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,IAAI;qCAAS;QAElB,IAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3C,IAAI,YAAY,KAAK,SAAS;qCAAS;QAEvC,WAAW,CAAC,OAAO,CAAC,UAAC,IAAI;;YACvB,IAAI,SAAS,KAAK,UAAU,CAAC,IAAI,IAAI,SAAS,KAAK,UAAU,CAAC,KAAK,EAAE,CAAC;gBACpE,IACE,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,EAAE;qBACvB,MAAC,IAAI,CAAC,cAA4B,0CAAE,IAAI,CACtC,UAAC,GAAQ,IAAK,OAAA,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,MAAM,EAAtB,CAAsB,CACrC,CAAA,EACD,CAAC;oBACD,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACvB,IAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAClD,IAAI,CAAC,SAAS;wBAAE,OAAO;oBACvB,IAAM,OAAO,GAAG,SAAS,CAAC,OAAO;wBAC/B,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,OAAiB,CAAC;wBACjD,CAAC,CAAC,SAAS,CAAC;oBACd,IAAI,CAAC,OAAO;wBAAE,OAAO;oBACrB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;wBAC9B,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC;wBAC3C,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACzB,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,SAAS,KAAK,UAAU,CAAC,IAAI,IAAI,SAAS,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC;gBACrE,IACE,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,EAAE;qBACvB,MAAC,IAAI,CAAC,cAA4B,0CAAE,IAAI,CACtC,UAAC,GAAQ,IAAK,OAAA,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,MAAM,EAAtB,CAAsB,CACrC,CAAA,EACD,CAAC;oBACD,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACvB,IAAM,SAAS,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAClD,IAAI,CAAC,SAAS;wBAAE,OAAO;oBACvB,IAAM,OAAO,GAAG,SAAS,CAAC,OAAO;wBAC/B,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,OAAiB,CAAC;wBACjD,CAAC,CAAC,SAAS,CAAC;oBACd,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;wBAC9B,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC;wBAC3C,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACzB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;;IAhDL,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC;;;;KAiDzB;IAED,OAAO;QACL,YAAY,EAAE,QAAQ;QACtB,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;KACvC,CAAC;AACJ,CAAC;AAED,SAAS;AACT,SAAS,gBAAgB,CAAC,SAAiB,EAAE,SAAiB;IAC5D,IAAM,KAAK,GAAsB,EAAE,CAAC;IACpC,IAAM,KAAK,GAAsB,EAAE,CAAC;IACpC,IAAM,QAAQ,GAAG,IAAI,GAAG,EAA2B,CAAC;IAEpD,OAAO;IACP,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,IAAM,IAAI,GAAoB;YAC5B,EAAE,EAAE,eAAQ,CAAC,CAAE;YACf,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,eAAQ,CAAC,CAAE;YACjB,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE;YAC9B,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE;YACjC,OAAO,EAAE,IAAI;YACb,WAAW,EAAE,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,cAAc;YAC5D,cAAc,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,cAAO,CAAC,CAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,sBAAsB;SACvF,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAE5B,0BAA0B;QAC1B,IAAI,IAAI,CAAC,cAAc,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YAC7D,IAAI,CAAC,cAAwB,CAAC,OAAO,CAAC,UAAC,GAAQ;gBAC9C,IAAI,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,EAAE,EAAE,CAAC;oBACZ,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC5B,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM;IACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,IAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;QAC1D,IAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;QAE1D,IAAI,WAAW,KAAK,WAAW,EAAE,CAAC;YAChC,IAAM,IAAI,GAAoB;gBAC5B,EAAE,EAAE,eAAQ,CAAC,CAAE;gBACf,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,eAAQ,WAAW,CAAE;gBAC7B,MAAM,EAAE,eAAQ,WAAW,CAAE;gBAC7B,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC1C,OAAO,EAAE,IAAI;aACd,CAAC;YACF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,OAAA,EAAE,KAAK,OAAA,EAAE,QAAQ,UAAA,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;AACjF,CAAC;AAED,SAAS;AACT,MAAM,UAAU,kBAAkB;IAChC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAE9B,IAAM,SAAS,GAAG;QAChB,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE;QAC1B,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE;QAC3B,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;QAC5B,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE;KAC9B,CAAC;IAEF,SAAS,CAAC,OAAO,CAAC,UAAC,EAAsC;YAA7B,SAAS,WAAA,EAAS,SAAS,WAAA;QACrD,OAAO,CAAC,GAAG,CAAC,iDAAY,SAAS,kCAAS,SAAS,kBAAK,CAAC,CAAC;QAEpD,IAAA,KAAwC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,EAA5E,KAAK,WAAA,EAAE,KAAK,WAAA,EAAE,QAAQ,cAAA,EAAE,SAAS,eAA2C,CAAC;QAErF,SAAS;QACT,IAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QACjC,IAAM,OAAO,GAAG,qCAAqC,CACnD,SAAS,EACT,QAAQ,EACR,KAAK,EACL,UAAU,CAAC,IAAI,CAChB,CAAC;QACF,IAAM,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAC/B,IAAM,YAAY,GAAG,IAAI,GAAG,MAAM,CAAC;QAEnC,sBAAsB;QACtB,IAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QACjC,eAAe;QACf,8FAA8F;QAC9F,IAAM,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAC/B,IAAM,aAAa,GAAG,IAAI,GAAG,MAAM,CAAC;QAEpC,OAAO,CAAC,GAAG,CAAC,+DAAgB,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,OAAI,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,yDAAe,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,OAAI,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,mDAAc,CAAC,CAAC,YAAY,GAAG,aAAa,CAAC,GAAG,YAAY,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAG,CAAC,CAAC;QAE/F,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,+DAAgB,OAAO,CAAC,YAAY,CAAC,IAAI,CAAE,CAAC,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,mDAAc,OAAO,CAAC,YAAY,CAAC,MAAM,CAAE,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAC3B,CAAC;AAED,aAAa;AACb,MAAM,UAAU,kBAAkB;IAChC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAEzB,IAAA,KAAwC,gBAAgB,CAAC,EAAE,EAAE,GAAG,CAAC,EAA/D,KAAK,WAAA,EAAE,KAAK,WAAA,EAAE,QAAQ,cAAA,EAAE,SAAS,eAA8B,CAAC;IAExE,IAAM,OAAO,GAAG,qCAAqC,CACnD,SAAS,EACT,QAAQ,EACR,KAAK,EACL,UAAU,CAAC,IAAI,CAChB,CAAC;IAEF,gBAAgB;IAChB,8FAA8F;IAE9F,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC1D,6DAA6D;IAE7D,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAC5B,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { EDirection, IBaseEdgeConfig, IBaseNodeConfig } from '../types';
2
+ import { mat4 } from 'gl-matrix';
3
+ export declare function groupNodesByEdgesAndDirection<T extends IBaseNodeConfig = IBaseNodeConfig, K extends IBaseEdgeConfig = IBaseEdgeConfig>(startNodeCfg: T, nodesConfigMap: Map<string, T>, edgesConfig: K[], direction: EDirection): {
4
+ groupedNodes: Map<string, number>;
5
+ relatedEdges: K[];
6
+ };
7
+ export declare function isNodeVisible<T extends IBaseNodeConfig = IBaseNodeConfig>(node: T, canvasWidth: number, canvasHeight: number, globalTransform?: mat4): boolean;
8
+ //# sourceMappingURL=node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/utils/node.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACxE,OAAO,EAAE,IAAI,EAAQ,MAAM,WAAW,CAAC;AAsEvC,wBAAgB,6BAA6B,CAC3C,CAAC,SAAS,eAAe,GAAG,eAAe,EAC3C,CAAC,SAAS,eAAe,GAAG,eAAe,EAE3C,YAAY,EAAE,CAAC,EACf,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,EAC9B,WAAW,EAAE,CAAC,EAAE,EAChB,SAAS,EAAE,UAAU;;;EAyEtB;AA0BD,wBAAgB,aAAa,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,EACvE,IAAI,EAAE,CAAC,EACP,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,eAAe,GAAE,IAAoB,WAyDtC"}
@@ -0,0 +1,275 @@
1
+ import { __read, __spreadArray, __values } from "tslib";
2
+ import { EDirection } from '../types';
3
+ import { mat4, vec4 } from 'gl-matrix';
4
+ // 简单的双端队列实现,避免shift()的O(n)开销
5
+ var SimpleQueue = /** @class */ (function () {
6
+ function SimpleQueue() {
7
+ this.items = [];
8
+ this.frontIndex = 0;
9
+ }
10
+ SimpleQueue.prototype.enqueue = function (item) {
11
+ this.items.push(item);
12
+ };
13
+ SimpleQueue.prototype.dequeue = function () {
14
+ if (this.frontIndex >= this.items.length) {
15
+ return undefined;
16
+ }
17
+ return this.items[this.frontIndex++];
18
+ };
19
+ Object.defineProperty(SimpleQueue.prototype, "length", {
20
+ get: function () {
21
+ return this.items.length - this.frontIndex;
22
+ },
23
+ enumerable: false,
24
+ configurable: true
25
+ });
26
+ return SimpleQueue;
27
+ }());
28
+ // 预处理边数据,建立索引
29
+ function buildEdgeIndexes(edgesConfig, nodesConfigMap) {
30
+ var e_1, _a, e_2, _b, e_3, _c;
31
+ var bySource = new Map();
32
+ var byTarget = new Map();
33
+ var relatedColumnsCache = new Map();
34
+ try {
35
+ // 预处理relatedColumns缓存
36
+ for (var nodesConfigMap_1 = __values(nodesConfigMap), nodesConfigMap_1_1 = nodesConfigMap_1.next(); !nodesConfigMap_1_1.done; nodesConfigMap_1_1 = nodesConfigMap_1.next()) {
37
+ var _d = __read(nodesConfigMap_1_1.value, 2), nodeId = _d[0], node = _d[1];
38
+ if (node.relatedColumns) {
39
+ var columnIds = new Set();
40
+ try {
41
+ for (var _e = (e_2 = void 0, __values(node.relatedColumns)), _f = _e.next(); !_f.done; _f = _e.next()) {
42
+ var col = _f.value;
43
+ if (col === null || col === void 0 ? void 0 : col.id) {
44
+ columnIds.add(col.id);
45
+ }
46
+ }
47
+ }
48
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
49
+ finally {
50
+ try {
51
+ if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
52
+ }
53
+ finally { if (e_2) throw e_2.error; }
54
+ }
55
+ relatedColumnsCache.set(nodeId, columnIds);
56
+ }
57
+ }
58
+ }
59
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
60
+ finally {
61
+ try {
62
+ if (nodesConfigMap_1_1 && !nodesConfigMap_1_1.done && (_a = nodesConfigMap_1.return)) _a.call(nodesConfigMap_1);
63
+ }
64
+ finally { if (e_1) throw e_1.error; }
65
+ }
66
+ try {
67
+ // 建立边索引
68
+ for (var edgesConfig_1 = __values(edgesConfig), edgesConfig_1_1 = edgesConfig_1.next(); !edgesConfig_1_1.done; edgesConfig_1_1 = edgesConfig_1.next()) {
69
+ var edge = edgesConfig_1_1.value;
70
+ // 按source索引
71
+ if (!bySource.has(edge.source)) {
72
+ bySource.set(edge.source, []);
73
+ }
74
+ bySource.get(edge.source).push(edge);
75
+ // 按target索引
76
+ if (!byTarget.has(edge.target)) {
77
+ byTarget.set(edge.target, []);
78
+ }
79
+ byTarget.get(edge.target).push(edge);
80
+ }
81
+ }
82
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
83
+ finally {
84
+ try {
85
+ if (edgesConfig_1_1 && !edgesConfig_1_1.done && (_c = edgesConfig_1.return)) _c.call(edgesConfig_1);
86
+ }
87
+ finally { if (e_3) throw e_3.error; }
88
+ }
89
+ return { bySource: bySource, byTarget: byTarget, relatedColumnsCache: relatedColumnsCache };
90
+ }
91
+ export function groupNodesByEdgesAndDirection(startNodeCfg, nodesConfigMap, edgesConfig, direction) {
92
+ var e_4, _a, e_5, _b, e_6, _c, e_7, _d, e_8, _e, e_9, _f;
93
+ var existMap = new Map();
94
+ existMap.set(startNodeCfg.id, 0);
95
+ // 使用双端队列替代数组shift操作
96
+ var todoQueue = new SimpleQueue();
97
+ todoQueue.enqueue(startNodeCfg);
98
+ var relatedEdges = new Set();
99
+ // 预处理边数据,建立索引
100
+ var edgeIndexes = buildEdgeIndexes(edgesConfig, nodesConfigMap);
101
+ while (todoQueue.length > 0) {
102
+ var curr = todoQueue.dequeue();
103
+ if (!curr)
104
+ return;
105
+ var currPosition = existMap.get(curr.id);
106
+ if (currPosition === undefined)
107
+ return;
108
+ // 获取当前节点的relatedColumns缓存
109
+ var currRelatedColumns = edgeIndexes.relatedColumnsCache.get(curr.id);
110
+ // 处理INPUT方向的边
111
+ if (direction === EDirection.BOTH || direction === EDirection.INPUT) {
112
+ // 获取以当前节点为target的所有边
113
+ var targetEdges = edgeIndexes.byTarget.get(curr.id) || [];
114
+ try {
115
+ for (var targetEdges_1 = (e_4 = void 0, __values(targetEdges)), targetEdges_1_1 = targetEdges_1.next(); !targetEdges_1_1.done; targetEdges_1_1 = targetEdges_1.next()) {
116
+ var edge = targetEdges_1_1.value;
117
+ relatedEdges.add(edge);
118
+ processEdgeNode(edge.source, currPosition - 1, nodesConfigMap, existMap, todoQueue);
119
+ }
120
+ }
121
+ catch (e_4_1) { e_4 = { error: e_4_1 }; }
122
+ finally {
123
+ try {
124
+ if (targetEdges_1_1 && !targetEdges_1_1.done && (_a = targetEdges_1.return)) _a.call(targetEdges_1);
125
+ }
126
+ finally { if (e_4) throw e_4.error; }
127
+ }
128
+ // 处理relatedColumns作为target的情况
129
+ if (currRelatedColumns) {
130
+ try {
131
+ for (var currRelatedColumns_1 = (e_5 = void 0, __values(currRelatedColumns)), currRelatedColumns_1_1 = currRelatedColumns_1.next(); !currRelatedColumns_1_1.done; currRelatedColumns_1_1 = currRelatedColumns_1.next()) {
132
+ var columnId = currRelatedColumns_1_1.value;
133
+ var columnTargetEdges = edgeIndexes.byTarget.get(columnId) || [];
134
+ try {
135
+ for (var columnTargetEdges_1 = (e_6 = void 0, __values(columnTargetEdges)), columnTargetEdges_1_1 = columnTargetEdges_1.next(); !columnTargetEdges_1_1.done; columnTargetEdges_1_1 = columnTargetEdges_1.next()) {
136
+ var edge = columnTargetEdges_1_1.value;
137
+ relatedEdges.add(edge);
138
+ processEdgeNode(edge.source, currPosition - 1, nodesConfigMap, existMap, todoQueue);
139
+ }
140
+ }
141
+ catch (e_6_1) { e_6 = { error: e_6_1 }; }
142
+ finally {
143
+ try {
144
+ if (columnTargetEdges_1_1 && !columnTargetEdges_1_1.done && (_c = columnTargetEdges_1.return)) _c.call(columnTargetEdges_1);
145
+ }
146
+ finally { if (e_6) throw e_6.error; }
147
+ }
148
+ }
149
+ }
150
+ catch (e_5_1) { e_5 = { error: e_5_1 }; }
151
+ finally {
152
+ try {
153
+ if (currRelatedColumns_1_1 && !currRelatedColumns_1_1.done && (_b = currRelatedColumns_1.return)) _b.call(currRelatedColumns_1);
154
+ }
155
+ finally { if (e_5) throw e_5.error; }
156
+ }
157
+ }
158
+ }
159
+ // 处理OUTPUT方向的边
160
+ if (direction === EDirection.BOTH || direction === EDirection.OUTPUT) {
161
+ // 获取以当前节点为source的所有边
162
+ var sourceEdges = edgeIndexes.bySource.get(curr.id) || [];
163
+ try {
164
+ for (var sourceEdges_1 = (e_7 = void 0, __values(sourceEdges)), sourceEdges_1_1 = sourceEdges_1.next(); !sourceEdges_1_1.done; sourceEdges_1_1 = sourceEdges_1.next()) {
165
+ var edge = sourceEdges_1_1.value;
166
+ relatedEdges.add(edge);
167
+ processEdgeNode(edge.target, currPosition + 1, nodesConfigMap, existMap, todoQueue);
168
+ }
169
+ }
170
+ catch (e_7_1) { e_7 = { error: e_7_1 }; }
171
+ finally {
172
+ try {
173
+ if (sourceEdges_1_1 && !sourceEdges_1_1.done && (_d = sourceEdges_1.return)) _d.call(sourceEdges_1);
174
+ }
175
+ finally { if (e_7) throw e_7.error; }
176
+ }
177
+ // 处理relatedColumns作为source的情况
178
+ if (currRelatedColumns) {
179
+ try {
180
+ for (var currRelatedColumns_2 = (e_8 = void 0, __values(currRelatedColumns)), currRelatedColumns_2_1 = currRelatedColumns_2.next(); !currRelatedColumns_2_1.done; currRelatedColumns_2_1 = currRelatedColumns_2.next()) {
181
+ var columnId = currRelatedColumns_2_1.value;
182
+ var columnSourceEdges = edgeIndexes.bySource.get(columnId) || [];
183
+ try {
184
+ for (var columnSourceEdges_1 = (e_9 = void 0, __values(columnSourceEdges)), columnSourceEdges_1_1 = columnSourceEdges_1.next(); !columnSourceEdges_1_1.done; columnSourceEdges_1_1 = columnSourceEdges_1.next()) {
185
+ var edge = columnSourceEdges_1_1.value;
186
+ relatedEdges.add(edge);
187
+ processEdgeNode(edge.target, currPosition + 1, nodesConfigMap, existMap, todoQueue);
188
+ }
189
+ }
190
+ catch (e_9_1) { e_9 = { error: e_9_1 }; }
191
+ finally {
192
+ try {
193
+ if (columnSourceEdges_1_1 && !columnSourceEdges_1_1.done && (_f = columnSourceEdges_1.return)) _f.call(columnSourceEdges_1);
194
+ }
195
+ finally { if (e_9) throw e_9.error; }
196
+ }
197
+ }
198
+ }
199
+ catch (e_8_1) { e_8 = { error: e_8_1 }; }
200
+ finally {
201
+ try {
202
+ if (currRelatedColumns_2_1 && !currRelatedColumns_2_1.done && (_e = currRelatedColumns_2.return)) _e.call(currRelatedColumns_2);
203
+ }
204
+ finally { if (e_8) throw e_8.error; }
205
+ }
206
+ }
207
+ }
208
+ }
209
+ return {
210
+ groupedNodes: existMap,
211
+ relatedEdges: Array.from(relatedEdges),
212
+ };
213
+ }
214
+ // 提取公共逻辑,减少重复代码
215
+ function processEdgeNode(nodeId, position, nodesConfigMap, existMap, todoQueue) {
216
+ var inMapNode = nodesConfigMap.get(nodeId);
217
+ if (!inMapNode)
218
+ return;
219
+ var targetNode = inMapNode.tableId
220
+ ? nodesConfigMap.get(inMapNode.tableId)
221
+ : inMapNode;
222
+ if (!targetNode)
223
+ return;
224
+ if (!existMap.has(targetNode.id)) {
225
+ existMap.set(targetNode.id, position);
226
+ todoQueue.enqueue(targetNode);
227
+ }
228
+ }
229
+ // data check visible
230
+ export function isNodeVisible(node, canvasWidth, canvasHeight, globalTransform) {
231
+ var _a, _b;
232
+ if (globalTransform === void 0) { globalTransform = mat4.create(); }
233
+ if (node.isStartNode)
234
+ return true;
235
+ if (!node.visible)
236
+ return false;
237
+ // 创建节点位置的齐次坐标
238
+ var nodePos = vec4.fromValues(node.position.x, node.position.y, 0, 1);
239
+ // 应用全局变换矩阵
240
+ var transformedPos = vec4.create();
241
+ vec4.transformMat4(transformedPos, nodePos, globalTransform);
242
+ // 获取节点的宽度和高度
243
+ var nodeWidth = ((_a = node.style) === null || _a === void 0 ? void 0 : _a.width) || 0;
244
+ var nodeHeight = ((_b = node.style) === null || _b === void 0 ? void 0 : _b.height) || 0;
245
+ // 变换节点的四个角以确保完全检查可见性
246
+ var corners = [
247
+ vec4.fromValues(node.position.x, node.position.y, 0, 1),
248
+ vec4.fromValues(node.position.x + nodeWidth, node.position.y, 0, 1),
249
+ vec4.fromValues(node.position.x, node.position.y + nodeHeight, 0, 1),
250
+ vec4.fromValues(node.position.x + nodeWidth, node.position.y + nodeHeight, 0, 1),
251
+ ];
252
+ var transformedCorners = corners.map(function (corner) {
253
+ var transformed = vec4.create();
254
+ vec4.transformMat4(transformed, corner, globalTransform);
255
+ return {
256
+ x: transformed[0] / transformed[3],
257
+ y: transformed[1] / transformed[3],
258
+ };
259
+ });
260
+ // 检查是否至少有一个角在可见区域内
261
+ var isVisible = transformedCorners.some(function (corner) {
262
+ return corner.x >= 0 &&
263
+ corner.x <= canvasWidth &&
264
+ corner.y >= 0 &&
265
+ corner.y <= canvasHeight;
266
+ });
267
+ // 或者检查画布是否在节点内部(当节点非常大时)
268
+ var minX = Math.min.apply(Math, __spreadArray([], __read(transformedCorners.map(function (c) { return c.x; })), false));
269
+ var maxX = Math.max.apply(Math, __spreadArray([], __read(transformedCorners.map(function (c) { return c.x; })), false));
270
+ var minY = Math.min.apply(Math, __spreadArray([], __read(transformedCorners.map(function (c) { return c.y; })), false));
271
+ var maxY = Math.max.apply(Math, __spreadArray([], __read(transformedCorners.map(function (c) { return c.y; })), false));
272
+ var canvasInsideNode = minX <= 0 && maxX >= canvasWidth && minY <= 0 && maxY >= canvasHeight;
273
+ return isVisible || canvasInsideNode;
274
+ }
275
+ //# sourceMappingURL=node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/utils/node.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function getTextDomWidth(text: string, fontSize?: number, fontFamily?: string): number;
2
+ //# sourceMappingURL=text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../src/utils/text.ts"],"names":[],"mappings":"AAEA,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,QAAQ,GAAE,MAAW,EACrB,UAAU,GAAE,MAAsB,UAMnC"}