@aloudata/ink-lineage 0.0.3-beta.8 → 0.0.4-beta.1

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 (252) hide show
  1. package/dist/BigDagre.d.ts +1 -1
  2. package/dist/BigDagre.d.ts.map +1 -1
  3. package/dist/BigDagre.js +6 -2
  4. package/dist/BigDagre.js.map +1 -1
  5. package/dist/assets/big/dataSourceTypeIcon.d.ts +6 -0
  6. package/dist/assets/big/dataSourceTypeIcon.d.ts.map +1 -1
  7. package/dist/assets/big/dataSourceTypeIcon.js +6 -0
  8. package/dist/assets/big/dataSourceTypeIcon.js.map +1 -1
  9. package/dist/assets/big/index.d.ts +1 -0
  10. package/dist/assets/big/index.d.ts.map +1 -1
  11. package/dist/assets/big/index.js +1 -0
  12. package/dist/assets/big/index.js.map +1 -1
  13. package/dist/assets/big/lineageIcon.d.ts +12 -5
  14. package/dist/assets/big/lineageIcon.d.ts.map +1 -1
  15. package/dist/assets/big/lineageIcon.js +12 -5
  16. package/dist/assets/big/lineageIcon.js.map +1 -1
  17. package/dist/assets/big/scheduleDataSourceTypeIcon.d.ts +2 -0
  18. package/dist/assets/big/scheduleDataSourceTypeIcon.d.ts.map +1 -0
  19. package/dist/assets/big/scheduleDataSourceTypeIcon.js +2 -0
  20. package/dist/assets/big/scheduleDataSourceTypeIcon.js.map +1 -0
  21. package/dist/assets/big/tableTypeIcon.d.ts +1 -1
  22. package/dist/assets/big/tableTypeIcon.d.ts.map +1 -1
  23. package/dist/assets/big/tableTypeIcon.js +1 -1
  24. package/dist/assets/big/tableTypeIcon.js.map +1 -1
  25. package/dist/assets/big/tipIcon.d.ts +1 -1
  26. package/dist/assets/big/tipIcon.d.ts.map +1 -1
  27. package/dist/assets/big/tipIcon.js +1 -1
  28. package/dist/assets/big/tipIcon.js.map +1 -1
  29. package/dist/components/Edges/ClickEdge.d.ts +9 -0
  30. package/dist/components/Edges/ClickEdge.d.ts.map +1 -0
  31. package/dist/components/Edges/ClickEdge.js +63 -0
  32. package/dist/components/Edges/ClickEdge.js.map +1 -0
  33. package/dist/components/Edges/DefaultEdge.d.ts +3 -3
  34. package/dist/components/Edges/DefaultEdge.d.ts.map +1 -1
  35. package/dist/components/Edges/DefaultEdge.js +29 -16
  36. package/dist/components/Edges/DefaultEdge.js.map +1 -1
  37. package/dist/components/Edges/FoldEdge.d.ts.map +1 -1
  38. package/dist/components/Edges/FoldEdge.js +16 -13
  39. package/dist/components/Edges/FoldEdge.js.map +1 -1
  40. package/dist/components/Edges/LineageEdge.js +4 -3
  41. package/dist/components/Edges/LineageEdge.js.map +1 -1
  42. package/dist/components/Nodes/AssetNode.d.ts +1 -0
  43. package/dist/components/Nodes/AssetNode.d.ts.map +1 -1
  44. package/dist/components/Nodes/AssetNode.js +93 -30
  45. package/dist/components/Nodes/AssetNode.js.map +1 -1
  46. package/dist/components/Nodes/ColumnNode.d.ts.map +1 -1
  47. package/dist/components/Nodes/ColumnNode.js +43 -62
  48. package/dist/components/Nodes/ColumnNode.js.map +1 -1
  49. package/dist/components/Nodes/CustomNode.d.ts.map +1 -1
  50. package/dist/components/Nodes/CustomNode.js +4 -2
  51. package/dist/components/Nodes/CustomNode.js.map +1 -1
  52. package/dist/components/Nodes/DefaultNode.d.ts +2 -3
  53. package/dist/components/Nodes/DefaultNode.d.ts.map +1 -1
  54. package/dist/components/Nodes/DefaultNode.js +35 -17
  55. package/dist/components/Nodes/DefaultNode.js.map +1 -1
  56. package/dist/components/Nodes/ScheduleTaskTableNode.d.ts +13 -0
  57. package/dist/components/Nodes/ScheduleTaskTableNode.d.ts.map +1 -0
  58. package/dist/components/Nodes/ScheduleTaskTableNode.js +50 -0
  59. package/dist/components/Nodes/ScheduleTaskTableNode.js.map +1 -0
  60. package/dist/components/Nodes/Table/AssetBaseNode.d.ts.map +1 -1
  61. package/dist/components/Nodes/Table/AssetBaseNode.js.map +1 -1
  62. package/dist/components/Nodes/Table/ColumnNode.d.ts +7 -1
  63. package/dist/components/Nodes/Table/ColumnNode.d.ts.map +1 -1
  64. package/dist/components/Nodes/Table/ColumnNode.js +176 -6
  65. package/dist/components/Nodes/Table/ColumnNode.js.map +1 -1
  66. package/dist/components/Nodes/Table/CustomNode.d.ts +2 -0
  67. package/dist/components/Nodes/Table/CustomNode.d.ts.map +1 -1
  68. package/dist/components/Nodes/Table/CustomNode.js +12 -2
  69. package/dist/components/Nodes/Table/CustomNode.js.map +1 -1
  70. package/dist/components/Nodes/Table/TableNode.d.ts +6 -0
  71. package/dist/components/Nodes/Table/TableNode.d.ts.map +1 -1
  72. package/dist/components/Nodes/Table/TableNode.js +80 -3
  73. package/dist/components/Nodes/Table/TableNode.js.map +1 -1
  74. package/dist/components/Nodes/TableNode.d.ts.map +1 -1
  75. package/dist/components/Nodes/TableNode.js +94 -178
  76. package/dist/components/Nodes/TableNode.js.map +1 -1
  77. package/dist/components/Nodes/Task/TaskColumnNode.d.ts +3 -1
  78. package/dist/components/Nodes/Task/TaskColumnNode.d.ts.map +1 -1
  79. package/dist/components/Nodes/Task/TaskColumnNode.js +10 -1
  80. package/dist/components/Nodes/Task/TaskColumnNode.js.map +1 -1
  81. package/dist/components/Nodes/Task/TaskTableNode.d.ts +2 -0
  82. package/dist/components/Nodes/Task/TaskTableNode.d.ts.map +1 -1
  83. package/dist/components/Nodes/Task/TaskTableNode.js +16 -2
  84. package/dist/components/Nodes/Task/TaskTableNode.js.map +1 -1
  85. package/dist/constant/nodeStyle.d.ts +3 -20
  86. package/dist/constant/nodeStyle.d.ts.map +1 -1
  87. package/dist/constant/nodeStyle.js +3 -36
  88. package/dist/constant/nodeStyle.js.map +1 -1
  89. package/dist/decorators/Column/BaseComponent.d.ts.map +1 -1
  90. package/dist/decorators/Column/BaseComponent.js +56 -43
  91. package/dist/decorators/Column/BaseComponent.js.map +1 -1
  92. package/dist/decorators/Column/TableColunm.d.ts.map +1 -1
  93. package/dist/decorators/Column/TableColunm.js +2 -3
  94. package/dist/decorators/Column/TableColunm.js.map +1 -1
  95. package/dist/decorators/RenderColumn.d.ts.map +1 -1
  96. package/dist/decorators/RenderColumn.js +1 -4
  97. package/dist/decorators/RenderColumn.js.map +1 -1
  98. package/dist/decorators/RenderContent.d.ts.map +1 -1
  99. package/dist/decorators/RenderContent.js +44 -29
  100. package/dist/decorators/RenderContent.js.map +1 -1
  101. package/dist/decorators/RenderFooter.d.ts.map +1 -1
  102. package/dist/decorators/RenderFooter.js +16 -16
  103. package/dist/decorators/RenderFooter.js.map +1 -1
  104. package/dist/decorators/RenderHeader.d.ts.map +1 -1
  105. package/dist/decorators/RenderHeader.js +1 -4
  106. package/dist/decorators/RenderHeader.js.map +1 -1
  107. package/dist/decorators/ScheduleTaskTableHeader.d.ts +10 -0
  108. package/dist/decorators/ScheduleTaskTableHeader.d.ts.map +1 -0
  109. package/dist/decorators/ScheduleTaskTableHeader.js +27 -0
  110. package/dist/decorators/ScheduleTaskTableHeader.js.map +1 -0
  111. package/dist/decorators/SideIcon.d.ts.map +1 -1
  112. package/dist/decorators/SideIcon.js +2 -1
  113. package/dist/decorators/SideIcon.js.map +1 -1
  114. package/dist/decorators/Table/BaseHeaderComponent.d.ts +2 -0
  115. package/dist/decorators/Table/BaseHeaderComponent.d.ts.map +1 -1
  116. package/dist/decorators/Table/BaseHeaderComponent.js +105 -36
  117. package/dist/decorators/Table/BaseHeaderComponent.js.map +1 -1
  118. package/dist/decorators/Table/TaskHeader.d.ts +1 -1
  119. package/dist/decorators/Table/TaskHeader.d.ts.map +1 -1
  120. package/dist/decorators/Table/TaskHeader.js +1 -2
  121. package/dist/decorators/Table/TaskHeader.js.map +1 -1
  122. package/dist/index.js +1 -0
  123. package/dist/index.js.map +1 -1
  124. package/dist/manager/ExpandManager.d.ts.map +1 -1
  125. package/dist/manager/ExpandManager.js +15 -31
  126. package/dist/manager/ExpandManager.js.map +1 -1
  127. package/dist/manager/FoldLineageManager.d.ts.map +1 -1
  128. package/dist/manager/FoldLineageManager.js +5 -2
  129. package/dist/manager/FoldLineageManager.js.map +1 -1
  130. package/dist/manager/GraphEventManager.d.ts.map +1 -1
  131. package/dist/manager/GraphEventManager.js +14 -12
  132. package/dist/manager/GraphEventManager.js.map +1 -1
  133. package/dist/manager/LineageManager.d.ts +19 -4
  134. package/dist/manager/LineageManager.d.ts.map +1 -1
  135. package/dist/manager/LineageManager.js +266 -99
  136. package/dist/manager/LineageManager.js.map +1 -1
  137. package/dist/manager/ScheduleDataProcessor.d.ts +21 -0
  138. package/dist/manager/ScheduleDataProcessor.d.ts.map +1 -0
  139. package/dist/manager/ScheduleDataProcessor.js +349 -0
  140. package/dist/manager/ScheduleDataProcessor.js.map +1 -0
  141. package/dist/manager/SearchNodeManager.d.ts.map +1 -1
  142. package/dist/manager/SearchNodeManager.js +2 -0
  143. package/dist/manager/SearchNodeManager.js.map +1 -1
  144. package/dist/manager/TableDataProcessor.d.ts +3 -1
  145. package/dist/manager/TableDataProcessor.d.ts.map +1 -1
  146. package/dist/manager/TableDataProcessor.js +98 -80
  147. package/dist/manager/TableDataProcessor.js.map +1 -1
  148. package/dist/manager/TableGraphEventManager.d.ts.map +1 -1
  149. package/dist/manager/TableGraphEventManager.js +2 -1
  150. package/dist/manager/TableGraphEventManager.js.map +1 -1
  151. package/dist/manager/TaskDataProcessor.d.ts +1 -1
  152. package/dist/manager/TaskDataProcessor.d.ts.map +1 -1
  153. package/dist/manager/TaskDataProcessor.js +9 -5
  154. package/dist/manager/TaskDataProcessor.js.map +1 -1
  155. package/dist/manager/ToolbarManager.d.ts.map +1 -1
  156. package/dist/manager/dataProcessor/ScheduleDataProcessor.d.ts +21 -0
  157. package/dist/manager/dataProcessor/ScheduleDataProcessor.d.ts.map +1 -0
  158. package/dist/manager/dataProcessor/ScheduleDataProcessor.js +349 -0
  159. package/dist/manager/dataProcessor/ScheduleDataProcessor.js.map +1 -0
  160. package/dist/manager/dataProcessor/TableDataProcessor.d.ts +26 -0
  161. package/dist/manager/dataProcessor/TableDataProcessor.d.ts.map +1 -0
  162. package/dist/manager/dataProcessor/TableDataProcessor.js +641 -0
  163. package/dist/manager/dataProcessor/TableDataProcessor.js.map +1 -0
  164. package/dist/manager/dataProcessor/TaskDataProcessor.d.ts +82 -0
  165. package/dist/manager/dataProcessor/TaskDataProcessor.d.ts.map +1 -0
  166. package/dist/manager/dataProcessor/TaskDataProcessor.js +307 -0
  167. package/dist/manager/dataProcessor/TaskDataProcessor.js.map +1 -0
  168. package/dist/manager/graphEventManager/BaseGraphEventManager.d.ts +9 -0
  169. package/dist/manager/graphEventManager/BaseGraphEventManager.d.ts.map +1 -0
  170. package/dist/manager/graphEventManager/BaseGraphEventManager.js +85 -0
  171. package/dist/manager/graphEventManager/BaseGraphEventManager.js.map +1 -0
  172. package/dist/manager/graphEventManager/TableGraphEventManager.d.ts +6 -0
  173. package/dist/manager/graphEventManager/TableGraphEventManager.d.ts.map +1 -0
  174. package/dist/manager/graphEventManager/TableGraphEventManager.js +32 -0
  175. package/dist/manager/graphEventManager/TableGraphEventManager.js.map +1 -0
  176. package/dist/manager/graphEventManager/TaskGraphEventManager.d.ts +6 -0
  177. package/dist/manager/graphEventManager/TaskGraphEventManager.d.ts.map +1 -0
  178. package/dist/manager/graphEventManager/TaskGraphEventManager.js +22 -0
  179. package/dist/manager/graphEventManager/TaskGraphEventManager.js.map +1 -0
  180. package/dist/manager/index.d.ts +8 -7
  181. package/dist/manager/index.d.ts.map +1 -1
  182. package/dist/manager/index.js +8 -7
  183. package/dist/manager/index.js.map +1 -1
  184. package/dist/manager/nodeManager/AssetEventManager.d.ts.map +1 -1
  185. package/dist/manager/nodeManager/AssetEventManager.js +76 -24
  186. package/dist/manager/nodeManager/AssetEventManager.js.map +1 -1
  187. package/dist/manager/nodeManager/BaseColumnEventManager.d.ts.map +1 -1
  188. package/dist/manager/nodeManager/BaseColumnEventManager.js +8 -3
  189. package/dist/manager/nodeManager/BaseColumnEventManager.js.map +1 -1
  190. package/dist/manager/nodeManager/BaseEventManager.d.ts +2 -2
  191. package/dist/manager/nodeManager/BaseEventManager.d.ts.map +1 -1
  192. package/dist/manager/nodeManager/BaseEventManager.js +49 -21
  193. package/dist/manager/nodeManager/BaseEventManager.js.map +1 -1
  194. package/dist/manager/nodeManager/ColumnEventManager.d.ts.map +1 -1
  195. package/dist/manager/nodeManager/ColumnEventManager.js +65 -27
  196. package/dist/manager/nodeManager/ColumnEventManager.js.map +1 -1
  197. package/dist/manager/nodeManager/ScheduleTaskTableEventManager.d.ts +10 -0
  198. package/dist/manager/nodeManager/ScheduleTaskTableEventManager.d.ts.map +1 -0
  199. package/dist/manager/nodeManager/ScheduleTaskTableEventManager.js +145 -0
  200. package/dist/manager/nodeManager/ScheduleTaskTableEventManager.js.map +1 -0
  201. package/dist/manager/nodeManager/TableEventManager.js.map +1 -1
  202. package/dist/manager/nodeManager/task/TaskTableEventManager.d.ts.map +1 -1
  203. package/dist/manager/nodeManager/task/TaskTableEventManager.js +2 -2
  204. package/dist/manager/nodeManager/task/TaskTableEventManager.js.map +1 -1
  205. package/dist/manager/rightKeyMenu/BaseRightKeyMenuManager.d.ts +43 -0
  206. package/dist/manager/rightKeyMenu/BaseRightKeyMenuManager.d.ts.map +1 -0
  207. package/dist/manager/rightKeyMenu/BaseRightKeyMenuManager.js +99 -0
  208. package/dist/manager/rightKeyMenu/BaseRightKeyMenuManager.js.map +1 -0
  209. package/dist/manager/rightKeyMenu/TableRightKeyMenuManager.d.ts +10 -0
  210. package/dist/manager/rightKeyMenu/TableRightKeyMenuManager.d.ts.map +1 -0
  211. package/dist/manager/rightKeyMenu/TableRightKeyMenuManager.js +32 -0
  212. package/dist/manager/rightKeyMenu/TableRightKeyMenuManager.js.map +1 -0
  213. package/dist/manager/rightKeyMenu/TaskRightKeyMenuManager.d.ts +20 -0
  214. package/dist/manager/rightKeyMenu/TaskRightKeyMenuManager.d.ts.map +1 -0
  215. package/dist/manager/rightKeyMenu/TaskRightKeyMenuManager.js +149 -0
  216. package/dist/manager/rightKeyMenu/TaskRightKeyMenuManager.js.map +1 -0
  217. package/dist/types/eventEnum.d.ts +17 -2
  218. package/dist/types/eventEnum.d.ts.map +1 -1
  219. package/dist/types/eventEnum.js +23 -0
  220. package/dist/types/eventEnum.js.map +1 -1
  221. package/dist/types/manager.d.ts +40 -4
  222. package/dist/types/manager.d.ts.map +1 -1
  223. package/dist/types/manager.js +22 -0
  224. package/dist/types/manager.js.map +1 -1
  225. package/dist/types/node.d.ts +20 -7
  226. package/dist/types/node.d.ts.map +1 -1
  227. package/dist/types/node.js +6 -0
  228. package/dist/types/node.js.map +1 -1
  229. package/dist/utils/display-object.d.ts +1 -1
  230. package/dist/utils/display-object.d.ts.map +1 -1
  231. package/dist/utils/displayObject.d.ts +3 -0
  232. package/dist/utils/displayObject.d.ts.map +1 -0
  233. package/dist/utils/displayObject.js +4 -0
  234. package/dist/utils/displayObject.js.map +1 -0
  235. package/dist/utils/foldNode.d.ts.map +1 -1
  236. package/dist/utils/foldNode.js +1 -2
  237. package/dist/utils/foldNode.js.map +1 -1
  238. package/dist/utils/getIconByType.d.ts +2 -2
  239. package/dist/utils/getIconByType.d.ts.map +1 -1
  240. package/dist/utils/getIconByType.js +14 -1
  241. package/dist/utils/getIconByType.js.map +1 -1
  242. package/dist/utils/manager.d.ts.map +1 -1
  243. package/dist/utils/manager.js +8 -5
  244. package/dist/utils/manager.js.map +1 -1
  245. package/dist/utils/node.d.ts +3 -2
  246. package/dist/utils/node.d.ts.map +1 -1
  247. package/dist/utils/node.js +24 -6
  248. package/dist/utils/node.js.map +1 -1
  249. package/package.json +3 -5
  250. package/dist/components/Nodes/CustomNode.d.ts +0 -10
  251. package/dist/components/Nodes/TableNode.d.ts +0 -24
  252. package/dist/manager/GraphEventManager.d.ts +0 -9
