@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,642 @@
1
+ import { __assign, __decorate, __extends, __read, __spreadArray } from "tslib";
2
+ import { BaseNode, getTextDomWidth, Group, Image, Rect, Text, } from '@aloudata/ink-graph';
3
+ import { getDataSourceTypeIcon } from '@/components/DataSourceTypeIcon/getDataSourceTypeIcon';
4
+ import { RECT_LINE_WIDTH } from '@/components/TaskLineageView/constants';
5
+ import { EDirection } from '@/typings';
6
+ import { COL_HEIGHT } from '../ constants/column';
7
+ import { PAGINATION_IMAGE_SIZE, TABLE_CONTROL_BAR_HEIGHT, TABLE_HEADER_HEIGHT, TABLE_RECT_BORDER_RADIUS, TABLE_TAG_HEIGHT, TABLE_WIDTH, } from '../ constants/table';
8
+ import tableShowLess from '../assets/showLess.svg';
9
+ import tableShowMore from '../assets/showMore.svg';
10
+ import tablePaginationNext from '../assets/tablePaginationNext.svg';
11
+ import tablePaginationNextClick from '../assets/tablePaginationNextClick.svg';
12
+ import tablePaginationNextHover from '../assets/tablePaginationNextHover.svg';
13
+ import tablePaginationPrev from '../assets/tablePaginationPrev.svg';
14
+ import tablePaginationPrevClick from '../assets/tablePaginationPrevClick.svg';
15
+ import tablePaginationPrevHover from '../assets/tablePaginationPrevHover.svg';
16
+ import { TableNodeEvents } from '../events/TableNodeEvents';
17
+ import { EEntityType } from '../types/table';
18
+ import { getEntityTypeIcon } from '../utils/table';
19
+ import { Column } from './Column';
20
+ var TableNode = /** @class */ (function (_super) {
21
+ __extends(TableNode, _super);
22
+ function TableNode() {
23
+ var _this = _super.apply(this, __spreadArray([], __read(arguments), false)) || this;
24
+ _this.type = '';
25
+ _this.children = [];
26
+ _this.relatedColumns = [];
27
+ _this.isHoverColumn = false;
28
+ return _this;
29
+ }
30
+ Object.defineProperty(TableNode.prototype, "lineageMgr", {
31
+ get: function () {
32
+ return this.graph.lineageManager;
33
+ },
34
+ enumerable: false,
35
+ configurable: true
36
+ });
37
+ TableNode.prototype.render = function (config) {
38
+ var isOpen = config.isOpen, isStartNode = config.isStartNode, visible = config.visible;
39
+ if (visible === false)
40
+ return;
41
+ if (isStartNode) {
42
+ // render start node tag
43
+ this.renderDirectionTag();
44
+ // this.renderDirectionBorder();
45
+ }
46
+ this.renderHeader();
47
+ this.renderRelatedContent();
48
+ this.renderControlBar();
49
+ if (isOpen) {
50
+ this.renderColumns();
51
+ this.calculatePaginationData();
52
+ this.renderPagination();
53
+ }
54
+ this.updateNodeHeight();
55
+ // init events
56
+ this.initEvents();
57
+ };
58
+ TableNode.prototype.renderHeader = function () {
59
+ var _a = this.config, data = _a.data, isStartNode = _a.isStartNode;
60
+ var name = data.name, assetPath = data.assetPath, datasourceType = data.datasourceType, typeCode = data.typeCode;
61
+ // table header 的group
62
+ this.headerGroup = new Rect({
63
+ name: 'table-header-group',
64
+ style: {
65
+ x: -1,
66
+ y: 1,
67
+ width: TABLE_WIDTH + 2,
68
+ height: TABLE_HEADER_HEIGHT,
69
+ stroke: this.config.style.stroke || '#B1B1B1',
70
+ zIndex: this.config.style.zIndex || 2,
71
+ lineWidth: RECT_LINE_WIDTH,
72
+ radius: isStartNode
73
+ ? [0, 0, TABLE_RECT_BORDER_RADIUS, TABLE_RECT_BORDER_RADIUS]
74
+ : TABLE_RECT_BORDER_RADIUS,
75
+ },
76
+ });
77
+ this.headerGroup.node = this;
78
+ this.bgRect = new Rect({
79
+ style: {
80
+ x: 1,
81
+ y: 1,
82
+ fill: this.config.style.fill || '#FFFFFF',
83
+ width: TABLE_WIDTH,
84
+ height: TABLE_HEADER_HEIGHT,
85
+ radius: isStartNode
86
+ ? 0
87
+ : [TABLE_RECT_BORDER_RADIUS, TABLE_RECT_BORDER_RADIUS, 0, 0],
88
+ },
89
+ });
90
+ this.headerName = new Text({
91
+ style: {
92
+ x: 36,
93
+ y: 22,
94
+ text: name,
95
+ fontSize: 12,
96
+ fontWeight: 500,
97
+ lineHeight: 14,
98
+ fontFamily: 'PingFang SC',
99
+ textBaseline: 'middle',
100
+ wordWrap: true,
101
+ wordWrapWidth: 172,
102
+ maxLines: 2,
103
+ textOverflow: 'ellipsis',
104
+ fill: '#171717',
105
+ },
106
+ });
107
+ var entityTypeIcon = new Image({
108
+ style: {
109
+ x: 12,
110
+ y: 12,
111
+ width: 20,
112
+ height: 20,
113
+ img: getEntityTypeIcon(typeCode, data.type),
114
+ cursor: 'pointer',
115
+ },
116
+ });
117
+ var sourceTypeIcon = new Image({
118
+ style: {
119
+ x: 12,
120
+ y: 36,
121
+ width: 16,
122
+ height: 16,
123
+ img: getDataSourceTypeIcon(datasourceType),
124
+ cursor: 'pointer',
125
+ },
126
+ });
127
+ this.headerAssetPath = new Text({
128
+ style: {
129
+ x: 36,
130
+ y: 40,
131
+ lineHeight: 16,
132
+ textOverflow: 'ellipsis',
133
+ text: assetPath,
134
+ fontSize: 12,
135
+ fontWeight: 400,
136
+ fontFamily: 'PingFang SC',
137
+ textBaseline: 'top',
138
+ wordWrap: true,
139
+ wordWrapWidth: 172,
140
+ maxLines: 1,
141
+ textAlign: 'start',
142
+ fill: '#858585',
143
+ },
144
+ });
145
+ // 用于hover到sideIcon区域时也能显示sideIcon
146
+ var bgHideRect = new Rect({
147
+ name: 'column-bgRect-hide',
148
+ style: {
149
+ x: -20,
150
+ fill: '#0000',
151
+ stroke: '#0000',
152
+ width: TABLE_WIDTH + 40,
153
+ height: TABLE_HEADER_HEIGHT,
154
+ zIndex: 9,
155
+ },
156
+ });
157
+ this.headerGroup.appendChild(bgHideRect);
158
+ this.headerGroup.appendChild(this.bgRect);
159
+ this.headerGroup.appendChild(this.headerName);
160
+ this.headerGroup.appendChild(entityTypeIcon);
161
+ this.headerGroup.appendChild(sourceTypeIcon);
162
+ this.headerGroup.appendChild(this.headerAssetPath);
163
+ this.container.appendChild(this.headerGroup);
164
+ };
165
+ TableNode.prototype.renderRelatedContent = function () {
166
+ var _this = this;
167
+ var _a = this.config, relatedColumns = _a.relatedColumns, isActive = _a.isActive, isRelated = _a.isRelated;
168
+ var visibleColumns = relatedColumns.filter(function (col) { return col.visible; });
169
+ // table related group
170
+ this.tableRelatedGroup = new Rect({
171
+ style: {
172
+ y: TABLE_HEADER_HEIGHT,
173
+ width: TABLE_WIDTH,
174
+ height: visibleColumns.length > 0
175
+ ? visibleColumns.length * COL_HEIGHT + 16
176
+ : 0,
177
+ // fill: isActive || isRelated ? style.fill : '#F4F4F4',
178
+ fill: isActive || isRelated ? '#fff' : '#F4F4F4',
179
+ zIndex: 2,
180
+ },
181
+ });
182
+ this.tableRelatedColumnsGroup = new Group({
183
+ style: {
184
+ y: 8,
185
+ },
186
+ });
187
+ visibleColumns
188
+ .sort(function (i, j) {
189
+ return i.data.position - j.data.position;
190
+ })
191
+ .forEach(function (colConfig, i) {
192
+ var col = new Column(_this.graph, colConfig, _this, i);
193
+ // add or replace column DOM
194
+ var colIndex = _this.relatedColumns.findIndex(function (c) { return c.id === col.id; });
195
+ if (colIndex === -1) {
196
+ _this.relatedColumns.push(col);
197
+ }
198
+ else {
199
+ _this.relatedColumns[colIndex] = col;
200
+ }
201
+ _this.tableRelatedColumnsGroup.appendChild(col.container);
202
+ });
203
+ this.tableRelatedGroup.appendChild(this.tableRelatedColumnsGroup);
204
+ this.container.appendChild(this.tableRelatedGroup);
205
+ };
206
+ TableNode.prototype.renderDirectionTag = function () {
207
+ var directionWord = '';
208
+ var tagBgColor = '#fff';
209
+ var textColor = '#171717';
210
+ var _a = this.config.data, type = _a.type, direction = _a.direction;
211
+ if (type === EEntityType.TEMP_TABLE)
212
+ return;
213
+ switch (direction) {
214
+ case EDirection.INPUT:
215
+ directionWord = '输入资产';
216
+ tagBgColor = '#E4F1F9';
217
+ textColor = '#228CCE';
218
+ break;
219
+ case EDirection.OUTPUT:
220
+ directionWord = '输出资产';
221
+ tagBgColor = '#D1FAE5';
222
+ textColor = '#059669';
223
+ break;
224
+ case EDirection.BOTH:
225
+ directionWord = '输入/输出资产';
226
+ tagBgColor = '#FFEDD5';
227
+ textColor = '#EA580C';
228
+ break;
229
+ }
230
+ if (!directionWord)
231
+ return;
232
+ var tagGroup = new Group({
233
+ name: 'tag',
234
+ });
235
+ var tagRect = new Rect({
236
+ style: {
237
+ x: -1,
238
+ y: -TABLE_TAG_HEIGHT,
239
+ width: TABLE_WIDTH + 2,
240
+ height: TABLE_TAG_HEIGHT,
241
+ stroke: tagBgColor,
242
+ fill: tagBgColor,
243
+ lineWidth: 1,
244
+ // radius: [4, 4, 0, 0],
245
+ },
246
+ });
247
+ var tagText = new Text({
248
+ style: {
249
+ x: 8,
250
+ y: -17,
251
+ lineHeight: 16,
252
+ text: directionWord,
253
+ fontSize: 12,
254
+ fontWeight: 400,
255
+ fontFamily: 'PingFang SC',
256
+ textBaseline: 'top',
257
+ fill: textColor,
258
+ },
259
+ });
260
+ tagGroup.appendChild(tagRect);
261
+ tagGroup.appendChild(tagText);
262
+ this.container.appendChild(tagGroup);
263
+ };
264
+ TableNode.prototype.renderDirectionBorder = function () {
265
+ var direction = this.config.data.direction;
266
+ var tagGroup = new Group({
267
+ name: 'tag',
268
+ });
269
+ var inputTagRect = new Rect({
270
+ style: {
271
+ x: -1,
272
+ y: -3,
273
+ width: direction === EDirection.BOTH
274
+ ? (TABLE_WIDTH + 2) / 2
275
+ : TABLE_WIDTH + 2,
276
+ height: 3,
277
+ fill: '#EFA912',
278
+ lineWidth: 1,
279
+ },
280
+ });
281
+ var outputTagRect = new Rect({
282
+ style: {
283
+ x: direction === EDirection.BOTH ? -1 + (TABLE_WIDTH + 2) / 2 : -1,
284
+ y: -3,
285
+ width: direction === EDirection.BOTH
286
+ ? (TABLE_WIDTH + 2) / 2
287
+ : TABLE_WIDTH + 2,
288
+ height: 3,
289
+ fill: '#22C55E',
290
+ lineWidth: 1,
291
+ },
292
+ });
293
+ if (direction === EDirection.INPUT)
294
+ tagGroup.appendChild(inputTagRect);
295
+ else if (direction === EDirection.OUTPUT) {
296
+ tagGroup.appendChild(outputTagRect);
297
+ }
298
+ else if (direction === EDirection.BOTH) {
299
+ tagGroup.appendChild(inputTagRect);
300
+ tagGroup.appendChild(outputTagRect);
301
+ }
302
+ this.container.appendChild(tagGroup);
303
+ };
304
+ TableNode.prototype.renderControlBar = function () {
305
+ var _a, _b;
306
+ var _c = this.config, data = _c.data, isOpen = _c.isOpen, isActive = _c.isActive, isRelated = _c.isRelated;
307
+ var _d = data.columnCount, columnCount = _d === void 0 ? 0 : _d;
308
+ // column count
309
+ var columnCountStr = "".concat(columnCount);
310
+ var tableRelatedGroupHeight = (_b = (_a = this.tableRelatedGroup) === null || _a === void 0 ? void 0 : _a.getBBox()) === null || _b === void 0 ? void 0 : _b.height;
311
+ var relatedColsHeight = tableRelatedGroupHeight;
312
+ // table content group
313
+ this.tableControlGroup = new Rect({
314
+ name: 'table-control-group',
315
+ style: {
316
+ x: 0,
317
+ y: TABLE_HEADER_HEIGHT + relatedColsHeight,
318
+ zIndex: 1,
319
+ width: TABLE_WIDTH,
320
+ height: 32,
321
+ // fill: isActive || isRelated ? style.fill : '#F4F4F4',
322
+ fill: isActive || isRelated ? '#fff' : '#F4F4F4',
323
+ // fill: '#F4F4F4',
324
+ radius: isOpen
325
+ ? [0]
326
+ : [0, 0, TABLE_RECT_BORDER_RADIUS, TABLE_RECT_BORDER_RADIUS],
327
+ },
328
+ });
329
+ this.tableControlGroup.node = this;
330
+ this.columnCountText = new Text({
331
+ style: {
332
+ x: 12,
333
+ y: 20,
334
+ text: "\u5168\u90E8 ".concat(columnCountStr, " \u5217"),
335
+ fill: '#575757',
336
+ fontSize: 12,
337
+ fontWeight: 400,
338
+ fontFamily: 'PingFang SC',
339
+ },
340
+ });
341
+ this.columnToggleImage = new Image({
342
+ name: 'table-control-toggle-group',
343
+ style: {
344
+ x: 165,
345
+ y: 8,
346
+ width: 44,
347
+ height: 16,
348
+ img: isOpen ? tableShowLess : tableShowMore,
349
+ zIndex: 1,
350
+ cursor: 'pointer',
351
+ },
352
+ });
353
+ this.tableControlGroup.appendChild(this.columnCountText);
354
+ this.tableControlGroup.appendChild(this.columnToggleImage);
355
+ this.container.appendChild(this.tableControlGroup);
356
+ };
357
+ TableNode.prototype.renderColumns = function () {
358
+ var _this = this;
359
+ var _a, _b;
360
+ var _c = this.config, children = _c.children, pagination = _c.pagination, isActive = _c.isActive, isRelated = _c.isRelated;
361
+ var tableRelatedGroupHeight = (_b = (_a = this.tableRelatedGroup) === null || _a === void 0 ? void 0 : _a.getBBox()) === null || _b === void 0 ? void 0 : _b.height;
362
+ var relatedColsHeight = tableRelatedGroupHeight;
363
+ // table content group
364
+ this.tableContentGroup = new Group({
365
+ style: {
366
+ y: TABLE_HEADER_HEIGHT + relatedColsHeight + TABLE_CONTROL_BAR_HEIGHT,
367
+ zIndex: 3,
368
+ },
369
+ });
370
+ var sortVisibleColumns = children.sort(function (i, j) {
371
+ return i.data.position - j.data.position;
372
+ });
373
+ var pageNum = pagination.pageNum, pageSize = pagination.pageSize;
374
+ var renderVisibleColumns = sortVisibleColumns.slice((pageNum - 1) * pageSize, pageNum * pageSize);
375
+ // table columns group
376
+ this.colGroup = new Rect({
377
+ style: {
378
+ width: TABLE_WIDTH,
379
+ height: renderVisibleColumns.length * COL_HEIGHT,
380
+ // fill: isActive || isRelated ? style.fill : '#F4F4F4',
381
+ fill: isActive || isRelated ? '#fff' : '#F4F4F4',
382
+ zIndex: 2,
383
+ },
384
+ });
385
+ renderVisibleColumns.forEach(function (colConfig, i) {
386
+ var col = new Column(_this.graph, colConfig, _this, i);
387
+ // add or replace column DOM
388
+ var colIndex = _this.children.findIndex(function (c) { return c.id === col.id; });
389
+ if (colIndex === -1) {
390
+ _this.children.push(col);
391
+ }
392
+ else {
393
+ _this.children[colIndex] = col;
394
+ }
395
+ _this.colGroup.appendChild(col.container);
396
+ });
397
+ this.tableContentGroup.appendChild(this.colGroup);
398
+ this.container.appendChild(this.tableContentGroup);
399
+ };
400
+ TableNode.prototype.updateNodeHeight = function () {
401
+ var tagHeight = this.config.isStartNode ? TABLE_TAG_HEIGHT : -1;
402
+ this.headerGroup.style.height = this.container.getBBox().height - tagHeight;
403
+ };
404
+ TableNode.prototype.calculatePaginationData = function () {
405
+ var _a = this.config, data = _a.data, pagination = _a.pagination;
406
+ var _b = data.columnCount, columnCount = _b === void 0 ? 0 : _b;
407
+ var totalPage = Math.ceil(columnCount / pagination.pageSize);
408
+ this.config.pagination = __assign(__assign({}, pagination), { totalPage: totalPage, total: columnCount });
409
+ };
410
+ TableNode.prototype.renderPagination = function () {
411
+ var _a = this.config, isActive = _a.isActive, pagination = _a.pagination, isRelated = _a.isRelated;
412
+ var totalPage = pagination.totalPage, pageNum = pagination.pageNum;
413
+ var colGroupHeight = this.colGroup.getBBox().height;
414
+ // pagination content group
415
+ this.paginationGroup = new Group({
416
+ name: 'pagination-wrapper',
417
+ style: {
418
+ y: colGroupHeight,
419
+ zIndex: -1,
420
+ },
421
+ });
422
+ this.paginationGroup.node = this;
423
+ var paginationBgRect = new Rect({
424
+ name: 'pagination-bgRect',
425
+ style: {
426
+ // fill: isActive || isRelated ? style.fill : '#F4F4F4',
427
+ fill: isActive || isRelated ? '#fff' : '#F4F4F4',
428
+ // stroke: '#E8E8E8',
429
+ width: TABLE_WIDTH,
430
+ radius: [0, 0, 4, 4],
431
+ height: 32,
432
+ zIndex: 2,
433
+ },
434
+ });
435
+ paginationBgRect.node = this;
436
+ var paginationTotalPage = new Text({
437
+ name: 'pagination-totalPage-text',
438
+ style: {
439
+ x: 12,
440
+ y: 20,
441
+ text: "\u5171 ".concat(totalPage, " \u9875"),
442
+ fill: '#575757',
443
+ fontSize: 12,
444
+ fontWeight: 400,
445
+ fontFamily: 'PingFang SC',
446
+ zIndex: 2,
447
+ },
448
+ });
449
+ this.paginationPrevImage = new Image({
450
+ name: 'pagination-prev-image',
451
+ style: {
452
+ x: 144,
453
+ y: 6,
454
+ width: PAGINATION_IMAGE_SIZE,
455
+ height: PAGINATION_IMAGE_SIZE,
456
+ img: tablePaginationPrev,
457
+ cursor: this.config.pagination.pageNum > 1 ? 'pointer' : 'not-allowed',
458
+ zIndex: 2,
459
+ opacity: this.config.pagination.pageNum > 1 ? 1 : 0.5,
460
+ },
461
+ });
462
+ var textWidth = getTextDomWidth("".concat(pageNum), 12, 'Tahoma');
463
+ var paginationPageNum = new Text({
464
+ style: {
465
+ x: 168 + (16 - textWidth) / 2,
466
+ y: 20,
467
+ text: pageNum,
468
+ fill: '#000',
469
+ fontSize: 12,
470
+ fontWeight: 400,
471
+ fontFamily: 'Tahoma',
472
+ cursor: 'pointer',
473
+ zIndex: 2,
474
+ },
475
+ });
476
+ this.paginationNextImage = new Image({
477
+ name: 'pagination-next-image',
478
+ style: {
479
+ x: 188,
480
+ y: 6,
481
+ width: PAGINATION_IMAGE_SIZE,
482
+ height: PAGINATION_IMAGE_SIZE,
483
+ img: tablePaginationNext,
484
+ cursor: this.config.pagination.pageNum < this.config.pagination.totalPage
485
+ ? 'pointer'
486
+ : 'not-allowed',
487
+ zIndex: 2,
488
+ opacity: this.config.pagination.pageNum < this.config.pagination.totalPage
489
+ ? 1
490
+ : 0.5,
491
+ },
492
+ });
493
+ this.paginationGroup.appendChild(paginationBgRect);
494
+ this.paginationGroup.appendChild(paginationTotalPage);
495
+ this.paginationGroup.appendChild(this.paginationPrevImage);
496
+ this.paginationGroup.appendChild(paginationPageNum);
497
+ this.paginationGroup.appendChild(this.paginationNextImage);
498
+ this.tableContentGroup.appendChild(this.paginationGroup);
499
+ };
500
+ TableNode.prototype.setActive = function () {
501
+ if (!this.config)
502
+ return;
503
+ this.config.isActive = true;
504
+ this.config.style.stroke = '#3271C9';
505
+ this.config.style.fill = '#A9CFFB';
506
+ this.config.style.zIndex = 3;
507
+ };
508
+ TableNode.prototype.resetActive = function () {
509
+ if (!this.config)
510
+ return;
511
+ this.config.isActive = false;
512
+ this.config.style.stroke = '#B1B1B1';
513
+ this.config.style.fill = '#fff';
514
+ this.config.style.zIndex = 2;
515
+ };
516
+ TableNode.prototype.setRelated = function () {
517
+ if (!this.config)
518
+ return;
519
+ this.config.isRelated = true;
520
+ this.config.style.stroke = '#3271C9';
521
+ if (!this.config.isActive) {
522
+ this.config.style.fill = '#E4EFFF';
523
+ }
524
+ this.config.style.zIndex = 3;
525
+ };
526
+ TableNode.prototype.resetRelated = function () {
527
+ if (!this.config)
528
+ return;
529
+ this.config.isRelated = false;
530
+ this.config.style.stroke = '#B1B1B1';
531
+ if (!this.config.isActive) {
532
+ this.config.style.fill = '#fff';
533
+ }
534
+ this.config.style.zIndex = 1;
535
+ };
536
+ TableNode.prototype.setHighLight = function (isSearch) {
537
+ var _a, _b;
538
+ if (isSearch === void 0) { isSearch = false; }
539
+ if (isSearch) {
540
+ (_a = this.bgRect) === null || _a === void 0 ? void 0 : _a.setAttribute('stroke', '#FFC04D');
541
+ (_b = this.bgRect) === null || _b === void 0 ? void 0 : _b.setAttribute('fill', '#FFD180');
542
+ }
543
+ else if (this.lineageMgr.currentClickId.includes(this.id)) {
544
+ this.config.style.stroke = '#FFC04D';
545
+ this.config.style.fill = '#FFD180';
546
+ }
547
+ else {
548
+ return this.config.isActive ? this.setActive() : this.setRelated();
549
+ }
550
+ };
551
+ TableNode.prototype.resetHighLight = function () {
552
+ var _a, _b;
553
+ (_a = this.bgRect) === null || _a === void 0 ? void 0 : _a.setAttribute('stroke', '#E8E8E8');
554
+ (_b = this.bgRect) === null || _b === void 0 ? void 0 : _b.setAttribute('fill', '#FFF');
555
+ };
556
+ TableNode.prototype.onHover = function () {
557
+ if (!this.config)
558
+ return;
559
+ if (this.config.style.stroke === '#3271C9')
560
+ return;
561
+ if (this.isHoverColumn)
562
+ return;
563
+ this.headerGroup.setAttribute('stroke', '#3271C9');
564
+ this.container.setAttribute('zIndex', 3);
565
+ };
566
+ TableNode.prototype.onLeave = function () {
567
+ if (!this.config)
568
+ return;
569
+ if (this.config.style.stroke === '#3271C9')
570
+ return;
571
+ if (this.isHoverColumn)
572
+ return;
573
+ this.headerGroup.setAttribute('stroke', '#B1B1B1');
574
+ this.container.setAttribute('zIndex', 2);
575
+ };
576
+ TableNode.prototype.initEvents = function () {
577
+ var _this = this;
578
+ var _a, _b, _c, _d, _e, _f, _g, _h;
579
+ this.container.addEventListener('mouseenter', function () {
580
+ _this.onHover();
581
+ });
582
+ this.container.addEventListener('mouseleave', function () {
583
+ _this.onLeave();
584
+ });
585
+ (_a = this.paginationPrevImage) === null || _a === void 0 ? void 0 : _a.addEventListener('mousedown', function () {
586
+ if (_this.config.pagination.pageNum > 1) {
587
+ _this.paginationPrevImage.setAttribute('img', tablePaginationPrevClick);
588
+ }
589
+ });
590
+ (_b = this.paginationPrevImage) === null || _b === void 0 ? void 0 : _b.addEventListener('mouseup', function () {
591
+ if (_this.config.pagination.pageNum > 1) {
592
+ _this.paginationPrevImage.setAttribute('img', tablePaginationPrev);
593
+ }
594
+ });
595
+ (_c = this.paginationPrevImage) === null || _c === void 0 ? void 0 : _c.addEventListener('mouseenter', function () {
596
+ if (_this.config.pagination.pageNum > 1) {
597
+ _this.paginationPrevImage.setAttribute('img', tablePaginationPrevHover);
598
+ }
599
+ });
600
+ (_d = this.paginationPrevImage) === null || _d === void 0 ? void 0 : _d.addEventListener('mouseleave', function () {
601
+ if (_this.config.pagination.pageNum > 1) {
602
+ _this.paginationPrevImage.setAttribute('img', tablePaginationPrev);
603
+ }
604
+ });
605
+ (_e = this.paginationNextImage) === null || _e === void 0 ? void 0 : _e.addEventListener('mousedown', function () {
606
+ if (_this.config.pagination.pageNum < _this.config.pagination.totalPage) {
607
+ _this.paginationNextImage.setAttribute('img', tablePaginationNextClick);
608
+ }
609
+ });
610
+ (_f = this.paginationNextImage) === null || _f === void 0 ? void 0 : _f.addEventListener('mouseup', function () {
611
+ if (_this.config.pagination.pageNum < _this.config.pagination.totalPage) {
612
+ _this.paginationNextImage.setAttribute('img', tablePaginationNext);
613
+ }
614
+ });
615
+ (_g = this.paginationNextImage) === null || _g === void 0 ? void 0 : _g.addEventListener('mouseenter', function () {
616
+ if (_this.config.pagination.pageNum < _this.config.pagination.totalPage) {
617
+ _this.paginationNextImage.setAttribute('img', tablePaginationNextHover);
618
+ }
619
+ });
620
+ (_h = this.paginationNextImage) === null || _h === void 0 ? void 0 : _h.addEventListener('mouseleave', function () {
621
+ if (_this.config.pagination.pageNum < _this.config.pagination.totalPage) {
622
+ _this.paginationNextImage.setAttribute('img', tablePaginationNext);
623
+ }
624
+ });
625
+ };
626
+ TableNode.prototype.update = function () {
627
+ var parentNode = this.container.parentNode;
628
+ this.container.removeChildren();
629
+ parentNode === null || parentNode === void 0 ? void 0 : parentNode.removeChild(this.container);
630
+ this.render(this.config);
631
+ parentNode === null || parentNode === void 0 ? void 0 : parentNode.appendChild(this.container);
632
+ // update position
633
+ this.container.setPosition(this.config.position.x, this.config.position.y);
634
+ };
635
+ TableNode.prototype.destroy = function () { };
636
+ TableNode = __decorate([
637
+ TableNodeEvents
638
+ ], TableNode);
639
+ return TableNode;
640
+ }(BaseNode));
641
+ export { TableNode };
642
+ //# sourceMappingURL=TableNode%20copy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableNode copy.js","sourceRoot":"","sources":["../../../../src/components/Nodes/task/TableNode copy.ts"],"names":[],"mappings":"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"}