@aloudata/ink-lineage 0.0.1-beta.40 → 0.0.1-beta.41

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 (65) hide show
  1. package/dist/components/Edges/ClickEdge.d.ts.map +1 -1
  2. package/dist/components/Edges/ClickEdge.js +1 -0
  3. package/dist/components/Edges/ClickEdge.js.map +1 -1
  4. package/dist/components/Edges/DefaultEdge.d.ts +1 -1
  5. package/dist/manager/LineageManager.d.ts +5 -0
  6. package/dist/manager/LineageManager.d.ts.map +1 -1
  7. package/dist/manager/LineageManager.js +11 -0
  8. package/dist/manager/LineageManager.js.map +1 -1
  9. package/dist/manager/dataProcessor/TableDataProcessor.d.ts.map +1 -1
  10. package/dist/manager/dataProcessor/TableDataProcessor.js +13 -11
  11. package/dist/manager/dataProcessor/TableDataProcessor.js.map +1 -1
  12. package/dist/manager/graphEventManager/TableGraphEventManager.d.ts.map +1 -1
  13. package/dist/manager/graphEventManager/TableGraphEventManager.js +4 -0
  14. package/dist/manager/graphEventManager/TableGraphEventManager.js.map +1 -1
  15. package/dist/manager/nodeManager/ColumnEventManager.d.ts.map +1 -1
  16. package/dist/manager/nodeManager/ColumnEventManager.js +17 -1
  17. package/dist/manager/nodeManager/ColumnEventManager.js.map +1 -1
  18. package/dist/manager/rightKeyMenu/BaseRightKeyMenuManager.d.ts +1 -0
  19. package/dist/manager/rightKeyMenu/BaseRightKeyMenuManager.d.ts.map +1 -1
  20. package/dist/manager/rightKeyMenu/BaseRightKeyMenuManager.js +2 -0
  21. package/dist/manager/rightKeyMenu/BaseRightKeyMenuManager.js.map +1 -1
  22. package/dist/types/eventEnum.d.ts +2 -1
  23. package/dist/types/eventEnum.d.ts.map +1 -1
  24. package/dist/types/eventEnum.js +2 -0
  25. package/dist/types/eventEnum.js.map +1 -1
  26. package/dist/types/node.d.ts +1 -0
  27. package/dist/types/node.d.ts.map +1 -1
  28. package/dist/utils/getIconByType.d.ts +2 -2
  29. package/package.json +1 -1
  30. package/dist/manager/BaseGraphEventManager.d.ts +0 -10
  31. package/dist/manager/BaseGraphEventManager.d.ts.map +0 -1
  32. package/dist/manager/BaseGraphEventManager.js +0 -65
  33. package/dist/manager/BaseGraphEventManager.js.map +0 -1
  34. package/dist/manager/BaseRightKeyMenuManager.d.ts +0 -36
  35. package/dist/manager/BaseRightKeyMenuManager.d.ts.map +0 -1
  36. package/dist/manager/BaseRightKeyMenuManager.js +0 -91
  37. package/dist/manager/BaseRightKeyMenuManager.js.map +0 -1
  38. package/dist/manager/ScheduleDataProcessor.d.ts +0 -21
  39. package/dist/manager/ScheduleDataProcessor.d.ts.map +0 -1
  40. package/dist/manager/ScheduleDataProcessor.js +0 -349
  41. package/dist/manager/ScheduleDataProcessor.js.map +0 -1
  42. package/dist/manager/TableDataProcessor.d.ts +0 -25
  43. package/dist/manager/TableDataProcessor.d.ts.map +0 -1
  44. package/dist/manager/TableDataProcessor.js +0 -622
  45. package/dist/manager/TableDataProcessor.js.map +0 -1
  46. package/dist/manager/TableGraphEventManager.d.ts +0 -6
  47. package/dist/manager/TableGraphEventManager.d.ts.map +0 -1
  48. package/dist/manager/TableGraphEventManager.js +0 -21
  49. package/dist/manager/TableGraphEventManager.js.map +0 -1
  50. package/dist/manager/TableRightKeyMenuManager.d.ts +0 -8
  51. package/dist/manager/TableRightKeyMenuManager.d.ts.map +0 -1
  52. package/dist/manager/TableRightKeyMenuManager.js +0 -20
  53. package/dist/manager/TableRightKeyMenuManager.js.map +0 -1
  54. package/dist/manager/TaskDataProcessor.d.ts +0 -82
  55. package/dist/manager/TaskDataProcessor.d.ts.map +0 -1
  56. package/dist/manager/TaskDataProcessor.js +0 -307
  57. package/dist/manager/TaskDataProcessor.js.map +0 -1
  58. package/dist/manager/TaskGraphEventManager.d.ts +0 -6
  59. package/dist/manager/TaskGraphEventManager.d.ts.map +0 -1
  60. package/dist/manager/TaskGraphEventManager.js +0 -22
  61. package/dist/manager/TaskGraphEventManager.js.map +0 -1
  62. package/dist/manager/TaskRightKeyMenuManager.d.ts +0 -20
  63. package/dist/manager/TaskRightKeyMenuManager.d.ts.map +0 -1
  64. package/dist/manager/TaskRightKeyMenuManager.js +0 -149
  65. package/dist/manager/TaskRightKeyMenuManager.js.map +0 -1
