@aloudata/ink-lineage 0.0.1-beta.34 → 0.0.1-beta.36
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.
- package/dist/components/Nodes/AssetNode.d.ts.map +1 -1
- package/dist/components/Nodes/AssetNode.js.map +1 -1
- package/dist/components/Nodes/ColumnNode.d.ts +27 -0
- package/dist/components/Nodes/ColumnNode.d.ts.map +1 -0
- package/dist/components/Nodes/ColumnNode.js +327 -0
- package/dist/components/Nodes/ColumnNode.js.map +1 -0
- package/dist/components/Nodes/CustomNode.d.ts.map +1 -0
- package/dist/components/Nodes/CustomNode.js +53 -0
- package/dist/components/Nodes/CustomNode.js.map +1 -0
- package/dist/components/Nodes/Table/ColumnNode.d.ts.map +1 -1
- package/dist/components/Nodes/Table/ColumnNode.js +2 -2
- package/dist/components/Nodes/Table/ColumnNode.js.map +1 -1
- package/dist/components/Nodes/TableNode.d.ts.map +1 -0
- package/dist/components/Nodes/TableNode.js +384 -0
- package/dist/components/Nodes/TableNode.js.map +1 -0
- package/dist/manager/BaseRightKeyMenuManager.d.ts.map +1 -1
- package/dist/manager/BaseRightKeyMenuManager.js +2 -0
- package/dist/manager/BaseRightKeyMenuManager.js.map +1 -1
- package/dist/manager/DataProcessor.d.ts +27 -0
- package/dist/manager/DataProcessor.d.ts.map +1 -0
- package/dist/manager/{dataProcessor/TableDataProcessor.js → DataProcessor.js} +274 -303
- package/dist/manager/DataProcessor.js.map +1 -0
- package/dist/manager/GraphEventManager.d.ts.map +1 -0
- package/dist/manager/{graphEventManager/BaseGraphEventManager.js → GraphEventManager.js} +19 -12
- package/dist/manager/GraphEventManager.js.map +1 -0
- package/dist/manager/LineageManager.d.ts.map +1 -1
- package/dist/manager/LineageManager.js +3 -2
- package/dist/manager/LineageManager.js.map +1 -1
- package/dist/manager/RightKeyMenuManager.d.ts +29 -0
- package/dist/manager/RightKeyMenuManager.d.ts.map +1 -0
- package/dist/manager/RightKeyMenuManager.js +78 -0
- package/dist/manager/RightKeyMenuManager.js.map +1 -0
- package/dist/manager/TableDataProcessor.js +2 -2
- package/dist/manager/TableDataProcessor.js.map +1 -1
- package/dist/manager/nodeManager/BaseColumnEventManager.d.ts.map +1 -1
- package/dist/manager/nodeManager/BaseColumnEventManager.js +1 -1
- package/dist/manager/nodeManager/BaseColumnEventManager.js.map +1 -1
- package/dist/manager/nodeManager/BaseEventManager.d.ts.map +1 -1
- package/dist/manager/nodeManager/ColumnEventManager.d.ts.map +1 -1
- package/dist/manager/nodeManager/ColumnEventManager.js.map +1 -1
- package/dist/utils/getIconByType.d.ts.map +1 -1
- package/dist/utils/manager.d.ts.map +1 -1
- package/dist/utils/node.d.ts +1 -1
- package/dist/utils/node.d.ts.map +1 -1
- package/dist/utils/node.js +5 -1
- package/dist/utils/node.js.map +1 -1
- package/package.json +1 -1
- package/dist/components/Edges/ClickEdge.d.ts +0 -8
- package/dist/components/Edges/ClickEdge.d.ts.map +0 -1
- package/dist/components/Edges/ClickEdge.js +0 -68
- package/dist/components/Edges/ClickEdge.js.map +0 -1
- package/dist/manager/dataProcessor/ScheduleDataProcessor.d.ts +0 -21
- package/dist/manager/dataProcessor/ScheduleDataProcessor.d.ts.map +0 -1
- package/dist/manager/dataProcessor/ScheduleDataProcessor.js +0 -349
- package/dist/manager/dataProcessor/ScheduleDataProcessor.js.map +0 -1
- package/dist/manager/dataProcessor/TableDataProcessor.d.ts +0 -26
- package/dist/manager/dataProcessor/TableDataProcessor.d.ts.map +0 -1
- package/dist/manager/dataProcessor/TableDataProcessor.js.map +0 -1
- package/dist/manager/dataProcessor/TaskDataProcessor.d.ts +0 -82
- package/dist/manager/dataProcessor/TaskDataProcessor.d.ts.map +0 -1
- package/dist/manager/dataProcessor/TaskDataProcessor.js +0 -307
- package/dist/manager/dataProcessor/TaskDataProcessor.js.map +0 -1
- package/dist/manager/graphEventManager/BaseGraphEventManager.d.ts +0 -10
- package/dist/manager/graphEventManager/BaseGraphEventManager.d.ts.map +0 -1
- package/dist/manager/graphEventManager/BaseGraphEventManager.js.map +0 -1
- package/dist/manager/graphEventManager/TableGraphEventManager.d.ts +0 -6
- package/dist/manager/graphEventManager/TableGraphEventManager.d.ts.map +0 -1
- package/dist/manager/graphEventManager/TableGraphEventManager.js +0 -25
- package/dist/manager/graphEventManager/TableGraphEventManager.js.map +0 -1
- package/dist/manager/graphEventManager/TaskGraphEventManager.d.ts +0 -6
- package/dist/manager/graphEventManager/TaskGraphEventManager.d.ts.map +0 -1
- package/dist/manager/graphEventManager/TaskGraphEventManager.js +0 -22
- package/dist/manager/graphEventManager/TaskGraphEventManager.js.map +0 -1
- package/dist/manager/rightKeyMenu/BaseRightKeyMenuManager.d.ts +0 -40
- package/dist/manager/rightKeyMenu/BaseRightKeyMenuManager.d.ts.map +0 -1
- package/dist/manager/rightKeyMenu/BaseRightKeyMenuManager.js +0 -93
- package/dist/manager/rightKeyMenu/BaseRightKeyMenuManager.js.map +0 -1
- package/dist/manager/rightKeyMenu/TableRightKeyMenuManager.d.ts +0 -10
- package/dist/manager/rightKeyMenu/TableRightKeyMenuManager.d.ts.map +0 -1
- package/dist/manager/rightKeyMenu/TableRightKeyMenuManager.js +0 -29
- package/dist/manager/rightKeyMenu/TableRightKeyMenuManager.js.map +0 -1
- package/dist/manager/rightKeyMenu/TaskRightKeyMenuManager.d.ts +0 -20
- package/dist/manager/rightKeyMenu/TaskRightKeyMenuManager.d.ts.map +0 -1
- package/dist/manager/rightKeyMenu/TaskRightKeyMenuManager.js +0 -149
- package/dist/manager/rightKeyMenu/TaskRightKeyMenuManager.js.map +0 -1
|
@@ -1,28 +1,27 @@
|
|
|
1
|
-
import { __assign, __extends, __read, __values } from "tslib";
|
|
2
|
-
import {
|
|
3
|
-
import { EEntityType, EDashType, } from '
|
|
1
|
+
import { __assign, __extends, __read, __spreadArray, __values } from "tslib";
|
|
2
|
+
import { getNodeHeight, groupNodesByEdgesAndDirection, } from '@aloudata/ink-graph-new';
|
|
3
|
+
import { EEntityType, EDirection, EDashType, } from '../types';
|
|
4
4
|
import _ from 'lodash';
|
|
5
|
-
import { BaseManager } from '
|
|
6
|
-
import {
|
|
7
|
-
var
|
|
8
|
-
__extends(
|
|
9
|
-
function
|
|
5
|
+
import { BaseManager } from './BaseManager';
|
|
6
|
+
import { COL_HEIGHT, CUSTOM_NODE, LINEAGE_EDGE, NODE_WIDTH, TABLE_HEADER_HEIGHT, TABLE_NODE, } from '../constant';
|
|
7
|
+
var DataProcessor = /** @class */ (function (_super) {
|
|
8
|
+
__extends(DataProcessor, _super);
|
|
9
|
+
function DataProcessor() {
|
|
10
10
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
11
11
|
}
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
DataProcessor.parseData = function (data, startNodes) {
|
|
13
|
+
DataProcessor.startNodes = startNodes;
|
|
14
14
|
// parse data here
|
|
15
15
|
var entities = data.entities, relations = data.relations;
|
|
16
|
-
var nodes =
|
|
17
|
-
var edges =
|
|
16
|
+
var nodes = DataProcessor.parseEntities(entities, startNodes);
|
|
17
|
+
var edges = DataProcessor.parseRelations(relations);
|
|
18
18
|
var res = {
|
|
19
19
|
nodes: nodes,
|
|
20
20
|
edges: edges,
|
|
21
21
|
};
|
|
22
22
|
return res;
|
|
23
23
|
};
|
|
24
|
-
|
|
25
|
-
var _this = this;
|
|
24
|
+
DataProcessor.parseEntities = function (entities, startNodes) {
|
|
26
25
|
var nodesId = [];
|
|
27
26
|
var nodes = [];
|
|
28
27
|
entities.forEach(function (entity) {
|
|
@@ -33,22 +32,20 @@ var TableDataProcessor = /** @class */ (function (_super) {
|
|
|
33
32
|
switch (entity.typeCode) {
|
|
34
33
|
case 'Table':
|
|
35
34
|
case 'View':
|
|
36
|
-
node =
|
|
35
|
+
node = DataProcessor.parseTableEntity(entity, isStartNode);
|
|
37
36
|
break;
|
|
38
37
|
default:
|
|
39
|
-
node =
|
|
38
|
+
node = DataProcessor.parseCustomEntity(entity, isStartNode);
|
|
40
39
|
break;
|
|
41
40
|
}
|
|
42
41
|
if (node) {
|
|
43
42
|
nodes.push(node);
|
|
44
43
|
nodesId.push(node.id);
|
|
45
|
-
_this.nodesIdMap.set(node.id, node);
|
|
46
44
|
}
|
|
47
45
|
});
|
|
48
46
|
return nodes;
|
|
49
47
|
};
|
|
50
|
-
|
|
51
|
-
var _this = this;
|
|
48
|
+
DataProcessor.parseRelations = function (relations) {
|
|
52
49
|
var existedEdgesMap = new Map();
|
|
53
50
|
var edges = [];
|
|
54
51
|
relations.forEach(function (relation) {
|
|
@@ -64,16 +61,9 @@ var TableDataProcessor = /** @class */ (function (_super) {
|
|
|
64
61
|
return;
|
|
65
62
|
}
|
|
66
63
|
var isIndirect = relation.relationTypeCode.includes('Indirect');
|
|
67
|
-
var edgeType = LINEAGE_EDGE;
|
|
68
|
-
var srcGuid = relation.srcGuid, dstGuid = relation.dstGuid;
|
|
69
|
-
var srcNode = _this.nodesIdMap.get(srcGuid);
|
|
70
|
-
var tgtNode = _this.nodesIdMap.get(dstGuid);
|
|
71
|
-
if (srcNode || tgtNode) {
|
|
72
|
-
edgeType = CLICK_EDGE;
|
|
73
|
-
}
|
|
74
64
|
var edge = {
|
|
75
65
|
id: edgeId,
|
|
76
|
-
type:
|
|
66
|
+
type: LINEAGE_EDGE,
|
|
77
67
|
data: __assign({}, relation),
|
|
78
68
|
source: relation.srcGuid,
|
|
79
69
|
target: relation.dstGuid,
|
|
@@ -94,25 +84,25 @@ var TableDataProcessor = /** @class */ (function (_super) {
|
|
|
94
84
|
});
|
|
95
85
|
return edges;
|
|
96
86
|
};
|
|
97
|
-
|
|
87
|
+
DataProcessor.parseTableEntity = function (entity, isStartNode) {
|
|
98
88
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
99
89
|
var cols = Array.isArray((_a = entity.properties) === null || _a === void 0 ? void 0 : _a.columns)
|
|
100
90
|
? ((_c = (_b = entity.properties) === null || _b === void 0 ? void 0 : _b.columns) === null || _c === void 0 ? void 0 : _c.map(function (col) {
|
|
101
91
|
var _a;
|
|
102
|
-
return
|
|
92
|
+
return DataProcessor.parseColumn(col, isStartNode, entity.guid, (_a = entity.properties) === null || _a === void 0 ? void 0 : _a.name);
|
|
103
93
|
})) || []
|
|
104
94
|
: [];
|
|
105
95
|
// 只有起始资产的relatedCols一开始有元素
|
|
106
96
|
var relatedCols = Array.isArray((_d = entity.properties) === null || _d === void 0 ? void 0 : _d.columns)
|
|
107
97
|
? ((_f = (_e = entity.properties) === null || _e === void 0 ? void 0 : _e.columns) === null || _f === void 0 ? void 0 : _f.map(function (col) {
|
|
108
98
|
var _a;
|
|
109
|
-
return
|
|
99
|
+
return DataProcessor.parseRelatedColumn(col, isStartNode, entity.guid, (_a = entity.properties) === null || _a === void 0 ? void 0 : _a.name);
|
|
110
100
|
})) || []
|
|
111
101
|
: [];
|
|
112
102
|
var data = {
|
|
113
103
|
id: entity.guid,
|
|
114
104
|
type: TABLE_NODE,
|
|
115
|
-
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
|
|
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 }),
|
|
116
106
|
style: {
|
|
117
107
|
width: NODE_WIDTH + 2,
|
|
118
108
|
height: TABLE_HEADER_HEIGHT,
|
|
@@ -147,7 +137,7 @@ var TableDataProcessor = /** @class */ (function (_super) {
|
|
|
147
137
|
data.style.height = getNodeHeight(data);
|
|
148
138
|
return data;
|
|
149
139
|
};
|
|
150
|
-
|
|
140
|
+
DataProcessor.parseColumn = function (column, isStartNode, tableId, tableName) {
|
|
151
141
|
return {
|
|
152
142
|
data: __assign({}, column),
|
|
153
143
|
type: '',
|
|
@@ -172,7 +162,7 @@ var TableDataProcessor = /** @class */ (function (_super) {
|
|
|
172
162
|
hasMoreOutput: true,
|
|
173
163
|
};
|
|
174
164
|
};
|
|
175
|
-
|
|
165
|
+
DataProcessor.parseRelatedColumn = function (column, isStartNode, tableId, tableName) {
|
|
176
166
|
return {
|
|
177
167
|
data: __assign({}, column),
|
|
178
168
|
type: '',
|
|
@@ -198,7 +188,7 @@ var TableDataProcessor = /** @class */ (function (_super) {
|
|
|
198
188
|
hasMoreOutput: true,
|
|
199
189
|
};
|
|
200
190
|
};
|
|
201
|
-
|
|
191
|
+
DataProcessor.parseCustomEntity = function (entity, isStartNode) {
|
|
202
192
|
var _a, _b, _c, _d;
|
|
203
193
|
var data = {
|
|
204
194
|
id: entity.guid,
|
|
@@ -226,7 +216,7 @@ var TableDataProcessor = /** @class */ (function (_super) {
|
|
|
226
216
|
children: Array.isArray((_b = entity.properties) === null || _b === void 0 ? void 0 : _b.columns)
|
|
227
217
|
? ((_d = (_c = entity.properties) === null || _c === void 0 ? void 0 : _c.columns) === null || _d === void 0 ? void 0 : _d.map(function (col) {
|
|
228
218
|
var _a;
|
|
229
|
-
return
|
|
219
|
+
return DataProcessor.parseColumn(col, isStartNode, entity.guid, (_a = entity.properties) === null || _a === void 0 ? void 0 : _a.name);
|
|
230
220
|
})) || []
|
|
231
221
|
: [],
|
|
232
222
|
pagination: {
|
|
@@ -240,227 +230,13 @@ var TableDataProcessor = /** @class */ (function (_super) {
|
|
|
240
230
|
data.style.height = getNodeHeight(data);
|
|
241
231
|
return data;
|
|
242
232
|
};
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
var _this = this;
|
|
246
|
-
relatedNodes.forEach(function (n) {
|
|
247
|
-
if (!n)
|
|
248
|
-
return;
|
|
249
|
-
var nodeConfig = _this.lineageManager.getNodeConfigById(n.id);
|
|
250
|
-
if (!nodeConfig)
|
|
251
|
-
return;
|
|
252
|
-
nodeConfig.isRelated = true;
|
|
253
|
-
if (nodeConfig.style.zIndex < 4) {
|
|
254
|
-
nodeConfig.style.zIndex = 3;
|
|
255
|
-
nodeConfig.style.stroke = '#3271C9';
|
|
256
|
-
if (!nodeConfig.isActive) {
|
|
257
|
-
nodeConfig.style.fill = '#E4EFFF';
|
|
258
|
-
}
|
|
259
|
-
else {
|
|
260
|
-
nodeConfig.style.fill = '#A9CFFB';
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
});
|
|
264
|
-
relatedEdges.forEach(function (e) {
|
|
265
|
-
if (!e)
|
|
266
|
-
return;
|
|
267
|
-
var edge = _this.lineageManager.getEdgeConfigById(e.id);
|
|
268
|
-
if (!edge)
|
|
269
|
-
return;
|
|
270
|
-
if ((edge.inFoldLink &&
|
|
271
|
-
_this.lineageManager.foldLineageManager.isFoldChecked) ||
|
|
272
|
-
edge.isExtraFoldEdge)
|
|
273
|
-
return;
|
|
274
|
-
edge.style.stroke = '#3271C9';
|
|
275
|
-
});
|
|
276
|
-
};
|
|
277
|
-
// 更新节点和边可见性
|
|
278
|
-
TableDataProcessor.prototype.updateNodesAndEdgesVisible = function (data, edgeDashVisible, onlyShowRelated, isFoldChecked) {
|
|
279
|
-
this.updateEdgesVisible(data, edgeDashVisible, onlyShowRelated, isFoldChecked);
|
|
280
|
-
// 更新节点本身、列、节点children的可见性
|
|
281
|
-
this.updateNodesVisible(data, edgeDashVisible, onlyShowRelated, isFoldChecked);
|
|
282
|
-
};
|
|
283
|
-
// 获取边可见性
|
|
284
|
-
TableDataProcessor.prototype.getEdgeVisible = function (edgeCfg, edgeDashVisible, onlyShowRelated, isFoldChecked, relatedNodes) {
|
|
285
|
-
var _a, _b, _c;
|
|
286
|
-
// 如果边被折叠了,那么该边就隐藏
|
|
287
|
-
if (edgeCfg.isFolded)
|
|
288
|
-
return false;
|
|
289
|
-
var visible = false;
|
|
290
|
-
// 折叠
|
|
291
|
-
if (isFoldChecked) {
|
|
292
|
-
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);
|
|
293
|
-
if (foldStatus) {
|
|
294
|
-
visible = !!edgeCfg.isExtraFoldEdge;
|
|
295
|
-
if (!visible) {
|
|
296
|
-
return visible;
|
|
297
|
-
}
|
|
298
|
-
}
|
|
299
|
-
}
|
|
300
|
-
// 仅相关
|
|
301
|
-
if (onlyShowRelated) {
|
|
302
|
-
var source = edgeCfg.source, target = edgeCfg.target;
|
|
303
|
-
if (relatedNodes[source] && relatedNodes[target]) {
|
|
304
|
-
visible = true;
|
|
305
|
-
}
|
|
306
|
-
else {
|
|
307
|
-
return false;
|
|
308
|
-
}
|
|
309
|
-
}
|
|
310
|
-
switch (edgeDashVisible) {
|
|
311
|
-
case EDashType.DIRECT:
|
|
312
|
-
visible =
|
|
313
|
-
edgeCfg.relationType === EDashType.DIRECT ||
|
|
314
|
-
edgeCfg.relationType === EDashType.ALL;
|
|
315
|
-
break;
|
|
316
|
-
case EDashType.INDIRECT:
|
|
317
|
-
visible = true;
|
|
318
|
-
break;
|
|
319
|
-
}
|
|
320
|
-
return visible;
|
|
321
|
-
};
|
|
322
|
-
// 获取相关节点可见性
|
|
323
|
-
TableDataProcessor.prototype.getRelatedNodeVisible = function (nodeConfig, data, edgeDashVisible) {
|
|
324
|
-
var _a, _b, _c, _d, _e, _f;
|
|
325
|
-
// 仅相关开启的情况下,如果高亮链路是表链路,隐藏非相关的列
|
|
326
|
-
if ((_b = (_a = this.lineageManager) === null || _a === void 0 ? void 0 : _a.rightKeyMenuManager) === null || _b === void 0 ? void 0 : _b.onlyShowRelated) {
|
|
327
|
-
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)) {
|
|
328
|
-
if (!_.some((_f = this.lineageManager) === null || _f === void 0 ? void 0 : _f.relatedNodes, { id: nodeConfig.id }))
|
|
329
|
-
return false;
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
var cacheBit = this.nodeEdgeRelationCache.get(nodeConfig.id);
|
|
333
|
-
if (!cacheBit)
|
|
334
|
-
return false;
|
|
335
|
-
var isAllIndirectEdges = cacheBit < 0;
|
|
336
|
-
// 开关只有true false,直接、间接
|
|
337
|
-
if (edgeDashVisible === EDashType.INDIRECT) {
|
|
338
|
-
return true;
|
|
339
|
-
}
|
|
340
|
-
else {
|
|
341
|
-
// 如果边都是间接边,那么该节点就隐藏
|
|
342
|
-
if (isAllIndirectEdges)
|
|
343
|
-
return false;
|
|
344
|
-
return true;
|
|
345
|
-
}
|
|
346
|
-
};
|
|
347
|
-
// 获取节点可见性
|
|
348
|
-
TableDataProcessor.prototype.getNodeVisible = function (nodeConfig, data, edgeDashVisible, onlyShowRelated, isFoldChecked) {
|
|
349
|
-
if (nodeConfig.isStartNode)
|
|
350
|
-
return true;
|
|
351
|
-
if (nodeConfig.isFolded)
|
|
352
|
-
return false;
|
|
353
|
-
// 只显示相关节点 & 该节点不是相关节点 & 该节点不是表,则该节点不可见
|
|
354
|
-
if (onlyShowRelated && !nodeConfig.isRelated && !nodeConfig.tableId)
|
|
355
|
-
return false;
|
|
356
|
-
if (nodeConfig.canBeFold && isFoldChecked)
|
|
357
|
-
return false;
|
|
358
|
-
var cacheBit = this.nodeEdgeRelationCache.get(nodeConfig.id);
|
|
359
|
-
if (!cacheBit)
|
|
360
|
-
return false;
|
|
361
|
-
var isAllIndirectEdges = cacheBit < 0;
|
|
362
|
-
// 开关只有true false,直接、间接
|
|
363
|
-
if (edgeDashVisible === EDashType.INDIRECT) {
|
|
364
|
-
return true;
|
|
365
|
-
}
|
|
366
|
-
else {
|
|
367
|
-
// 如果边都是间接边,那么该节点就隐藏
|
|
368
|
-
if (isAllIndirectEdges)
|
|
369
|
-
return false;
|
|
370
|
-
return true;
|
|
371
|
-
}
|
|
372
|
-
};
|
|
373
|
-
// 更新边可见性
|
|
374
|
-
TableDataProcessor.prototype.updateEdgesVisible = function (data, edgeDashVisible, onlyShowRelated, isFoldChecked) {
|
|
375
|
-
var _this = this;
|
|
376
|
-
if (_.isNil(data))
|
|
377
|
-
return;
|
|
378
|
-
var relatedNodes = {};
|
|
379
|
-
data.nodes.forEach(function (node) {
|
|
380
|
-
var _a;
|
|
381
|
-
if (node.isRelated) {
|
|
382
|
-
relatedNodes[node.id] = node;
|
|
383
|
-
(_a = node.relatedColumns) === null || _a === void 0 ? void 0 : _a.forEach(function (col) {
|
|
384
|
-
if (col.visible) {
|
|
385
|
-
relatedNodes[col.id] = col;
|
|
386
|
-
}
|
|
387
|
-
});
|
|
388
|
-
}
|
|
389
|
-
});
|
|
390
|
-
data.edges.forEach(function (edge) {
|
|
391
|
-
edge.visible = _this.getEdgeVisible(edge, edgeDashVisible, onlyShowRelated, isFoldChecked, relatedNodes);
|
|
392
|
-
});
|
|
393
|
-
};
|
|
394
|
-
// 构建节点/列可见性缓存。根据关联的边类型和当前配置决定是否可见
|
|
395
|
-
TableDataProcessor.prototype.buildVisibilityCache = function (data, isFoldChecked) {
|
|
396
|
-
var nodeIdToNodeMap = new Map();
|
|
397
|
-
var columnIdToTableIdMap = new Map();
|
|
398
|
-
data.nodes.forEach(function (node) {
|
|
399
|
-
var _a, _b;
|
|
400
|
-
(_a = node.children) === null || _a === void 0 ? void 0 : _a.forEach(function (child) {
|
|
401
|
-
columnIdToTableIdMap.set(child.id, child.tableId);
|
|
402
|
-
});
|
|
403
|
-
(_b = node.relatedColumns) === null || _b === void 0 ? void 0 : _b.forEach(function (col) {
|
|
404
|
-
columnIdToTableIdMap.set(col.id, col.tableId);
|
|
405
|
-
});
|
|
406
|
-
nodeIdToNodeMap.set(node.id, node);
|
|
407
|
-
});
|
|
408
|
-
this.nodeEdgeRelationCache = new Map();
|
|
409
|
-
var cache = this.nodeEdgeRelationCache;
|
|
410
|
-
var updateBit = function (id, isIndirect) {
|
|
411
|
-
if (!id)
|
|
412
|
-
return;
|
|
413
|
-
var bit = cache.get(id);
|
|
414
|
-
if (!bit) {
|
|
415
|
-
cache.set(id, isIndirect ? -1 : 1);
|
|
416
|
-
}
|
|
417
|
-
if (bit < 0 && !isIndirect) {
|
|
418
|
-
cache.set(id, 1);
|
|
419
|
-
}
|
|
420
|
-
};
|
|
421
|
-
data.edges.forEach(function (edge) {
|
|
422
|
-
var srcNode = nodeIdToNodeMap.get(edge.source);
|
|
423
|
-
var tgtNode = nodeIdToNodeMap.get(edge.target);
|
|
424
|
-
if (!edge.visible)
|
|
425
|
-
return;
|
|
426
|
-
// 合并链路,折叠的边忽略
|
|
427
|
-
if (((srcNode === null || srcNode === void 0 ? void 0 : srcNode.canBeFold) || (tgtNode === null || tgtNode === void 0 ? void 0 : tgtNode.canBeFold)) && isFoldChecked) {
|
|
428
|
-
return;
|
|
429
|
-
}
|
|
430
|
-
var isIndirect = edge.relationType === EDashType.INDIRECT;
|
|
431
|
-
updateBit(edge.source, isIndirect);
|
|
432
|
-
updateBit(edge.target, isIndirect);
|
|
433
|
-
// 更新列对应的表(如果是列
|
|
434
|
-
updateBit(columnIdToTableIdMap.get(edge.source), isIndirect);
|
|
435
|
-
updateBit(columnIdToTableIdMap.get(edge.target), isIndirect);
|
|
436
|
-
});
|
|
437
|
-
};
|
|
438
|
-
// 更新节点的可见性
|
|
439
|
-
TableDataProcessor.prototype.updateNodesVisible = function (data, edgeDashVisible, onlyShowRelated, isFoldChecked) {
|
|
440
|
-
var _this = this;
|
|
441
|
-
if (_.isNil(data))
|
|
442
|
-
return;
|
|
443
|
-
this.buildVisibilityCache(data, isFoldChecked);
|
|
444
|
-
data.nodes.forEach(function (node) {
|
|
445
|
-
var _a, _b;
|
|
446
|
-
node.visible = _this.getNodeVisible(node, data, edgeDashVisible, onlyShowRelated, isFoldChecked);
|
|
447
|
-
(_a = node.relatedColumns) === null || _a === void 0 ? void 0 : _a.forEach(function (col) {
|
|
448
|
-
col.visible = _this.getRelatedNodeVisible(col, data, edgeDashVisible);
|
|
449
|
-
});
|
|
450
|
-
(_b = node.children) === null || _b === void 0 ? void 0 : _b.forEach(function (child) {
|
|
451
|
-
child.visible = _this.getNodeVisible(child, data, edgeDashVisible, onlyShowRelated, isFoldChecked);
|
|
452
|
-
});
|
|
453
|
-
});
|
|
454
|
-
};
|
|
455
|
-
// 更新icon的可见性
|
|
456
|
-
TableDataProcessor.prototype.updateSideIconVisible = function (data) {
|
|
457
|
-
var e_1, _a;
|
|
458
|
-
var _this = this;
|
|
233
|
+
DataProcessor.prototype.updateSideIconVisible = function (data) {
|
|
234
|
+
var e_1, _a, e_2, _b;
|
|
459
235
|
if (_.isNil(data))
|
|
460
236
|
return;
|
|
461
237
|
var nodesConfig = data.nodes.filter(function (cfg) { return cfg.visible; });
|
|
462
238
|
var edgesConfig = data.edges.filter(function (cfg) { return cfg.visible; });
|
|
463
|
-
if (!nodesConfig
|
|
239
|
+
if (!nodesConfig)
|
|
464
240
|
return;
|
|
465
241
|
var startNodeIndex = nodesConfig.findIndex(function (node) { return node.isStartNode; });
|
|
466
242
|
if (startNodeIndex < 0)
|
|
@@ -469,7 +245,7 @@ var TableDataProcessor = /** @class */ (function (_super) {
|
|
|
469
245
|
if (!startNodeCfg)
|
|
470
246
|
return;
|
|
471
247
|
var nodesConfigMap = new Map();
|
|
472
|
-
nodesConfig.forEach(function (n) {
|
|
248
|
+
nodesConfig === null || nodesConfig === void 0 ? void 0 : nodesConfig.forEach(function (n) {
|
|
473
249
|
var _a;
|
|
474
250
|
nodesConfigMap.set(n.id, n);
|
|
475
251
|
(_a = n.children) === null || _a === void 0 ? void 0 : _a.forEach(function (child) {
|
|
@@ -482,48 +258,46 @@ var TableDataProcessor = /** @class */ (function (_super) {
|
|
|
482
258
|
return;
|
|
483
259
|
var inputGroupNodes = inputGroupedData.groupedNodes;
|
|
484
260
|
var outputGroupNodes = outputGroupedData.groupedNodes;
|
|
485
|
-
//
|
|
486
|
-
var groupedNodes = new Map(
|
|
487
|
-
if (
|
|
261
|
+
// 两个map合并
|
|
262
|
+
var groupedNodes = new Map();
|
|
263
|
+
if (inputGroupNodes) {
|
|
488
264
|
try {
|
|
489
|
-
for (var
|
|
490
|
-
var
|
|
491
|
-
if (
|
|
492
|
-
|
|
493
|
-
|
|
265
|
+
for (var inputGroupNodes_1 = __values(inputGroupNodes), inputGroupNodes_1_1 = inputGroupNodes_1.next(); !inputGroupNodes_1_1.done; inputGroupNodes_1_1 = inputGroupNodes_1.next()) {
|
|
266
|
+
var _c = __read(inputGroupNodes_1_1.value, 2), key = _c[0], value = _c[1];
|
|
267
|
+
if (groupedNodes.has(key))
|
|
268
|
+
continue;
|
|
269
|
+
groupedNodes.set(key, value);
|
|
494
270
|
}
|
|
495
271
|
}
|
|
496
272
|
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
497
273
|
finally {
|
|
498
274
|
try {
|
|
499
|
-
if (
|
|
275
|
+
if (inputGroupNodes_1_1 && !inputGroupNodes_1_1.done && (_a = inputGroupNodes_1.return)) _a.call(inputGroupNodes_1);
|
|
500
276
|
}
|
|
501
277
|
finally { if (e_1) throw e_1.error; }
|
|
502
278
|
}
|
|
503
279
|
}
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
if (srcNode.position.x < dstNode.position.x) {
|
|
512
|
-
srcNodeIdsSet.add(source);
|
|
513
|
-
dstNodeIdsSet.add(target);
|
|
514
|
-
}
|
|
515
|
-
else {
|
|
516
|
-
if (source === ((_a = _this.lineageManager.activeNodes[0]) === null || _a === void 0 ? void 0 : _a.id)) {
|
|
517
|
-
srcNodeIdsSet.add(source);
|
|
280
|
+
if (outputGroupNodes) {
|
|
281
|
+
try {
|
|
282
|
+
for (var outputGroupNodes_1 = __values(outputGroupNodes), outputGroupNodes_1_1 = outputGroupNodes_1.next(); !outputGroupNodes_1_1.done; outputGroupNodes_1_1 = outputGroupNodes_1.next()) {
|
|
283
|
+
var _d = __read(outputGroupNodes_1_1.value, 2), key = _d[0], value = _d[1];
|
|
284
|
+
if (groupedNodes.has(key))
|
|
285
|
+
continue;
|
|
286
|
+
groupedNodes.set(key, value);
|
|
518
287
|
}
|
|
519
|
-
|
|
520
|
-
|
|
288
|
+
}
|
|
289
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
290
|
+
finally {
|
|
291
|
+
try {
|
|
292
|
+
if (outputGroupNodes_1_1 && !outputGroupNodes_1_1.done && (_b = outputGroupNodes_1.return)) _b.call(outputGroupNodes_1);
|
|
521
293
|
}
|
|
294
|
+
finally { if (e_2) throw e_2.error; }
|
|
522
295
|
}
|
|
523
|
-
}
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
296
|
+
}
|
|
297
|
+
var dstNodeIds = edgesConfig.map(function (edge) { return edge.target; });
|
|
298
|
+
var srcNodeIds = edgesConfig.map(function (edge) { return edge.source; });
|
|
299
|
+
// table
|
|
300
|
+
nodesConfig === null || nodesConfig === void 0 ? void 0 : nodesConfig.forEach(function (n) {
|
|
527
301
|
n.canExpandInput = false;
|
|
528
302
|
n.canExpandOutput = false;
|
|
529
303
|
n.canFoldInput = false;
|
|
@@ -533,18 +307,17 @@ var TableDataProcessor = /** @class */ (function (_super) {
|
|
|
533
307
|
console.warn("get node level error '".concat(n.id, "'"));
|
|
534
308
|
return;
|
|
535
309
|
}
|
|
536
|
-
// 优化:使用Set的has()方法进行O(1)查找
|
|
537
310
|
var isInputLeaf = false;
|
|
538
311
|
var isOutputLeaf = false;
|
|
539
312
|
if (currNodeLevel === 0) {
|
|
540
|
-
isInputLeaf = !
|
|
541
|
-
isOutputLeaf = !
|
|
313
|
+
isInputLeaf = !dstNodeIds.includes(n.id);
|
|
314
|
+
isOutputLeaf = !srcNodeIds.includes(n.id);
|
|
542
315
|
}
|
|
543
316
|
else if (currNodeLevel < 0) {
|
|
544
|
-
isInputLeaf = !
|
|
317
|
+
isInputLeaf = !dstNodeIds.includes(n.id);
|
|
545
318
|
}
|
|
546
319
|
else {
|
|
547
|
-
isOutputLeaf = !
|
|
320
|
+
isOutputLeaf = !srcNodeIds.includes(n.id);
|
|
548
321
|
}
|
|
549
322
|
// input node exist & left of start node
|
|
550
323
|
if (currNodeLevel <= 0 && !isInputLeaf) {
|
|
@@ -564,29 +337,25 @@ var TableDataProcessor = /** @class */ (function (_super) {
|
|
|
564
337
|
}
|
|
565
338
|
// column: always true if isStartNode === true
|
|
566
339
|
var columnRefreshList = n.isStartNode
|
|
567
|
-
? (n.children
|
|
568
|
-
|
|
569
|
-
// 处理列的展开/折叠状态
|
|
570
|
-
columnRefreshList.forEach(function (col) {
|
|
571
|
-
// 重置列状态
|
|
340
|
+
? __spreadArray(__spreadArray([], __read(n.children), false), __read(n.relatedColumns), false) : n.relatedColumns;
|
|
341
|
+
columnRefreshList === null || columnRefreshList === void 0 ? void 0 : columnRefreshList.forEach(function (col) {
|
|
572
342
|
col.canExpandInput = false;
|
|
573
343
|
col.canExpandOutput = false;
|
|
574
344
|
col.canFoldInput = false;
|
|
575
345
|
col.canFoldOutput = false;
|
|
576
346
|
if (!col.isStartNode && !col.isRelatedColumn)
|
|
577
347
|
return;
|
|
578
|
-
// 优化:使用Set进行O(1)查找
|
|
579
348
|
var isInputLeaf_col = false;
|
|
580
349
|
var isOutputLeaf_col = false;
|
|
581
350
|
if (currNodeLevel === 0) {
|
|
582
|
-
isInputLeaf_col = !
|
|
583
|
-
isOutputLeaf_col = !
|
|
351
|
+
isInputLeaf_col = !dstNodeIds.includes(col.id);
|
|
352
|
+
isOutputLeaf_col = !srcNodeIds.includes(col.id);
|
|
584
353
|
}
|
|
585
354
|
else if (currNodeLevel < 0) {
|
|
586
|
-
isInputLeaf_col = !
|
|
355
|
+
isInputLeaf_col = !dstNodeIds.includes(col.id);
|
|
587
356
|
}
|
|
588
357
|
else {
|
|
589
|
-
isOutputLeaf_col = !
|
|
358
|
+
isOutputLeaf_col = !srcNodeIds.includes(col.id);
|
|
590
359
|
}
|
|
591
360
|
// input node exist & left of start node
|
|
592
361
|
if (currNodeLevel <= 0 && !isInputLeaf_col) {
|
|
@@ -607,10 +376,212 @@ var TableDataProcessor = /** @class */ (function (_super) {
|
|
|
607
376
|
});
|
|
608
377
|
});
|
|
609
378
|
};
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
379
|
+
DataProcessor.prototype.getNodeType = function (typeCode) {
|
|
380
|
+
return typeCode === 'Table' ? TABLE_NODE : CUSTOM_NODE;
|
|
381
|
+
};
|
|
382
|
+
DataProcessor.prototype.updateNodesVisible = function (data, edgeDashVisible, onlyShowRelated, isFoldChecked) {
|
|
383
|
+
var _this = this;
|
|
384
|
+
if (_.isNil(data))
|
|
385
|
+
return;
|
|
386
|
+
data.nodes.forEach(function (node) {
|
|
387
|
+
var _a, _b;
|
|
388
|
+
node.visible = _this.getNodeVisible(node, data, edgeDashVisible, onlyShowRelated, isFoldChecked);
|
|
389
|
+
(_a = node.relatedColumns) === null || _a === void 0 ? void 0 : _a.forEach(function (col) {
|
|
390
|
+
col.visible = _this.getRelatedNodeVisible(col, data, edgeDashVisible);
|
|
391
|
+
});
|
|
392
|
+
(_b = node.children) === null || _b === void 0 ? void 0 : _b.forEach(function (child) {
|
|
393
|
+
child.visible = _this.getNodeVisible(child, data, edgeDashVisible, onlyShowRelated, isFoldChecked);
|
|
394
|
+
});
|
|
395
|
+
});
|
|
396
|
+
};
|
|
397
|
+
DataProcessor.prototype.updateEdgesVisible = function (data, edgeDashVisible, onlyShowRelated, isFoldChecked) {
|
|
398
|
+
var _this = this;
|
|
399
|
+
if (_.isNil(data))
|
|
400
|
+
return;
|
|
401
|
+
var relatedNodes = {};
|
|
402
|
+
data.nodes.forEach(function (node) {
|
|
403
|
+
var _a;
|
|
404
|
+
if (node.isRelated) {
|
|
405
|
+
relatedNodes[node.id] = node;
|
|
406
|
+
(_a = node.relatedColumns) === null || _a === void 0 ? void 0 : _a.forEach(function (col) {
|
|
407
|
+
if (col.visible) {
|
|
408
|
+
relatedNodes[col.id] = col;
|
|
409
|
+
}
|
|
410
|
+
});
|
|
411
|
+
}
|
|
412
|
+
});
|
|
413
|
+
data.edges.forEach(function (edge) {
|
|
414
|
+
edge.visible = _this.getEdgeVisible(edge, edgeDashVisible, onlyShowRelated, isFoldChecked, relatedNodes);
|
|
415
|
+
});
|
|
416
|
+
};
|
|
417
|
+
DataProcessor.prototype.getNodeVisible = function (nodeConfig, data, edgeDashVisible, onlyShowRelated, isFoldChecked) {
|
|
418
|
+
if (nodeConfig.isStartNode)
|
|
419
|
+
return true;
|
|
420
|
+
if (nodeConfig.isFolded)
|
|
421
|
+
return false;
|
|
422
|
+
// 只显示相关节点 & 该节点不是相关节点 & 该节点不是表,则该节点不可见
|
|
423
|
+
if (onlyShowRelated && !nodeConfig.isRelated && !nodeConfig.tableId)
|
|
424
|
+
return false;
|
|
425
|
+
if (nodeConfig.canBeFold && isFoldChecked)
|
|
426
|
+
return false;
|
|
427
|
+
// 找出所有target、source为该节点的边
|
|
428
|
+
var relatedEdges = data.edges.filter(function (edge) {
|
|
429
|
+
var _a;
|
|
430
|
+
return (
|
|
431
|
+
// 上游表-当前表、当前表-下游表
|
|
432
|
+
edge.target === nodeConfig.id ||
|
|
433
|
+
edge.source === nodeConfig.id ||
|
|
434
|
+
(
|
|
435
|
+
// 上游列-当前列、当前列-下游列
|
|
436
|
+
(_a = nodeConfig === null || nodeConfig === void 0 ? void 0 : nodeConfig.relatedColumns) === null || _a === void 0 ? void 0 : _a.some(function (col) {
|
|
437
|
+
return edge.target === col.id || edge.source === col.id;
|
|
438
|
+
})));
|
|
439
|
+
});
|
|
440
|
+
if (!relatedEdges.length)
|
|
441
|
+
return false;
|
|
442
|
+
var allRelatedNodeInvisible = relatedEdges.every(function (edgeCfg) {
|
|
443
|
+
var srcNode = data.nodes.find(function (node) { return node.id === edgeCfg.source; });
|
|
444
|
+
var tgtNode = data.nodes.find(function (node) { return node.id === edgeCfg.target; });
|
|
445
|
+
if (((srcNode === null || srcNode === void 0 ? void 0 : srcNode.canBeFold) || (tgtNode === null || tgtNode === void 0 ? void 0 : tgtNode.canBeFold)) && isFoldChecked)
|
|
446
|
+
return true;
|
|
447
|
+
});
|
|
448
|
+
if (allRelatedNodeInvisible)
|
|
449
|
+
return false;
|
|
450
|
+
var isAllIndirectEdges = relatedEdges.every(function (edge) { return edge.relationType === EDashType.INDIRECT; });
|
|
451
|
+
// 开关只有true false,直接、间接
|
|
452
|
+
if (edgeDashVisible === EDashType.INDIRECT) {
|
|
453
|
+
return true;
|
|
454
|
+
}
|
|
455
|
+
else {
|
|
456
|
+
// 如果边都是间接边,那么该节点就隐藏
|
|
457
|
+
if (isAllIndirectEdges)
|
|
458
|
+
return false;
|
|
459
|
+
return true;
|
|
460
|
+
}
|
|
461
|
+
};
|
|
462
|
+
DataProcessor.prototype.getRelatedNodeVisible = function (nodeConfig, data, edgeDashVisible) {
|
|
463
|
+
var _a, _b, _c, _d, _e, _f;
|
|
464
|
+
// 仅相关开启的情况下,如果高亮链路是表链路,隐藏非相关的列
|
|
465
|
+
if ((_b = (_a = this.lineageManager) === null || _a === void 0 ? void 0 : _a.rightKeyMenuManager) === null || _b === void 0 ? void 0 : _b.onlyShowRelated) {
|
|
466
|
+
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)) {
|
|
467
|
+
if (!_.some((_f = this.lineageManager) === null || _f === void 0 ? void 0 : _f.relatedNodes, { id: nodeConfig.id }))
|
|
468
|
+
return false;
|
|
469
|
+
}
|
|
470
|
+
}
|
|
471
|
+
// 找出所有target、source为该节点的边
|
|
472
|
+
var relatedEdges = data.edges.filter(function (edge) {
|
|
473
|
+
return (edge.target === nodeConfig.id || edge.source === nodeConfig.id) &&
|
|
474
|
+
edge.visible;
|
|
475
|
+
});
|
|
476
|
+
if (!relatedEdges.length)
|
|
477
|
+
return false;
|
|
478
|
+
var isAllIndirectEdges = relatedEdges.every(function (edge) { return edge.relationType === EDashType.INDIRECT; });
|
|
479
|
+
// 开关只有true false,直接、间接
|
|
480
|
+
if (edgeDashVisible === EDashType.INDIRECT) {
|
|
481
|
+
return true;
|
|
482
|
+
}
|
|
483
|
+
else {
|
|
484
|
+
// 如果边都是间接边,那么该节点就隐藏
|
|
485
|
+
if (isAllIndirectEdges)
|
|
486
|
+
return false;
|
|
487
|
+
return true;
|
|
488
|
+
}
|
|
489
|
+
};
|
|
490
|
+
DataProcessor.prototype.getEdgeVisible = function (edgeCfg, edgeDashVisible, onlyShowRelated, isFoldChecked, relatedNodes) {
|
|
491
|
+
var _a, _b, _c;
|
|
492
|
+
// 如果边被折叠了,那么该边就隐藏
|
|
493
|
+
if (edgeCfg.isFolded)
|
|
494
|
+
return false;
|
|
495
|
+
var visible = false;
|
|
496
|
+
// 折叠
|
|
497
|
+
if (isFoldChecked) {
|
|
498
|
+
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);
|
|
499
|
+
if (foldStatus) {
|
|
500
|
+
visible = !!edgeCfg.isExtraFoldEdge;
|
|
501
|
+
if (!visible) {
|
|
502
|
+
return visible;
|
|
503
|
+
}
|
|
504
|
+
}
|
|
505
|
+
}
|
|
506
|
+
// 仅相关
|
|
507
|
+
if (onlyShowRelated) {
|
|
508
|
+
var source = edgeCfg.source, target = edgeCfg.target;
|
|
509
|
+
if (relatedNodes[source] && relatedNodes[target]) {
|
|
510
|
+
visible = true;
|
|
511
|
+
}
|
|
512
|
+
else {
|
|
513
|
+
return false;
|
|
514
|
+
}
|
|
515
|
+
}
|
|
516
|
+
switch (edgeDashVisible) {
|
|
517
|
+
case EDashType.DIRECT:
|
|
518
|
+
visible =
|
|
519
|
+
edgeCfg.relationType === EDashType.DIRECT ||
|
|
520
|
+
edgeCfg.relationType === EDashType.ALL;
|
|
521
|
+
break;
|
|
522
|
+
case EDashType.INDIRECT:
|
|
523
|
+
visible = true;
|
|
524
|
+
break;
|
|
525
|
+
}
|
|
526
|
+
return visible;
|
|
527
|
+
};
|
|
528
|
+
DataProcessor.prototype.updateNodesAndEdgesVisible = function (data, edgeDashVisible, onlyShowRelated, isFoldChecked) {
|
|
529
|
+
this.updateEdgesVisible(data, edgeDashVisible, onlyShowRelated, isFoldChecked);
|
|
530
|
+
// 更新节点本身、列、节点children的可见性
|
|
531
|
+
this.updateNodesVisible(data, edgeDashVisible, onlyShowRelated, isFoldChecked);
|
|
532
|
+
};
|
|
533
|
+
DataProcessor.prototype.refreshRelatedNodesAndEdges = function (relatedNodes, relatedEdges) {
|
|
534
|
+
var _this = this;
|
|
535
|
+
relatedNodes.forEach(function (n) {
|
|
536
|
+
if (!n)
|
|
537
|
+
return;
|
|
538
|
+
var nodeConfig = _this.lineageManager.getNodeConfigById(n.id);
|
|
539
|
+
if (!nodeConfig)
|
|
540
|
+
return;
|
|
541
|
+
nodeConfig.isRelated = true;
|
|
542
|
+
nodeConfig.style.stroke = '#3271C9';
|
|
543
|
+
if (!nodeConfig.isActive) {
|
|
544
|
+
nodeConfig.style.fill = '#E4EFFF';
|
|
545
|
+
}
|
|
546
|
+
nodeConfig.style.zIndex = 3;
|
|
547
|
+
});
|
|
548
|
+
relatedEdges.forEach(function (e) {
|
|
549
|
+
if (!e)
|
|
550
|
+
return;
|
|
551
|
+
var edge = _this.lineageManager.getEdgeConfigById(e.id);
|
|
552
|
+
if (!edge)
|
|
553
|
+
return;
|
|
554
|
+
if ((edge.inFoldLink &&
|
|
555
|
+
_this.lineageManager.foldLineageManager.isFoldChecked) ||
|
|
556
|
+
edge.isExtraFoldEdge)
|
|
557
|
+
return;
|
|
558
|
+
edge.style.stroke = '#3271C9';
|
|
559
|
+
});
|
|
560
|
+
};
|
|
561
|
+
DataProcessor.prototype.updateNodeHeight = function (data) {
|
|
562
|
+
var _this = this;
|
|
563
|
+
data.nodes.forEach(function (node) {
|
|
564
|
+
node.style.height = _this.calcNodeHeight(node);
|
|
565
|
+
});
|
|
566
|
+
};
|
|
567
|
+
DataProcessor.prototype.updateColumnPosition = function (data) {
|
|
568
|
+
data.nodes.forEach(function (node) {
|
|
569
|
+
var _a, _b;
|
|
570
|
+
var visibleRelatedColumns = (_a = node.relatedColumns) === null || _a === void 0 ? void 0 : _a.filter(function (col) { return col.visible; });
|
|
571
|
+
visibleRelatedColumns === null || visibleRelatedColumns === void 0 ? void 0 : visibleRelatedColumns.forEach(function (col, i) {
|
|
572
|
+
col.position.y = i * COL_HEIGHT;
|
|
573
|
+
});
|
|
574
|
+
var visibleColumns = (_b = node.children) === null || _b === void 0 ? void 0 : _b.filter(function (col) { return col.visible; });
|
|
575
|
+
visibleColumns === null || visibleColumns === void 0 ? void 0 : visibleColumns.forEach(function (col, i) {
|
|
576
|
+
col.position.y = node.position.y + COL_HEIGHT * i;
|
|
577
|
+
});
|
|
578
|
+
});
|
|
579
|
+
};
|
|
580
|
+
DataProcessor.prototype.calcNodeHeight = function (node) {
|
|
581
|
+
return getNodeHeight(node);
|
|
582
|
+
};
|
|
583
|
+
DataProcessor.startNodes = [];
|
|
584
|
+
return DataProcessor;
|
|
614
585
|
}(BaseManager));
|
|
615
|
-
export {
|
|
616
|
-
//# sourceMappingURL=
|
|
586
|
+
export { DataProcessor };
|
|
587
|
+
//# sourceMappingURL=DataProcessor.js.map
|