@@ -1,29 +1,29 @@
1
1
  import { __assign, __read, __spreadArray } from "tslib";
2
- import { BigLayout, Graph, isNodeVisible, } from '@aloudata/ink-graph-new';
3
- import { TableDataProcessor, ExpandManager, TaskGraphEventManager, } from './index';
2
+ import { BigLayout, Graph, LifeCycleEvent, } from '@aloudata/ink-graph-new';
3
+ import { TableDataProcessor, ExpandManager, TaskGraphEventManager, ScheduleDataProcessor, TaskDataProcessor, } from './index';
4
4
  import { EDashType, EDirection, ELineageType, EGraphMode, EEventEnum, } from '../types';
5
5
  import { getRelatedData, getTaskRelatedData } from '../utils';
6
6
  import { SearchNodeManager, TableRightKeyMenuManager, FoldLineageManager, } from '.';
7
7
  import _ from 'lodash';
8
8
  import { ToolbarManager } from './ToolbarManager';
9
9
  import EventEmitter from 'eventemitter3';
10
- import { CustomNode, TableNode, DefaultEdge, } from '../components';
10
+ import { CustomNode, TableNode, DefaultEdge, ColumnNode, TaskColumnNode, } from '../components';
11
11
  import { DefaultNode } from '../components/Nodes/DefaultNode';