@@ -1,25 +0,0 @@
1
- import { IEntity, INodeConfig, IColumnConfig, IEdgeConfig, ILineageData, IColResBase, ITableResBase, EDashType, IParsedGraphData, IBaseRelation } from '../types';
2
- import { BaseManager } from './BaseManager';
3
- export declare class TableDataProcessor<TData extends ITableResBase<TColumn>, TColumn extends IColResBase> extends BaseManager<TData, TColumn> {
4
- static startNodes: string[];
5
- private nodeEdgeRelationCache;
6
- static parseData<TData extends ITableResBase<TColumn>, TColumn extends IColResBase>(data: ILineageData<TData>, startNodes: string[]): IParsedGraphData<TData, TColumn>;
7
- static parseEntities<TData extends ITableResBase<TColumn>, TColumn extends IColResBase>(entities: IEntity<TData>[], startNodes: string[]): INodeConfig<TData, TColumn>[];
8
- static parseRelations(relations: IBaseRelation[]): IEdgeConfig[];
9
- static parseTableEntity<TData extends ITableResBase<TColumn>, TColumn extends IColResBase>(entity: IEntity<TData>, isStartNode: boolean): INodeConfig<TData, TColumn>;
10
- static parseColumn<TColumn extends IColResBase>(column: TColumn, isStartNode: boolean, tableId: string, tableName: string): IColumnConfig<TColumn>;
11
- static parseRelatedColumn<TColumn extends IColResBase>(column: TColumn, isStartNode: boolean, tableId: string, tableName: string): IColumnConfig<TColumn>;
12
- static parseCustomEntity<TData extends ITableResBase<TColumn>, TColumn extends IColResBase>(entity: IEntity<TData>, isStartNode: boolean): INodeConfig<TData, TColumn>;
13
- refreshRelatedNodesAndEdges(relatedNodes: (INodeConfig<ITableResBase<IColResBase>, IColResBase> | IColumnConfig<IColResBase>)[], relatedEdges: IEdgeConfig[]): void;
14
- updateNodesAndEdgesVisible(data: IParsedGraphData<ITableResBase<IColResBase>, IColResBase>, edgeDashVisible: EDashType, onlyShowRelated: boolean, isFoldChecked: boolean): void;
15
- getEdgeVisible(edgeCfg: IEdgeConfig, edgeDashVisible: EDashType, onlyShowRelated: boolean, isFoldChecked: boolean, relatedNodes: {
16
- [key: string]: INodeConfig<ITableResBase<IColResBase>, IColResBase> | IColumnConfig<IColResBase>;
17
- }): boolean;
18
- getRelatedNodeVisible(nodeConfig: INodeConfig<ITableResBase<IColResBase>, IColResBase> | IColumnConfig<IColResBase>, data: IParsedGraphData<ITableResBase<IColResBase>, IColResBase>, edgeDashVisible: EDashType): boolean;
19
- getNodeVisible(nodeConfig: INodeConfig<ITableResBase<IColResBase>, IColResBase> | IColumnConfig<IColResBase>, data: IParsedGraphData<ITableResBase<IColResBase>, IColResBase>, edgeDashVisible: EDashType, onlyShowRelated: boolean, isFoldChecked: boolean): boolean;
20
- updateEdgesVisible(data: IParsedGraphData<ITableResBase<IColResBase>, IColResBase>, edgeDashVisible: EDashType, onlyShowRelated: boolean, isFoldChecked: boolean): void;
21
- private buildVisibilityCache;
22
- updateNodesVisible(data: IParsedGraphData<ITableResBase<IColResBase>, IColResBase>, edgeDashVisible: EDashType, onlyShowRelated: boolean, isFoldChecked: boolean): void;
23
- updateSideIconVisible(data: IParsedGraphData<ITableResBase<IColResBase>, IColResBase>): void;
24
- }
25
- //# sourceMappingURL=TableDataProcessor.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TableDataProcessor.d.ts","sourceRoot":"","sources":["../../src/manager/TableDataProcessor.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,OAAO,EACP,WAAW,EACX,aAAa,EACb,WAAW,EACX,YAAY,EACZ,WAAW,EACX,aAAa,EACb,SAAS,EACT,gBAAgB,EAChB,aAAa,EAEd,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAS5C,qBAAa,kBAAkB,CAC7B,KAAK,SAAS,aAAa,CAAC,OAAO,CAAC,EACpC,OAAO,SAAS,WAAW,CAC3B,SAAQ,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC;IACnC,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,CAAM;IAIjC,OAAO,CAAC,qBAAqB,CAAsB;IAEnD,MAAM,CAAC,SAAS,CACd,KAAK,SAAS,aAAa,CAAC,OAAO,CAAC,EACpC,OAAO,SAAS,WAAW,EAE3B,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,EACzB,UAAU,EAAE,MAAM,EAAE,GACnB,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC;IAmBnC,MAAM,CAAC,aAAa,CAClB,KAAK,SAAS,aAAa,CAAC,OAAO,CAAC,EACpC,OAAO,SAAS,WAAW,EAC3B,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE;IAmClD,MAAM,CAAC,cAAc,CAAC,SAAS,EAAE,aAAa,EAAE;IAiDhD,MAAM,CAAC,gBAAgB,CACrB,KAAK,SAAS,aAAa,CAAC,OAAO,CAAC,EACpC,OAAO,SAAS,WAAW,EAC3B,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,OAAO;IAsE9C,MAAM,CAAC,WAAW,CAAC,OAAO,SAAS,WAAW,EAC5C,MAAM,EAAE,OAAO,EACf,WAAW,EAAE,OAAO,EACpB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GA0BZ,aAAa,CAAC,OAAO,CAAC;IAG7B,MAAM,CAAC,kBAAkB,CAAC,OAAO,SAAS,WAAW,EACnD,MAAM,EAAE,OAAO,EACf,WAAW,EAAE,OAAO,EACpB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GA2BZ,aAAa,CAAC,OAAO,CAAC;IAG7B,MAAM,CAAC,iBAAiB,CACtB,KAAK,SAAS,aAAa,CAAC,OAAO,CAAC,EACpC,OAAO,SAAS,WAAW,EAC3B,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,OAAO;IAuD9C,2BAA2B,CACzB,YAAY,EAAE,CACV,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,GACpD,aAAa,CAAC,WAAW,CAAC,CAC7B,EAAE,EACH,YAAY,EAAE,WAAW,EAAE;IAoC7B,0BAA0B,CACxB,IAAI,EAAE,gBAAgB,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,EAC/D,eAAe,EAAE,SAAS,EAC1B,eAAe,EAAE,OAAO,EACxB,aAAa,EAAE,OAAO;IAmBxB,cAAc,CACZ,OAAO,EAAE,WAAW,EACpB,eAAe,EAAE,SAAS,EAC1B,eAAe,EAAE,OAAO,EACxB,aAAa,EAAE,OAAO,EACtB,YAAY,EAAE;QACZ,CAAC,GAAG,EAAE,MAAM,GACR,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,GACpD,aAAa,CAAC,WAAW,CAAC,CAAC;KAChC;IA+CH,qBAAqB,CACnB,UAAU,EACN,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,GACpD,aAAa,CAAC,WAAW,CAAC,EAC9B,IAAI,EAAE,gBAAgB,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,EAC/D,eAAe,EAAE,SAAS;IA2B5B,cAAc,CACZ,UAAU,EACN,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,GACpD,aAAa,CAAC,WAAW,CAAC,EAC9B,IAAI,EAAE,gBAAgB,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,EAC/D,eAAe,EAAE,SAAS,EAC1B,eAAe,EAAE,OAAO,EACxB,aAAa,EAAE,OAAO;IA6BxB,kBAAkB,CAChB,IAAI,EAAE,gBAAgB,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,EAC/D,eAAe,EAAE,SAAS,EAC1B,eAAe,EAAE,OAAO,EACxB,aAAa,EAAE,OAAO;IA4BxB,OAAO,CAAC,oBAAoB;IAmD5B,kBAAkB,CAChB,IAAI,EAAE,gBAAgB,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,EAC/D,eAAe,EAAE,SAAS,EAC1B,eAAe,EAAE,OAAO,EACxB,aAAa,EAAE,OAAO;IAgCxB,qBAAqB,CACnB,IAAI,EAAE,gBAAgB,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;CA0LlE"}
@@ -1,622 +0,0 @@
1
- import { __assign, __extends, __read, __values } from "tslib";
2
- import { EDirection, getNodeHeight, groupNodesByEdgesAndDirection, } from '@aloudata/ink-graph-new';
3
- import { EEntityType, EDashType, } from '../types';
4
- import _ from 'lodash';
5
- import { BaseManager } from './BaseManager';
6
- import { COL_HEIGHT, CUSTOM_NODE, LINEAGE_EDGE, NODE_WIDTH, TABLE_HEADER_HEIGHT, TABLE_NODE, } from '../constant';
7
- var TableDataProcessor = /** @class */ (function (_super) {
8
- __extends(TableDataProcessor, _super);
9
- function TableDataProcessor() {
10
- return _super !== null && _super.apply(this, arguments) || this;
11
- }
12
- TableDataProcessor.parseData = function (data, startNodes) {
13
- TableDataProcessor.startNodes = startNodes;
14
- // parse data here
15
- var entities = data.entities, relations = data.relations;
16
- var nodes = TableDataProcessor.parseEntities(entities, startNodes);
17
- var edges = TableDataProcessor.parseRelations(relations);
18
- var res = {
19
- nodes: nodes,
20
- edges: edges,
21
- };
22
- return res;
23
- };
24
- TableDataProcessor.parseEntities = function (entities, startNodes) {
25
- var nodesId = [];
26
- var nodes = [];
27
- entities.forEach(function (entity) {
28
- if (nodesId.includes(entity.guid))
29
- return;
30
- var isStartNode = startNodes.includes(entity.guid);
31
- var node = null;
32
- switch (entity.typeCode) {
33
- case 'Table':
34
- case 'View':
35
- node = TableDataProcessor.parseTableEntity(entity, isStartNode);
36
- break;
37
- default:
38
- node = TableDataProcessor.parseCustomEntity(entity, isStartNode);
39
- break;
40
- }
41
- if (node) {
42
- nodes.push(node);
43
- nodesId.push(node.id);
44
- }
45
- });
46
- return nodes;
47
- };
48
- TableDataProcessor.parseRelations = function (relations) {
49
- var existedEdgesMap = new Map();
50
- var edges = [];
51
- relations.forEach(function (relation) {
52
- var edgeId = "".concat(relation.srcGuid, "___").concat(relation.dstGuid);
53
- if (existedEdgesMap.has(edgeId)) {
54
- if (existedEdgesMap.get(edgeId) !== relation.relationTypeCode) {
55
- var edge_1 = edges.find(function (e) { return e.id === edgeId; });
56
- if (edge_1) {
57
- edge_1.relationType = EDashType.ALL;
58
- edge_1.style.strokeDasharray = [0];
59
- }
60
- }
61
- return;
62
- }
63
- var isIndirect = relation.relationTypeCode.includes('Indirect');
64
- var edge = {
65
- id: edgeId,
66
- type: LINEAGE_EDGE,
67
- data: __assign({}, relation),
68
- source: relation.srcGuid,
69
- target: relation.dstGuid,
70
- visible: true,
71
- isActive: false,
72
- isFolded: false,
73
- canBeFold: false,
74
- relationType: isIndirect ? EDashType.INDIRECT : EDashType.DIRECT,
75
- style: {
76
- stroke: '#B1B1B1',
77
- strokeDasharray: isIndirect ? [2] : [0],
78
- lineWidth: 1,
79
- },
80
- points: [],
81
- };
82
- edges.push(edge);
83
- existedEdgesMap.set(edge.id, edge.data.relationTypeCode);
84
- });
85
- return edges;
86
- };
87
- TableDataProcessor.parseTableEntity = function (entity, isStartNode) {
88
- var _a, _b, _c, _d, _e, _f, _g;
89
- var cols = Array.isArray((_a = entity.properties) === null || _a === void 0 ? void 0 : _a.columns)
90
- ? ((_c = (_b = entity.properties) === null || _b === void 0 ? void 0 : _b.columns) === null || _c === void 0 ? void 0 : _c.map(function (col) {
91
- var _a;
92
- return TableDataProcessor.parseColumn(col, isStartNode, entity.guid, (_a = entity.properties) === null || _a === void 0 ? void 0 : _a.name);
93
- })) || []
94
- : [];
95
- // 只有起始资产的relatedCols一开始有元素
96
- var relatedCols = Array.isArray((_d = entity.properties) === null || _d === void 0 ? void 0 : _d.columns)
97
- ? ((_f = (_e = entity.properties) === null || _e === void 0 ? void 0 : _e.columns) === null || _f === void 0 ? void 0 : _f.map(function (col) {
98
- var _a;
99
- return TableDataProcessor.parseRelatedColumn(col, isStartNode, entity.guid, (_a = entity.properties) === null || _a === void 0 ? void 0 : _a.name);
100
- })) || []
101
- : [];
102
- var data = {
103
- id: entity.guid,
104
- type: TABLE_NODE,
105
- data: __assign(__assign({}, entity.properties), { type: ((_g = entity.properties) === null || _g === void 0 ? void 0 : _g.type) || EEntityType.TABLE, guid: entity.guid, typeCode: entity.typeCode }),
106
- style: {
107
- width: NODE_WIDTH + 2,
108
- height: TABLE_HEADER_HEIGHT,
109
- headerHeight: TABLE_HEADER_HEIGHT,
110
- },
111
- position: {
112
- x: 0,
113
- y: 0,
114
- },
115
- isStartNode: isStartNode,
116
- isOpen: isStartNode,
117
- visible: true,
118
- isRelated: false,
119
- isFolded: false,
120
- isExpandOutput: false,
121
- isExpandInput: false,
122
- canExpandInput: false,
123
- canExpandOutput: false,
124
- canFoldInput: false,
125
- canFoldOutput: false,
126
- hasMoreInput: true,
127
- hasMoreOutput: true,
128
- children: cols,
129
- pagination: {
130
- pageNum: 1,
131
- pageSize: 10,
132
- total: 0,
133
- totalPage: 0,
134
- },
135
- relatedColumns: relatedCols,
136
- };
137
- data.style.height = getNodeHeight(data);
138
- return data;
139
- };
140
- TableDataProcessor.parseColumn = function (column, isStartNode, tableId, tableName) {
141
- return {
142
- data: __assign({}, column),
143
- type: '',
144
- style: {
145
- width: NODE_WIDTH + 2,
146
- height: COL_HEIGHT,
147
- headerHeight: COL_HEIGHT,
148
- },
149
- position: { x: 8, y: 0 },
150
- id: column.guid,
151
- tableId: tableId,
152
- tableName: column.tableName || tableName,
153
- visible: true,
154
- isFolded: false,
155
- isStartNode: isStartNode,
156
- isRelated: false,
157
- canExpandInput: false,
158
- canExpandOutput: false,
159
- canFoldInput: false,
160
- canFoldOutput: false,
161
- hasMoreInput: true,
162
- hasMoreOutput: true,
163
- };
164
- };
165
- TableDataProcessor.parseRelatedColumn = function (column, isStartNode, tableId, tableName) {
166
- return {
167
- data: __assign({}, column),
168
- type: '',
169
- style: {
170
- width: NODE_WIDTH + 2,
171
- height: COL_HEIGHT,
172
- headerHeight: COL_HEIGHT,
173
- },
174
- position: { x: 0, y: 0 },
175
- id: column.guid,
176
- tableId: tableId,
177
- tableName: column.tableName || tableName,
178
- visible: true,
179
- isFolded: false,
180
- isStartNode: isStartNode,
181
- isRelated: true,
182
- isRelatedColumn: true,
183
- canExpandInput: false,
184
- canExpandOutput: false,
185
- canFoldInput: false,
186
- canFoldOutput: false,
187
- hasMoreInput: true,
188
- hasMoreOutput: true,
189
- };
190
- };
191
- TableDataProcessor.parseCustomEntity = function (entity, isStartNode) {
192
- var _a, _b, _c, _d;
193
- var data = {
194
- id: entity.guid,
195
- type: CUSTOM_NODE,
196
- data: __assign(__assign({}, entity.properties), { type: ((_a = entity.properties) === null || _a === void 0 ? void 0 : _a.type) || EEntityType.TABLE, guid: entity.guid, typeCode: entity.typeCode, typeCodeName: entity.typeCodeName }),
197
- style: {
198
- width: NODE_WIDTH + 2,
199
- height: TABLE_HEADER_HEIGHT,
200
- headerHeight: TABLE_HEADER_HEIGHT,
201
- },
202
- position: {
203
- x: 0,
204
- y: 0,
205
- },
206
- isStartNode: isStartNode,
207
- isOpen: isStartNode,
208
- visible: true,
209
- isRelated: false,
210
- canExpandInput: false,
211
- canExpandOutput: false,
212
- canFoldInput: false,
213
- canFoldOutput: false,
214
- hasMoreInput: true,
215
- hasMoreOutput: true,
216
- children: Array.isArray((_b = entity.properties) === null || _b === void 0 ? void 0 : _b.columns)
217
- ? ((_d = (_c = entity.properties) === null || _c === void 0 ? void 0 : _c.columns) === null || _d === void 0 ? void 0 : _d.map(function (col) {
218
- var _a;
219
- return TableDataProcessor.parseColumn(col, isStartNode, entity.guid, (_a = entity.properties) === null || _a === void 0 ? void 0 : _a.name);
220
- })) || []
221
- : [],
222
- pagination: {
223
- pageNum: 1,
224
- pageSize: 10,
225
- total: 0,
226
- totalPage: 0,
227
- },
228
- relatedColumns: [],
229
- };
230
- data.style.height = getNodeHeight(data);
231
- return data;
232
- };
233
- // 刷新相关节点和边
234
- TableDataProcessor.prototype.refreshRelatedNodesAndEdges = function (relatedNodes, relatedEdges) {
235
- var _this = this;
236
- relatedNodes.forEach(function (n) {
237
- if (!n)
238
- return;
239
- var nodeConfig = _this.lineageManager.getNodeConfigById(n.id);
240
- if (!nodeConfig)
241
- return;
242
- nodeConfig.isRelated = true;
243
- if (nodeConfig.style.zIndex < 4) {
244
- nodeConfig.style.zIndex = 3;
245
- nodeConfig.style.stroke = '#3271C9';
246
- if (!nodeConfig.isActive) {
247
- nodeConfig.style.fill = '#E4EFFF';
248
- }
249
- else {
250
- nodeConfig.style.fill = '#A9CFFB';
251
- }
252
- }
253
- });
254
- relatedEdges.forEach(function (e) {
255
- if (!e)
256
- return;
257
- var edge = _this.lineageManager.getEdgeConfigById(e.id);
258
- if (!edge)
259
- return;
260
- if ((edge.inFoldLink &&
261
- _this.lineageManager.foldLineageManager.isFoldChecked) ||
262
- edge.isExtraFoldEdge)
263
- return;
264
- edge.style.stroke = '#3271C9';
265
- });
266
- };
267
- // 更新节点和边可见性
268
- TableDataProcessor.prototype.updateNodesAndEdgesVisible = function (data, edgeDashVisible, onlyShowRelated, isFoldChecked) {
269
- this.updateEdgesVisible(data, edgeDashVisible, onlyShowRelated, isFoldChecked);
270
- // 更新节点本身、列、节点children的可见性
271
- this.updateNodesVisible(data, edgeDashVisible, onlyShowRelated, isFoldChecked);
272
- };
273
- // 获取边可见性
274
- TableDataProcessor.prototype.getEdgeVisible = function (edgeCfg, edgeDashVisible, onlyShowRelated, isFoldChecked, relatedNodes) {
275
- var _a, _b, _c;
276
- // 如果边被折叠了,那么该边就隐藏
277
- if (edgeCfg.isFolded)
278
- return false;
279
- var visible = false;
280
- // 折叠
281
- if (isFoldChecked) {
282
- var foldStatus = (_c = (_b = (_a = this.lineageManager) === null || _a === void 0 ? void 0 : _a.foldLineageManager) === null || _b === void 0 ? void 0 : _b.foldStatusMap) === null || _c === void 0 ? void 0 : _c.get(edgeCfg.foldTableId);
283
- if (foldStatus) {
284
- visible = !!edgeCfg.isExtraFoldEdge;
285
- if (!visible) {
286
- return visible;
287
- }
288
- }
289
- }
290
- // 仅相关
291
- if (onlyShowRelated) {
292
- var source = edgeCfg.source, target = edgeCfg.target;
293
- if (relatedNodes[source] && relatedNodes[target]) {
294
- visible = true;
295
- }
296
- else {
297
- return false;
298
- }
299
- }
300
- switch (edgeDashVisible) {
301
- case EDashType.DIRECT:
302
- visible =
303
- edgeCfg.relationType === EDashType.DIRECT ||
304
- edgeCfg.relationType === EDashType.ALL;
305
- break;
306
- case EDashType.INDIRECT:
307
- visible = true;
308
- break;
309
- }
310
- return visible;
311
- };
312
- // 获取相关节点可见性
313
- TableDataProcessor.prototype.getRelatedNodeVisible = function (nodeConfig, data, edgeDashVisible) {
314
- var _a, _b, _c, _d, _e, _f;
315
- // 仅相关开启的情况下,如果高亮链路是表链路,隐藏非相关的列
316
- if ((_b = (_a = this.lineageManager) === null || _a === void 0 ? void 0 : _a.rightKeyMenuManager) === null || _b === void 0 ? void 0 : _b.onlyShowRelated) {
317
- if (!((_e = (_d = (_c = this.lineageManager) === null || _c === void 0 ? void 0 : _c.activeNodes) === null || _d === void 0 ? void 0 : _d[0]) === null || _e === void 0 ? void 0 : _e.tableName)) {
318
- if (!_.some((_f = this.lineageManager) === null || _f === void 0 ? void 0 : _f.relatedNodes, { id: nodeConfig.id }))
319
- return false;
320
- }
321
- }
322
- var cacheBit = this.nodeEdgeRelationCache.get(nodeConfig.id);
323
- if (!cacheBit)
324
- return false;
325
- var isAllIndirectEdges = cacheBit < 0;
326
- // 开关只有true false,直接、间接
327
- if (edgeDashVisible === EDashType.INDIRECT) {
328
- return true;
329
- }
330
- else {
331
- // 如果边都是间接边,那么该节点就隐藏
332
- if (isAllIndirectEdges)
333
- return false;
334
- return true;
335
- }
336
- };
337
- // 获取节点可见性
338
- TableDataProcessor.prototype.getNodeVisible = function (nodeConfig, data, edgeDashVisible, onlyShowRelated, isFoldChecked) {
339
- if (nodeConfig.isStartNode)
340
- return true;
341
- if (nodeConfig.isFolded)
342
- return false;
343
- // 只显示相关节点 & 该节点不是相关节点 & 该节点不是表,则该节点不可见
344
- if (onlyShowRelated && !nodeConfig.isRelated && !nodeConfig.tableId)
345
- return false;
346
- if (nodeConfig.canBeFold && isFoldChecked)
347
- return false;
348
- var cacheBit = this.nodeEdgeRelationCache.get(nodeConfig.id);
349
- if (!cacheBit)
350
- return false;
351
- var isAllIndirectEdges = cacheBit < 0;
352
- // 开关只有true false,直接、间接
353
- if (edgeDashVisible === EDashType.INDIRECT) {
354
- return true;
355
- }
356
- else {
357
- // 如果边都是间接边,那么该节点就隐藏
358
- if (isAllIndirectEdges)
359
- return false;
360
- return true;
361
- }
362
- };
363
- // 更新边可见性
364
- TableDataProcessor.prototype.updateEdgesVisible = function (data, edgeDashVisible, onlyShowRelated, isFoldChecked) {
365
- var _this = this;
366
- if (_.isNil(data))
367
- return;
368
- var relatedNodes = {};
369
- data.nodes.forEach(function (node) {
370
- var _a;
371
- if (node.isRelated) {
372
- relatedNodes[node.id] = node;
373
- (_a = node.relatedColumns) === null || _a === void 0 ? void 0 : _a.forEach(function (col) {
374
- if (col.visible) {
375
- relatedNodes[col.id] = col;
376
- }
377
- });
378
- }
379
- });
380
- data.edges.forEach(function (edge) {
381
- edge.visible = _this.getEdgeVisible(edge, edgeDashVisible, onlyShowRelated, isFoldChecked, relatedNodes);
382
- });
383
- };
384
- // 构建节点/列可见性缓存。根据关联的边类型和当前配置决定是否可见
385
- TableDataProcessor.prototype.buildVisibilityCache = function (data, isFoldChecked) {
386
- var nodeIdToNodeMap = new Map();
387
- var columnIdToTableIdMap = new Map();
388
- data.nodes.forEach(function (node) {
389
- var _a, _b;
390
- (_a = node.children) === null || _a === void 0 ? void 0 : _a.forEach(function (child) {
391
- columnIdToTableIdMap.set(child.id, child.tableId);
392
- });
393
- (_b = node.relatedColumns) === null || _b === void 0 ? void 0 : _b.forEach(function (col) {
394
- columnIdToTableIdMap.set(col.id, col.tableId);
395
- });
396
- nodeIdToNodeMap.set(node.id, node);
397
- });
398
- this.nodeEdgeRelationCache = new Map();
399
- var cache = this.nodeEdgeRelationCache;
400
- var updateBit = function (id, isIndirect) {
401
- if (!id)
402
- return;
403
- var bit = cache.get(id);
404
- if (!bit) {
405
- cache.set(id, isIndirect ? -1 : 1);
406
- }
407
- if (bit < 0 && !isIndirect) {
408
- cache.set(id, 1);
409
- }
410
- };
411
- data.edges.forEach(function (edge) {
412
- var srcNode = nodeIdToNodeMap.get(edge.source);
413
- var tgtNode = nodeIdToNodeMap.get(edge.target);
414
- if (!edge.visible)
415
- return;
416
- // 合并链路,折叠的边忽略
417
- if (((srcNode === null || srcNode === void 0 ? void 0 : srcNode.canBeFold) || (tgtNode === null || tgtNode === void 0 ? void 0 : tgtNode.canBeFold)) && isFoldChecked) {
418
- return;
419
- }
420
- var isIndirect = edge.relationType === EDashType.INDIRECT;
421
- updateBit(edge.source, isIndirect);
422
- updateBit(edge.target, isIndirect);
423
- // 更新列对应的表(如果是列
424
- updateBit(columnIdToTableIdMap.get(edge.source), isIndirect);
425
- updateBit(columnIdToTableIdMap.get(edge.target), isIndirect);
426
- });
427
- };
428
- // 更新节点的可见性
429
- TableDataProcessor.prototype.updateNodesVisible = function (data, edgeDashVisible, onlyShowRelated, isFoldChecked) {
430
- var _this = this;
431
- if (_.isNil(data))
432
- return;
433
- this.buildVisibilityCache(data, isFoldChecked);
434
- data.nodes.forEach(function (node) {
435
- var _a, _b;
436
- node.visible = _this.getNodeVisible(node, data, edgeDashVisible, onlyShowRelated, isFoldChecked);
437
- (_a = node.relatedColumns) === null || _a === void 0 ? void 0 : _a.forEach(function (col) {
438
- col.visible = _this.getRelatedNodeVisible(col, data, edgeDashVisible);
439
- });
440
- (_b = node.children) === null || _b === void 0 ? void 0 : _b.forEach(function (child) {
441
- child.visible = _this.getNodeVisible(child, data, edgeDashVisible, onlyShowRelated, isFoldChecked);
442
- });
443
- });
444
- };
445
- // 更新icon的可见性
446
- TableDataProcessor.prototype.updateSideIconVisible = function (data) {
447
- var e_1, _a;
448
- var _this = this;
449
- if (_.isNil(data))
450
- return;
451
- var nodesConfig = data.nodes.filter(function (cfg) { return cfg.visible; });
452
- var edgesConfig = data.edges.filter(function (cfg) { return cfg.visible; });
453
- if (!nodesConfig.length)
454
- return;
455
- var startNodeIndex = nodesConfig.findIndex(function (node) { return node.isStartNode; });
456
- if (startNodeIndex < 0)
457
- return;
458
- var startNodeCfg = nodesConfig[startNodeIndex];
459
- if (!startNodeCfg)
460
- return;
461
- var nodesConfigMap = new Map();
462
- nodesConfig.forEach(function (n) {
463
- var _a;
464
- nodesConfigMap.set(n.id, n);
465
- (_a = n.children) === null || _a === void 0 ? void 0 : _a.forEach(function (child) {
466
- nodesConfigMap.set(child.id, child);
467
- });
468
- });
469
- var inputGroupedData = groupNodesByEdgesAndDirection(startNodeCfg, nodesConfigMap, edgesConfig, EDirection.INPUT);
470
- var outputGroupedData = groupNodesByEdgesAndDirection(startNodeCfg, nodesConfigMap, edgesConfig, EDirection.OUTPUT);
471
- if (!inputGroupedData && !outputGroupedData)
472
- return;
473
- var inputGroupNodes = inputGroupedData.groupedNodes;
474
- var outputGroupNodes = outputGroupedData.groupedNodes;
475
- // 优化Map合并:直接使用inputGroupNodes作为基础,避免重复has()调用
476
- var groupedNodes = new Map(inputGroupNodes || []);
477
- if (outputGroupNodes) {
478
- try {
479
- for (var outputGroupNodes_1 = __values(outputGroupNodes), outputGroupNodes_1_1 = outputGroupNodes_1.next(); !outputGroupNodes_1_1.done; outputGroupNodes_1_1 = outputGroupNodes_1.next()) {
480
- var _b = __read(outputGroupNodes_1_1.value, 2), key = _b[0], value = _b[1];
481
- if (!groupedNodes.has(key)) {
482
- groupedNodes.set(key, value);
483
- }
484
- }
485
- }
486
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
487
- finally {
488
- try {
489
- if (outputGroupNodes_1_1 && !outputGroupNodes_1_1.done && (_a = outputGroupNodes_1.return)) _a.call(outputGroupNodes_1);
490
- }
491
- finally { if (e_1) throw e_1.error; }
492
- }
493
- }
494
- var dstNodeIdsSet = new Set();
495
- var srcNodeIdsSet = new Set();
496
- edgesConfig.forEach(function (item) {
497
- var _a, _b, _c, _d, _e, _f;
498
- var target = item.target, source = item.source;
499
- var dstNode = _this.lineageManager.getNodeConfigById(target);
500
- var srcNode = _this.lineageManager.getNodeConfigById(source);
501
- // 列
502
- if ((srcNode === null || srcNode === void 0 ? void 0 : srcNode.tableId) || (dstNode === null || dstNode === void 0 ? void 0 : dstNode.tableId)) {
503
- var parentSrcNode = _this.lineageManager.getNodeConfigById(srcNode === null || srcNode === void 0 ? void 0 : srcNode.tableId);
504
- var parentDstNode = _this.lineageManager.getNodeConfigById(dstNode === null || dstNode === void 0 ? void 0 : dstNode.tableId);
505
- // 列所在父节点正常
506
- if (((_a = parentSrcNode === null || parentSrcNode === void 0 ? void 0 : parentSrcNode.position) === null || _a === void 0 ? void 0 : _a.x) < ((_b = parentDstNode === null || parentDstNode === void 0 ? void 0 : parentDstNode.position) === null || _b === void 0 ? void 0 : _b.x)) {
507
- srcNodeIdsSet.add(source);
508
- dstNodeIdsSet.add(target);
509
- }
510
- else {
511
- if ((srcNode === null || srcNode === void 0 ? void 0 : srcNode.tableId) && source === ((_c = _this.lineageManager.activeNodes[0]) === null || _c === void 0 ? void 0 : _c.id)) {
512
- srcNodeIdsSet.add(source);
513
- }
514
- if ((dstNode === null || dstNode === void 0 ? void 0 : dstNode.tableId) && target === ((_d = _this.lineageManager.activeNodes[0]) === null || _d === void 0 ? void 0 : _d.id)) {
515
- dstNodeIdsSet.add(target);
516
- }
517
- }
518
- }
519
- else if (srcNode && dstNode && srcNode.position.x < dstNode.position.x) {
520
- srcNodeIdsSet.add(source);
521
- dstNodeIdsSet.add(target);
522
- }
523
- else {
524
- if (source === ((_e = _this.lineageManager.activeNodes[0]) === null || _e === void 0 ? void 0 : _e.id)) {
525
- srcNodeIdsSet.add(source);
526
- }
527
- if (target === ((_f = _this.lineageManager.activeNodes[0]) === null || _f === void 0 ? void 0 : _f.id)) {
528
- dstNodeIdsSet.add(target);
529
- }
530
- }
531
- });
532
- // 优化节点处理逻辑
533
- nodesConfig.forEach(function (n) {
534
- // 重置状态
535
- n.canExpandInput = false;
536
- n.canExpandOutput = false;
537
- n.canFoldInput = false;
538
- n.canFoldOutput = false;
539
- var currNodeLevel = groupedNodes.get(n.id);
540
- if (_.isNil(currNodeLevel)) {
541
- console.warn("get node level error '".concat(n.id, "'"));
542
- return;
543
- }
544
- // 优化:使用Set的has()方法进行O(1)查找
545
- var isInputLeaf = false;
546
- var isOutputLeaf = false;
547
- if (currNodeLevel === 0) {
548
- isInputLeaf = !dstNodeIdsSet.has(n.id);
549
- isOutputLeaf = !srcNodeIdsSet.has(n.id);
550
- }
551
- else if (currNodeLevel < 0) {
552
- isInputLeaf = !dstNodeIdsSet.has(n.id);
553
- }
554
- else {
555
- isOutputLeaf = !srcNodeIdsSet.has(n.id);
556
- }
557
- // input node exist & left of start node
558
- if (currNodeLevel <= 0 && !isInputLeaf) {
559
- n.canFoldInput = true;
560
- }
561
- // input node not exist & left of start node
562
- if (currNodeLevel <= 0 && isInputLeaf && n.hasMoreInput) {
563
- n.canExpandInput = true;
564
- }
565
- // output node exist & right of start node
566
- if (currNodeLevel >= 0 && !isOutputLeaf) {
567
- n.canFoldOutput = true;
568
- }
569
- // output node not exist & right of start node
570
- if (currNodeLevel >= 0 && isOutputLeaf && n.hasMoreOutput) {
571
- n.canExpandOutput = true;
572
- }
573
- // column: always true if isStartNode === true
574
- var columnRefreshList = n.isStartNode
575
- ? (n.children || []).concat(n.relatedColumns || [])
576
- : n.relatedColumns || [];
577
- // 处理列的展开/折叠状态
578
- columnRefreshList.forEach(function (col) {
579
- // 重置列状态
580
- col.canExpandInput = false;
581
- col.canExpandOutput = false;
582
- col.canFoldInput = false;
583
- col.canFoldOutput = false;
584
- if (!col.isStartNode && !col.isRelatedColumn)
585
- return;
586
- // 优化:使用Set进行O(1)查找
587
- var isInputLeaf_col = false;
588
- var isOutputLeaf_col = false;
589
- if (currNodeLevel === 0) {
590
- isInputLeaf_col = !dstNodeIdsSet.has(col.id);
591
- isOutputLeaf_col = !srcNodeIdsSet.has(col.id);
592
- }
593
- else if (currNodeLevel < 0) {
594
- isInputLeaf_col = !dstNodeIdsSet.has(col.id);
595
- }
596
- else {
597
- isOutputLeaf_col = !srcNodeIdsSet.has(col.id);
598
- }
599
- // input node exist & left of start node
600
- if (currNodeLevel <= 0 && !isInputLeaf_col) {
601
- col.canFoldInput = true;
602
- }
603
- // input node not exist & left of start node
604
- if (currNodeLevel <= 0 && isInputLeaf_col && col.hasMoreInput) {
605
- col.canExpandInput = true;
606
- }
607
- // output node exist & right of start node
608
- if (currNodeLevel >= 0 && !isOutputLeaf_col) {
609
- col.canFoldOutput = true;
610
- }
611
- // output node not exist & right of start node
612
- if (currNodeLevel >= 0 && isOutputLeaf_col && col.hasMoreOutput) {
613
- col.canExpandOutput = true;
614
- }
615
- });
616
- });
617
- };
618
- TableDataProcessor.startNodes = [];
619
- return TableDataProcessor;
620
- }(BaseManager));
621
- export { TableDataProcessor };
622
- //# sourceMappingURL=TableDataProcessor.js.map