@aloudata/ink-lineage 0.0.1-beta.1 → 0.0.1-beta.10

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 (268) hide show
  1. package/dist/assets/big/dataSourceTypeIcon.d.ts +23 -0
  2. package/dist/assets/big/dataSourceTypeIcon.d.ts.map +1 -0
  3. package/dist/assets/big/dataSourceTypeIcon.js +23 -0
  4. package/dist/assets/big/dataSourceTypeIcon.js.map +1 -0
  5. package/dist/assets/big/entityType.d.ts +2 -0
  6. package/dist/assets/big/entityType.d.ts.map +1 -0
  7. package/dist/assets/big/entityType.js +2 -0
  8. package/dist/assets/big/entityType.js.map +1 -0
  9. package/dist/assets/big/index.d.ts +6 -0
  10. package/dist/assets/big/index.d.ts.map +1 -0
  11. package/{src/assets/big/index.ts → dist/assets/big/index.js} +2 -1
  12. package/dist/assets/big/index.js.map +1 -0
  13. package/dist/assets/big/lineageIcon.d.ts +14 -0
  14. package/dist/assets/big/lineageIcon.d.ts.map +1 -0
  15. package/dist/assets/big/lineageIcon.js +14 -0
  16. package/dist/assets/big/lineageIcon.js.map +1 -0
  17. package/dist/assets/big/tableTypeIcon.d.ts +7 -0
  18. package/dist/assets/big/tableTypeIcon.d.ts.map +1 -0
  19. package/dist/assets/big/tableTypeIcon.js +7 -0
  20. package/dist/assets/big/tableTypeIcon.js.map +1 -0
  21. package/dist/assets/big/tipIcon.d.ts +2 -0
  22. package/dist/assets/big/tipIcon.d.ts.map +1 -0
  23. package/dist/assets/big/tipIcon.js +2 -0
  24. package/dist/assets/big/tipIcon.js.map +1 -0
  25. package/dist/assets/index.d.ts +5 -0
  26. package/dist/assets/index.d.ts.map +1 -0
  27. package/dist/assets/index.js +8 -0
  28. package/dist/assets/index.js.map +1 -0
  29. package/dist/components/Edges/DefaultEdge.d.ts +26 -0
  30. package/dist/components/Edges/DefaultEdge.d.ts.map +1 -0
  31. package/dist/components/Edges/DefaultEdge.js +145 -0
  32. package/dist/components/Edges/DefaultEdge.js.map +1 -0
  33. package/dist/components/Edges/FoldEdge.d.ts +9 -0
  34. package/dist/components/Edges/FoldEdge.d.ts.map +1 -0
  35. package/dist/components/Edges/FoldEdge.js +77 -0
  36. package/dist/components/Edges/FoldEdge.js.map +1 -0
  37. package/dist/components/Edges/LineageEdge.d.ts +7 -0
  38. package/dist/components/Edges/LineageEdge.d.ts.map +1 -0
  39. package/dist/components/Edges/LineageEdge.js +20 -0
  40. package/dist/components/Edges/LineageEdge.js.map +1 -0
  41. package/dist/components/Edges/index.d.ts +4 -0
  42. package/dist/components/Edges/index.d.ts.map +1 -0
  43. package/dist/components/Edges/index.js +4 -0
  44. package/dist/components/Edges/index.js.map +1 -0
  45. package/dist/components/Nodes/AssetNode.d.ts +21 -0
  46. package/dist/components/Nodes/AssetNode.d.ts.map +1 -0
  47. package/dist/components/Nodes/AssetNode.js +278 -0
  48. package/dist/components/Nodes/AssetNode.js.map +1 -0
  49. package/dist/components/Nodes/ColumnNode.d.ts +27 -0
  50. package/dist/components/Nodes/ColumnNode.d.ts.map +1 -0
  51. package/dist/components/Nodes/ColumnNode.js +327 -0
  52. package/dist/components/Nodes/ColumnNode.js.map +1 -0
  53. package/dist/components/Nodes/CustomNode.d.ts +10 -0
  54. package/dist/components/Nodes/CustomNode.d.ts.map +1 -0
  55. package/dist/components/Nodes/CustomNode.js +53 -0
  56. package/dist/components/Nodes/CustomNode.js.map +1 -0
  57. package/dist/components/Nodes/DefaultNode.d.ts +29 -0
  58. package/dist/components/Nodes/DefaultNode.d.ts.map +1 -0
  59. package/dist/components/Nodes/DefaultNode.js +162 -0
  60. package/dist/components/Nodes/DefaultNode.js.map +1 -0
  61. package/dist/components/Nodes/TableNode.d.ts +24 -0
  62. package/dist/components/Nodes/TableNode.d.ts.map +1 -0
  63. package/dist/components/Nodes/TableNode.js +384 -0
  64. package/dist/components/Nodes/TableNode.js.map +1 -0
  65. package/dist/components/Nodes/index.d.ts +4 -0
  66. package/dist/components/Nodes/index.d.ts.map +1 -0
  67. package/{src/components/Nodes/index.ts → dist/components/Nodes/index.js} +1 -1
  68. package/dist/components/Nodes/index.js.map +1 -0
  69. package/dist/components/Nodes/task/Column.d.ts +30 -0
  70. package/dist/components/Nodes/task/Column.d.ts.map +1 -0
  71. package/dist/components/Nodes/task/Column.js +222 -0
  72. package/dist/components/Nodes/task/Column.js.map +1 -0
  73. package/dist/components/Nodes/task/CustomNode.d.ts +38 -0
  74. package/dist/components/Nodes/task/CustomNode.d.ts.map +1 -0
  75. package/dist/components/Nodes/task/CustomNode.js +272 -0
  76. package/dist/components/Nodes/task/CustomNode.js.map +1 -0
  77. package/dist/components/Nodes/task/TableNode copy.d.ts +51 -0
  78. package/dist/components/Nodes/task/TableNode copy.d.ts.map +1 -0
  79. package/dist/components/Nodes/task/TableNode copy.js +642 -0
  80. package/dist/components/Nodes/task/TableNode copy.js.map +1 -0
  81. package/dist/components/Nodes/task/TableNode.d.ts +51 -0
  82. package/dist/components/Nodes/task/TableNode.d.ts.map +1 -0
  83. package/dist/components/Nodes/task/TableNode.js +642 -0
  84. package/dist/components/Nodes/task/TableNode.js.map +1 -0
  85. package/dist/components/index.d.ts +3 -0
  86. package/dist/components/index.d.ts.map +1 -0
  87. package/dist/components/index.js +3 -0
  88. package/dist/components/index.js.map +1 -0
  89. package/dist/constant/index.d.ts +2 -0
  90. package/dist/constant/index.d.ts.map +1 -0
  91. package/dist/constant/index.js +2 -0
  92. package/dist/constant/index.js.map +1 -0
  93. package/dist/constant/nodeStyle.d.ts +75 -0
  94. package/dist/constant/nodeStyle.d.ts.map +1 -0
  95. package/dist/constant/nodeStyle.js +111 -0
  96. package/dist/constant/nodeStyle.js.map +1 -0
  97. package/dist/index.d.ts +6 -0
  98. package/dist/index.d.ts.map +1 -0
  99. package/{src/index.ts → dist/index.js} +1 -1
  100. package/dist/index.js.map +1 -0
  101. package/dist/manager/BaseLineageManager.d.ts +51 -0
  102. package/dist/manager/BaseLineageManager.d.ts.map +1 -0
  103. package/dist/manager/BaseLineageManager.js +102 -0
  104. package/dist/manager/BaseLineageManager.js.map +1 -0
  105. package/dist/manager/BaseManager.d.ts +7 -0
  106. package/dist/manager/BaseManager.d.ts.map +1 -0
  107. package/dist/manager/BaseManager.js +8 -0
  108. package/dist/manager/BaseManager.js.map +1 -0
  109. package/dist/manager/DataProcessor.d.ts +27 -0
  110. package/dist/manager/DataProcessor.d.ts.map +1 -0
  111. package/dist/manager/DataProcessor.js +581 -0
  112. package/dist/manager/DataProcessor.js.map +1 -0
  113. package/dist/manager/ExpandManager.d.ts +13 -0
  114. package/dist/manager/ExpandManager.d.ts.map +1 -0
  115. package/dist/manager/ExpandManager.js +74 -0
  116. package/dist/manager/ExpandManager.js.map +1 -0
  117. package/dist/manager/FoldLineageManager.d.ts +17 -0
  118. package/dist/manager/FoldLineageManager.d.ts.map +1 -0
  119. package/dist/manager/FoldLineageManager.js +176 -0
  120. package/dist/manager/FoldLineageManager.js.map +1 -0
  121. package/dist/manager/GraphEventManager.d.ts +9 -0
  122. package/dist/manager/GraphEventManager.d.ts.map +1 -0
  123. package/dist/manager/GraphEventManager.js +72 -0
  124. package/dist/manager/GraphEventManager.js.map +1 -0
  125. package/dist/manager/LineageManager.d.ts +116 -0
  126. package/dist/manager/LineageManager.d.ts.map +1 -0
  127. package/dist/manager/LineageManager.js +495 -0
  128. package/dist/manager/LineageManager.js.map +1 -0
  129. package/dist/manager/RightKeyMenuManager.d.ts +21 -0
  130. package/dist/manager/RightKeyMenuManager.d.ts.map +1 -0
  131. package/dist/manager/RightKeyMenuManager.js +67 -0
  132. package/dist/manager/RightKeyMenuManager.js.map +1 -0
  133. package/dist/manager/SearchNodeManager.d.ts +12 -0
  134. package/dist/manager/SearchNodeManager.d.ts.map +1 -0
  135. package/dist/manager/SearchNodeManager.js +101 -0
  136. package/dist/manager/SearchNodeManager.js.map +1 -0
  137. package/dist/manager/ToolbarManager.d.ts +8 -0
  138. package/dist/manager/ToolbarManager.d.ts.map +1 -0
  139. package/dist/manager/ToolbarManager.js +23 -0
  140. package/dist/manager/ToolbarManager.js.map +1 -0
  141. package/dist/manager/index.d.ts +9 -0
  142. package/dist/manager/index.d.ts.map +1 -0
  143. package/{src/manager/index.ts → dist/manager/index.js} +1 -0
  144. package/dist/manager/index.js.map +1 -0
  145. package/dist/manager/nodeManager/AssetEventManager.d.ts +10 -0
  146. package/dist/manager/nodeManager/AssetEventManager.d.ts.map +1 -0
  147. package/dist/manager/nodeManager/AssetEventManager.js +287 -0
  148. package/dist/manager/nodeManager/AssetEventManager.js.map +1 -0
  149. package/dist/manager/nodeManager/BaseEventManager.d.ts +18 -0
  150. package/dist/manager/nodeManager/BaseEventManager.d.ts.map +1 -0
  151. package/dist/manager/nodeManager/BaseEventManager.js +89 -0
  152. package/dist/manager/nodeManager/BaseEventManager.js.map +1 -0
  153. package/dist/manager/nodeManager/ColumnEventManager.d.ts +12 -0
  154. package/dist/manager/nodeManager/ColumnEventManager.d.ts.map +1 -0
  155. package/dist/manager/nodeManager/ColumnEventManager.js +336 -0
  156. package/dist/manager/nodeManager/ColumnEventManager.js.map +1 -0
  157. package/dist/manager/nodeManager/CustomEventManager.d.ts +6 -0
  158. package/dist/manager/nodeManager/CustomEventManager.d.ts.map +1 -0
  159. package/dist/manager/nodeManager/CustomEventManager.js +19 -0
  160. package/dist/manager/nodeManager/CustomEventManager.js.map +1 -0
  161. package/dist/manager/nodeManager/TableEventManager.d.ts +11 -0
  162. package/dist/manager/nodeManager/TableEventManager.d.ts.map +1 -0
  163. package/dist/manager/nodeManager/TableEventManager.js +121 -0
  164. package/dist/manager/nodeManager/TableEventManager.js.map +1 -0
  165. package/dist/manager/nodeManager/index.d.ts +4 -0
  166. package/dist/manager/nodeManager/index.d.ts.map +1 -0
  167. package/{src/manager/nodeManager/index.ts → dist/manager/nodeManager/index.js} +2 -1
  168. package/dist/manager/nodeManager/index.js.map +1 -0
  169. package/dist/manager/task/DataProcessor.d.ts +22 -0
  170. package/dist/manager/task/DataProcessor.d.ts.map +1 -0
  171. package/dist/manager/task/DataProcessor.js +379 -0
  172. package/dist/manager/task/DataProcessor.js.map +1 -0
  173. package/dist/manager/task/GraphEventManager.d.ts +13 -0
  174. package/dist/manager/task/GraphEventManager.d.ts.map +1 -0
  175. package/dist/manager/task/GraphEventManager.js +77 -0
  176. package/dist/manager/task/GraphEventManager.js.map +1 -0
  177. package/dist/manager/task/LineageManager.d.ts +70 -0
  178. package/dist/manager/task/LineageManager.d.ts.map +1 -0
  179. package/dist/manager/task/LineageManager.js +399 -0
  180. package/dist/manager/task/LineageManager.js.map +1 -0
  181. package/dist/manager/task/RightKeyMenuManager.d.ts +44 -0
  182. package/dist/manager/task/RightKeyMenuManager.d.ts.map +1 -0
  183. package/dist/manager/task/RightKeyMenuManager.js +183 -0
  184. package/dist/manager/task/RightKeyMenuManager.js.map +1 -0
  185. package/dist/manager/task/SearchNodeManager.d.ts +12 -0
  186. package/dist/manager/task/SearchNodeManager.d.ts.map +1 -0
  187. package/dist/manager/task/SearchNodeManager.js +100 -0
  188. package/dist/manager/task/SearchNodeManager.js.map +1 -0
  189. package/dist/types/eventEnum.d.ts +45 -0
  190. package/dist/types/eventEnum.d.ts.map +1 -0
  191. package/dist/types/eventEnum.js +48 -0
  192. package/dist/types/eventEnum.js.map +1 -0
  193. package/dist/types/index.d.ts +4 -0
  194. package/dist/types/index.d.ts.map +1 -0
  195. package/dist/types/index.js +4 -0
  196. package/dist/types/index.js.map +1 -0
  197. package/dist/types/manager.d.ts +85 -0
  198. package/dist/types/manager.d.ts.map +1 -0
  199. package/dist/types/manager.js +34 -0
  200. package/dist/types/manager.js.map +1 -0
  201. package/dist/types/node.d.ts +208 -0
  202. package/dist/types/node.d.ts.map +1 -0
  203. package/dist/types/node.js +120 -0
  204. package/dist/types/node.js.map +1 -0
  205. package/dist/utils/foldNode.d.ts +14 -0
  206. package/dist/utils/foldNode.d.ts.map +1 -0
  207. package/dist/utils/foldNode.js +231 -0
  208. package/dist/utils/foldNode.js.map +1 -0
  209. package/dist/utils/getIconByType.d.ts +4 -0
  210. package/dist/utils/getIconByType.d.ts.map +1 -0
  211. package/dist/utils/getIconByType.js +72 -0
  212. package/dist/utils/getIconByType.js.map +1 -0
  213. package/dist/utils/index.d.ts +4 -0
  214. package/dist/utils/index.d.ts.map +1 -0
  215. package/{src/utils/index.ts → dist/utils/index.js} +1 -0
  216. package/dist/utils/index.js.map +1 -0
  217. package/dist/utils/manager.d.ts +5 -0
  218. package/dist/utils/manager.d.ts.map +1 -0
  219. package/dist/utils/manager.js +44 -0
  220. package/dist/utils/manager.js.map +1 -0
  221. package/dist/utils/node.d.ts +29 -0
  222. package/dist/utils/node.d.ts.map +1 -0
  223. package/dist/utils/node.js +286 -0
  224. package/dist/utils/node.js.map +1 -0
  225. package/package.json +9 -7
  226. package/src/assets/big/dataSourceTypeIcon.ts +0 -65
  227. package/src/assets/big/entityType.ts +0 -1
  228. package/src/assets/big/lineageIcon.ts +0 -35
  229. package/src/assets/big/tableTypeIcon.ts +0 -17
  230. package/src/assets/big/tipIcon.ts +0 -1
  231. package/src/assets/index.ts +0 -14
  232. package/src/components/Edges/DefaultEdge.ts +0 -196
  233. package/src/components/Edges/FoldEdge.ts +0 -97
  234. package/src/components/Edges/LineageEdge.ts +0 -24
  235. package/src/components/Edges/index.ts +0 -3
  236. package/src/components/Nodes/AssetNode.ts +0 -438
  237. package/src/components/Nodes/ColumnNode.ts +0 -491
  238. package/src/components/Nodes/CustomNode.ts +0 -63
  239. package/src/components/Nodes/DefaultNode.ts +0 -74
  240. package/src/components/Nodes/DowngradeNode.ts +0 -115
  241. package/src/components/Nodes/TableNode.ts +0 -534
  242. package/src/components/index.ts +0 -2
  243. package/src/constant/index.ts +0 -1
  244. package/src/constant/nodeStyle.ts +0 -141
  245. package/src/manager/BaseManager.ts +0 -20
  246. package/src/manager/DataProcessor.ts +0 -782
  247. package/src/manager/ExpandManager.ts +0 -93
  248. package/src/manager/FoldLineageManager.ts +0 -196
  249. package/src/manager/GraphEventManager.ts +0 -90
  250. package/src/manager/LineageManager.ts +0 -680
  251. package/src/manager/RightKeyMenuManager.ts +0 -114
  252. package/src/manager/SearchNodeManager.ts +0 -188
  253. package/src/manager/ToolbarManager.ts +0 -42
  254. package/src/manager/nodeManager/AssetEventManager.ts +0 -442
  255. package/src/manager/nodeManager/BaseEventManager.ts +0 -68
  256. package/src/manager/nodeManager/ColumnEventManager.ts +0 -467
  257. package/src/manager/nodeManager/CustomEventManager.ts +0 -11
  258. package/src/manager/nodeManager/TableEventManager.ts +0 -87
  259. package/src/types/NodeConfig.ts +0 -69
  260. package/src/types/eventEnum.ts +0 -58
  261. package/src/types/index.ts +0 -3
  262. package/src/types/manager.ts +0 -75
  263. package/src/types/node.ts +0 -246
  264. package/src/utils/downgradeNode.ts +0 -22
  265. package/src/utils/foldNode.ts +0 -345
  266. package/src/utils/getIconByType.ts +0 -104
  267. package/src/utils/node.ts +0 -294
  268. package/tsconfig.json +0 -30
