@aloudata/ink-lineage 0.0.1-beta.31 → 0.0.1-beta.32

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 (37) hide show
  1. package/dist/assets/big/dataSourceTypeIcon.d.ts +6 -0
  2. package/dist/assets/big/dataSourceTypeIcon.d.ts.map +1 -1
  3. package/dist/assets/big/dataSourceTypeIcon.js +6 -0
  4. package/dist/assets/big/dataSourceTypeIcon.js.map +1 -1
  5. package/dist/manager/dataProcessor/ScheduleDataProcessor.d.ts +21 -0
  6. package/dist/manager/dataProcessor/ScheduleDataProcessor.d.ts.map +1 -0
  7. package/dist/manager/dataProcessor/ScheduleDataProcessor.js +349 -0
  8. package/dist/manager/dataProcessor/ScheduleDataProcessor.js.map +1 -0
  9. package/dist/manager/dataProcessor/TableDataProcessor.d.ts +23 -0
  10. package/dist/manager/dataProcessor/TableDataProcessor.d.ts.map +1 -0
  11. package/dist/manager/dataProcessor/TableDataProcessor.js +574 -0
  12. package/dist/manager/dataProcessor/TableDataProcessor.js.map +1 -0
  13. package/dist/manager/dataProcessor/TaskDataProcessor.d.ts +82 -0
  14. package/dist/manager/dataProcessor/TaskDataProcessor.d.ts.map +1 -0
  15. package/dist/manager/dataProcessor/TaskDataProcessor.js +307 -0
  16. package/dist/manager/dataProcessor/TaskDataProcessor.js.map +1 -0
  17. package/dist/manager/graphEventManager/BaseGraphEventManager.d.ts +10 -0
  18. package/dist/manager/graphEventManager/BaseGraphEventManager.d.ts.map +1 -0
  19. package/dist/manager/graphEventManager/BaseGraphEventManager.js +65 -0
  20. package/dist/manager/graphEventManager/BaseGraphEventManager.js.map +1 -0
  21. package/dist/manager/graphEventManager/TableGraphEventManager.d.ts +6 -0
  22. package/dist/manager/graphEventManager/TableGraphEventManager.d.ts.map +1 -0
  23. package/dist/manager/graphEventManager/TableGraphEventManager.js +21 -0
  24. package/dist/manager/graphEventManager/TableGraphEventManager.js.map +1 -0
  25. package/dist/manager/graphEventManager/TaskGraphEventManager.d.ts +6 -0
  26. package/dist/manager/graphEventManager/TaskGraphEventManager.d.ts.map +1 -0
  27. package/dist/manager/graphEventManager/TaskGraphEventManager.js +22 -0
  28. package/dist/manager/graphEventManager/TaskGraphEventManager.js.map +1 -0
  29. package/dist/types/node.d.ts +4 -1
  30. package/dist/types/node.d.ts.map +1 -1
  31. package/dist/types/node.js +3 -0
  32. package/dist/types/node.js.map +1 -1
  33. package/dist/utils/getIconByType.d.ts +2 -2
  34. package/dist/utils/getIconByType.d.ts.map +1 -1
  35. package/dist/utils/getIconByType.js +14 -1
  36. package/dist/utils/getIconByType.js.map +1 -1
  37. package/package.json +1 -1
