@aloudata/ink-lineage 0.0.1-beta.21 → 0.0.1-beta.22

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 (249) hide show
  1. package/dist/BigDagre.d.ts +15 -0
  2. package/dist/BigDagre.d.ts.map +1 -0
  3. package/dist/BigDagre.js +98 -0
  4. package/dist/BigDagre.js.map +1 -0
  5. package/dist/components/Edges/DefaultEdge.d.ts.map +1 -0
  6. package/dist/components/Edges/DefaultEdge.js +146 -0
  7. package/dist/components/Edges/DefaultEdge.js.map +1 -0
  8. package/dist/components/Edges/FoldEdge.d.ts.map +1 -0
  9. package/dist/components/Edges/FoldEdge.js +76 -0
  10. package/dist/components/Edges/FoldEdge.js.map +1 -0
  11. package/dist/components/Edges/LineageEdge.d.ts.map +1 -0
  12. package/dist/components/Edges/LineageEdge.js +20 -0
  13. package/dist/components/Edges/LineageEdge.js.map +1 -0
  14. package/dist/components/Edges/index.d.ts.map +1 -0
  15. package/dist/components/Nodes/AssetNode.d.ts +19 -0
  16. package/dist/components/Nodes/AssetNode.d.ts.map +1 -0
  17. package/dist/components/Nodes/AssetNode.js +137 -0
  18. package/dist/components/Nodes/AssetNode.js.map +1 -0
  19. package/dist/components/Nodes/DefaultNode.d.ts +28 -0
  20. package/dist/components/Nodes/DefaultNode.d.ts.map +1 -0
  21. package/dist/components/Nodes/DefaultNode.js +106 -0
  22. package/dist/components/Nodes/DefaultNode.js.map +1 -0
  23. package/dist/components/Nodes/Table/AssetBaseNode.d.ts +11 -0
  24. package/dist/components/Nodes/Table/AssetBaseNode.d.ts.map +1 -0
  25. package/dist/components/Nodes/Table/AssetBaseNode.js +40 -0
  26. package/dist/components/Nodes/Table/AssetBaseNode.js.map +1 -0
  27. package/dist/components/Nodes/Table/ColumnNode.d.ts +28 -0
  28. package/dist/components/Nodes/Table/ColumnNode.d.ts.map +1 -0
  29. package/dist/components/Nodes/Table/ColumnNode.js +223 -0
  30. package/dist/components/Nodes/Table/ColumnNode.js.map +1 -0
  31. package/dist/components/Nodes/Table/CustomNode.d.ts +11 -0
  32. package/dist/components/Nodes/Table/CustomNode.d.ts.map +1 -0
  33. package/dist/components/Nodes/Table/CustomNode.js +41 -0
  34. package/dist/components/Nodes/Table/CustomNode.js.map +1 -0
  35. package/dist/components/Nodes/Table/TableNode.d.ts +23 -0
  36. package/dist/components/Nodes/Table/TableNode.d.ts.map +1 -0
  37. package/dist/components/Nodes/Table/TableNode.js +69 -0
  38. package/dist/components/Nodes/Table/TableNode.js.map +1 -0
  39. package/dist/components/Nodes/Task/TaskColumnNode.d.ts +24 -0
  40. package/dist/components/Nodes/Task/TaskColumnNode.d.ts.map +1 -0
  41. package/dist/components/Nodes/Task/TaskColumnNode.js +295 -0
  42. package/dist/components/Nodes/Task/TaskColumnNode.js.map +1 -0
  43. package/dist/components/Nodes/Task/TaskTableNode.d.ts +23 -0
  44. package/dist/components/Nodes/Task/TaskTableNode.d.ts.map +1 -0
  45. package/dist/components/Nodes/Task/TaskTableNode.js +116 -0
  46. package/dist/components/Nodes/Task/TaskTableNode.js.map +1 -0
  47. package/dist/components/Nodes/index.d.ts +6 -0
  48. package/dist/components/Nodes/index.d.ts.map +1 -0
  49. package/dist/components/Nodes/index.js +6 -0
  50. package/dist/components/Nodes/index.js.map +1 -0
  51. package/dist/components/index.d.ts.map +1 -0
  52. package/dist/components/index.js +3 -0
  53. package/dist/components/index.js.map +1 -0
  54. package/dist/constant/index.d.ts.map +1 -0
  55. package/dist/constant/index.js +2 -0
  56. package/dist/constant/index.js.map +1 -0
  57. package/dist/constant/nodeStyle.d.ts +76 -0
  58. package/dist/constant/nodeStyle.d.ts.map +1 -0
  59. package/dist/constant/nodeStyle.js +112 -0
  60. package/dist/constant/nodeStyle.js.map +1 -0
  61. package/dist/decorators/AssetBaseHeader.d.ts +10 -0
  62. package/dist/decorators/AssetBaseHeader.d.ts.map +1 -0
  63. package/dist/decorators/AssetBaseHeader.js +25 -0
  64. package/dist/decorators/AssetBaseHeader.js.map +1 -0
  65. package/dist/decorators/Column/BaseComponent.d.ts +9 -0
  66. package/dist/decorators/Column/BaseComponent.d.ts.map +1 -0
  67. package/dist/decorators/Column/BaseComponent.js +129 -0
  68. package/dist/decorators/Column/BaseComponent.js.map +1 -0
  69. package/dist/decorators/Column/TableColunm.d.ts +11 -0
  70. package/dist/decorators/Column/TableColunm.d.ts.map +1 -0
  71. package/dist/decorators/Column/TableColunm.js +31 -0
  72. package/dist/decorators/Column/TableColunm.js.map +1 -0
  73. package/dist/decorators/Column/TaskColumn.d.ts +7 -0
  74. package/dist/decorators/Column/TaskColumn.d.ts.map +1 -0
  75. package/dist/decorators/Column/TaskColumn.js +12 -0
  76. package/dist/decorators/Column/TaskColumn.js.map +1 -0
  77. package/dist/decorators/CustomHeader.d.ts +10 -0
  78. package/dist/decorators/CustomHeader.d.ts.map +1 -0
  79. package/dist/decorators/CustomHeader.js +26 -0
  80. package/dist/decorators/CustomHeader.js.map +1 -0
  81. package/dist/decorators/RenderColumn.d.ts +3 -0
  82. package/dist/decorators/RenderColumn.d.ts.map +1 -0
  83. package/dist/decorators/RenderColumn.js +30 -0
  84. package/dist/decorators/RenderColumn.js.map +1 -0
  85. package/dist/decorators/RenderContent.d.ts +3 -0
  86. package/dist/decorators/RenderContent.d.ts.map +1 -0
  87. package/dist/decorators/RenderContent.js +162 -0
  88. package/dist/decorators/RenderContent.js.map +1 -0
  89. package/dist/decorators/RenderFooter.d.ts +3 -0
  90. package/dist/decorators/RenderFooter.d.ts.map +1 -0
  91. package/dist/decorators/RenderFooter.js +150 -0
  92. package/dist/decorators/RenderFooter.js.map +1 -0
  93. package/dist/decorators/RenderHeader.d.ts +3 -0
  94. package/dist/decorators/RenderHeader.d.ts.map +1 -0
  95. package/dist/decorators/RenderHeader.js +30 -0
  96. package/dist/decorators/RenderHeader.js.map +1 -0
  97. package/dist/decorators/SideIcon.d.ts +8 -0
  98. package/dist/decorators/SideIcon.d.ts.map +1 -0
  99. package/dist/decorators/SideIcon.js +68 -0
  100. package/dist/decorators/SideIcon.js.map +1 -0
  101. package/dist/decorators/Table/BaseHeaderComponent.d.ts +18 -0
  102. package/dist/decorators/Table/BaseHeaderComponent.d.ts.map +1 -0
  103. package/dist/decorators/Table/BaseHeaderComponent.js +279 -0
  104. package/dist/decorators/Table/BaseHeaderComponent.js.map +1 -0
  105. package/dist/decorators/Table/TableHeader.d.ts +10 -0
  106. package/dist/decorators/Table/TableHeader.d.ts.map +1 -0
  107. package/dist/decorators/Table/TableHeader.js +27 -0
  108. package/dist/decorators/Table/TableHeader.js.map +1 -0
  109. package/dist/decorators/Table/TaskHeader.d.ts +8 -0
  110. package/dist/decorators/Table/TaskHeader.d.ts.map +1 -0
  111. package/dist/decorators/Table/TaskHeader.js +20 -0
  112. package/dist/decorators/Table/TaskHeader.js.map +1 -0
  113. package/dist/decorators/index.d.ts +6 -0
  114. package/dist/decorators/index.d.ts.map +1 -0
  115. package/dist/decorators/index.js +7 -0
  116. package/dist/decorators/index.js.map +1 -0
  117. package/dist/decorators/types.d.ts +6 -0
  118. package/dist/decorators/types.d.ts.map +1 -0
  119. package/dist/decorators/types.js +2 -0
  120. package/dist/decorators/types.js.map +1 -0
  121. package/dist/index.d.ts.map +1 -0
  122. package/dist/index.js +6 -0
  123. package/dist/index.js.map +1 -0
  124. package/dist/manager/BaseGraphEventManager.d.ts +10 -0
  125. package/dist/manager/BaseGraphEventManager.d.ts.map +1 -0
  126. package/dist/manager/BaseGraphEventManager.js +65 -0
  127. package/dist/manager/BaseGraphEventManager.js.map +1 -0
  128. package/dist/manager/BaseManager.d.ts +9 -0
  129. package/dist/manager/BaseManager.d.ts.map +1 -0
  130. package/dist/manager/BaseManager.js +10 -0
  131. package/dist/manager/BaseManager.js.map +1 -0
  132. package/dist/manager/BaseRightKeyMenuManager.d.ts +36 -0
  133. package/dist/manager/BaseRightKeyMenuManager.d.ts.map +1 -0
  134. package/dist/manager/BaseRightKeyMenuManager.js +89 -0
  135. package/dist/manager/BaseRightKeyMenuManager.js.map +1 -0
  136. package/dist/manager/ExpandManager.d.ts +19 -0
  137. package/dist/manager/ExpandManager.d.ts.map +1 -0
  138. package/dist/manager/ExpandManager.js +83 -0
  139. package/dist/manager/ExpandManager.js.map +1 -0
  140. package/dist/manager/FoldLineageManager.d.ts +36 -0
  141. package/dist/manager/FoldLineageManager.d.ts.map +1 -0
  142. package/dist/manager/FoldLineageManager.js +209 -0
  143. package/dist/manager/FoldLineageManager.js.map +1 -0
  144. package/dist/manager/LineageManager.d.ts +157 -0
  145. package/dist/manager/LineageManager.d.ts.map +1 -0
  146. package/dist/manager/LineageManager.js +770 -0
  147. package/dist/manager/LineageManager.js.map +1 -0
  148. package/dist/manager/SearchNodeManager.d.ts +11 -0
  149. package/dist/manager/SearchNodeManager.d.ts.map +1 -0
  150. package/dist/manager/SearchNodeManager.js +97 -0
  151. package/dist/manager/SearchNodeManager.js.map +1 -0
  152. package/dist/manager/TableDataProcessor.d.ts +23 -0
  153. package/dist/manager/TableDataProcessor.d.ts.map +1 -0
  154. package/dist/manager/TableDataProcessor.js +569 -0
  155. package/dist/manager/TableDataProcessor.js.map +1 -0
  156. package/dist/manager/TableGraphEventManager.d.ts +6 -0
  157. package/dist/manager/TableGraphEventManager.d.ts.map +1 -0
  158. package/dist/manager/TableGraphEventManager.js +21 -0
  159. package/dist/manager/TableGraphEventManager.js.map +1 -0
  160. package/dist/manager/TableRightKeyMenuManager.d.ts +8 -0
  161. package/dist/manager/TableRightKeyMenuManager.d.ts.map +1 -0
  162. package/dist/manager/TableRightKeyMenuManager.js +20 -0
  163. package/dist/manager/TableRightKeyMenuManager.js.map +1 -0
  164. package/dist/manager/TaskDataProcessor.d.ts +82 -0
  165. package/dist/manager/TaskDataProcessor.d.ts.map +1 -0
  166. package/dist/manager/TaskDataProcessor.js +303 -0
  167. package/dist/manager/TaskDataProcessor.js.map +1 -0
  168. package/dist/manager/TaskGraphEventManager.d.ts +6 -0
  169. package/dist/manager/TaskGraphEventManager.d.ts.map +1 -0
  170. package/dist/manager/TaskGraphEventManager.js +22 -0
  171. package/dist/manager/TaskGraphEventManager.js.map +1 -0
  172. package/dist/manager/TaskRightKeyMenuManager.d.ts +20 -0
  173. package/dist/manager/TaskRightKeyMenuManager.d.ts.map +1 -0
  174. package/dist/manager/TaskRightKeyMenuManager.js +149 -0
  175. package/dist/manager/TaskRightKeyMenuManager.js.map +1 -0
  176. package/dist/manager/ToolbarManager.d.ts +12 -0
  177. package/dist/manager/ToolbarManager.d.ts.map +1 -0
  178. package/dist/manager/ToolbarManager.js +36 -0
  179. package/dist/manager/ToolbarManager.js.map +1 -0
  180. package/dist/manager/index.d.ts +14 -0
  181. package/dist/manager/index.d.ts.map +1 -0
  182. package/dist/manager/index.js +14 -0
  183. package/dist/manager/index.js.map +1 -0
  184. package/dist/manager/nodeManager/AssetEventManager.d.ts.map +1 -0
  185. package/dist/manager/nodeManager/AssetEventManager.js +300 -0
  186. package/dist/manager/nodeManager/AssetEventManager.js.map +1 -0
  187. package/dist/manager/nodeManager/BaseColumnEventManager.d.ts +12 -0
  188. package/dist/manager/nodeManager/BaseColumnEventManager.d.ts.map +1 -0
  189. package/dist/manager/nodeManager/BaseColumnEventManager.js +77 -0
  190. package/dist/manager/nodeManager/BaseColumnEventManager.js.map +1 -0
  191. package/dist/manager/nodeManager/BaseEventManager.d.ts.map +1 -0
  192. package/dist/manager/nodeManager/BaseEventManager.js +89 -0
  193. package/dist/manager/nodeManager/BaseEventManager.js.map +1 -0
  194. package/dist/manager/nodeManager/ColumnEventManager.d.ts +8 -0
  195. package/dist/manager/nodeManager/ColumnEventManager.d.ts.map +1 -0
  196. package/dist/manager/nodeManager/ColumnEventManager.js +280 -0
  197. package/dist/manager/nodeManager/ColumnEventManager.js.map +1 -0
  198. package/dist/manager/nodeManager/CustomEventManager.d.ts.map +1 -0
  199. package/dist/manager/nodeManager/TableEventManager.d.ts.map +1 -0
  200. package/dist/manager/nodeManager/TableEventManager.js +100 -0
  201. package/dist/manager/nodeManager/TableEventManager.js.map +1 -0
  202. package/dist/manager/nodeManager/index.d.ts.map +1 -0
  203. package/dist/manager/nodeManager/index.js +4 -0
  204. package/dist/manager/nodeManager/index.js.map +1 -0
  205. package/dist/manager/nodeManager/task/TaskColumnEventManager.d.ts +6 -0
  206. package/dist/manager/nodeManager/task/TaskColumnEventManager.d.ts.map +1 -0
  207. package/dist/manager/nodeManager/task/TaskColumnEventManager.js +75 -0
  208. package/dist/manager/nodeManager/task/TaskColumnEventManager.js.map +1 -0
  209. package/dist/manager/nodeManager/task/TaskTableEventManager.d.ts +13 -0
  210. package/dist/manager/nodeManager/task/TaskTableEventManager.d.ts.map +1 -0
  211. package/dist/manager/nodeManager/task/TaskTableEventManager.js +198 -0
  212. package/dist/manager/nodeManager/task/TaskTableEventManager.js.map +1 -0
  213. package/dist/types/eventEnum.d.ts +59 -0
  214. package/dist/types/eventEnum.d.ts.map +1 -0
  215. package/dist/types/eventEnum.js +89 -0
  216. package/dist/types/eventEnum.js.map +1 -0
  217. package/dist/types/index.d.ts +5 -0
  218. package/dist/types/index.d.ts.map +1 -0
  219. package/dist/types/index.js +5 -0
  220. package/dist/types/index.js.map +1 -0
  221. package/dist/types/manager.d.ts +116 -0
  222. package/dist/types/manager.d.ts.map +1 -0
  223. package/dist/types/manager.js +53 -0
  224. package/dist/types/manager.js.map +1 -0
  225. package/dist/types/node.d.ts +211 -0
  226. package/dist/types/node.d.ts.map +1 -0
  227. package/dist/types/node.js +120 -0
  228. package/dist/types/node.js.map +1 -0
  229. package/dist/utils/foldNode.d.ts +6 -0
  230. package/dist/utils/foldNode.d.ts.map +1 -0
  231. package/dist/utils/foldNode.js +242 -0
  232. package/dist/utils/foldNode.js.map +1 -0
  233. package/dist/utils/getIconByType.d.ts +4 -0
  234. package/dist/utils/getIconByType.d.ts.map +1 -0
  235. package/dist/utils/getIconByType.js +72 -0
  236. package/dist/utils/getIconByType.js.map +1 -0
  237. package/dist/utils/index.d.ts +5 -0
  238. package/dist/utils/index.d.ts.map +1 -0
  239. package/dist/utils/index.js +5 -0
  240. package/dist/utils/index.js.map +1 -0
  241. package/dist/utils/manager.d.ts +25 -0
  242. package/dist/utils/manager.d.ts.map +1 -0
  243. package/dist/utils/manager.js +158 -0
  244. package/dist/utils/manager.js.map +1 -0
  245. package/dist/utils/node.d.ts +33 -0
  246. package/dist/utils/node.d.ts.map +1 -0
  247. package/dist/utils/node.js +385 -0
  248. package/dist/utils/node.js.map +1 -0
  249. package/package.json +1 -1