@@ -0,0 +1,278 @@
1
+ import { __extends, __read, __spreadArray } from "tslib";
2
+ import { Group, Rect, Text, Image } from '@aloudata/ink-graph-new';
3
+ import { DefaultNode } from './DefaultNode';
4
+ import { colorVar, NODE_WIDTH, RECT_LINE_WIDTH, TABLE_HEADER_HEIGHT, TABLE_HEADER_NAME_WRAP_WIDTH, TABLE_TAG_HEIGHT, } from '../../constant';
5
+ import { EElementType, EEntityType, EExpandType, } from '../../types';
6
+ import { entityDefaultType, hotspot } from '../../assets';
7
+ import _ from 'lodash';
8
+ import { getEntityTypeIcon } from '../../utils';
9
+ var AssetNode = /** @class */ (function (_super) {
10
+ __extends(AssetNode, _super);
11
+ function AssetNode() {
12
+ var _this = _super.apply(this, __spreadArray([], __read(arguments), false)) || this;
13
+ _this.defaultHeaderHeight = 42;
14
+ _this.onMouseLeave = function () {
15
+ _this.onLeave();
16
+ // hide side icon
17
+ _this.hideSideIcon();
18
+ };
19
+ _this.onMouseEnter = function () {
20
+ _this.onHover();
21
+ // show side icon
22
+ _this.showSideIcon();
23
+ };
24
+ _this.showSideIcon = function () {
25
+ var _a, _b, _c, _d;
26
+ var config = _this.config;
27
+ var onlyShowRelated = !!((_b = (_a = _this.lineageManager) === null || _a === void 0 ? void 0 : _a.rightKeyMenuManager) === null || _b === void 0 ? void 0 : _b.onlyShowRelated);
28
+ var isColumnRelatedList = !!((_d = (_c = _this.lineageManager.activeNodes) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.tableName);
29
+ var inRelatedAndInColumnList = onlyShowRelated && isColumnRelatedList;
30
+ // check left
31
+ // show expand left side icon
32
+ if (config.canExpandInput && !inRelatedAndInColumnList)
33
+ // show left icon if not in column related list
34
+ _this.showLeftIcon(EExpandType.EXPAND);
35
+ // show close left side icon
36
+ if (config.canFoldInput && !onlyShowRelated)
37
+ _this.showLeftIcon(EExpandType.FOLD);
38
+ // check right
39
+ // show expand right side icon
40
+ if (config.canExpandOutput && !inRelatedAndInColumnList) {
41
+ // show right icon if not in column related list
42
+ _this.showRightIcon(EExpandType.EXPAND);
43
+ }
44
+ // show close right side icon
45
+ if (config.canFoldOutput && !onlyShowRelated)
46
+ _this.showRightIcon(EExpandType.FOLD);
47
+ };
48
+ return _this;
49
+ }
50
+ AssetNode.prototype.render = function () {
51
+ _super.prototype.render.call(this);
52
+ var isStartNode = this.config.isStartNode;
53
+ if (isStartNode) {
54
+ // render start node tag
55
+ this.renderStartNodeTag();
56
+ }
57
+ // render table header
58
+ this.renderHeader();
59
+ this.updateNodeHeight();
60
+ this.initEvents();
61
+ };
62
+ AssetNode.prototype.renderStartNodeTag = function () {
63
+ var data = this.config.data;
64
+ var tagGroup = new Group({
65
+ name: 'tag',
66
+ });
67
+ var color = data.type === EEntityType.CUSTOM ? '#475569' : '#14B8A6';
68
+ var tagRect = new Rect({
69
+ style: {
70
+ x: -1,
71
+ y: -TABLE_TAG_HEIGHT,
72
+ width: NODE_WIDTH + 2,
73
+ height: TABLE_TAG_HEIGHT,
74
+ stroke: color,
75
+ fill: color,
76
+ lineWidth: 1,
77
+ radius: [4, 4, 0, 0], // 0
78
+ },
79
+ });
80
+ var tagText = new Text({
81
+ style: {
82
+ x: 8,
83
+ y: -17,
84
+ lineHeight: 16,
85
+ text: '起始资产',
86
+ fontSize: 12,
87
+ fontWeight: 400,
88
+ fontFamily: 'PingFang SC',
89
+ textBaseline: 'top',
90
+ fill: '#FFF',
91
+ },
92
+ });
93
+ tagGroup.appendChild(tagRect);
94
+ tagGroup.appendChild(tagText);
95
+ this.container.appendChild(tagGroup);
96
+ };
97
+ AssetNode.prototype.renderHeader = function () {
98
+ var data = this.config.data;
99
+ var typeCode = data.typeCode, icon = data.icon, name = data.name;
100
+ // table 整体
101
+ this.bgRect = new Rect({
102
+ name: 'table-header-group',
103
+ style: {
104
+ x: -1,
105
+ y: 1,
106
+ width: NODE_WIDTH + 2,
107
+ height: TABLE_HEADER_HEIGHT,
108
+ stroke: this.config.style.stroke || colorVar.headerGroupBorderDefault,
109
+ zIndex: this.config.style.zIndex || 2,
110
+ lineWidth: RECT_LINE_WIDTH,
111
+ },
112
+ });
113
+ // header部分
114
+ this.headerGroup = new Rect({
115
+ style: {
116
+ x: 1,
117
+ y: 1,
118
+ fill: this.config.style.fill || '#FFFFFF',
119
+ width: NODE_WIDTH,
120
+ height: this.elementType === EElementType.DOWNGRADE
121
+ ? this.defaultHeaderHeight
122
+ : TABLE_HEADER_HEIGHT,
123
+ zIndex: 10,
124
+ },
125
+ });
126
+ var img = data.type === EEntityType.CUSTOM
127
+ ? icon || entityDefaultType
128
+ : getEntityTypeIcon(typeCode, data.type);
129
+ var entityTypeIcon = new Image({
130
+ style: {
131
+ x: 12,
132
+ y: 12,
133
+ width: 20,
134
+ height: 20,
135
+ img: img,
136
+ cursor: 'pointer',
137
+ },
138
+ });
139
+ this.headerName = new Text({
140
+ style: {
141
+ x: 36,
142
+ y: 22,
143
+ text: name,
144
+ fontSize: 12,
145
+ fontWeight: 500,
146
+ lineHeight: 14,
147
+ fontFamily: 'PingFang SC',
148
+ textBaseline: 'middle',
149
+ wordWrap: true,
150
+ wordWrapWidth: TABLE_HEADER_NAME_WRAP_WIDTH,
151
+ maxLines: 2,
152
+ textOverflow: 'ellipsis',
153
+ fill: '#171717',
154
+ },
155
+ });
156
+ if (this.config.data.isHotspot) {
157
+ this.hotspotIcon = new Image({
158
+ style: {
159
+ x: 270,
160
+ y: 14,
161
+ width: 20,
162
+ height: 20,
163
+ img: hotspot,
164
+ cursor: 'pointer',
165
+ zIndex: 99,
166
+ },
167
+ });
168
+ this.headerGroup.appendChild(this.hotspotIcon);
169
+ }
170
+ this.renderSideIcon();
171
+ this.headerGroup.appendChild(this.bgHideRect);
172
+ this.headerGroup.appendChild(this.leftIcon);
173
+ this.headerGroup.appendChild(this.rightIcon);
174
+ this.headerGroup.appendChild(this.headerName);
175
+ this.headerGroup.appendChild(entityTypeIcon);
176
+ this.bgRect.appendChild(this.headerGroup);
177
+ this.container.appendChild(this.bgRect);
178
+ };
179
+ AssetNode.prototype.updateNodeHeight = function () {
180
+ var tagHeight = this.config.isStartNode ? TABLE_TAG_HEIGHT : -1;
181
+ var height = this.elementType === EElementType.DOWNGRADE
182
+ ? this.defaultBgRectHeight
183
+ : this.container.getBBox().height - tagHeight;
184
+ this.bgRect.style.height = height;
185
+ };
186
+ AssetNode.prototype.initEvents = function () {
187
+ var _this = this;
188
+ var _a, _b;
189
+ _super.prototype.initEvents.call(this);
190
+ (_a = this.hotspotIcon) === null || _a === void 0 ? void 0 : _a.addEventListener('mouseenter', function () {
191
+ var _a = _this.hotspotIcon.getBBox(), x = _a.x, y = _a.y;
192
+ _this.lineageManager.rightKeyMenuManager.updateHotspotTipState({
193
+ visible: true,
194
+ id: _this.config.id,
195
+ data: _this.config.data,
196
+ x: x,
197
+ y: y,
198
+ });
199
+ });
200
+ (_b = this.hotspotIcon) === null || _b === void 0 ? void 0 : _b.addEventListener('mouseleave', function () {
201
+ _this.lineageManager.rightKeyMenuManager.updateHotspotTipState({
202
+ visible: false,
203
+ id: '',
204
+ data: {},
205
+ x: -999,
206
+ y: -999,
207
+ });
208
+ });
209
+ this.headerGroup.addEventListener('mouseenter', function () {
210
+ _this.onMouseEnter();
211
+ });
212
+ this.headerGroup.addEventListener('mouseleave', function () {
213
+ _this.onMouseLeave();
214
+ });
215
+ // this.headerGroup.addEventListener('click', () => {
216
+ // this.lineageManager.emit(this.eventType.HEADER_CLICK, this);
217
+ // });
218
+ // this.headerGroup.addEventListener('contextmenu', (e) => {
219
+ // e.preventDefault();
220
+ // this.contextmenuClick();
221
+ // });
222
+ // this.headerGroup.addEventListener('mouseenter', () => {
223
+ // this.onMouseEnter();
224
+ // });
225
+ // this.headerGroup.addEventListener('mouseleave', () => {
226
+ // this.onMouseLeave();
227
+ // });
228
+ };
229
+ AssetNode.prototype.handleHotspotExpand = function (data) {
230
+ var _a, _b, _c, _d, _e, _f, _g;
231
+ var parsedData = data.resData, params = data.params;
232
+ if (!parsedData)
233
+ return;
234
+ // reset related nodes
235
+ (_a = this.lineageManager) === null || _a === void 0 ? void 0 : _a.resetRelatedNodes();
236
+ var nodes = parsedData.nodes, edges = parsedData.edges;
237
+ // show no more linage
238
+ if (edges.length) {
239
+ var prevNodesConfig = this.lineageManager.parsedData.nodes;
240
+ var prevEdgesConfig = this.lineageManager.parsedData.edges;
241
+ var newNodesConfig_1 = _.unionBy(__spreadArray(__spreadArray([], __read(prevNodesConfig), false), __read(nodes), false), 'id');
242
+ var newEdgesConfig = _.unionBy(__spreadArray(__spreadArray([], __read(prevEdgesConfig), false), __read(edges), false), 'id');
243
+ // prevNodesConfig中和nodes中同id的node,如果node的isHotspot为true,则将prevNodesConfig中同id的node的isHotspot设置为node的isHotspot,hotspots设置为node的hotspots
244
+ nodes.forEach(function (node) {
245
+ var newNode = newNodesConfig_1.find(function (n) { return n.id === node.id; });
246
+ if (newNode) {
247
+ newNode.data.isHotspot =
248
+ newNode.data.isHotspot || node.data.isHotspot;
249
+ newNode.data.hotspots = node.data.hotspots || newNode.data.hotspots;
250
+ }
251
+ });
252
+ this.lineageManager.setData({
253
+ nodes: newNodesConfig_1,
254
+ edges: newEdgesConfig,
255
+ });
256
+ var onlyShowRelated = !!((_c = (_b = this.lineageManager) === null || _b === void 0 ? void 0 : _b.rightKeyMenuManager) === null || _c === void 0 ? void 0 : _c.onlyShowRelated);
257
+ if (!onlyShowRelated) {
258
+ // highlight curr node flow
259
+ (_d = this.lineageManager) === null || _d === void 0 ? void 0 : _d.updateActiveNodes([this.config]);
260
+ // set related nodes & edges
261
+ (_e = this.lineageManager) === null || _e === void 0 ? void 0 : _e.setRelatedNodesAndEdges(this.config, false);
262
+ }
263
+ else {
264
+ // highlight curr node flow
265
+ (_f = this.lineageManager) === null || _f === void 0 ? void 0 : _f.updateActiveNodes([
266
+ this.lineageManager.cachedRelatedNodeConfig,
267
+ ]);
268
+ // set related nodes & edges
269
+ (_g = this.lineageManager) === null || _g === void 0 ? void 0 : _g.setRelatedNodesAndEdges(this.lineageManager.cachedRelatedNodeConfig, false);
270
+ }
271
+ // update
272
+ this.lineageManager.update();
273
+ }
274
+ };
275
+ return AssetNode;
276
+ }(DefaultNode));
277
+ export { AssetNode };
278
+ //# sourceMappingURL=AssetNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AssetNode.js","sourceRoot":"","sources":["../../../src/components/Nodes/AssetNode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { Text, Graph } from '@aloudata/ink-graph-new';
2
+ import { DefaultNode } from './DefaultNode';
3
+ import { EElementType, IColumnConfig, IColResBase, EColumnEvents } from '../../types';
4
+ import { TableNode } from '.';
5
+ export declare class ColumnNode extends DefaultNode {
6
+ node: TableNode;
7
+ position: number;
8
+ static node: TableNode;
9
+ prevStartRelatedColumnId: string;
10
+ config: IColumnConfig<IColResBase>;
11
+ colText: Text;
12
+ colDesc: Text;
13
+ isForbidden: boolean;
14
+ get elementType(): EElementType;
15
+ get eventType(): typeof EColumnEvents;
16
+ constructor(graph: Graph, config: IColumnConfig<IColResBase>, node: TableNode, position: number);
17
+ render(): void;
18
+ containerMouseEnter(): void;
19
+ containerMouseLeave(): void;
20
+ destroy(): void;
21
+ isForbiddenColumn(): boolean;
22
+ showSideIcon: () => void;
23
+ handleHotspotExpand(data: {
24
+ resData: any;
25
+ }): void;
26
+ }
27
+ //# sourceMappingURL=ColumnNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColumnNode.d.ts","sourceRoot":"","sources":["../../../src/components/Nodes/ColumnNode.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,IAAI,EAIJ,KAAK,EACN,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAY5C,OAAO,EAEL,YAAY,EAEZ,aAAa,EACb,WAAW,EAGX,aAAa,EACd,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC;AAE9B,qBAAa,UAAW,SAAQ,WAAW;IAwBhC,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,MAAM;IAxBzB,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC;IAEvB,wBAAwB,EAAE,MAAM,CAAM;IAE9B,MAAM,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IAE3C,OAAO,EAAE,IAAI,CAAC;IAEd,OAAO,EAAE,IAAI,CAAC;IAEd,WAAW,EAAE,OAAO,CAAC;IAErB,IAAI,WAAW,IAAI,YAAY,CAE9B;IAED,IAAI,SAAS,IAAI,OAAO,aAAa,CAEpC;gBAGC,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,aAAa,CAAC,WAAW,CAAC,EAC3B,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,MAAM;IASzB,MAAM;IAmIN,mBAAmB;IASnB,mBAAmB;IAOnB,OAAO,IAAI,IAAI;IAgBf,iBAAiB;IASjB,YAAY,aAoCV;IAEF,mBAAmB,CAAC,IAAI,EAAE;QAAE,OAAO,MAAA;KAAE;CA+ItC"}
@@ -0,0 +1,327 @@
1
+ import { __extends, __read, __spreadArray } from "tslib";
2
+ import { Rect, Text, Image, getTextDomWidth, getNodeHeight, } from '@aloudata/ink-graph-new';
3
+ import _ from 'lodash';
4
+ import { DefaultNode } from './DefaultNode';
5
+ import { COL_HEIGHT, COL_ORDER_TEXT_X, COL_ORDER_TEXT_Y, COL_PK_FK_Y, COL_TEXT_X, COL_TEXT_Y, NODE_WIDTH, RECT_LINE_WIDTH, } from '../../constant';
6
+ import { fkIcon, pkIcon } from '../../assets';
7
+ import { EDashType, EElementType, EExpandType, EColumnEvents, } from '../../types';
8
+ var ColumnNode = /** @class */ (function (_super) {
9
+ __extends(ColumnNode, _super);
10
+ function ColumnNode(graph, config, node, position) {
11
+ var _this = _super.call(this, graph, config) || this;
12
+ _this.node = node;
13
+ _this.position = position;
14
+ _this.prevStartRelatedColumnId = '';
15
+ _this.showSideIcon = function () {
16
+ var _a, _b;
17
+ var config = _this.config;
18
+ var onlyShowRelated = !!((_b = (_a = _this.lineageManager) === null || _a === void 0 ? void 0 : _a.rightKeyMenuManager) === null || _b === void 0 ? void 0 : _b.onlyShowRelated);
19
+ // check left
20
+ // show expand left side icon
21
+ if (config.canExpandInput) {
22
+ if (onlyShowRelated && config.isStartNode && !config.isRelatedColumn) {
23
+ }
24
+ else {
25
+ _this.showLeftIcon(EExpandType.EXPAND);
26
+ }
27
+ }
28
+ // show close left side icon
29
+ if (config.canFoldInput) {
30
+ if (onlyShowRelated) {
31
+ }
32
+ else {
33
+ _this.showLeftIcon(EExpandType.FOLD);
34
+ }
35
+ }
36
+ // check right
37
+ // show expand right side icon
38
+ if (config.canExpandOutput) {
39
+ if (onlyShowRelated && config.isStartNode && !config.isRelatedColumn)
40
+ return;
41
+ _this.showRightIcon(EExpandType.EXPAND);
42
+ }
43
+ // show close right side icon
44
+ if (config.canFoldOutput && !onlyShowRelated) {
45
+ _this.showRightIcon(EExpandType.FOLD);
46
+ }
47
+ };
48
+ _this.render();
49
+ _this.initEvents();
50
+ return _this;
51
+ }
52
+ Object.defineProperty(ColumnNode.prototype, "elementType", {
53
+ get: function () {
54
+ return EElementType.COLUMN;
55
+ },
56
+ enumerable: false,
57
+ configurable: true
58
+ });
59
+ Object.defineProperty(ColumnNode.prototype, "eventType", {
60
+ get: function () {
61
+ return EColumnEvents;
62
+ },
63
+ enumerable: false,
64
+ configurable: true
65
+ });
66
+ ColumnNode.prototype.render = function () {
67
+ var _a, _b, _c, _d, _e, _f, _g, _h;
68
+ this.container.name = 'column-group';
69
+ this.container.style.y = this.position * COL_HEIGHT;
70
+ this.container.style.cursor = 'default';
71
+ var _j = this.config.data, position = _j.position, name = _j.name, constraint = _j.constraint;
72
+ this.isForbidden = this.isForbiddenColumn();
73
+ this.container.style.zIndex = this.config.style.zIndex;
74
+ this.bgRect = new Rect({
75
+ name: 'column-bgRect',
76
+ style: {
77
+ x: 8,
78
+ fill: this.isForbidden ? '#fff' : ((_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.style) === null || _b === void 0 ? void 0 : _b.fill) || '#fff',
79
+ stroke: this.isForbidden
80
+ ? '#DBDBDB'
81
+ : ((_d = (_c = this.config) === null || _c === void 0 ? void 0 : _c.style) === null || _d === void 0 ? void 0 : _d.stroke) || '#DBDBDB',
82
+ lineWidth: RECT_LINE_WIDTH,
83
+ width: NODE_WIDTH - 16,
84
+ height: COL_HEIGHT,
85
+ },
86
+ });
87
+ this.headerGroup = new Rect({
88
+ style: {
89
+ x: 9,
90
+ y: 1,
91
+ width: NODE_WIDTH - 16 - 2,
92
+ height: 30,
93
+ zIndex: 10,
94
+ cursor: 'pointer',
95
+ fill: this.isForbidden ? '#fff' : ((_f = (_e = this.config) === null || _e === void 0 ? void 0 : _e.style) === null || _f === void 0 ? void 0 : _f.fill) || '#fff',
96
+ },
97
+ });
98
+ var colOrderText = new Text({
99
+ style: {
100
+ x: COL_ORDER_TEXT_X,
101
+ y: COL_ORDER_TEXT_Y,
102
+ text: position || '-',
103
+ fill: '#A2A2A2',
104
+ fontSize: 12,
105
+ fontWeight: 400,
106
+ fontFamily: 'Tahoma',
107
+ zIndex: 2,
108
+ opacity: this.isForbidden ? 0.5 : 1,
109
+ },
110
+ });
111
+ var desc = ((_g = this.config.data) === null || _g === void 0 ? void 0 : _g.displayName) || ((_h = this.config.data) === null || _h === void 0 ? void 0 : _h.description) || '';
112
+ var descLengh = getTextDomWidth(desc, 12, 'Tahoma');
113
+ var isDescExist = desc && descLengh > 0;
114
+ this.colText = new Text({
115
+ name: 'column-text',
116
+ style: {
117
+ x: COL_TEXT_X,
118
+ y: COL_TEXT_Y,
119
+ wordWrap: true,
120
+ wordWrapWidth: isDescExist ? 150 : 240,
121
+ textOverflow: 'ellipsis',
122
+ maxLines: 1,
123
+ text: name,
124
+ fill: '#171717',
125
+ fontSize: 12,
126
+ fontWeight: 400,
127
+ fontFamily: 'PingFang SC',
128
+ zIndex: 2,
129
+ opacity: this.isForbidden ? 0.5 : 1,
130
+ },
131
+ });
132
+ // desc
133
+ if (isDescExist) {
134
+ this.colDesc = new Text({
135
+ name: 'column-desc-text',
136
+ style: {
137
+ x: NODE_WIDTH - 20 - COL_ORDER_TEXT_X,
138
+ y: COL_TEXT_Y,
139
+ wordWrap: true,
140
+ wordWrapWidth: 85,
141
+ textOverflow: 'ellipsis',
142
+ textAlign: 'right',
143
+ maxLines: 1,
144
+ text: desc,
145
+ fill: '#4B5563',
146
+ fontSize: 12,
147
+ fontWeight: 400,
148
+ fontFamily: 'PingFang SC',
149
+ zIndex: 2,
150
+ opacity: this.isForbidden ? 0.5 : 1,
151
+ },
152
+ });
153
+ this.headerGroup.appendChild(this.colDesc);
154
+ }
155
+ // PK、FK
156
+ if (!_.isNil(constraint) && ['PK', 'FK'].includes(constraint)) {
157
+ var columnType = new Image({
158
+ style: {
159
+ x: 190, // FIXME @yk
160
+ y: COL_PK_FK_Y,
161
+ width: 12,
162
+ height: 12,
163
+ img: constraint === 'PK' ? pkIcon : fkIcon,
164
+ cursor: 'pointer',
165
+ zIndex: 2,
166
+ },
167
+ });
168
+ this.headerGroup.appendChild(columnType);
169
+ }
170
+ if (!this.isForbidden &&
171
+ (this.config.isRelatedColumn || this.config.isStartNode)) {
172
+ this.renderSideIcon();
173
+ this.container.appendChild(this.bgHideRect);
174
+ this.container.appendChild(this.leftIcon);
175
+ this.container.appendChild(this.rightIcon);
176
+ }
177
+ this.container.appendChild(this.bgRect);
178
+ this.headerGroup.appendChild(colOrderText);
179
+ this.headerGroup.appendChild(this.colText);
180
+ this.container.appendChild(this.headerGroup);
181
+ };
182
+ ColumnNode.prototype.containerMouseEnter = function () {
183
+ this.node.isHoverColumn = true;
184
+ if (this.isForbidden)
185
+ return;
186
+ _super.prototype.containerMouseEnter.call(this);
187
+ this.showSideIcon();
188
+ };
189
+ ColumnNode.prototype.containerMouseLeave = function () {
190
+ _super.prototype.containerMouseLeave.call(this);
191
+ this.node.isHoverColumn = false;
192
+ this.hideSideIcon();
193
+ };
194
+ ColumnNode.prototype.destroy = function () {
195
+ var filteredArray = _.reject(this.node.config.relatedColumns, {
196
+ id: this.id,
197
+ });
198
+ this.node.config.relatedColumns = filteredArray;
199
+ if (filteredArray.length === 0) {
200
+ this.node.config.isRelated = false;
201
+ }
202
+ this.config = null;
203
+ this.node.update(this.node.config, this.node.container);
204
+ };
205
+ ColumnNode.prototype.isForbiddenColumn = function () {
206
+ var _this = this;
207
+ var _a, _b, _c;
208
+ return (!this.config.isRelatedColumn &&
209
+ ((_c = (_b = (_a = this.node) === null || _a === void 0 ? void 0 : _a.config) === null || _b === void 0 ? void 0 : _b.relatedColumns) === null || _c === void 0 ? void 0 : _c.some(function (c) { return c.id === _this.id && c.visible; })));
210
+ };
211
+ ColumnNode.prototype.handleHotspotExpand = function (data) {
212
+ var _this = this;
213
+ var _a, _b, _c, _d, _e, _f, _g, _h;
214
+ var parsedData = data.resData;
215
+ if (parsedData.nodes.length > 1) {
216
+ // save prev start related column id
217
+ this.lineageManager.expandManager.prevStartRelatedColumnId =
218
+ this.config.id;
219
+ }
220
+ var newNodes = parsedData.nodes, newEdges = parsedData.edges;
221
+ var prevNodesConfig = this.lineageManager.parsedData.nodes;
222
+ var prevEdgesConfig = this.lineageManager.parsedData.edges;
223
+ // 如果是从起始列往下扩展并且不是同一个列,先清空之前所有节点下的的relatedColumns,再把新的parse后的列赋值给每一个表下
224
+ // 展开列是起始资产的列且展开列不是起始资产的第一个列
225
+ if (this.config.isStartNode &&
226
+ this.prevStartRelatedColumnId !== ((_a = this.config) === null || _a === void 0 ? void 0 : _a.id)) {
227
+ // find related nodes and edges
228
+ // 获取起始资产首列的上下游列,包含间接血缘
229
+ if (this.prevStartRelatedColumnId) {
230
+ prevEdgesConfig = prevEdgesConfig.filter(function (e) {
231
+ return !e.data.relationTypeCode.includes('Column');
232
+ });
233
+ }
234
+ // clear all related columns
235
+ prevNodesConfig.forEach(function (n) {
236
+ // clear related edges
237
+ n.relatedColumns = [];
238
+ });
239
+ }
240
+ // difference nodes
241
+ // 去除nodes中id等于prevNodesConfig.id中的节点,得到改变深度后的额外节点
242
+ var differentObjects = _.differenceBy(newNodes, prevNodesConfig, 'id');
243
+ // common nodes
244
+ // 找出prevNodesConfig中id等于nodes中id的节点
245
+ var commonObjects = _.intersectionBy(prevNodesConfig, newNodes, 'id');
246
+ differentObjects.forEach(function (n) {
247
+ n.relatedColumns = n.children;
248
+ n.relatedColumns.forEach(function (col) {
249
+ col.isRelatedColumn = true;
250
+ });
251
+ n.children = [];
252
+ n.isFolded = false;
253
+ n.style.height = getNodeHeight(n);
254
+ });
255
+ commonObjects.forEach(function (n) {
256
+ n.isFolded = false;
257
+ // 展开后得到的所有节点中找到第一个交集节点
258
+ var sameNodeNew = newNodes.find(function (node) { return node.id === n.id; });
259
+ if (sameNodeNew) {
260
+ n.relatedColumns = _.unionBy(__spreadArray(__spreadArray([], __read(n.relatedColumns), false), __read(sameNodeNew.children), false), 'id');
261
+ n.relatedColumns.forEach(function (col) {
262
+ col.isRelatedColumn = true;
263
+ });
264
+ n.style.height = getNodeHeight(n);
265
+ }
266
+ sameNodeNew.data.isHotspot =
267
+ n.data.isHotspot || sameNodeNew.data.isHotspot;
268
+ });
269
+ // show related edges
270
+ newEdges.forEach(function (e) {
271
+ var prevEdge = prevEdgesConfig.find(function (edge) { return edge.id === e.id; });
272
+ if (prevEdge) {
273
+ prevEdge.isFolded = false;
274
+ //
275
+ if (e.relationType !== prevEdge.relationType) {
276
+ prevEdge.relationType = EDashType.ALL;
277
+ prevEdge.style.strokeDasharray = [0];
278
+ }
279
+ }
280
+ else {
281
+ e.isFolded = false;
282
+ }
283
+ });
284
+ var newNodesConfig = _.concat(prevNodesConfig, differentObjects);
285
+ //
286
+ var newEdgesConfig = _.unionBy(__spreadArray(__spreadArray([], __read(prevEdgesConfig), false), __read(newEdges), false), 'id');
287
+ // update related column position
288
+ newNodesConfig.forEach(function (n) {
289
+ n.relatedColumns
290
+ .sort(function (a, b) {
291
+ var _a, _b;
292
+ return ((_a = a.data) === null || _a === void 0 ? void 0 : _a.position) - ((_b = b.data) === null || _b === void 0 ? void 0 : _b.position);
293
+ })
294
+ .forEach(function (col, i) {
295
+ col.position = {
296
+ x: 0,
297
+ y: i * COL_HEIGHT,
298
+ };
299
+ });
300
+ });
301
+ this.lineageManager.setData({
302
+ nodes: newNodesConfig,
303
+ edges: newEdgesConfig,
304
+ });
305
+ var onlyShowRelated = !!((_c = (_b = this.lineageManager) === null || _b === void 0 ? void 0 : _b.rightKeyMenuManager) === null || _c === void 0 ? void 0 : _c.onlyShowRelated);
306
+ if (!onlyShowRelated) {
307
+ var currRelatedColumn = this.node.config.relatedColumns.find(function (col) { return col.id === _this.config.id; });
308
+ // update active nodes
309
+ (_d = this.lineageManager) === null || _d === void 0 ? void 0 : _d.updateActiveNodes([currRelatedColumn]);
310
+ // cache related edges
311
+ (_e = this.lineageManager) === null || _e === void 0 ? void 0 : _e.setRelatedNodesAndEdges(this.config, false);
312
+ }
313
+ else {
314
+ // update active nodes
315
+ (_f = this.lineageManager) === null || _f === void 0 ? void 0 : _f.updateActiveNodes([
316
+ this.lineageManager.cachedRelatedNodeConfig,
317
+ ]);
318
+ // cache related edges
319
+ (_g = this.lineageManager) === null || _g === void 0 ? void 0 : _g.setRelatedNodesAndEdges(this.lineageManager.cachedRelatedNodeConfig);
320
+ }
321
+ // calc fold nodes
322
+ (_h = this.lineageManager) === null || _h === void 0 ? void 0 : _h.updateFoldStatus(this.lineageManager.foldLineageManager.isFoldChecked);
323
+ };
324
+ return ColumnNode;
325
+ }(DefaultNode));
326
+ export { ColumnNode };
327
+ //# sourceMappingURL=ColumnNode.js.map