12
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';
13
+ import { CUSTOM_NODE, BASE_NODE, FOLD_EDGE, LINEAGE_EDGE, TABLE_NODE, BASE_EDGE, TASK_TABLE_NODE, TASK_TABLE_WIDTH, SCHEDULE_TASK_TABLE_NODE, CLICK_EDGE, } from '../constant';
14
14
  import { FoldEdge } from '../components/Edges/FoldEdge';
15
15
  import { LineageEdge } from '../components/Edges/LineageEdge';
16
- import { mat3ToMat4 } from '../utils/matrix';
17
- import { TableGraphEventManager } from './TableGraphEventManager';
18
- import { hideEdgeTypes, onZoomChange, updateColumnPosition, updateNodeHeight, } from '../utils/manager';
16
+ import { TableGraphEventManager } from './graphEventManager/TableGraphEventManager';
17
+ import { onZoomChange, updateColumnPosition, updateNodeHeight, } from '../utils/manager';
19
18
  import { TaskTableNode } from '../components/Nodes/Task/TaskTableNode';
20
19
  import { TaskTableEventManager } from './nodeManager/task/TaskTableEventManager';
21
20
  import { TaskColumnEventManager } from './nodeManager/task/TaskColumnEventManager';
22
- import { TaskDataProcessor } from './TaskDataProcessor';
23
- import { TaskRightKeyMenuManager } from './TaskRightKeyMenuManager';
24
- import { mat4 } from 'gl-matrix';
21
+ import { TaskRightKeyMenuManager } from './rightKeyMenu/TaskRightKeyMenuManager';
25
22
  import { BigDagre } from '../BigDagre';