@@ -0,0 +1,770 @@
1
+ import { __assign, __read, __spreadArray } from "tslib";
2
+ import { BigLayout, Graph, isNodeVisible, } from '@aloudata/ink-graph-new';
3
+ import { TableDataProcessor, ExpandManager, TaskGraphEventManager, } from './index';
4
+ import { EDashType, EDirection, ELineageType, EGraphMode, EEventEnum, } from '../types';
5
+ import { getRelatedData, getTaskRelatedData } from '../utils';
6
+ import { SearchNodeManager, TableRightKeyMenuManager, FoldLineageManager, } from '.';
7
+ import _ from 'lodash';
8
+ import { ToolbarManager } from './ToolbarManager';
9
+ import EventEmitter from 'eventemitter3';
10
+ import { CustomNode, TableNode, DefaultEdge, } from '../components';
11
+ import { DefaultNode } from '../components/Nodes/DefaultNode';
12
+ import { CustomEventManager, TableEventManager, ColumnEventManager, } from './nodeManager';
13
+ import { CUSTOM_NODE, BASE_NODE, FOLD_EDGE, LINEAGE_EDGE, TABLE_NODE, BASE_EDGE, TASK_TABLE_NODE, TASK_TABLE_WIDTH, } from '../constant';
14
+ import { FoldEdge } from '../components/Edges/FoldEdge';
15
+ import { LineageEdge } from '../components/Edges/LineageEdge';
16
+ import { TableGraphEventManager } from './TableGraphEventManager';
17
+ import { hideEdgeTypes, onZoomChange, updateColumnPosition, updateNodeHeight, } from '../utils/manager';
18
+ import { TaskTableNode } from '../components/Nodes/Task/TaskTableNode';
19
+ import { TaskTableEventManager } from './nodeManager/task/TaskTableEventManager';
20
+ import { TaskColumnEventManager } from './nodeManager/task/TaskColumnEventManager';
21
+ import { TaskDataProcessor } from './TaskDataProcessor';
22
+ import { TaskRightKeyMenuManager } from './TaskRightKeyMenuManager';
23
+ import { mat4, vec3 } from 'gl-matrix';
24
+ import { BigDagre } from '../BigDagre';
25
+ import { AssetBaseNode } from '../components/Nodes/Table/AssetBaseNode';
26
+ var InkLineageManager = /** @class */ (function () {
27
+ function InkLineageManager(data, config) {
28
+ this.emitter = new EventEmitter();
29
+ this.activeEdges = [];
30
+ this.activeNodes = [];
31
+ this.relatedNodes = [];
32
+ this.relatedEdges = [];
33
+ this.cachedRelatedNodeConfig = null;
34
+ this.nodesMap = new Map();
35
+ this.childrenColumnsMap = new Map();
36
+ this.relatedColumnsMap = new Map();
37
+ this.edgesMap = new Map();
38
+ this.layoutControl = {
39
+ shouldGroupNodes: true,
40
+ shouldLayout: true,
41
+ };
42
+ this.config = config;
43
+ this.canvasDomRoot = _.isString(config.root)
44
+ ? document.getElementById(config.root)
45
+ : config.root;
46
+ this.setData(data);
47
+ // 初始化managers
48
+ this.initManagers();
49
+ this.initGraph();
50
+ this.graphEventManager.init();
51
+ if (this.config.lineageType === ELineageType.TABLE) {
52
+ this.expandManager.init();
53
+ }
54
+ }
55
+ Object.defineProperty(InkLineageManager.prototype, "isExpanding", {
56
+ get: function () {
57
+ var _a;
58
+ return (_a = this.expandManager) === null || _a === void 0 ? void 0 : _a.isExpanding;
59
+ },
60
+ enumerable: false,
61
+ configurable: true
62
+ });
63
+ InkLineageManager.prototype.initManagers = function () {
64
+ this.searchNodeManager = new SearchNodeManager(this);
65
+ if (this.config.lineageType === ELineageType.TABLE) {
66
+ this.tableEventManager = new TableEventManager(this);
67
+ this.customEventManager = new CustomEventManager(this);
68
+ this.columnEventManager = new ColumnEventManager(this);
69
+ this.graphEventManager = new TableGraphEventManager(this);
70
+ this.dataProcessor = new TableDataProcessor(this);
71
+ this.foldLineageManager = new FoldLineageManager(this);
72
+ this.rightKeyMenuManager = new TableRightKeyMenuManager(this);
73
+ this.toolbarManager = new ToolbarManager(this);
74
+ this.expandManager = new ExpandManager(this);
75
+ }
76
+ else {
77
+ this.tableEventManager = new TaskTableEventManager(this);
78
+ this.columnEventManager = new TaskColumnEventManager(this);
79
+ this.graphEventManager = new TaskGraphEventManager(this);
80
+ this.dataProcessor = new TaskDataProcessor(this);
81
+ this.rightKeyMenuManager = new TaskRightKeyMenuManager(this);
82
+ }
83
+ };
84
+ InkLineageManager.prototype.initGraph = function () {
85
+ var _this = this;
86
+ var _a = this.config, root = _a.root, cullingConfig = _a.cullingConfig, layoutConfig = _a.layoutConfig, zoomConfig = _a.zoomConfig;
87
+ var graph = new Graph({
88
+ root: root,
89
+ culling: cullingConfig,
90
+ layout: layoutConfig,
91
+ minimap: { enable: this.parsedData.nodes.length > 0 },
92
+ tools: {
93
+ zoom: __assign(__assign({}, zoomConfig), { onZoomChange: function (mode) {
94
+ if (_this.config.lineageType === ELineageType.TABLE) {
95
+ onZoomChange(mode, _this);
96
+ }
97
+ } }),
98
+ resetViewport: {
99
+ visible: true,
100
+ onResetViewportChange: function () {
101
+ _this.update({ shouldGroupNodes: false });
102
+ },
103
+ },
104
+ },
105
+ canvasCallback: {
106
+ onDrop: function () {
107
+ var _a, _b, _c, _d;
108
+ if (((_b = (_a = _this.config) === null || _a === void 0 ? void 0 : _a.cullingConfig) === null || _b === void 0 ? void 0 : _b.auto) &&
109
+ _this.parsedData.nodes.length > ((_d = (_c = _this.config) === null || _c === void 0 ? void 0 : _c.cullingConfig) === null || _d === void 0 ? void 0 : _d.max)) {
110
+ _this.update({ shouldGroupNodes: false });
111
+ }
112
+ },
113
+ onWheel: function () {
114
+ var _a, _b, _c, _d;
115
+ if (((_b = (_a = _this.config) === null || _a === void 0 ? void 0 : _a.cullingConfig) === null || _b === void 0 ? void 0 : _b.auto) &&
116
+ _this.parsedData.nodes.length > ((_d = (_c = _this.config) === null || _c === void 0 ? void 0 : _c.cullingConfig) === null || _d === void 0 ? void 0 : _d.max)) {
117
+ _this.update({ shouldGroupNodes: false });
118
+ }
119
+ },
120
+ },
121
+ });
122
+ this.graph = graph;
123
+ // register custom node
124
+ if (this.config.lineageType === ELineageType.TASK) {
125
+ graph.registerNode(BASE_NODE, TaskTableNode);
126
+ graph.registerEdge(BASE_EDGE, LineageEdge);
127
+ }
128
+ else {
129
+ graph.registerNode(BASE_NODE, AssetBaseNode);
130
+ }
131
+ graph.registerNode(TABLE_NODE, TableNode);
132
+ graph.registerNode(TASK_TABLE_NODE, TaskTableNode);
133
+ graph.registerNode(CUSTOM_NODE, CustomNode);
134
+ graph.registerEdge(FOLD_EDGE, FoldEdge);
135
+ graph.registerEdge(LINEAGE_EDGE, LineageEdge);
136
+ DefaultNode.lineageManager = this;
137
+ DefaultEdge.lineageManager = this;
138
+ this.render(false, true);
139
+ };
140
+ InkLineageManager.prototype.on = function (type, listener) {
141
+ this.emitter.on(type, listener);
142
+ };
143
+ InkLineageManager.prototype.once = function (type, listener) {
144
+ this.emitter.once(type, listener);
145
+ };
146
+ InkLineageManager.prototype.emit = function (event, data) {
147
+ this.emitter.emit(event, data);
148
+ };
149
+ InkLineageManager.prototype.off = function (type, listener) {
150
+ this.emitter.off(type, listener);
151
+ };
152
+ InkLineageManager.prototype.layout = function (nodes, edges) {
153
+ var _a, _b, _c;
154
+ if (nodes === void 0) { nodes = this.parsedData.nodes; }
155
+ if (edges === void 0) { edges = this.parsedData.edges; }
156
+ var layoutData;
157
+ if (this.config.lineageType === ELineageType.TABLE) {
158
+ layoutData = BigLayout(nodes, edges, this.canvasDomRoot, {
159
+ shouldGroupNodes: this.layoutControl.shouldGroupNodes,
160
+ sortConfig: (_c = (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.layoutConfig) === null || _b === void 0 ? void 0 : _b.sortRules) !== null && _c !== void 0 ? _c : [],
161
+ mode: this.graph.mode,
162
+ });
163
+ }
164
+ else {
165
+ layoutData = BigDagre(nodes, edges, this.getCanvas(), {
166
+ rankdir: 'LR',
167
+ excludeIndirectEdges: true,
168
+ ranksep: 80,
169
+ });
170
+ }
171
+ return layoutData || { nodes: [], edges: [] };
172
+ };
173
+ InkLineageManager.prototype.getState = function () {
174
+ var _a;
175
+ return {
176
+ activeNodesId: this.activeNodes.map(function (item) { return item.id; }),
177
+ relatedNodesId: this.relatedNodes.map(function (item) { return item.id; }),
178
+ relatedEdgesId: this.relatedEdges.map(function (item) { return item.id; }),
179
+ cachedRelatedNodeConfigId: (_a = this.cachedRelatedNodeConfig) === null || _a === void 0 ? void 0 : _a.id,
180
+ parsedData: this.parsedData,
181
+ expandManager: this.expandManager.getState(),
182
+ toolbarManager: this.toolbarManager.getState(),
183
+ rightKeyMenuManager: this.rightKeyMenuManager.getState(),
184
+ foldLineageManager: this.foldLineageManager.getState(),
185
+ };
186
+ };
187
+ InkLineageManager.prototype.updateState = function (data) {
188
+ var _this = this;
189
+ var activeNodesId = data.activeNodesId, relatedNodesId = data.relatedNodesId, relatedEdgesId = data.relatedEdgesId, cachedRelatedNodeConfigId = data.cachedRelatedNodeConfigId, expandManager = data.expandManager, toolbarManager = data.toolbarManager, rightKeyMenuManager = data.rightKeyMenuManager, foldLineageManager = data.foldLineageManager;
190
+ this.activeNodes = activeNodesId.map(function (id) { return _this.getNodeConfigById(id); });
191
+ this.relatedNodes = relatedNodesId.map(function (id) { return _this.getNodeConfigById(id); });
192
+ this.relatedEdges = relatedEdgesId.map(function (id) { return _this.getEdgeConfigById(id); });
193
+ this.cachedRelatedNodeConfig = this.getNodeConfigById(cachedRelatedNodeConfigId);
194
+ this.expandManager.updateState(expandManager);
195
+ this.toolbarManager.updateState(toolbarManager);
196
+ this.rightKeyMenuManager.updateState(rightKeyMenuManager);
197
+ this.foldLineageManager.updateState(foldLineageManager);
198
+ this.update();
199
+ };
200
+ InkLineageManager.prototype.render = function (isUpdate, isInit) {
201
+ var _a, _b;
202
+ if (isUpdate === void 0) { isUpdate = false; }
203
+ if (!this.parsedData)
204
+ return;
205
+ if (this.config.lineageType === ELineageType.TABLE) {
206
+ this.refreshExtraStatus();
207
+ }
208
+ else {
209
+ this.taskRefreshExtraStatus();
210
+ }
211
+ if (this.layoutControl.shouldLayout) {
212
+ var _c = this.parsedData, nodes = _c.nodes, edges = _c.edges;
213
+ var visibleNodes = nodes.filter(function (node) { return node.visible; });
214
+ var visibleEdges = edges.filter(function (edge) { return edge.visible; });
215
+ var layoutData = this.layout(visibleNodes, visibleEdges);
216
+ var data = this.handleCulling(layoutData);
217
+ this.graph.setData(data);
218
+ }
219
+ if (isUpdate) {
220
+ (_a = this.graph) === null || _a === void 0 ? void 0 : _a.update();
221
+ }
222
+ else {
223
+ (_b = this.graph) === null || _b === void 0 ? void 0 : _b.render();
224
+ }
225
+ if (this.config.lineageType === ELineageType.TASK && isInit) {
226
+ this.taskTranslate();
227
+ }
228
+ this.resetLayoutControl();
229
+ };
230
+ InkLineageManager.prototype.taskTranslate = function () {
231
+ var _this = this;
232
+ var _a, _b, _c, _d, _e, _f;
233
+ var rightNode = '';
234
+ (_b = (_a = this.graph) === null || _a === void 0 ? void 0 : _a.nodes) === null || _b === void 0 ? void 0 : _b.forEach(function (node) {
235
+ var _a, _b, _c;
236
+ if (!node.config.visible)
237
+ return;
238
+ var target = node.bgRect;
239
+ var _d = __read(target.getPosition(), 1), x = _d[0];
240
+ var curRightNodeX = (_c = (_b = (_a = _this.graph.nodes) === null || _a === void 0 ? void 0 : _a.get(rightNode)) === null || _b === void 0 ? void 0 : _b.getPosition) === null || _c === void 0 ? void 0 : _c.call(_b)[0];
241
+ if (rightNode === '' || x > curRightNodeX)
242
+ rightNode = node === null || node === void 0 ? void 0 : node.id;
243
+ });
244
+ if (!rightNode)
245
+ return;
246
+ var canvasW = (_c = this.graph) === null || _c === void 0 ? void 0 : _c.getWidth();
247
+ var canvasH = (_d = this.graph) === null || _d === void 0 ? void 0 : _d.getHeight();
248
+ var target = (_e = this.graph.nodes) === null || _e === void 0 ? void 0 : _e.get(rightNode);
249
+ var _g = __read(target.getPosition(), 2), x = _g[0], y = _g[1];
250
+ var _h = target.getBBox(), height = _h.height, width = _h.width;
251
+ var innerWidth = window.innerWidth, innerHeight = window.innerHeight;
252
+ var offsetX = (-200 * innerWidth) / 1920;
253
+ var offsetY = (100 * innerHeight) / 1080;
254
+ (_f = this.graph) === null || _f === void 0 ? void 0 : _f.translate(x - canvasW / 2 + width / 2 + offsetX, y - canvasH / 2 + height / 2 + offsetY);
255
+ };
256
+ InkLineageManager.prototype.update = function (layoutControl) {
257
+ if (layoutControl) {
258
+ this.layoutControl = __assign(__assign({}, this.layoutControl), layoutControl);
259
+ }
260
+ this.render(true);
261
+ };
262
+ InkLineageManager.prototype.resetLayoutControl = function () {
263
+ this.layoutControl = {
264
+ shouldGroupNodes: true,
265
+ shouldLayout: true,
266
+ };
267
+ };
268
+ InkLineageManager.prototype.destroy = function () {
269
+ var _a;
270
+ (_a = this.graph) === null || _a === void 0 ? void 0 : _a.destroy();
271
+ this.graph = null;
272
+ };
273
+ InkLineageManager.prototype.setData = function (data) {
274
+ if (this.getMode() === 'SIMPLE' &&
275
+ this.config.lineageType === ELineageType.TABLE) {
276
+ data.edges.forEach(function (edge) {
277
+ if (hideEdgeTypes.includes(edge.data.relationTypeCode)) {
278
+ edge.visible = false;
279
+ edge.canBeFold = true;
280
+ edge.isFolded = true;
281
+ }
282
+ });
283
+ }
284
+ this.parsedData = data;
285
+ this.updateDataMaps(this.parsedData);
286
+ };
287
+ InkLineageManager.prototype.updateData = function (data) {
288
+ this.setData(data);
289
+ this.update();
290
+ };
291
+ // 裁剪逻辑
292
+ InkLineageManager.prototype.handleCulling = function (data) {
293
+ var _this = this;
294
+ var _a, _b;
295
+ var _c = ((_a = this.config) === null || _a === void 0 ? void 0 : _a.cullingConfig) || { auto: false, max: 0 }, auto = _c.auto, max = _c.max;
296
+ var culling = auto && this.parsedData.nodes.length > max;
297
+ var nodesConfig = data.nodes;
298
+ var edgesConfig = data.edges;
299
+ if (culling) {
300
+ var orthoMatrix_1 = this.getCanvas().getCamera().getOrthoMatrix();
301
+ // set nodes & edges
302
+ var nodesConfigMap_1 = new Map();
303
+ nodesConfig = (_b = data === null || data === void 0 ? void 0 : data.nodes) === null || _b === void 0 ? void 0 : _b.filter(function (node) {
304
+ var isVisible = isNodeVisible(node, _this.canvasDomRoot.clientWidth, _this.canvasDomRoot.clientHeight, orthoMatrix_1);
305
+ if (isVisible) {
306
+ nodesConfigMap_1.set(node.id, node);
307
+ }
308
+ return isVisible;
309
+ });
310
+ }
311
+ return {
312
+ nodes: nodesConfig,
313
+ edges: edgesConfig,
314
+ };
315
+ };
316
+ InkLineageManager.prototype.taskRefreshExtraStatus = function () {
317
+ var _a, _b, _c, _d, _e;
318
+ // 刷新相关节点和边的高亮样式(如果打开了间接血缘按钮,那这些间接血缘也需要高亮)
319
+ if (((_a = this.rightKeyMenuManager) === null || _a === void 0 ? void 0 : _a.exploreState.mode) === EGraphMode.NORMAL) {
320
+ (_b = this.dataProcessor) === null || _b === void 0 ? void 0 : _b.refreshRelatedNodesAndEdges(this.relatedNodes, this.relatedEdges);
321
+ }
322
+ (_c = this.dataProcessor) === null || _c === void 0 ? void 0 : _c.updateNodesAndEdgesVisible(this.parsedData, (_d = this.rightKeyMenuManager) === null || _d === void 0 ? void 0 : _d.edgeDashVisible, (_e = this.rightKeyMenuManager) === null || _e === void 0 ? void 0 : _e.onlyShowRelated);
323
+ updateNodeHeight(this.parsedData);
324
+ updateColumnPosition(this.parsedData);
325
+ };
326
+ InkLineageManager.prototype.refreshExtraStatus = function () {
327
+ var _a, _b, _c, _d, _e, _f;
328
+ // 刷新相关节点和边的高亮样式(如果打开了间接血缘按钮,那这些间接血缘也需要高亮)
329
+ (_a = this.dataProcessor) === null || _a === void 0 ? void 0 : _a.refreshRelatedNodesAndEdges(this.relatedNodes, this.relatedEdges);
330
+ (_b = this.dataProcessor) === null || _b === void 0 ? void 0 : _b.updateNodesAndEdgesVisible(this.parsedData, (_c = this.rightKeyMenuManager) === null || _c === void 0 ? void 0 : _c.edgeDashVisible, (_d = this.rightKeyMenuManager) === null || _d === void 0 ? void 0 : _d.onlyShowRelated, (_e = this.foldLineageManager) === null || _e === void 0 ? void 0 : _e.isFoldChecked);
331
+ (_f = this.dataProcessor) === null || _f === void 0 ? void 0 : _f.updateSideIconVisible(this.parsedData);
332
+ updateNodeHeight(this.parsedData);
333
+ updateColumnPosition(this.parsedData);
334
+ };
335
+ InkLineageManager.prototype.updateActiveNodes = function (nodes) {
336
+ var _a, _b;
337
+ // reset prev active nodes
338
+ (_a = this.activeNodes) === null || _a === void 0 ? void 0 : _a.forEach(function (n) {
339
+ if (!n)
340
+ return;
341
+ n.isActive = false;
342
+ n.style.stroke = '#B1B1B1';
343
+ n.style.fill = '#fff';
344
+ n.style.zIndex = 2;
345
+ });
346
+ // update new active nodes
347
+ this.activeNodes = nodes;
348
+ (_b = this.activeNodes) === null || _b === void 0 ? void 0 : _b.forEach(function (n) {
349
+ if (!n)
350
+ return;
351
+ n.isActive = true;
352
+ n.style.stroke = '#3271C9';
353
+ n.style.fill = '#A9CFFB';
354
+ n.style.zIndex = 3;
355
+ });
356
+ };
357
+ InkLineageManager.prototype.resetActiveNodes = function () {
358
+ this.updateActiveNodes([]);
359
+ };
360
+ InkLineageManager.prototype.updateRelatedNodes = function (nodes, edges, needUpdate) {
361
+ var _this = this;
362
+ var _a, _b, _c;
363
+ if (needUpdate === void 0) { needUpdate = true; }
364
+ // reset prev related nodes
365
+ var activeNodeIds = this.activeNodes.map(function (n) { return n.id; });
366
+ (_a = this.relatedNodes) === null || _a === void 0 ? void 0 : _a.forEach(function (n) {
367
+ if (!n || activeNodeIds.includes(n.id))
368
+ return;
369
+ n.isRelated = false;
370
+ n.style.stroke = '#B1B1B1';
371
+ if (!n.isActive)
372
+ n.style.fill = '#fff';
373
+ n.style.zIndex = 1;
374
+ if (n === null || n === void 0 ? void 0 : n.tableId) {
375
+ var tableNode = _this.getNodeConfigById(n.tableId);
376
+ if (tableNode) {
377
+ tableNode.isRelated = false;
378
+ }
379
+ }
380
+ });
381
+ // reset prev related edges
382
+ (_b = this.relatedEdges) === null || _b === void 0 ? void 0 : _b.forEach(function (edge) {
383
+ var isFold = edge.inFoldLink && _this.foldLineageManager.isFoldChecked;
384
+ if (isFold || edge.isExtraFoldEdge)
385
+ return;
386
+ _this.resetEdgeStyle(edge);
387
+ });
388
+ // update new related nodes
389
+ this.relatedNodes = nodes;
390
+ (_c = this.relatedNodes) === null || _c === void 0 ? void 0 : _c.forEach(function (n) {
391
+ if (!n)
392
+ return;
393
+ n.isRelated = true;
394
+ n.style.stroke = '#3271C9';
395
+ if (!n.isActive)
396
+ n.style.fill = '#E4EFFF';
397
+ n.style.zIndex = 3;
398
+ if (n === null || n === void 0 ? void 0 : n.tableId) {
399
+ var tableNode = _this.getNodeConfigById(n.tableId);
400
+ if (tableNode) {
401
+ tableNode.isRelated = true;
402
+ }
403
+ }
404
+ });
405
+ // update new related edges
406
+ this.relatedEdges = edges;
407
+ this.relatedEdges.forEach(function (edge) {
408
+ var isFold = edge.inFoldLink && _this.foldLineageManager.isFoldChecked;
409
+ if (isFold || edge.isExtraFoldEdge)
410
+ return;
411
+ edge.style.stroke = '#3271C9';
412
+ edge.style.lineWidth = 1.5;
413
+ edge.style.zIndex = 1;
414
+ });
415
+ if (needUpdate) {
416
+ this.update({ shouldLayout: false });
417
+ }
418
+ };
419
+ InkLineageManager.prototype.resetEdgeStyle = function (edge) {
420
+ edge.type = this.getMode() === 'SIMPLE' ? BASE_EDGE : LINEAGE_EDGE;
421
+ edge.style.stroke = '#B1B1B1';
422
+ edge.style.lineWidth = 1;
423
+ edge.style.zIndex = -1;
424
+ };
425
+ InkLineageManager.prototype.resetRelatedNodes = function (needUpdate) {
426
+ if (needUpdate === void 0) { needUpdate = true; }
427
+ this.updateRelatedNodes([], [], needUpdate);
428
+ };
429
+ InkLineageManager.prototype.resetHighLight = function () {
430
+ var prevHighlightNodeConfig = this.getNodeConfigById(this.searchNodeManager.highlightNodeId);
431
+ if (prevHighlightNodeConfig) {
432
+ // reset highlight
433
+ prevHighlightNodeConfig.style.stroke = '#E8E8E8';
434
+ prevHighlightNodeConfig.style.fill = '#FFF';
435
+ }
436
+ this.update({ shouldLayout: false });
437
+ };
438
+ InkLineageManager.prototype.getNodeConfigById = function (id) {
439
+ var tableNodeConfig = this.getTableNodeConfigById(id);
440
+ var relatedColumnConfig = this.getRelatedColumnConfigById(id);
441
+ var childrenColumnConfig = this.getChildrenColumnConfigById(id);
442
+ return (tableNodeConfig ||
443
+ ((relatedColumnConfig === null || relatedColumnConfig === void 0 ? void 0 : relatedColumnConfig.visible)
444
+ ? relatedColumnConfig
445
+ : childrenColumnConfig));
446
+ };
447
+ InkLineageManager.prototype.getTableNodeConfigById = function (id) {
448
+ return this.nodesMap.get(id);
449
+ };
450
+ InkLineageManager.prototype.getRelatedColumnConfigById = function (id) {
451
+ return this.relatedColumnsMap.get(id);
452
+ };
453
+ InkLineageManager.prototype.getChildrenColumnConfigById = function (id) {
454
+ return this.childrenColumnsMap.get(id);
455
+ };
456
+ InkLineageManager.prototype.setTaskRelatedNodesAndEdges = function (nodeConfig, needUpdate, direction) {
457
+ if (needUpdate === void 0) { needUpdate = true; }
458
+ if (direction === void 0) { direction = EDirection.BOTH; }
459
+ this.cachedRelatedNodeConfig = nodeConfig;
460
+ var edgeDashVisible = this.rightKeyMenuManager.edgeDashVisible;
461
+ if (!nodeConfig)
462
+ return;
463
+ var relatedNodes = [];
464
+ var relatedEdges = [];
465
+ if (direction === EDirection.BOTH) {
466
+ // update related ui
467
+ // 获取与点击节点相关的节点/边(包含自己在内)
468
+ var relatedInputs = getTaskRelatedData(nodeConfig, this.parsedData.nodes, this.parsedData.edges, EDirection.INPUT, edgeDashVisible);
469
+ var relatedOutputs = getTaskRelatedData(nodeConfig, this.parsedData.nodes, this.parsedData.edges, EDirection.OUTPUT, edgeDashVisible);
470
+ // 高亮是把点击节点的上下游节点/边都高亮,所以要去重
471
+ relatedNodes = _.uniqBy(__spreadArray(__spreadArray([], __read(relatedInputs.relatedNodes), false), __read(relatedOutputs.relatedNodes), false), 'id');
472
+ relatedEdges = _.uniqBy(__spreadArray(__spreadArray([], __read(relatedInputs.relatedEdges), false), __read(relatedOutputs.relatedEdges), false), 'id');
473
+ }
474
+ else if (direction === EDirection.INPUT ||
475
+ direction === EDirection.OUTPUT) {
476
+ var relatedInputsOrOutputs = getTaskRelatedData(nodeConfig, this.parsedData.nodes, this.parsedData.edges, direction, edgeDashVisible);
477
+ var _relatedNodes = relatedInputsOrOutputs.relatedNodes, _relatedEdges = relatedInputsOrOutputs.relatedEdges;
478
+ if (
479
+ // 间接血缘开关已打开就不需要进行此判断
480
+ edgeDashVisible === EDashType.DIRECT &&
481
+ _relatedEdges.every(function (e) { return e.relationType === EDashType.INDIRECT; })) {
482
+ // 清空上一次探索的相关列
483
+ this.clearRelatedColumns();
484
+ // 取消之前点击节点的相关节点的高亮状态;间接血缘从开到关的情况下相关表应当取消高亮
485
+ // 该探索节点只有间接血缘导致没有其相关节点被高亮,但此时已经进入了探索模式,所以仍需要取消之前的高亮状态
486
+ this.resetRelatedNodes(true);
487
+ return this.emit(EEventEnum.NOTIFICATION_TIPS, {
488
+ message: '当前字段只有间接血缘,请打开间接血缘开关后查看',
489
+ });
490
+ }
491
+ relatedNodes = _relatedNodes;
492
+ relatedEdges = _relatedEdges;
493
+ }
494
+ // 设置点击节点的上下游节点/边的高亮样式并进行最终的图形更新
495
+ this.updateRelatedNodes(relatedNodes, relatedEdges, needUpdate);
496
+ };
497
+ InkLineageManager.prototype.setRelatedNodesAndEdges = function (nodeConfig, needUpdate) {
498
+ if (needUpdate === void 0) { needUpdate = true; }
499
+ this.cachedRelatedNodeConfig = nodeConfig;
500
+ if (!nodeConfig)
501
+ return;
502
+ // update related ui
503
+ var relatedInputs = getRelatedData(nodeConfig, this.parsedData.nodes, this.parsedData.edges, EDirection.INPUT);
504
+ var relatedOutputs = getRelatedData(nodeConfig, this.parsedData.nodes, this.parsedData.edges, EDirection.OUTPUT);
505
+ var relatedNodes = _.uniqBy(__spreadArray(__spreadArray([], __read(relatedInputs.relatedNodes), false), __read(relatedOutputs.relatedNodes), false), 'id');
506
+ var relatedEdges = _.uniqBy(__spreadArray(__spreadArray([], __read(relatedInputs.relatedEdges), false), __read(relatedOutputs.relatedEdges), false), 'id');
507
+ this.updateRelatedNodes(relatedNodes, relatedEdges, needUpdate);
508
+ };
509
+ InkLineageManager.prototype.getEdgeConfigById = function (id) {
510
+ return this.edgesMap.get(id);
511
+ };
512
+ InkLineageManager.prototype.resetToolConfig = function () {
513
+ var _a;
514
+ (_a = this.foldLineageManager) === null || _a === void 0 ? void 0 : _a.resetFoldCheck();
515
+ this.rightKeyMenuManager.resetEdgeDashVisible();
516
+ this.rightKeyMenuManager.resetOnlyShowRelated();
517
+ };
518
+ InkLineageManager.prototype.setChildrenColumnsMap = function (id, column) {
519
+ this.childrenColumnsMap.set(id, column);
520
+ };
521
+ // Add method to update the maps
522
+ InkLineageManager.prototype.updateDataMaps = function (data) {
523
+ var _this = this;
524
+ // Clear existing maps
525
+ this.nodesMap.clear();
526
+ this.relatedColumnsMap.clear();
527
+ this.childrenColumnsMap.clear();
528
+ this.edgesMap.clear();
529
+ // Populate node map
530
+ data.nodes.forEach(function (node) {
531
+ var _a, _b;
532
+ _this.nodesMap.set(node.id, node);
533
+ // Add children to the map as well
534
+ (_a = node.children) === null || _a === void 0 ? void 0 : _a.forEach(function (child) {
535
+ _this.childrenColumnsMap.set(child.id, child);
536
+ });
537
+ // Add related columns to the map
538
+ (_b = node.relatedColumns) === null || _b === void 0 ? void 0 : _b.forEach(function (col) {
539
+ _this.relatedColumnsMap.set(col.id, col);
540
+ });
541
+ });
542
+ // Populate edge map
543
+ data.edges.forEach(function (edge) {
544
+ _this.edgesMap.set(edge.id, edge);
545
+ });
546
+ };
547
+ InkLineageManager.prototype.clearAllTableRelatedColumns = function (nodeConfig) {
548
+ if (!nodeConfig)
549
+ return;
550
+ if (nodeConfig.isStartNode) {
551
+ this.parsedData.nodes.forEach(function (node) {
552
+ node.relatedColumns = [];
553
+ });
554
+ }
555
+ };
556
+ /**************************************** 扩展 *******************************/
557
+ InkLineageManager.prototype.showExpandLoading = function (target, direction) {
558
+ this.expandManager.showExpandLoading(target, direction);
559
+ };
560
+ InkLineageManager.prototype.hideExpandLoading = function () {
561
+ this.expandManager.hideExpandLoading();
562
+ };
563
+ /**************************************** 全局搜索 *******************************/
564
+ InkLineageManager.prototype.searchNode = function (input) {
565
+ this.searchNodeManager.searchNode(input);
566
+ };
567
+ /**************************************** 工具栏 *******************************/
568
+ InkLineageManager.prototype.refreshToolbarRelatedStatus = function (nodeConfig) {
569
+ var _a;
570
+ (_a = this.toolbarManager) === null || _a === void 0 ? void 0 : _a.updateOnlyRelatedVisible(nodeConfig);
571
+ };
572
+ /**************************************** 右键菜单 *******************************/
573
+ // update overview info
574
+ InkLineageManager.prototype.setOverview = function (data) {
575
+ this.rightKeyMenuManager.setOverview(data);
576
+ };
577
+ // show context menu
578
+ InkLineageManager.prototype.showContextMenu = function (data) {
579
+ this.rightKeyMenuManager.showContextMenu(data);
580
+ };
581
+ // hide context menu
582
+ InkLineageManager.prototype.hideContextMenu = function () {
583
+ this.rightKeyMenuManager.hideContextMenu();
584
+ };
585
+ // show hotspot modal
586
+ InkLineageManager.prototype.updateHotspotModalState = function (data) {
587
+ this.rightKeyMenuManager.updateHotspotModalState(data);
588
+ };
589
+ // update direct & indirect table visible
590
+ InkLineageManager.prototype.updateEdgeDashVisible = function (edgeDashVisible) {
591
+ this.rightKeyMenuManager.updateEdgeDashVisible(edgeDashVisible);
592
+ };
593
+ InkLineageManager.prototype.getHotspotModalState = function () {
594
+ return this.rightKeyMenuManager.hotspotModalState;
595
+ };
596
+ InkLineageManager.prototype.getContextMenuState = function () {
597
+ return this.rightKeyMenuManager.contextMenuState;
598
+ };
599
+ InkLineageManager.prototype.getHotspotTipState = function () {
600
+ return this.rightKeyMenuManager.hotspotTipState;
601
+ };
602
+ InkLineageManager.prototype.getOverviewState = function () {
603
+ return this.rightKeyMenuManager.overviewState;
604
+ };
605
+ InkLineageManager.prototype.setExploreState = function (data) {
606
+ this.rightKeyMenuManager.setExploreState(data);
607
+ };
608
+ InkLineageManager.prototype.getExploreState = function () {
609
+ return this.rightKeyMenuManager.exploreState;
610
+ };
611
+ InkLineageManager.prototype.getToolbarState = function () {
612
+ var _a;
613
+ return (_a = this === null || this === void 0 ? void 0 : this.toolbarManager) === null || _a === void 0 ? void 0 : _a.state;
614
+ };
615
+ // 任务
616
+ InkLineageManager.prototype.clearRelatedColumns = function () {
617
+ this.parsedData.nodes.forEach(function (n) { return (n.relatedColumns = []); });
618
+ };
619
+ // 任务
620
+ InkLineageManager.prototype.updateHighlightEdges = function (edges) {
621
+ var _this = this;
622
+ this.activeEdges.forEach(function (e) {
623
+ var _a;
624
+ var edge = (_a = _this.graph) === null || _a === void 0 ? void 0 : _a.edges.get(e.id);
625
+ if (!edge)
626
+ return;
627
+ edge.config.style.stroke = '#B1B1B1';
628
+ edge.config.style.lineWidth = 1;
629
+ edge.config.style.zIndex = -1;
630
+ });
631
+ // update new active edges
632
+ this.activeEdges = edges;
633
+ this.activeEdges.forEach(function (e) {
634
+ var _a;
635
+ var edge = (_a = _this.graph) === null || _a === void 0 ? void 0 : _a.edges.get(e.id);
636
+ if (!edge)
637
+ return;
638
+ edge.config.style.stroke = '#FFC04D';
639
+ edge.config.style.lineWidth = 1;
640
+ edge.config.style.zIndex = -1;
641
+ });
642
+ };
643
+ // 任务
644
+ InkLineageManager.prototype.highlightRelatedNodesByStatus = function () {
645
+ var _this = this;
646
+ this.relatedNodes.forEach(function (n) {
647
+ if (!n)
648
+ return;
649
+ if (_this.currentClickId.includes(n.id)) {
650
+ n.style.stroke = '#FFC04D';
651
+ n.style.fill = '#FFD180';
652
+ n.style.zIndex = 3;
653
+ }
654
+ else if (n.isActive) {
655
+ n.isActive = true;
656
+ n.style.stroke = '#3271C9';
657
+ n.style.fill = '#A9CFFB';
658
+ n.style.zIndex = 3;
659
+ }
660
+ else {
661
+ n.isRelated = true;
662
+ n.style.stroke = '#3271C9';
663
+ if (!n.isActive) {
664
+ n.style.fill = '#E4EFFF';
665
+ }
666
+ n.style.zIndex = 3;
667
+ }
668
+ });
669
+ };
670
+ // 任务
671
+ InkLineageManager.prototype.collapseAllNodes = function () {
672
+ this.parsedData.nodes.forEach(function (node) { return (node.isOpen = false); });
673
+ };
674
+ // 任务
675
+ InkLineageManager.prototype.determineNodeIsInView = function (node) {
676
+ var _a, _b;
677
+ if (!node)
678
+ return;
679
+ var target = node.bgRect;
680
+ var _c = target.getBBox(), height = _c.height, width = _c.width;
681
+ var _d = __read(target.getPosition(), 2), x = _d[0], y = _d[1];
682
+ // 画布的宽高
683
+ var wrapperWidth = this.graph.getWidth();
684
+ var wrapperHeight = this.graph.getHeight();
685
+ var camera = this.graph.canvas.getCamera();
686
+ if (this.rightKeyMenuManager.exploreState.mode === EGraphMode.EXPLORE) {
687
+ var sidebarWidth = 650;
688
+ wrapperWidth = wrapperWidth - sidebarWidth;
689
+ }
690
+ var _e = __read(mat4.getTranslation(vec3.create(), camera.getOrthoMatrix()), 2), rootX = _e[0], rootY = _e[1];
691
+ var zoom = this.graph.getZoom();
692
+ // const zoom = camera.getZoom();
693
+ var xCenter = (rootX + x + width / 2) * zoom;
694
+ var yCenter = (rootY + y + height / 2) * zoom;
695
+ var isVisible = xCenter > 0 &&
696
+ xCenter < wrapperWidth &&
697
+ yCenter > 0 &&
698
+ yCenter < wrapperHeight;
699
+ if (target.isCulled() || !isVisible) {
700
+ // this.searchNodeManager.moveTargetToCenter(target);
701
+ var canvasW = this.graph.getWidth();
702
+ var canvasH = this.graph.getHeight();
703
+ (_a = this.graph) === null || _a === void 0 ? void 0 : _a.resetPosition();
704
+ // this.graph.canvas.getCamera().resetPosition();
705
+ (_b = this.graph) === null || _b === void 0 ? void 0 : _b.translate(x - canvasW / 2 + TASK_TABLE_WIDTH + width / 2, y - canvasH / 2 + height / 2);
706
+ }
707
+ };
708
+ /**************************************** 合并链路 *******************************/
709
+ InkLineageManager.prototype.updateFoldStatus = function (checked) {
710
+ var _a;
711
+ (_a = this.foldLineageManager) === null || _a === void 0 ? void 0 : _a.updateFoldStatus(checked);
712
+ };
713
+ InkLineageManager.prototype.unfoldNodeGroup = function (foldGroupKey, saveStatus) {
714
+ var _a;
715
+ (_a = this.foldLineageManager) === null || _a === void 0 ? void 0 : _a.unfoldNodeGroup(foldGroupKey, saveStatus);
716
+ };
717
+ InkLineageManager.prototype.foldNodeGroup = function (foldGroupKey, saveStatus) {
718
+ var _a;
719
+ (_a = this.foldLineageManager) === null || _a === void 0 ? void 0 : _a.foldNodeGroup(foldGroupKey, saveStatus);
720
+ };
721
+ // update related & unrelated table visible
722
+ InkLineageManager.prototype.updateRelatedTableVisible = function (onlyShowRelated, needUpdate) {
723
+ if (needUpdate === void 0) { needUpdate = true; }
724
+ this.rightKeyMenuManager.updateRelatedTableVisible(onlyShowRelated, needUpdate);
725
+ };
726
+ /**************************************** graph *******************************/
727
+ InkLineageManager.prototype.moveTargetToCenter = function (nodeId) {
728
+ this.graph.moveTargetToCenter(nodeId);
729
+ };
730
+ InkLineageManager.prototype.appendChild = function (child) {
731
+ this.graph.canvas.appendChild(child);
732
+ };
733
+ InkLineageManager.prototype.getMode = function () {
734
+ var _a;
735
+ return ((_a = this === null || this === void 0 ? void 0 : this.graph) === null || _a === void 0 ? void 0 : _a.mode) || 'NORMAL';
736
+ };
737
+ InkLineageManager.prototype.canvasResize = function (clientWidth, clientHeight) {
738
+ this.graph.canvas.resize(clientWidth, clientHeight);
739
+ };
740
+ InkLineageManager.prototype.getCanvas = function () {
741
+ return this.graph.canvas;
742
+ };
743
+ InkLineageManager.prototype.getNodeInstanceById = function (id) {
744
+ return this.graph.getNodeById(id);
745
+ };
746
+ InkLineageManager.prototype.getNodeOrColumnInstanceById = function (id) {
747
+ return this.graph.getAnchorNodeById(id);
748
+ };
749
+ InkLineageManager.prototype.getEdgeInstanceById = function (id) {
750
+ return this.graph.getEdgeById(id);
751
+ };
752
+ InkLineageManager.prototype.resetPosition = function () {
753
+ this.graph.resetPosition();
754
+ };
755
+ InkLineageManager.prototype.graphUpdate = function () {
756
+ this.graph.update();
757
+ };
758
+ InkLineageManager.prototype.graphRender = function () {
759
+ this.graph.render();
760
+ };
761
+ InkLineageManager.prototype.getGraph = function () {
762
+ return this.graph;
763
+ };
764
+ InkLineageManager.prototype.setGraphData = function (data) {
765
+ this.graph.setData(data);
766
+ };
767
+ return InkLineageManager;
768
+ }());
769
+ export { InkLineageManager };
770
+ //# sourceMappingURL=LineageManager.js.map