@@ -0,0 +1,574 @@
1
+ import { __assign, __extends, __read, __spreadArray, __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 && _this.lineageManager.foldLineageManager.isFoldChecked) ||
261
+ edge.isExtraFoldEdge)
262
+ return;
263
+ edge.style.stroke = '#3271C9';
264
+ });
265
+ };
266
+ // 更新节点和边可见性
267
+ TableDataProcessor.prototype.updateNodesAndEdgesVisible = function (data, edgeDashVisible, onlyShowRelated, isFoldChecked) {
268
+ this.updateEdgesVisible(data, edgeDashVisible, onlyShowRelated, isFoldChecked);
269
+ // 更新节点本身、列、节点children的可见性
270
+ this.updateNodesVisible(data, edgeDashVisible, onlyShowRelated, isFoldChecked);
271
+ };
272
+ // 获取边可见性
273
+ TableDataProcessor.prototype.getEdgeVisible = function (edgeCfg, edgeDashVisible, onlyShowRelated, isFoldChecked, relatedNodes) {
274
+ var _a, _b, _c;
275
+ // 如果边被折叠了,那么该边就隐藏
276
+ if (edgeCfg.isFolded)
277
+ return false;
278
+ var visible = false;
279
+ // 折叠
280
+ if (isFoldChecked) {
281
+ 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);
282
+ if (foldStatus) {
283
+ visible = !!edgeCfg.isExtraFoldEdge;
284
+ if (!visible) {
285
+ return visible;
286
+ }
287
+ }
288
+ }
289
+ // 仅相关
290
+ if (onlyShowRelated) {
291
+ var source = edgeCfg.source, target = edgeCfg.target;
292
+ if (relatedNodes[source] && relatedNodes[target]) {
293
+ visible = true;
294
+ }
295
+ else {
296
+ return false;
297
+ }
298
+ }
299
+ switch (edgeDashVisible) {
300
+ case EDashType.DIRECT:
301
+ visible =
302
+ edgeCfg.relationType === EDashType.DIRECT ||
303
+ edgeCfg.relationType === EDashType.ALL;
304
+ break;
305
+ case EDashType.INDIRECT:
306
+ visible = true;
307
+ break;
308
+ }
309
+ return visible;
310
+ };
311
+ // 获取相关节点可见性
312
+ TableDataProcessor.prototype.getRelatedNodeVisible = function (nodeConfig, data, edgeDashVisible) {
313
+ var _a, _b, _c, _d, _e, _f;
314
+ // 仅相关开启的情况下,如果高亮链路是表链路,隐藏非相关的列
315
+ if ((_b = (_a = this.lineageManager) === null || _a === void 0 ? void 0 : _a.rightKeyMenuManager) === null || _b === void 0 ? void 0 : _b.onlyShowRelated) {
316
+ 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)) {
317
+ if (!_.some((_f = this.lineageManager) === null || _f === void 0 ? void 0 : _f.relatedNodes, { id: nodeConfig.id }))
318
+ return false;
319
+ }
320
+ }
321
+ // 找出所有target、source为该节点的边
322
+ var relatedEdges = data.edges.filter(function (edge) {
323
+ return (edge.target === nodeConfig.id || edge.source === nodeConfig.id) &&
324
+ edge.visible;
325
+ });
326
+ if (!relatedEdges.length)
327
+ return false;
328
+ var isAllIndirectEdges = relatedEdges.every(function (edge) { return edge.relationType === EDashType.INDIRECT; });
329
+ // 开关只有true false,直接、间接
330
+ if (edgeDashVisible === EDashType.INDIRECT) {
331
+ return true;
332
+ }
333
+ else {
334
+ // 如果边都是间接边,那么该节点就隐藏
335
+ if (isAllIndirectEdges)
336
+ return false;
337
+ return true;
338
+ }
339
+ };
340
+ // 获取节点可见性
341
+ TableDataProcessor.prototype.getNodeVisible = function (nodeConfig, data, edgeDashVisible, onlyShowRelated, isFoldChecked) {
342
+ if (nodeConfig.isStartNode)
343
+ return true;
344
+ if (nodeConfig.isFolded)
345
+ return false;
346
+ // 只显示相关节点 & 该节点不是相关节点 & 该节点不是表,则该节点不可见
347
+ if (onlyShowRelated && !nodeConfig.isRelated && !nodeConfig.tableId)
348
+ return false;
349
+ if (nodeConfig.canBeFold && isFoldChecked)
350
+ return false;
351
+ // 找出所有target、source为该节点的边
352
+ var relatedEdges = data.edges.filter(function (edge) {
353
+ var _a;
354
+ return (
355
+ // 上游表-当前表、当前表-下游表
356
+ edge.target === nodeConfig.id ||
357
+ edge.source === nodeConfig.id ||
358
+ (
359
+ // 上游列-当前列、当前列-下游列
360
+ (_a = nodeConfig === null || nodeConfig === void 0 ? void 0 : nodeConfig.relatedColumns) === null || _a === void 0 ? void 0 : _a.some(function (col) {
361
+ return edge.target === col.id || edge.source === col.id;
362
+ })));
363
+ });
364
+ if (!relatedEdges.length)
365
+ return false;
366
+ var allRelatedNodeInvisible = relatedEdges.every(function (edgeCfg) {
367
+ var srcNode = data.nodes.find(function (node) { return node.id === edgeCfg.source; });
368
+ var tgtNode = data.nodes.find(function (node) { return node.id === edgeCfg.target; });
369
+ if (((srcNode === null || srcNode === void 0 ? void 0 : srcNode.canBeFold) || (tgtNode === null || tgtNode === void 0 ? void 0 : tgtNode.canBeFold)) && isFoldChecked)
370
+ return true;
371
+ });
372
+ if (allRelatedNodeInvisible)
373
+ return false;
374
+ var isAllIndirectEdges = relatedEdges.every(function (edge) { return edge.relationType === EDashType.INDIRECT; });
375
+ // 开关只有true false,直接、间接
376
+ if (edgeDashVisible === EDashType.INDIRECT) {
377
+ return true;
378
+ }
379
+ else {
380
+ // 如果边都是间接边,那么该节点就隐藏
381
+ if (isAllIndirectEdges)
382
+ return false;
383
+ return true;
384
+ }
385
+ };
386
+ // 更新边可见性
387
+ TableDataProcessor.prototype.updateEdgesVisible = function (data, edgeDashVisible, onlyShowRelated, isFoldChecked) {
388
+ var _this = this;
389
+ if (_.isNil(data))
390
+ return;
391
+ var relatedNodes = {};
392
+ data.nodes.forEach(function (node) {
393
+ var _a;
394
+ if (node.isRelated) {
395
+ relatedNodes[node.id] = node;
396
+ (_a = node.relatedColumns) === null || _a === void 0 ? void 0 : _a.forEach(function (col) {
397
+ if (col.visible) {
398
+ relatedNodes[col.id] = col;
399
+ }
400
+ });
401
+ }
402
+ });
403
+ data.edges.forEach(function (edge) {
404
+ edge.visible = _this.getEdgeVisible(edge, edgeDashVisible, onlyShowRelated, isFoldChecked, relatedNodes);
405
+ });
406
+ };
407
+ // 更新节点的可见性
408
+ TableDataProcessor.prototype.updateNodesVisible = function (data, edgeDashVisible, onlyShowRelated, isFoldChecked) {
409
+ var _this = this;
410
+ if (_.isNil(data))
411
+ return;
412
+ data.nodes.forEach(function (node) {
413
+ var _a, _b;
414
+ node.visible = _this.getNodeVisible(node, data, edgeDashVisible, onlyShowRelated, isFoldChecked);
415
+ (_a = node.relatedColumns) === null || _a === void 0 ? void 0 : _a.forEach(function (col) {
416
+ col.visible = _this.getRelatedNodeVisible(col, data, edgeDashVisible);
417
+ });
418
+ (_b = node.children) === null || _b === void 0 ? void 0 : _b.forEach(function (child) {
419
+ child.visible = _this.getNodeVisible(child, data, edgeDashVisible, onlyShowRelated, isFoldChecked);
420
+ });
421
+ });
422
+ };
423
+ // 更新icon的可见性
424
+ TableDataProcessor.prototype.updateSideIconVisible = function (data) {
425
+ var e_1, _a, e_2, _b;
426
+ if (_.isNil(data))
427
+ return;
428
+ var nodesConfig = data.nodes.filter(function (cfg) { return cfg.visible; });
429
+ var edgesConfig = data.edges.filter(function (cfg) { return cfg.visible; });
430
+ if (!nodesConfig)
431
+ return;
432
+ var startNodeIndex = nodesConfig.findIndex(function (node) { return node.isStartNode; });
433
+ if (startNodeIndex < 0)
434
+ return;
435
+ var startNodeCfg = nodesConfig[startNodeIndex];
436
+ if (!startNodeCfg)
437
+ return;
438
+ var nodesConfigMap = new Map();
439
+ nodesConfig === null || nodesConfig === void 0 ? void 0 : nodesConfig.forEach(function (n) {
440
+ var _a;
441
+ nodesConfigMap.set(n.id, n);
442
+ (_a = n.children) === null || _a === void 0 ? void 0 : _a.forEach(function (child) {
443
+ nodesConfigMap.set(child.id, child);
444
+ });
445
+ });
446
+ var inputGroupedData = groupNodesByEdgesAndDirection(startNodeCfg, nodesConfigMap, edgesConfig, EDirection.INPUT);
447
+ var outputGroupedData = groupNodesByEdgesAndDirection(startNodeCfg, nodesConfigMap, edgesConfig, EDirection.OUTPUT);
448
+ if (!inputGroupedData && !outputGroupedData)
449
+ return;
450
+ var inputGroupNodes = inputGroupedData.groupedNodes;
451
+ var outputGroupNodes = outputGroupedData.groupedNodes;
452
+ // 两个map合并
453
+ var groupedNodes = new Map();
454
+ if (inputGroupNodes) {
455
+ try {
456
+ for (var inputGroupNodes_1 = __values(inputGroupNodes), inputGroupNodes_1_1 = inputGroupNodes_1.next(); !inputGroupNodes_1_1.done; inputGroupNodes_1_1 = inputGroupNodes_1.next()) {
457
+ var _c = __read(inputGroupNodes_1_1.value, 2), key = _c[0], value = _c[1];
458
+ if (groupedNodes.has(key))
459
+ continue;
460
+ groupedNodes.set(key, value);
461
+ }
462
+ }
463
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
464
+ finally {
465
+ try {
466
+ if (inputGroupNodes_1_1 && !inputGroupNodes_1_1.done && (_a = inputGroupNodes_1.return)) _a.call(inputGroupNodes_1);
467
+ }
468
+ finally { if (e_1) throw e_1.error; }
469
+ }
470
+ }
471
+ if (outputGroupNodes) {
472
+ try {
473
+ for (var outputGroupNodes_1 = __values(outputGroupNodes), outputGroupNodes_1_1 = outputGroupNodes_1.next(); !outputGroupNodes_1_1.done; outputGroupNodes_1_1 = outputGroupNodes_1.next()) {
474
+ var _d = __read(outputGroupNodes_1_1.value, 2), key = _d[0], value = _d[1];
475
+ if (groupedNodes.has(key))
476
+ continue;
477
+ groupedNodes.set(key, value);
478
+ }
479
+ }
480
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
481
+ finally {
482
+ try {
483
+ if (outputGroupNodes_1_1 && !outputGroupNodes_1_1.done && (_b = outputGroupNodes_1.return)) _b.call(outputGroupNodes_1);
484
+ }
485
+ finally { if (e_2) throw e_2.error; }
486
+ }
487
+ }
488
+ var dstNodeIds = edgesConfig.map(function (edge) { return edge.target; });
489
+ var srcNodeIds = edgesConfig.map(function (edge) { return edge.source; });
490
+ // table
491
+ nodesConfig === null || nodesConfig === void 0 ? void 0 : nodesConfig.forEach(function (n) {
492
+ n.canExpandInput = false;
493
+ n.canExpandOutput = false;
494
+ n.canFoldInput = false;
495
+ n.canFoldOutput = false;
496
+ var currNodeLevel = groupedNodes.get(n.id);
497
+ if (_.isNil(currNodeLevel)) {
498
+ console.warn("get node level error '".concat(n.id, "'"));
499
+ return;
500
+ }
501
+ var isInputLeaf = false;
502
+ var isOutputLeaf = false;
503
+ if (currNodeLevel === 0) {
504
+ isInputLeaf = !dstNodeIds.includes(n.id);
505
+ isOutputLeaf = !srcNodeIds.includes(n.id);
506
+ }
507
+ else if (currNodeLevel < 0) {
508
+ isInputLeaf = !dstNodeIds.includes(n.id);
509
+ }
510
+ else {
511
+ isOutputLeaf = !srcNodeIds.includes(n.id);
512
+ }
513
+ // input node exist & left of start node
514
+ if (currNodeLevel <= 0 && !isInputLeaf) {
515
+ n.canFoldInput = true;
516
+ }
517
+ // input node not exist & left of start node
518
+ if (currNodeLevel <= 0 && isInputLeaf && n.hasMoreInput) {
519
+ n.canExpandInput = true;
520
+ }
521
+ // output node exist & right of start node
522
+ if (currNodeLevel >= 0 && !isOutputLeaf) {
523
+ n.canFoldOutput = true;
524
+ }
525
+ // output node not exist & right of start node
526
+ if (currNodeLevel >= 0 && isOutputLeaf && n.hasMoreOutput) {
527
+ n.canExpandOutput = true;
528
+ }
529
+ // column: always true if isStartNode === true
530
+ var columnRefreshList = n.isStartNode
531
+ ? __spreadArray(__spreadArray([], __read(n.children), false), __read(n.relatedColumns), false) : n.relatedColumns;
532
+ columnRefreshList === null || columnRefreshList === void 0 ? void 0 : columnRefreshList.forEach(function (col) {
533
+ col.canExpandInput = false;
534
+ col.canExpandOutput = false;
535
+ col.canFoldInput = false;
536
+ col.canFoldOutput = false;
537
+ if (!col.isStartNode && !col.isRelatedColumn)
538
+ return;
539
+ var isInputLeaf_col = false;
540
+ var isOutputLeaf_col = false;
541
+ if (currNodeLevel === 0) {
542
+ isInputLeaf_col = !dstNodeIds.includes(col.id);
543
+ isOutputLeaf_col = !srcNodeIds.includes(col.id);
544
+ }
545
+ else if (currNodeLevel < 0) {
546
+ isInputLeaf_col = !dstNodeIds.includes(col.id);
547
+ }
548
+ else {
549
+ isOutputLeaf_col = !srcNodeIds.includes(col.id);
550
+ }
551
+ // input node exist & left of start node
552
+ if (currNodeLevel <= 0 && !isInputLeaf_col) {
553
+ col.canFoldInput = true;
554
+ }
555
+ // input node not exist & left of start node
556
+ if (currNodeLevel <= 0 && isInputLeaf_col && col.hasMoreInput) {
557
+ col.canExpandInput = true;
558
+ }
559
+ // output node exist & right of start node
560
+ if (currNodeLevel >= 0 && !isOutputLeaf_col) {
561
+ col.canFoldOutput = true;
562
+ }
563
+ // output node not exist & right of start node
564
+ if (currNodeLevel >= 0 && isOutputLeaf_col && col.hasMoreOutput) {
565
+ col.canExpandOutput = true;
566
+ }
567
+ });
568
+ });
569
+ };
570
+ TableDataProcessor.startNodes = [];
571
+ return TableDataProcessor;
572
+ }(BaseManager));
573
+ export { TableDataProcessor };
574
+ //# sourceMappingURL=TableDataProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableDataProcessor.js","sourceRoot":"","sources":["../../../src/manager/dataProcessor/TableDataProcessor.ts"],"names":[],"mappings":"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"}