26
23
  import { AssetBaseNode } from '../components/Nodes/Table/AssetBaseNode';
24
+ import { ScheduleTaskTableNode } from '../components/Nodes/ScheduleTaskTableNode';
25
+ import { ScheduleTaskTableEventManager } from './nodeManager/ScheduleTaskTableEventManager';
26
+ import { ClickEdge } from '../components/Edges/ClickEdge';
27
27
  var InkLineageManager = /** @class */ (function () {
28
28
  function InkLineageManager(data, config) {
29
29
  this.emitter = new EventEmitter();
@@ -49,7 +49,7 @@ var InkLineageManager = /** @class */ (function () {
49
49
  this.initManagers();
50
50
  this.initGraph();
51
51
  this.graphEventManager.init();
52
- if (this.config.lineageType === ELineageType.TABLE) {
52
+ if ([ELineageType.TABLE, ELineageType.SCHEDULE].includes(this.config.lineageType)) {
53
53
  this.expandManager.init();
54
54
  }
55
55
  }
@@ -74,17 +74,23 @@ var InkLineageManager = /** @class */ (function () {
74
74
  this.toolbarManager = new ToolbarManager(this);
75
75
  this.expandManager = new ExpandManager(this);
76
76
  }
77
- else {
77
+ else if (this.config.lineageType === ELineageType.TASK) {
78
78
  this.tableEventManager = new TaskTableEventManager(this);
79
79
  this.columnEventManager = new TaskColumnEventManager(this);
80
80
  this.graphEventManager = new TaskGraphEventManager(this);
81
81
  this.dataProcessor = new TaskDataProcessor(this);
82
82
  this.rightKeyMenuManager = new TaskRightKeyMenuManager(this);
83
83
  }
84
+ else {
85
+ this.scheduleTaskTableEventManager = new ScheduleTaskTableEventManager(this);
86
+ this.graphEventManager = new TableGraphEventManager(this);
87
+ this.dataProcessor = new ScheduleDataProcessor(this);
88
+ this.rightKeyMenuManager = new TaskRightKeyMenuManager(this);
89
+ this.expandManager = new ExpandManager(this);
90
+ }
84
91
  };
85
92
  InkLineageManager.prototype.initGraph = function () {
86
93
  var _this = this;
87
- // init graph by parsed data
88
94
  var _a = this.config, root = _a.root, cullingConfig = _a.cullingConfig, layoutConfig = _a.layoutConfig, zoomConfig = _a.zoomConfig, fontList = _a.fontList;
89
95
  var graph = new Graph({
90
96
  root: root,
@@ -105,6 +111,47 @@ var InkLineageManager = /** @class */ (function () {
105
111
  },
106
112
  },
107
113
  },
114
+ // canvasCallback: {
115
+ // onDrop: () => {
116
+ // if (
117
+ // this.config?.cullingConfig?.auto &&
118
+ // this.parsedData.nodes.length > this.config?.cullingConfig?.max
119
+ // ) {
120
+ // this.update({ shouldGroupNodes: false });
121
+ // }
122
+ // },
123
+ // onWheel: () => {
124
+ // if (
125
+ // this.config?.cullingConfig?.auto &&
126
+ // this.parsedData.nodes.length > this.config?.cullingConfig?.max
127
+ // ) {
128
+ // this.update({ shouldGroupNodes: false });
129
+ // }
130
+ // },
131
+ // },
132
+ canvasOptions: {
133
+ interactions: {
134
+ maxZoom: (zoomConfig === null || zoomConfig === void 0 ? void 0 : zoomConfig.max) || 4.5,
135
+ minZoom: (zoomConfig === null || zoomConfig === void 0 ? void 0 : zoomConfig.min) || 0.1,
136
+ },
137
+ },
138
+ });
139
+ graph.canvas.on(LifeCycleEvent.TRANSFORM_CHANGE, function () {
140
+ var mode = graph.mode;
141
+ var zoom = graph.canvas.getZoom();
142
+ if (mode === 'SIMPLE' && zoom > 0.5) {
143
+ graph.mode = 'NORMAL';
144
+ }
145
+ else if (mode === 'NORMAL' && zoom < 0.5) {
146
+ graph.mode = 'SIMPLE';
147
+ }
148
+ else {
149
+ return;
150
+ }
151
+ // mode变化时更新
152
+ if (_this.config.lineageType === ELineageType.TABLE) {
153
+ onZoomChange(mode, _this);
154
+ }
108
155
  });
109
156
  this.graph = graph;
110
157
  // register custom node
@@ -118,10 +165,24 @@ var InkLineageManager = /** @class */ (function () {
118
165
  graph.registerNode(TABLE_NODE, TableNode);
119
166
  graph.registerNode(TASK_TABLE_NODE, TaskTableNode);
120
167
  graph.registerNode(CUSTOM_NODE, CustomNode);
168
+ graph.registerNode(SCHEDULE_TASK_TABLE_NODE, ScheduleTaskTableNode);
121
169
  graph.registerEdge(FOLD_EDGE, FoldEdge);
122
170
  graph.registerEdge(LINEAGE_EDGE, LineageEdge);
171
+ graph.registerEdge(CLICK_EDGE, ClickEdge);
123
172
  DefaultNode.lineageManager = this;
124
173
  DefaultEdge.lineageManager = this;
174
+ if (this.config.lineageType === ELineageType.TASK) {
175
+ TaskTableNode.lineageManager = this;
176
+ TaskColumnNode.lineageManager = this;
177
+ }
178
+ else if (this.config.lineageType === ELineageType.SCHEDULE) {
179
+ ScheduleTaskTableNode.lineageManager = this;
180
+ }
181
+ else {
182
+ TableNode.lineageManager = this;
183
+ CustomNode.lineageManager = this;
184
+ ColumnNode.lineageManager = this;
185
+ }
125
186
  graph.canvas.whenReady().then(function () { return _this.render(false, true); });
126
187
  };
127
188
  InkLineageManager.prototype.on = function (type, listener) {
@@ -185,30 +246,29 @@ var InkLineageManager = /** @class */ (function () {
185
246
  this.update();
186
247
  };
187
248
  InkLineageManager.prototype.render = function (isUpdate, isInit) {
188
- var _a, _b;
249
+ var _a, _b, _c, _d;
189
250
  if (isUpdate === void 0) { isUpdate = false; }
190
251
  if (!this.parsedData)
191
252
  return;
192
- if (this.config.lineageType === ELineageType.TABLE) {
193
- this.refreshExtraStatus();
194
- }
195
- else {
196
- this.taskRefreshExtraStatus();
197
- }
253
+ this.refreshExtraStatus();
198
254
  if (this.layoutControl.shouldLayout) {
199
- var _c = this.parsedData, nodes = _c.nodes, edges = _c.edges;
255
+ var _e = this.parsedData, nodes = _e.nodes, edges = _e.edges;
200
256
  var visibleNodes = nodes.filter(function (node) { return node.visible; });
201
257
  var visibleEdges = edges.filter(function (edge) { return edge.visible; });
202
258
  var layoutData = this.layout(visibleNodes, visibleEdges);
203
- // TODO: 启用裁剪
204
- // const data = this.handleCulling(layoutData);
205
- this.graph.setData(layoutData);
259
+ // this.updateDataMaps(layoutData); // 布局完之后的节点需要更新到map中,这样节点才有偏移,合并链路才符合预期
260
+ var data = this.handleCulling(layoutData);
261
+ this.graph.setData(data);
262
+ }
263
+ // 表血缘有环的情况下,icon的显隐判断,需要根据坐标判断
264
+ if (this.config.lineageType === ELineageType.TABLE) {
265
+ (_b = (_a = this.dataProcessor) === null || _a === void 0 ? void 0 : _a.updateSideIconVisible) === null || _b === void 0 ? void 0 : _b.call(_a, this.parsedData);
206
266
  }
207
267
  if (isUpdate) {
208
- (_a = this.graph) === null || _a === void 0 ? void 0 : _a.update();
268
+ (_c = this.graph) === null || _c === void 0 ? void 0 : _c.update();
209
269
  }
210
270
  else {
211
- (_b = this.graph) === null || _b === void 0 ? void 0 : _b.render();
271
+ (_d = this.graph) === null || _d === void 0 ? void 0 : _d.render();
212
272
  }
213
273
  if (this.config.lineageType === ELineageType.TASK && isInit) {
214
274
  this.taskTranslate();
@@ -216,30 +276,39 @@ var InkLineageManager = /** @class */ (function () {
216
276
  this.resetLayoutControl();
217
277
  };
218
278
  InkLineageManager.prototype.taskTranslate = function () {
219
- var _this = this;
220
- var _a, _b, _c, _d, _e, _f;
221
- var rightNode = '';
222
- (_b = (_a = this.graph) === null || _a === void 0 ? void 0 : _a.nodes) === null || _b === void 0 ? void 0 : _b.forEach(function (node) {
223
- var _a, _b, _c, _d;
224
- if (!node.config.visible)
225
- return;
226
- var target = node.bgGroup;
227
- var x = target.getPosition().x;
228
- var curRightNodeX = (_d = (_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)) === null || _d === void 0 ? void 0 : _d.x;
229
- if (rightNode === '' || x > curRightNodeX)
230
- rightNode = node === null || node === void 0 ? void 0 : node.id;
279
+ var _a;
280
+ if (!((_a = this.graph) === null || _a === void 0 ? void 0 : _a.nodes))
281
+ return;
282
+ // 找到最右边的节点
283
+ var rightmostNode = null;
284
+ var rightmostX = -Infinity;
285
+ this.graph.nodes.forEach(function (node) {
286
+ if (node.container && node.config.visible) {
287
+ var bbox_1 = node.container.getBoundingRect();
288
+ if (bbox_1.width > 0 && bbox_1.height > 0) {
289
+ var nodeRightX = bbox_1.x + bbox_1.width;
290
+ if (nodeRightX > rightmostX) {
291
+ rightmostX = nodeRightX;
292
+ rightmostNode = node;
293
+ }
294
+ }
295
+ }
231
296
  });
232
- if (!rightNode)
297
+ if (!rightmostNode)
233
298
  return;
234
- var canvasW = (_c = this.graph) === null || _c === void 0 ? void 0 : _c.getWidth();
235
- var canvasH = (_d = this.graph) === null || _d === void 0 ? void 0 : _d.getHeight();
236
- var target = (_e = this.graph.nodes) === null || _e === void 0 ? void 0 : _e.get(rightNode);
237
- var _g = target.getPosition(), x = _g.x, y = _g.y;
238
- var _h = target.getBBox(), height = _h.height, width = _h.width;
239
- var innerWidth = window.innerWidth, innerHeight = window.innerHeight;
240
- var offsetX = (-200 * innerWidth) / 1920;
241
- var offsetY = (100 * innerHeight) / 1080;
242
- (_f = this.graph) === null || _f === void 0 ? void 0 : _f.translate(x - canvasW / 2 + width / 2 + offsetX, y - canvasH / 2 + height / 2 + offsetY);
299
+ // 获取最右边节点的边界
300
+ var bbox = rightmostNode.container.getBoundingRect();
301
+ var nodeCenterX = bbox.x + bbox.width / 2; // 节点中心 X
302
+ var nodeCenterY = bbox.y + bbox.height / 2; // 节点中心 Y
303
+ // 获取画布尺寸
304
+ var canvasSize = this.graph.canvas.getSize();
305
+ var canvasCenterX = canvasSize.width * 0.5;
306
+ var canvasCenterY = canvasSize.height * 0.5;
307
+ // 计算需要的相机偏移(最右侧节点的位置要稍微偏右上方)
308
+ var cameraOffsetX = canvasCenterX - nodeCenterX * 0.9;
309
+ var cameraOffsetY = canvasCenterY - nodeCenterY * 1.2;
310
+ // 设置相机位置
311
+ this.translateCanvas(cameraOffsetX, cameraOffsetY);
243
312
  };
244
313
  InkLineageManager.prototype.update = function (layoutControl) {
245
314
  if (layoutControl) {
@@ -259,16 +328,18 @@ var InkLineageManager = /** @class */ (function () {
259
328
  this.graph = null;
260
329
  };
261
330
  InkLineageManager.prototype.setData = function (data) {
262
- if (this.getMode() === 'SIMPLE' &&
263
- this.config.lineageType === ELineageType.TABLE) {
264
- data.edges.forEach(function (edge) {
265
- if (hideEdgeTypes.includes(edge.data.relationTypeCode)) {
266
- edge.visible = false;
267
- edge.canBeFold = true;
268
- edge.isFolded = true;
269
- }
270
- });
271
- }
331
+ // if (
332
+ // this.getMode() === 'SIMPLE' &&
333
+ // this.config.lineageType === ELineageType.TABLE
334
+ // ) {
335
+ // data.edges.forEach((edge) => {
336
+ // if (hideEdgeTypes.includes(edge.data.relationTypeCode)) {
337
+ // edge.visible = false;
338
+ // edge.canBeFold = true;
339
+ // edge.isFolded = true;
340
+ // }
341
+ // });
342
+ // }
272
343
  this.parsedData = data;
273
344
  this.updateDataMaps(this.parsedData);
274
345
  };
@@ -278,51 +349,70 @@ var InkLineageManager = /** @class */ (function () {
278
349
  };
279
350
  // 裁剪逻辑
280
351
  InkLineageManager.prototype.handleCulling = function (data) {
281
- var _this = this;
282
- var _a, _b;
283
- var _c = ((_a = this.config) === null || _a === void 0 ? void 0 : _a.cullingConfig) || { auto: false, max: 0 }, auto = _c.auto, max = _c.max;
284
- var culling = auto && this.parsedData.nodes.length > max;
285
- var nodesConfig = data.nodes;
286
- var edgesConfig = data.edges;
287
- if (culling) {
288
- // TODO: 节点裁剪逻辑优化
289
- var orthoMatrix_1 = this.getCanvas()
290
- .getContext()
291
- .cameraManager.getTransform()
292
- .getLocalMatrix();
293
- // set nodes & edges
294
- var nodesConfigMap_1 = new Map();
295
- nodesConfig = (_b = data === null || data === void 0 ? void 0 : data.nodes) === null || _b === void 0 ? void 0 : _b.filter(function (node) {
296
- var isVisible = isNodeVisible(node, _this.canvasDomRoot.clientWidth, _this.canvasDomRoot.clientHeight, mat3ToMat4(mat4.create(), orthoMatrix_1));
297
- if (isVisible) {
298
- nodesConfigMap_1.set(node.id, node);
299
- }
300
- return isVisible;
301
- });
302
- }
303
- return {
304
- nodes: nodesConfig,
305
- edges: edgesConfig,
306
- };
352
+ // const { auto, max } = this.config?.cullingConfig || { auto: false, max: 0 };
353
+ // const culling = auto && this.parsedData.nodes.length > max;
354
+ // let nodesConfig = data.nodes;
355
+ // let edgesConfig = data.edges;
356
+ // if (culling) {
357
+ // const orthoMatrix = this.getCanvas().getCamera().getOrthoMatrix();
358
+ // // set nodes & edges
359
+ // const nodesConfigMap = new Map<
360
+ // string,
361
+ // INodeConfig<TTableData, TColumnData>
362
+ // >();
363
+ // nodesConfig = data?.nodes?.filter((node) => {
364
+ // const isVisible = isNodeVisible(
365
+ // node,
366
+ // this.canvasDomRoot.clientWidth,
367
+ // this.canvasDomRoot.clientHeight,
368
+ // orthoMatrix,
369
+ // );
370
+ // if (isVisible) {
371
+ // nodesConfigMap.set(node.id, node);
372
+ // }
373
+ // return isVisible;
374
+ // });
375
+ // }
376
+ // return {
377
+ // nodes: nodesConfig,
378
+ // edges: edgesConfig,
379
+ // };
380
+ return data;
381
+ };
382
+ InkLineageManager.prototype.scheduleRefreshExtraStatus = function () {
383
+ var _a, _b, _c;
384
+ (_a = this.dataProcessor) === null || _a === void 0 ? void 0 : _a.updateNodesAndEdgesVisible(this.parsedData);
385
+ (_b = this.dataProcessor) === null || _b === void 0 ? void 0 : _b.refreshRelatedNodesAndEdges(this.relatedNodes, this.relatedEdges);
386
+ (_c = this.dataProcessor) === null || _c === void 0 ? void 0 : _c.updateSideIconVisible(this.parsedData);
307
387
  };
308
388
  InkLineageManager.prototype.taskRefreshExtraStatus = function () {
309
389
  var _a, _b, _c, _d, _e;
390
+ (_a = this.dataProcessor) === null || _a === void 0 ? void 0 : _a.updateNodesAndEdgesVisible(this.parsedData, (_b = this.rightKeyMenuManager) === null || _b === void 0 ? void 0 : _b.edgeDashVisible, (_c = this.rightKeyMenuManager) === null || _c === void 0 ? void 0 : _c.onlyShowRelated);
310
391
  // 刷新相关节点和边的高亮样式(如果打开了间接血缘按钮,那这些间接血缘也需要高亮)
311
- if (((_a = this.rightKeyMenuManager) === null || _a === void 0 ? void 0 : _a.exploreState.mode) === EGraphMode.NORMAL) {
312
- (_b = this.dataProcessor) === null || _b === void 0 ? void 0 : _b.refreshRelatedNodesAndEdges(this.relatedNodes, this.relatedEdges);
392
+ if (((_d = this.rightKeyMenuManager) === null || _d === void 0 ? void 0 : _d.exploreState.mode) === EGraphMode.NORMAL) {
393
+ (_e = this.dataProcessor) === null || _e === void 0 ? void 0 : _e.refreshRelatedNodesAndEdges(this.relatedNodes, this.relatedEdges);
313
394
  }
314
- (_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);
315
395
  updateNodeHeight(this.parsedData);
316
396
  updateColumnPosition(this.parsedData);
317
397
  };
318
398
  InkLineageManager.prototype.refreshExtraStatus = function () {
319
- var _a, _b, _c, _d, _e, _f;
320
- // 刷新相关节点和边的高亮样式(如果打开了间接血缘按钮,那这些间接血缘也需要高亮)
321
- (_a = this.dataProcessor) === null || _a === void 0 ? void 0 : _a.refreshRelatedNodesAndEdges(this.relatedNodes, this.relatedEdges);
322
- (_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);
323
- (_f = this.dataProcessor) === null || _f === void 0 ? void 0 : _f.updateSideIconVisible(this.parsedData);
324
- updateNodeHeight(this.parsedData);
325
- updateColumnPosition(this.parsedData);
399
+ var _a, _b, _c, _d, _e;
400
+ if (this.config.lineageType === ELineageType.TASK) {
401
+ this.taskRefreshExtraStatus();
402
+ }
403
+ else if (this.config.lineageType === ELineageType.SCHEDULE) {
404
+ this.scheduleRefreshExtraStatus();
405
+ }
406
+ else {
407
+ (_a = this.dataProcessor) === null || _a === void 0 ? void 0 : _a.updateNodesAndEdgesVisible(this.parsedData, (_b = this.rightKeyMenuManager) === null || _b === void 0 ? void 0 : _b.edgeDashVisible, (_c = this.rightKeyMenuManager) === null || _c === void 0 ? void 0 : _c.onlyShowRelated, (_d = this.foldLineageManager) === null || _d === void 0 ? void 0 : _d.isFoldChecked);
408
+ // 刷新相关节点和边的高亮样式(如果打开了间接血缘按钮,那这些间接血缘也需要高亮)
409
+ (_e = this.dataProcessor) === null || _e === void 0 ? void 0 : _e.refreshRelatedNodesAndEdges(this.relatedNodes, this.relatedEdges);
410
+ // (
411
+ // this.dataProcessor as TableDataProcessor<TTableData, TColumnData>
412
+ // )?.updateSideIconVisible(this.parsedData);
413
+ updateNodeHeight(this.parsedData);
414
+ updateColumnPosition(this.parsedData);
415
+ }
326
416
  };
327
417
  InkLineageManager.prototype.updateActiveNodes = function (nodes) {
328
418
  var _a, _b;
@@ -354,7 +444,7 @@ var InkLineageManager = /** @class */ (function () {
354
444
  var _a, _b, _c;
355
445
  if (needUpdate === void 0) { needUpdate = true; }
356
446
  // reset prev related nodes
357
- var activeNodeIds = this.activeNodes.map(function (n) { return n.id; });
447
+ var activeNodeIds = this.activeNodes.map(function (n) { return n === null || n === void 0 ? void 0 : n.id; }) || [];
358
448
  (_a = this.relatedNodes) === null || _a === void 0 ? void 0 : _a.forEach(function (n) {
359
449
  if (!n || activeNodeIds.includes(n.id))
360
450
  return;
@@ -409,7 +499,6 @@ var InkLineageManager = /** @class */ (function () {
409
499
  }
410
500
  };
411
501
  InkLineageManager.prototype.resetEdgeStyle = function (edge) {
412
- edge.type = this.getMode() === 'SIMPLE' ? BASE_EDGE : LINEAGE_EDGE;
413
502
  edge.style.stroke = '#B1B1B1';
414
503
  edge.style.lineWidth = 1;
415
504
  edge.style.zIndex = -1;
@@ -491,9 +580,10 @@ var InkLineageManager = /** @class */ (function () {
491
580
  this.cachedRelatedNodeConfig = nodeConfig;
492
581
  if (!nodeConfig)
493
582
  return;
583
+ var edgeDashVisible = this.rightKeyMenuManager.edgeDashVisible;
494
584
  // update related ui
495
- var relatedInputs = getRelatedData(nodeConfig, this.parsedData.nodes, this.parsedData.edges, EDirection.INPUT);
496
- var relatedOutputs = getRelatedData(nodeConfig, this.parsedData.nodes, this.parsedData.edges, EDirection.OUTPUT);
585
+ var relatedInputs = getRelatedData(nodeConfig, this.parsedData.nodes, this.parsedData.edges, EDirection.INPUT, edgeDashVisible);
586
+ var relatedOutputs = getRelatedData(nodeConfig, this.parsedData.nodes, this.parsedData.edges, EDirection.OUTPUT, edgeDashVisible);
497
587
  var relatedNodes = _.uniqBy(__spreadArray(__spreadArray([], __read(relatedInputs.relatedNodes), false), __read(relatedOutputs.relatedNodes), false), 'id');
498
588
  var relatedEdges = _.uniqBy(__spreadArray(__spreadArray([], __read(relatedInputs.relatedEdges), false), __read(relatedOutputs.relatedEdges), false), 'id');
499
589
  this.updateRelatedNodes(relatedNodes, relatedEdges, needUpdate);
@@ -578,6 +668,19 @@ var InkLineageManager = /** @class */ (function () {
578
668
  InkLineageManager.prototype.updateHotspotModalState = function (data) {
579
669
  this.rightKeyMenuManager.updateHotspotModalState(data);
580
670
  };
671
+ InkLineageManager.prototype.updateAggregationTableModalState = function (data) {
672
+ this.rightKeyMenuManager.updateAggregationTableModalState(data);
673
+ };
674
+ InkLineageManager.prototype.getAggregationTableModalState = function () {
675
+ return this.rightKeyMenuManager.aggregationTableModalState;
676
+ };
677
+ InkLineageManager.prototype.updateRelationConditionState = function (data) {
678
+ var _a, _b;
679
+ (_b = (_a = this.rightKeyMenuManager) === null || _a === void 0 ? void 0 : _a.updateRelationConditionState) === null || _b === void 0 ? void 0 : _b.call(_a, data);
680
+ };
681
+ InkLineageManager.prototype.getRelationConditionState = function () {
682
+ return this.rightKeyMenuManager.relationConditionState;
683
+ };
581
684
  // update direct & indirect table visible
582
685
  InkLineageManager.prototype.updateEdgeDashVisible = function (edgeDashVisible) {
583
686
  this.rightKeyMenuManager.updateEdgeDashVisible(edgeDashVisible);
@@ -591,6 +694,9 @@ var InkLineageManager = /** @class */ (function () {
591
694
  InkLineageManager.prototype.getHotspotTipState = function () {
592
695
  return this.rightKeyMenuManager.hotspotTipState;
593
696
  };
697
+ InkLineageManager.prototype.getAggregationTableTipState = function () {
698
+ return this.rightKeyMenuManager.aggregationTableTipState;
699
+ };
594
700
  InkLineageManager.prototype.getOverviewState = function () {
595
701
  return this.rightKeyMenuManager.overviewState;
596
702
  };
@@ -604,6 +710,17 @@ var InkLineageManager = /** @class */ (function () {
604
710
  var _a;
605
711
  return (_a = this === null || this === void 0 ? void 0 : this.toolbarManager) === null || _a === void 0 ? void 0 : _a.state;
606
712
  };
713
+ InkLineageManager.prototype.setOnlyShowRelatedData = function (onlyShowRelated, onlyShowRelatedDisable) {
714
+ this.rightKeyMenuManager.onlyShowRelatedDisable = onlyShowRelatedDisable;
715
+ this.rightKeyMenuManager.onlyShowRelated = onlyShowRelated;
716
+ this.emit(EEventEnum.ONLY_SHOW_RELATED_DATA_CHANGE);
717
+ };
718
+ InkLineageManager.prototype.getOnlyShowRelatedData = function () {
719
+ return {
720
+ onlyShowRelated: this.rightKeyMenuManager.onlyShowRelated,
721
+ onlyShowRelatedDisable: this.rightKeyMenuManager.onlyShowRelatedDisable,
722
+ };
723
+ };
607
724
  // 任务
608
725
  InkLineageManager.prototype.clearRelatedColumns = function () {
609
726
  this.parsedData.nodes.forEach(function (n) { return (n.relatedColumns = []); });
@@ -687,9 +804,11 @@ var InkLineageManager = /** @class */ (function () {
687
804
  yCenter > 0 &&
688
805
  yCenter < wrapperHeight;
689
806
  if (!isVisible) {
807
+ // this.searchNodeManager.moveTargetToCenter(target);
690
808
  var canvasW = this.graph.getWidth();
691
809
  var canvasH = this.graph.getHeight();
692
810
  (_a = this.graph) === null || _a === void 0 ? void 0 : _a.resetPosition();
811
+ // this.graph.canvas.getCamera().resetPosition();
693
812
  (_b = this.graph) === null || _b === void 0 ? void 0 : _b.translate(x - canvasW / 2 + TASK_TABLE_WIDTH + width / 2, y - canvasH / 2 + height / 2);
694
813
  }
695
814
  };
@@ -713,7 +832,46 @@ var InkLineageManager = /** @class */ (function () {
713
832
  };
714
833
  /**************************************** graph *******************************/
715
834
  InkLineageManager.prototype.moveTargetToCenter = function (nodeId) {
716
- this.graph.moveTargetToCenter(nodeId);
835
+ if (!nodeId)
836
+ return;
837
+ var node = this.parsedData.nodes.find(function (n) { return n.id === nodeId; });
838
+ if (!node) {
839
+ console.error("node ".concat(nodeId, " is not found"));
840
+ return;
841
+ }
842
+ // move to center
843
+ var _a = node.position, x = _a.x, y = _a.y;
844
+ var _b = node.style, height = _b.height, width = _b.width;
845
+ var canvasW = this.getCanvasWidth();
846
+ var canvasH = this.getCanvasHeight();
847
+ this.resetPosition();
848
+ // Ink-new: 相机初始在世界坐标 (0,0)
849
+ // - 节点在世界坐标 (x,y) 的位置
850
+ // - 相机移动 (dx,dy) 后,节点视觉位置变成 (x+dx, y+dy)
851
+ // - 要让节点视觉位置在画布中心,需要: x+dx = canvasW/2, y+dy = canvasH/2
852
+ // - 所以: dx = canvasW/2 - x, dy = canvasH/2 - y
853
+ // - 再考虑节点中心偏移: dx = canvasW/2 - x - width/2
854
+ this.translateCanvas(canvasW / 2 - x - width / 2, canvasH / 2 - y - height / 2);
855
+ // // Ink: 相机初始在世界坐标 (canvasW/2, canvasH/2)
856
+ // // - 节点在世界坐标 (x,y) 的位置
857
+ // // - 相机移动 (dx,dy) 后,相机新位置是 (canvasW/2 + dx, canvasH/2 + dy)
858
+ // // - 节点相对相机的位置变成 (x - (canvasW/2 + dx), y - (canvasH/2 + dy))
859
+ // // - 要让节点在视觉中心,需要这个相对位置是 (0,0)
860
+ // // - 所以: x - canvasW/2 - dx = 0, 即 dx = x - canvasW/2
861
+ // // - 再考虑节点中心偏移: dx = x - canvasW/2 + width/2
862
+ // this.translateCanvas(
863
+ // x - canvasW / 2 + width / 2,
864
+ // y - canvasH / 2 + height / 2,
865
+ // );
866
+ var _c = this.parsedData, nodes = _c.nodes, edges = _c.edges;
867
+ var visibleNodes = nodes.filter(function (node) { return node.visible; });
868
+ var visibleEdges = edges.filter(function (edge) { return edge.visible; });
869
+ var data = this.handleCulling({
870
+ nodes: visibleNodes,
871
+ edges: visibleEdges,
872
+ });
873
+ this.graph.setData(data);
874
+ this.graph.update();
717
875
  };
718
876
  InkLineageManager.prototype.appendChild = function (child) {
719
877
  this.graph.canvas.add(child);
@@ -728,6 +886,12 @@ var InkLineageManager = /** @class */ (function () {
728
886
  InkLineageManager.prototype.getCanvas = function () {
729
887
  return this.graph.canvas;
730
888
  };
889
+ InkLineageManager.prototype.getCanvasWidth = function () {
890
+ return this.graph.getWidth();
891
+ };
892
+ InkLineageManager.prototype.getCanvasHeight = function () {
893
+ return this.graph.getHeight();
894
+ };
731
895
  InkLineageManager.prototype.getNodeInstanceById = function (id) {
732
896
  return this.graph.getNodeById(id);
733
897
  };
@@ -752,6 +916,9 @@ var InkLineageManager = /** @class */ (function () {
752
916
  InkLineageManager.prototype.setGraphData = function (data) {
753
917
  this.graph.setData(data);
754
918
  };
919
+ InkLineageManager.prototype.translateCanvas = function (x, y) {
920
+ this.graph.translate(x, y);
921
+ };
755
922
  return InkLineageManager;
756
923
  }());
757
924
  export { InkLineageManager };