@aloudata/ink-lineage 0.0.1-beta.1 → 0.0.1-beta.11
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/assets/big/dataSourceTypeIcon.d.ts +23 -0
- package/dist/assets/big/dataSourceTypeIcon.d.ts.map +1 -0
- package/dist/assets/big/dataSourceTypeIcon.js +23 -0
- package/dist/assets/big/dataSourceTypeIcon.js.map +1 -0
- package/dist/assets/big/entityType.d.ts +2 -0
- package/dist/assets/big/entityType.d.ts.map +1 -0
- package/dist/assets/big/entityType.js +2 -0
- package/dist/assets/big/entityType.js.map +1 -0
- package/dist/assets/big/index.d.ts +6 -0
- package/dist/assets/big/index.d.ts.map +1 -0
- package/{src/assets/big/index.ts → dist/assets/big/index.js} +2 -1
- package/dist/assets/big/index.js.map +1 -0
- package/dist/assets/big/lineageIcon.d.ts +14 -0
- package/dist/assets/big/lineageIcon.d.ts.map +1 -0
- package/dist/assets/big/lineageIcon.js +14 -0
- package/dist/assets/big/lineageIcon.js.map +1 -0
- package/dist/assets/big/tableTypeIcon.d.ts +7 -0
- package/dist/assets/big/tableTypeIcon.d.ts.map +1 -0
- package/dist/assets/big/tableTypeIcon.js +7 -0
- package/dist/assets/big/tableTypeIcon.js.map +1 -0
- package/dist/assets/big/tipIcon.d.ts +2 -0
- package/dist/assets/big/tipIcon.d.ts.map +1 -0
- package/dist/assets/big/tipIcon.js +2 -0
- package/dist/assets/big/tipIcon.js.map +1 -0
- package/dist/assets/index.d.ts +5 -0
- package/dist/assets/index.d.ts.map +1 -0
- package/dist/assets/index.js +8 -0
- package/dist/assets/index.js.map +1 -0
- package/dist/components/Edges/DefaultEdge.d.ts +26 -0
- package/dist/components/Edges/DefaultEdge.d.ts.map +1 -0
- package/dist/components/Edges/DefaultEdge.js +145 -0
- package/dist/components/Edges/DefaultEdge.js.map +1 -0
- package/dist/components/Edges/FoldEdge.d.ts +9 -0
- package/dist/components/Edges/FoldEdge.d.ts.map +1 -0
- package/dist/components/Edges/FoldEdge.js +77 -0
- package/dist/components/Edges/FoldEdge.js.map +1 -0
- package/dist/components/Edges/LineageEdge.d.ts +7 -0
- package/dist/components/Edges/LineageEdge.d.ts.map +1 -0
- package/dist/components/Edges/LineageEdge.js +20 -0
- package/dist/components/Edges/LineageEdge.js.map +1 -0
- package/dist/components/Edges/index.d.ts +4 -0
- package/dist/components/Edges/index.d.ts.map +1 -0
- package/dist/components/Edges/index.js +4 -0
- package/dist/components/Edges/index.js.map +1 -0
- package/dist/components/Nodes/AssetNode.d.ts +21 -0
- package/dist/components/Nodes/AssetNode.d.ts.map +1 -0
- package/dist/components/Nodes/AssetNode.js +278 -0
- package/dist/components/Nodes/AssetNode.js.map +1 -0
- 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 +10 -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/DefaultNode.d.ts +29 -0
- package/dist/components/Nodes/DefaultNode.d.ts.map +1 -0
- package/dist/components/Nodes/DefaultNode.js +162 -0
- package/dist/components/Nodes/DefaultNode.js.map +1 -0
- package/dist/components/Nodes/TableNode.d.ts +24 -0
- 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/components/Nodes/index.d.ts +4 -0
- package/dist/components/Nodes/index.d.ts.map +1 -0
- package/{src/components/Nodes/index.ts → dist/components/Nodes/index.js} +1 -1
- package/dist/components/Nodes/index.js.map +1 -0
- package/dist/components/Nodes/task/Column.d.ts +30 -0
- package/dist/components/Nodes/task/Column.d.ts.map +1 -0
- package/dist/components/Nodes/task/Column.js +222 -0
- package/dist/components/Nodes/task/Column.js.map +1 -0
- package/dist/components/Nodes/task/CustomNode.d.ts +38 -0
- package/dist/components/Nodes/task/CustomNode.d.ts.map +1 -0
- package/dist/components/Nodes/task/CustomNode.js +272 -0
- package/dist/components/Nodes/task/CustomNode.js.map +1 -0
- package/dist/components/Nodes/task/TableNode copy.d.ts +51 -0
- package/dist/components/Nodes/task/TableNode copy.d.ts.map +1 -0
- package/dist/components/Nodes/task/TableNode copy.js +642 -0
- package/dist/components/Nodes/task/TableNode copy.js.map +1 -0
- package/dist/components/Nodes/task/TableNode.d.ts +51 -0
- package/dist/components/Nodes/task/TableNode.d.ts.map +1 -0
- package/dist/components/Nodes/task/TableNode.js +642 -0
- package/dist/components/Nodes/task/TableNode.js.map +1 -0
- package/dist/components/index.d.ts +3 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +3 -0
- package/dist/components/index.js.map +1 -0
- package/dist/constant/index.d.ts +2 -0
- package/dist/constant/index.d.ts.map +1 -0
- package/dist/constant/index.js +2 -0
- package/dist/constant/index.js.map +1 -0
- package/dist/constant/nodeStyle.d.ts +75 -0
- package/dist/constant/nodeStyle.d.ts.map +1 -0
- package/dist/constant/nodeStyle.js +111 -0
- package/dist/constant/nodeStyle.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/{src/index.ts → dist/index.js} +1 -1
- package/dist/index.js.map +1 -0
- package/dist/manager/BaseLineageManager.d.ts +51 -0
- package/dist/manager/BaseLineageManager.d.ts.map +1 -0
- package/dist/manager/BaseLineageManager.js +102 -0
- package/dist/manager/BaseLineageManager.js.map +1 -0
- package/dist/manager/BaseManager.d.ts +7 -0
- package/dist/manager/BaseManager.d.ts.map +1 -0
- package/dist/manager/BaseManager.js +8 -0
- package/dist/manager/BaseManager.js.map +1 -0
- package/dist/manager/DataProcessor.d.ts +27 -0
- package/dist/manager/DataProcessor.d.ts.map +1 -0
- package/dist/manager/DataProcessor.js +587 -0
- package/dist/manager/DataProcessor.js.map +1 -0
- package/dist/manager/ExpandManager.d.ts +13 -0
- package/dist/manager/ExpandManager.d.ts.map +1 -0
- package/dist/manager/ExpandManager.js +74 -0
- package/dist/manager/ExpandManager.js.map +1 -0
- package/dist/manager/FoldLineageManager.d.ts +17 -0
- package/dist/manager/FoldLineageManager.d.ts.map +1 -0
- package/dist/manager/FoldLineageManager.js +176 -0
- package/dist/manager/FoldLineageManager.js.map +1 -0
- package/dist/manager/GraphEventManager.d.ts +9 -0
- package/dist/manager/GraphEventManager.d.ts.map +1 -0
- package/dist/manager/GraphEventManager.js +72 -0
- package/dist/manager/GraphEventManager.js.map +1 -0
- package/dist/manager/LineageManager.d.ts +116 -0
- package/dist/manager/LineageManager.d.ts.map +1 -0
- package/dist/manager/LineageManager.js +495 -0
- package/dist/manager/LineageManager.js.map +1 -0
- package/dist/manager/RightKeyMenuManager.d.ts +21 -0
- package/dist/manager/RightKeyMenuManager.d.ts.map +1 -0
- package/dist/manager/RightKeyMenuManager.js +67 -0
- package/dist/manager/RightKeyMenuManager.js.map +1 -0
- package/dist/manager/SearchNodeManager.d.ts +12 -0
- package/dist/manager/SearchNodeManager.d.ts.map +1 -0
- package/dist/manager/SearchNodeManager.js +101 -0
- package/dist/manager/SearchNodeManager.js.map +1 -0
- package/dist/manager/ToolbarManager.d.ts +8 -0
- package/dist/manager/ToolbarManager.d.ts.map +1 -0
- package/dist/manager/ToolbarManager.js +23 -0
- package/dist/manager/ToolbarManager.js.map +1 -0
- package/dist/manager/index.d.ts +9 -0
- package/dist/manager/index.d.ts.map +1 -0
- package/{src/manager/index.ts → dist/manager/index.js} +1 -0
- package/dist/manager/index.js.map +1 -0
- package/dist/manager/nodeManager/AssetEventManager.d.ts +10 -0
- package/dist/manager/nodeManager/AssetEventManager.d.ts.map +1 -0
- package/dist/manager/nodeManager/AssetEventManager.js +287 -0
- package/dist/manager/nodeManager/AssetEventManager.js.map +1 -0
- package/dist/manager/nodeManager/BaseEventManager.d.ts +18 -0
- package/dist/manager/nodeManager/BaseEventManager.d.ts.map +1 -0
- package/dist/manager/nodeManager/BaseEventManager.js +89 -0
- package/dist/manager/nodeManager/BaseEventManager.js.map +1 -0
- package/dist/manager/nodeManager/ColumnEventManager.d.ts +12 -0
- package/dist/manager/nodeManager/ColumnEventManager.d.ts.map +1 -0
- package/dist/manager/nodeManager/ColumnEventManager.js +336 -0
- package/dist/manager/nodeManager/ColumnEventManager.js.map +1 -0
- package/dist/manager/nodeManager/CustomEventManager.d.ts +6 -0
- package/dist/manager/nodeManager/CustomEventManager.d.ts.map +1 -0
- package/dist/manager/nodeManager/CustomEventManager.js +19 -0
- package/dist/manager/nodeManager/CustomEventManager.js.map +1 -0
- package/dist/manager/nodeManager/TableEventManager.d.ts +11 -0
- package/dist/manager/nodeManager/TableEventManager.d.ts.map +1 -0
- package/dist/manager/nodeManager/TableEventManager.js +121 -0
- package/dist/manager/nodeManager/TableEventManager.js.map +1 -0
- package/dist/manager/nodeManager/index.d.ts +4 -0
- package/dist/manager/nodeManager/index.d.ts.map +1 -0
- package/{src/manager/nodeManager/index.ts → dist/manager/nodeManager/index.js} +2 -1
- package/dist/manager/nodeManager/index.js.map +1 -0
- package/dist/manager/task/DataProcessor.d.ts +22 -0
- package/dist/manager/task/DataProcessor.d.ts.map +1 -0
- package/dist/manager/task/DataProcessor.js +379 -0
- package/dist/manager/task/DataProcessor.js.map +1 -0
- package/dist/manager/task/GraphEventManager.d.ts +13 -0
- package/dist/manager/task/GraphEventManager.d.ts.map +1 -0
- package/dist/manager/task/GraphEventManager.js +77 -0
- package/dist/manager/task/GraphEventManager.js.map +1 -0
- package/dist/manager/task/LineageManager.d.ts +70 -0
- package/dist/manager/task/LineageManager.d.ts.map +1 -0
- package/dist/manager/task/LineageManager.js +399 -0
- package/dist/manager/task/LineageManager.js.map +1 -0
- package/dist/manager/task/RightKeyMenuManager.d.ts +44 -0
- package/dist/manager/task/RightKeyMenuManager.d.ts.map +1 -0
- package/dist/manager/task/RightKeyMenuManager.js +183 -0
- package/dist/manager/task/RightKeyMenuManager.js.map +1 -0
- package/dist/manager/task/SearchNodeManager.d.ts +12 -0
- package/dist/manager/task/SearchNodeManager.d.ts.map +1 -0
- package/dist/manager/task/SearchNodeManager.js +100 -0
- package/dist/manager/task/SearchNodeManager.js.map +1 -0
- package/dist/types/eventEnum.d.ts +45 -0
- package/dist/types/eventEnum.d.ts.map +1 -0
- package/dist/types/eventEnum.js +48 -0
- package/dist/types/eventEnum.js.map +1 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +4 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/manager.d.ts +85 -0
- package/dist/types/manager.d.ts.map +1 -0
- package/dist/types/manager.js +34 -0
- package/dist/types/manager.js.map +1 -0
- package/dist/types/node.d.ts +208 -0
- package/dist/types/node.d.ts.map +1 -0
- package/dist/types/node.js +120 -0
- package/dist/types/node.js.map +1 -0
- package/dist/utils/foldNode.d.ts +14 -0
- package/dist/utils/foldNode.d.ts.map +1 -0
- package/dist/utils/foldNode.js +231 -0
- package/dist/utils/foldNode.js.map +1 -0
- package/dist/utils/getIconByType.d.ts +4 -0
- package/dist/utils/getIconByType.d.ts.map +1 -0
- package/dist/utils/getIconByType.js +72 -0
- package/dist/utils/getIconByType.js.map +1 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/{src/utils/index.ts → dist/utils/index.js} +1 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/manager.d.ts +5 -0
- package/dist/utils/manager.d.ts.map +1 -0
- package/dist/utils/manager.js +44 -0
- package/dist/utils/manager.js.map +1 -0
- package/dist/utils/node.d.ts +29 -0
- package/dist/utils/node.d.ts.map +1 -0
- package/dist/utils/node.js +286 -0
- package/dist/utils/node.js.map +1 -0
- package/package.json +9 -7
- package/src/assets/big/dataSourceTypeIcon.ts +0 -65
- package/src/assets/big/entityType.ts +0 -1
- package/src/assets/big/lineageIcon.ts +0 -35
- package/src/assets/big/tableTypeIcon.ts +0 -17
- package/src/assets/big/tipIcon.ts +0 -1
- package/src/assets/index.ts +0 -14
- package/src/components/Edges/DefaultEdge.ts +0 -196
- package/src/components/Edges/FoldEdge.ts +0 -97
- package/src/components/Edges/LineageEdge.ts +0 -24
- package/src/components/Edges/index.ts +0 -3
- package/src/components/Nodes/AssetNode.ts +0 -438
- package/src/components/Nodes/ColumnNode.ts +0 -491
- package/src/components/Nodes/CustomNode.ts +0 -63
- package/src/components/Nodes/DefaultNode.ts +0 -74
- package/src/components/Nodes/DowngradeNode.ts +0 -115
- package/src/components/Nodes/TableNode.ts +0 -534
- package/src/components/index.ts +0 -2
- package/src/constant/index.ts +0 -1
- package/src/constant/nodeStyle.ts +0 -141
- package/src/manager/BaseManager.ts +0 -20
- package/src/manager/DataProcessor.ts +0 -782
- package/src/manager/ExpandManager.ts +0 -93
- package/src/manager/FoldLineageManager.ts +0 -196
- package/src/manager/GraphEventManager.ts +0 -90
- package/src/manager/LineageManager.ts +0 -680
- package/src/manager/RightKeyMenuManager.ts +0 -114
- package/src/manager/SearchNodeManager.ts +0 -188
- package/src/manager/ToolbarManager.ts +0 -42
- package/src/manager/nodeManager/AssetEventManager.ts +0 -442
- package/src/manager/nodeManager/BaseEventManager.ts +0 -68
- package/src/manager/nodeManager/ColumnEventManager.ts +0 -467
- package/src/manager/nodeManager/CustomEventManager.ts +0 -11
- package/src/manager/nodeManager/TableEventManager.ts +0 -87
- package/src/types/NodeConfig.ts +0 -69
- package/src/types/eventEnum.ts +0 -58
- package/src/types/index.ts +0 -3
- package/src/types/manager.ts +0 -75
- package/src/types/node.ts +0 -246
- package/src/utils/downgradeNode.ts +0 -22
- package/src/utils/foldNode.ts +0 -345
- package/src/utils/getIconByType.ts +0 -104
- package/src/utils/node.ts +0 -294
- package/tsconfig.json +0 -30
|
@@ -0,0 +1,399 @@
|
|
|
1
|
+
import { __read, __spreadArray } from "tslib";
|
|
2
|
+
import { EGraphMode, } from '../types';
|
|
3
|
+
import EventEmitter from 'eventemitter3';
|
|
4
|
+
import { EDashType, EDirection } from '../../types';
|
|
5
|
+
import { GraphEventManager } from './GraphEventManager';
|
|
6
|
+
import { RightKeyMenuManager } from './RightKeyMenuManager';
|
|
7
|
+
import { SearchNodeManager } from '../SearchNodeManager';
|
|
8
|
+
import { DataProcessor } from './DataProcessor';
|
|
9
|
+
import { getRelatedData } from '../../utils';
|
|
10
|
+
import _ from 'lodash';
|
|
11
|
+
import { Graph } from '@aloudata/ink-graph-new';
|
|
12
|
+
export var TABLE_NODE = 'table_node';
|
|
13
|
+
export var CUSTOM_NODE = 'custom_node';
|
|
14
|
+
export var EDGE_TYPE = 'ald_edge';
|
|
15
|
+
export var LAYOUT_TYPE = 'dagre';
|
|
16
|
+
var TaskLineageManager = /** @class */ (function () {
|
|
17
|
+
function TaskLineageManager(data, config) {
|
|
18
|
+
this.emitter = new EventEmitter();
|
|
19
|
+
this.activeNodes = [];
|
|
20
|
+
this.cachedRelatedNodeConfig = null;
|
|
21
|
+
this.relatedNodes = []; // 关联节点可能是表或列
|
|
22
|
+
this.relatedEdges = [];
|
|
23
|
+
this.activeEdges = [];
|
|
24
|
+
this.config = config;
|
|
25
|
+
this.setData(data);
|
|
26
|
+
// 初始化managers
|
|
27
|
+
this.initManagers();
|
|
28
|
+
this.initGraph();
|
|
29
|
+
if (this.graph) {
|
|
30
|
+
this.graphEventManager.init();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
TaskLineageManager.prototype.initGraph = function () {
|
|
34
|
+
var _a = this.parsedData, nodes = _a.nodes, edges = _a.edges;
|
|
35
|
+
var graph = new Graph({
|
|
36
|
+
root: this.config.root,
|
|
37
|
+
layout: {
|
|
38
|
+
type: LAYOUT_TYPE,
|
|
39
|
+
rankdir: 'LR',
|
|
40
|
+
excludeIndirectEdges: true,
|
|
41
|
+
ranksep: 80,
|
|
42
|
+
},
|
|
43
|
+
minimap: {
|
|
44
|
+
enable: !!(nodes === null || nodes === void 0 ? void 0 : nodes.length),
|
|
45
|
+
},
|
|
46
|
+
});
|
|
47
|
+
this.graph = graph;
|
|
48
|
+
this.graph.lineageManager = this;
|
|
49
|
+
// register custom node
|
|
50
|
+
// graph.registerNode(TABLE_NODE, TableNode);
|
|
51
|
+
// graph.registerNode(CUSTOM_NODE, CustomNode);
|
|
52
|
+
// set nodes config
|
|
53
|
+
graph.setNodes(nodes);
|
|
54
|
+
// set edges config
|
|
55
|
+
graph.setEdges(edges);
|
|
56
|
+
this.refreshExtraStatus();
|
|
57
|
+
graph.render();
|
|
58
|
+
this.layout();
|
|
59
|
+
};
|
|
60
|
+
TaskLineageManager.prototype.initManagers = function () {
|
|
61
|
+
this.graphEventManager = new GraphEventManager(this);
|
|
62
|
+
this.dataProcessor = new DataProcessor(this);
|
|
63
|
+
this.searchNodeManager = new SearchNodeManager(this);
|
|
64
|
+
this.rightKeyMenuManager = new RightKeyMenuManager(this);
|
|
65
|
+
};
|
|
66
|
+
TaskLineageManager.prototype.on = function (type, listener) {
|
|
67
|
+
this.emitter.on(type, listener);
|
|
68
|
+
};
|
|
69
|
+
TaskLineageManager.prototype.once = function (type, listener) {
|
|
70
|
+
this.emitter.once(type, listener);
|
|
71
|
+
};
|
|
72
|
+
TaskLineageManager.prototype.emit = function (event, data) {
|
|
73
|
+
this.emitter.emit(event, data);
|
|
74
|
+
};
|
|
75
|
+
TaskLineageManager.prototype.off = function (type, listener) {
|
|
76
|
+
this.emitter.off(type, listener);
|
|
77
|
+
};
|
|
78
|
+
TaskLineageManager.prototype.layout = function () {
|
|
79
|
+
var _this = this;
|
|
80
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
81
|
+
if (((_b = (_a = this.graph) === null || _a === void 0 ? void 0 : _a.nodes) === null || _b === void 0 ? void 0 : _b.size) === 0)
|
|
82
|
+
return;
|
|
83
|
+
var rightNode = '';
|
|
84
|
+
(_d = (_c = this.graph) === null || _c === void 0 ? void 0 : _c.nodes) === null || _d === void 0 ? void 0 : _d.forEach(function (node) {
|
|
85
|
+
var _a, _b, _c;
|
|
86
|
+
if (!node.config.visible)
|
|
87
|
+
return;
|
|
88
|
+
var target = node.bgRect;
|
|
89
|
+
var _d = __read(target.getPosition(), 1), x = _d[0];
|
|
90
|
+
var curRightNodeX = (_c = (_b = (_a = _this.graph.nodes) === null || _a === void 0 ? void 0 : _a.get(rightNode)) === null || _b === void 0 ? void 0 : _b.getPosition) === null || _c === void 0 ? void 0 : _c.call(_b)[0];
|
|
91
|
+
if (rightNode === '' || x > curRightNodeX)
|
|
92
|
+
rightNode = node === null || node === void 0 ? void 0 : node.id;
|
|
93
|
+
});
|
|
94
|
+
var canvasW = (_e = this.graph) === null || _e === void 0 ? void 0 : _e.getWidth();
|
|
95
|
+
var canvasH = (_f = this.graph) === null || _f === void 0 ? void 0 : _f.getHeight();
|
|
96
|
+
var target = (_g = this.graph.nodes) === null || _g === void 0 ? void 0 : _g.get(rightNode);
|
|
97
|
+
var _j = __read(target.getPosition(), 2), x = _j[0], y = _j[1];
|
|
98
|
+
var _k = target.getBBox(), height = _k.height, width = _k.width;
|
|
99
|
+
var innerWidth = window.innerWidth, innerHeight = window.innerHeight;
|
|
100
|
+
var offsetX = (-200 * innerWidth) / 1920;
|
|
101
|
+
var offsetY = (100 * innerHeight) / 1080;
|
|
102
|
+
(_h = this.graph) === null || _h === void 0 ? void 0 : _h.translate(x - canvasW / 2 + width / 2 + offsetX, y - canvasH / 2 + height / 2 + offsetY);
|
|
103
|
+
};
|
|
104
|
+
TaskLineageManager.prototype.destroy = function () {
|
|
105
|
+
var _a;
|
|
106
|
+
(_a = this.graph) === null || _a === void 0 ? void 0 : _a.destroy();
|
|
107
|
+
this.graph = null;
|
|
108
|
+
};
|
|
109
|
+
TaskLineageManager.prototype.setData = function (data) {
|
|
110
|
+
this.parsedData = data;
|
|
111
|
+
};
|
|
112
|
+
TaskLineageManager.prototype.refreshExtraStatus = function () {
|
|
113
|
+
var _a, _b, _c, _d;
|
|
114
|
+
if (!this.graph)
|
|
115
|
+
return;
|
|
116
|
+
// 更新边、表、相关列、children的可见性
|
|
117
|
+
(_a = this.dataProcessor) === null || _a === void 0 ? void 0 : _a.updateNodesAndEdgesVisible(this.parsedData, (_b = this.rightKeyMenuManager) === null || _b === void 0 ? void 0 : _b.edgeDashVisible, (_c = this.rightKeyMenuManager) === null || _c === void 0 ? void 0 : _c.onlyShowRelated);
|
|
118
|
+
// 刷新相关节点和边的高亮样式(如果打开了间接血缘按钮,那这些间接血缘也需要高亮)
|
|
119
|
+
(_d = this.dataProcessor) === null || _d === void 0 ? void 0 : _d.refreshRelatedNodesAndEdges(this.relatedNodes, this.relatedEdges);
|
|
120
|
+
};
|
|
121
|
+
TaskLineageManager.prototype.updateActiveNodes = function (nodes) {
|
|
122
|
+
var _this = this;
|
|
123
|
+
// reset prev active nodes
|
|
124
|
+
this.activeNodes.forEach(function (n) {
|
|
125
|
+
if (!n)
|
|
126
|
+
return;
|
|
127
|
+
// todo
|
|
128
|
+
var node = _this.getRelatedNodesById(n.id);
|
|
129
|
+
node === null || node === void 0 ? void 0 : node.resetActive();
|
|
130
|
+
});
|
|
131
|
+
// update new active nodes
|
|
132
|
+
this.activeNodes = nodes;
|
|
133
|
+
this.activeNodes.forEach(function (n) {
|
|
134
|
+
if (!n)
|
|
135
|
+
return;
|
|
136
|
+
var node = _this.getRelatedNodesById(n.id);
|
|
137
|
+
node === null || node === void 0 ? void 0 : node.setActive();
|
|
138
|
+
});
|
|
139
|
+
};
|
|
140
|
+
// 和表一样
|
|
141
|
+
TaskLineageManager.prototype.resetActiveNodes = function () {
|
|
142
|
+
this.updateActiveNodes([]);
|
|
143
|
+
};
|
|
144
|
+
TaskLineageManager.prototype.updateRelatedNodes = function (nodes, edges, needUpdate) {
|
|
145
|
+
var _this = this;
|
|
146
|
+
if (needUpdate === void 0) { needUpdate = true; }
|
|
147
|
+
// reset prev related nodes
|
|
148
|
+
this.relatedNodes.forEach(function (n) {
|
|
149
|
+
if (!n)
|
|
150
|
+
return;
|
|
151
|
+
// todo
|
|
152
|
+
var node = _this.getRelatedNodesById(n.id);
|
|
153
|
+
if (!node)
|
|
154
|
+
return;
|
|
155
|
+
node === null || node === void 0 ? void 0 : node.resetRelated();
|
|
156
|
+
if (n === null || n === void 0 ? void 0 : n.tableId) {
|
|
157
|
+
var tableNode = _this.getRelatedNodesById(n.tableId);
|
|
158
|
+
if (tableNode && tableNode.config) {
|
|
159
|
+
tableNode.config.isRelated = false;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
// reset prev related edges
|
|
164
|
+
this.relatedEdges.forEach(function (e) {
|
|
165
|
+
var _a;
|
|
166
|
+
var edge = (_a = _this.graph) === null || _a === void 0 ? void 0 : _a.edges.get(e.id);
|
|
167
|
+
if (!edge)
|
|
168
|
+
return;
|
|
169
|
+
if (edge.config.inFoldLink || edge.config.isExtraFoldEdge)
|
|
170
|
+
return;
|
|
171
|
+
edge.config.style.stroke = '#B1B1B1';
|
|
172
|
+
edge.config.style.lineWidth = 1;
|
|
173
|
+
edge.config.style.zIndex = -1;
|
|
174
|
+
});
|
|
175
|
+
// update new related nodes
|
|
176
|
+
this.relatedNodes = nodes;
|
|
177
|
+
this.relatedNodes.forEach(function (n) {
|
|
178
|
+
if (!n)
|
|
179
|
+
return;
|
|
180
|
+
var node = _this.getRelatedNodesById(n.id);
|
|
181
|
+
if (!node)
|
|
182
|
+
return;
|
|
183
|
+
node === null || node === void 0 ? void 0 : node.setRelated();
|
|
184
|
+
if (n === null || n === void 0 ? void 0 : n.tableId) {
|
|
185
|
+
var tableNode = _this.getRelatedNodesById(n.tableId);
|
|
186
|
+
if (tableNode && tableNode.config) {
|
|
187
|
+
tableNode.config.isRelated = true;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
});
|
|
191
|
+
// update new related edges
|
|
192
|
+
this.relatedEdges = edges;
|
|
193
|
+
this.relatedEdges.forEach(function (e) {
|
|
194
|
+
var _a;
|
|
195
|
+
var edge = (_a = _this.graph) === null || _a === void 0 ? void 0 : _a.edges.get(e.id);
|
|
196
|
+
if (!edge)
|
|
197
|
+
return;
|
|
198
|
+
edge.config.style.stroke = '#3271C9';
|
|
199
|
+
edge.config.style.lineWidth = 1.5;
|
|
200
|
+
edge.config.style.zIndex = 1;
|
|
201
|
+
});
|
|
202
|
+
if (needUpdate) {
|
|
203
|
+
this.graph.update();
|
|
204
|
+
}
|
|
205
|
+
};
|
|
206
|
+
// 和表一样
|
|
207
|
+
TaskLineageManager.prototype.resetRelatedNodes = function (needUpdate) {
|
|
208
|
+
if (needUpdate === void 0) { needUpdate = true; }
|
|
209
|
+
this.updateRelatedNodes([], [], needUpdate);
|
|
210
|
+
};
|
|
211
|
+
// 对比一下,最好两者一致
|
|
212
|
+
TaskLineageManager.prototype.setRelatedNodesAndEdges = function (nodeConfig, needUpdate, direction) {
|
|
213
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
214
|
+
if (needUpdate === void 0) { needUpdate = true; }
|
|
215
|
+
if (direction === void 0) { direction = EDirection.BOTH; }
|
|
216
|
+
this.cachedRelatedNodeConfig = nodeConfig;
|
|
217
|
+
if (!nodeConfig)
|
|
218
|
+
return;
|
|
219
|
+
var relatedNodes = [];
|
|
220
|
+
var relatedEdges = [];
|
|
221
|
+
if (direction === EDirection.BOTH) {
|
|
222
|
+
// update related ui
|
|
223
|
+
// 获取与点击节点相关的节点/边(包含自己在内)
|
|
224
|
+
var relatedInputs = getRelatedData(nodeConfig, (_a = this.graph) === null || _a === void 0 ? void 0 : _a.nodesConfig, (_b = this.graph) === null || _b === void 0 ? void 0 : _b.edgesConfig, EDirection.INPUT, (_c = this.rightKeyMenuManager) === null || _c === void 0 ? void 0 : _c.edgeDashVisible);
|
|
225
|
+
var relatedOutputs = getRelatedData(nodeConfig, (_d = this.graph) === null || _d === void 0 ? void 0 : _d.nodesConfig, (_e = this.graph) === null || _e === void 0 ? void 0 : _e.edgesConfig, EDirection.OUTPUT, (_f = this.rightKeyMenuManager) === null || _f === void 0 ? void 0 : _f.edgeDashVisible);
|
|
226
|
+
// 高亮是把点击节点的上下游节点/边都高亮,所以要去重
|
|
227
|
+
relatedNodes = _.uniqBy(__spreadArray(__spreadArray([], __read(relatedInputs.relatedNodes), false), __read(relatedOutputs.relatedNodes), false), 'id');
|
|
228
|
+
relatedEdges = _.uniqBy(__spreadArray(__spreadArray([], __read(relatedInputs.relatedEdges), false), __read(relatedOutputs.relatedEdges), false), 'id');
|
|
229
|
+
}
|
|
230
|
+
else if (direction === EDirection.INPUT ||
|
|
231
|
+
direction === EDirection.OUTPUT) {
|
|
232
|
+
var relatedInputsOrOutputs = getRelatedData(nodeConfig, (_g = this.graph) === null || _g === void 0 ? void 0 : _g.nodesConfig, (_h = this.graph) === null || _h === void 0 ? void 0 : _h.edgesConfig, direction, (_j = this.rightKeyMenuManager) === null || _j === void 0 ? void 0 : _j.edgeDashVisible);
|
|
233
|
+
var _relatedNodes = relatedInputsOrOutputs.relatedNodes, _relatedEdges = relatedInputsOrOutputs.relatedEdges;
|
|
234
|
+
if (
|
|
235
|
+
// 间接血缘开关已打开就不需要进行此判断
|
|
236
|
+
((_k = this.rightKeyMenuManager) === null || _k === void 0 ? void 0 : _k.edgeDashVisible) === EDashType.DIRECT &&
|
|
237
|
+
_relatedEdges.every(function (e) { return e.relationType === EDashType.INDIRECT; })) {
|
|
238
|
+
// 清空上一次探索的相关列
|
|
239
|
+
this.clearRelatedColumns();
|
|
240
|
+
this.resetRelatedNodes(true);
|
|
241
|
+
return notification.warning({
|
|
242
|
+
message: '当前字段只有间接血缘,请打开间接血缘开关后查看',
|
|
243
|
+
});
|
|
244
|
+
}
|
|
245
|
+
relatedNodes = _relatedNodes;
|
|
246
|
+
relatedEdges = _relatedEdges;
|
|
247
|
+
}
|
|
248
|
+
// 设置点击节点的上下游节点/边的高亮样式并进行最终的图形更新
|
|
249
|
+
this.updateRelatedNodes(relatedNodes, relatedEdges, needUpdate);
|
|
250
|
+
};
|
|
251
|
+
// 和表一样
|
|
252
|
+
// show context menu
|
|
253
|
+
TaskLineageManager.prototype.showContextMenu = function (data) {
|
|
254
|
+
var _a;
|
|
255
|
+
(_a = this.rightKeyMenuManager) === null || _a === void 0 ? void 0 : _a.showContextMenu(data);
|
|
256
|
+
};
|
|
257
|
+
// 和表一样
|
|
258
|
+
// hide context menu
|
|
259
|
+
TaskLineageManager.prototype.hideContextMenu = function () {
|
|
260
|
+
var _a;
|
|
261
|
+
(_a = this.rightKeyMenuManager) === null || _a === void 0 ? void 0 : _a.hideContextMenu();
|
|
262
|
+
};
|
|
263
|
+
// 已经有了,对比下
|
|
264
|
+
TaskLineageManager.prototype.getRelatedNodesById = function (id) {
|
|
265
|
+
var _a, _b, _c;
|
|
266
|
+
var node = (_a = this.graph) === null || _a === void 0 ? void 0 : _a.nodes.get(id);
|
|
267
|
+
if (!node) {
|
|
268
|
+
(_b = this.graph) === null || _b === void 0 ? void 0 : _b.nodes.forEach(function (n) {
|
|
269
|
+
var _a;
|
|
270
|
+
(_a = n.relatedColumns) === null || _a === void 0 ? void 0 : _a.forEach(function (col) {
|
|
271
|
+
if (col.id === id) {
|
|
272
|
+
node = col;
|
|
273
|
+
}
|
|
274
|
+
});
|
|
275
|
+
});
|
|
276
|
+
}
|
|
277
|
+
if (!node) {
|
|
278
|
+
(_c = this.graph) === null || _c === void 0 ? void 0 : _c.nodes.forEach(function (n) {
|
|
279
|
+
var _a;
|
|
280
|
+
(_a = n.children) === null || _a === void 0 ? void 0 : _a.forEach(function (col) {
|
|
281
|
+
if (col.id === id) {
|
|
282
|
+
node = col;
|
|
283
|
+
}
|
|
284
|
+
});
|
|
285
|
+
});
|
|
286
|
+
}
|
|
287
|
+
return node;
|
|
288
|
+
};
|
|
289
|
+
// 和表一样
|
|
290
|
+
// update direct & indirect table visible
|
|
291
|
+
TaskLineageManager.prototype.updateEdgeDashVisible = function (edgeDashVisible) {
|
|
292
|
+
var _a;
|
|
293
|
+
(_a = this.rightKeyMenuManager) === null || _a === void 0 ? void 0 : _a.updateEdgeDashVisible(edgeDashVisible);
|
|
294
|
+
};
|
|
295
|
+
// 和表一样
|
|
296
|
+
// update overview info
|
|
297
|
+
TaskLineageManager.prototype.setOverview = function (data) {
|
|
298
|
+
var _a;
|
|
299
|
+
(_a = this.rightKeyMenuManager) === null || _a === void 0 ? void 0 : _a.setOverview(data);
|
|
300
|
+
};
|
|
301
|
+
// 判断节点是否在可视区域
|
|
302
|
+
TaskLineageManager.prototype.determineNodeIsInView = function (node) {
|
|
303
|
+
var _a, _b;
|
|
304
|
+
if (!node)
|
|
305
|
+
return;
|
|
306
|
+
var target = node.bgRect;
|
|
307
|
+
var _c = target.getBBox(), height = _c.height, width = _c.width;
|
|
308
|
+
var _d = __read(target.getPosition(), 2), x = _d[0], y = _d[1];
|
|
309
|
+
// 画布的宽高
|
|
310
|
+
var wrapperWidth = this.graph.getWidth();
|
|
311
|
+
var wrapperHeight = this.graph.getHeight();
|
|
312
|
+
var camera = this.graph.canvas.getCamera();
|
|
313
|
+
if (this.rightKeyMenuManager.exploreState.mode === EGraphMode.EXPLORE) {
|
|
314
|
+
var sidebarWidth = 650;
|
|
315
|
+
wrapperWidth = wrapperWidth - sidebarWidth;
|
|
316
|
+
}
|
|
317
|
+
var _e = __read(mat4.getTranslation(vec3.create(), camera.getOrthoMatrix()), 2), rootX = _e[0], rootY = _e[1];
|
|
318
|
+
var zoom = this.graph.getZoom();
|
|
319
|
+
// const zoom = camera.getZoom();
|
|
320
|
+
var xCenter = (rootX + x + width / 2) * zoom;
|
|
321
|
+
var yCenter = (rootY + y + height / 2) * zoom;
|
|
322
|
+
var isVisible = xCenter > 0 &&
|
|
323
|
+
xCenter < wrapperWidth &&
|
|
324
|
+
yCenter > 0 &&
|
|
325
|
+
yCenter < wrapperHeight;
|
|
326
|
+
if (target.isCulled() || !isVisible) {
|
|
327
|
+
// this.searchNodeManager.moveTargetToCenter(target);
|
|
328
|
+
var canvasW = this.graph.getWidth();
|
|
329
|
+
var canvasH = this.graph.getHeight();
|
|
330
|
+
(_a = this.graph) === null || _a === void 0 ? void 0 : _a.resetPosition();
|
|
331
|
+
// this.graph.canvas.getCamera().resetPosition();
|
|
332
|
+
(_b = this.graph) === null || _b === void 0 ? void 0 : _b.translate(x - canvasW / 2 + TABLE_WIDTH + width / 2, y - canvasH / 2 + height / 2);
|
|
333
|
+
}
|
|
334
|
+
};
|
|
335
|
+
/**
|
|
336
|
+
* 更新探索模式下点击资产后生成的高亮链路
|
|
337
|
+
* @param edges
|
|
338
|
+
*/
|
|
339
|
+
TaskLineageManager.prototype.updateHighlightEdges = function (edges) {
|
|
340
|
+
var _this = this;
|
|
341
|
+
this.activeEdges.forEach(function (e) {
|
|
342
|
+
var _a;
|
|
343
|
+
var edge = (_a = _this.graph) === null || _a === void 0 ? void 0 : _a.edges.get(e.id);
|
|
344
|
+
if (!edge)
|
|
345
|
+
return;
|
|
346
|
+
edge.config.style.stroke = '#B1B1B1';
|
|
347
|
+
edge.config.style.lineWidth = 1;
|
|
348
|
+
edge.config.style.zIndex = -1;
|
|
349
|
+
});
|
|
350
|
+
// update new active edges
|
|
351
|
+
this.activeEdges = edges;
|
|
352
|
+
this.activeEdges.forEach(function (e) {
|
|
353
|
+
var _a;
|
|
354
|
+
var edge = (_a = _this.graph) === null || _a === void 0 ? void 0 : _a.edges.get(e.id);
|
|
355
|
+
if (!edge)
|
|
356
|
+
return;
|
|
357
|
+
edge.config.style.stroke = '#FFC04D';
|
|
358
|
+
edge.config.style.lineWidth = 1;
|
|
359
|
+
edge.config.style.zIndex = -1;
|
|
360
|
+
});
|
|
361
|
+
};
|
|
362
|
+
TaskLineageManager.prototype.collapseAllNodes = function () {
|
|
363
|
+
this.graph.nodesConfig.forEach(function (node) { return (node.isOpen = false); });
|
|
364
|
+
};
|
|
365
|
+
TaskLineageManager.prototype.highlightRelatedNodesByStatus = function () {
|
|
366
|
+
var _this = this;
|
|
367
|
+
this.relatedNodes.forEach(function (activeItem) {
|
|
368
|
+
var node = _this.getRelatedNodesById(activeItem.id);
|
|
369
|
+
node === null || node === void 0 ? void 0 : node.setHighLight();
|
|
370
|
+
});
|
|
371
|
+
};
|
|
372
|
+
TaskLineageManager.prototype.clearRelatedColumns = function () {
|
|
373
|
+
var prevNodesConfig = this.graph.nodesConfig;
|
|
374
|
+
prevNodesConfig.forEach(function (n) { return (n.relatedColumns = []); });
|
|
375
|
+
};
|
|
376
|
+
TaskLineageManager.prototype.update = function () {
|
|
377
|
+
var _a;
|
|
378
|
+
this.refreshExtraStatus();
|
|
379
|
+
(_a = this.graph) === null || _a === void 0 ? void 0 : _a.update();
|
|
380
|
+
};
|
|
381
|
+
TaskLineageManager.prototype.resetRightKeyMenuState = function () {
|
|
382
|
+
var _a;
|
|
383
|
+
(_a = this.rightKeyMenuManager) === null || _a === void 0 ? void 0 : _a.resetState();
|
|
384
|
+
};
|
|
385
|
+
// 和表一样
|
|
386
|
+
// update related & unrelated table visible
|
|
387
|
+
TaskLineageManager.prototype.updateRelatedTableVisible = function (onlyShowRelated, needUpdate) {
|
|
388
|
+
var _a;
|
|
389
|
+
if (needUpdate === void 0) { needUpdate = true; }
|
|
390
|
+
(_a = this.rightKeyMenuManager) === null || _a === void 0 ? void 0 : _a.updateRelatedTableVisible(onlyShowRelated, needUpdate);
|
|
391
|
+
};
|
|
392
|
+
TaskLineageManager.prototype.resetPosition = function () {
|
|
393
|
+
this.graph.resetPosition();
|
|
394
|
+
// this.layout();
|
|
395
|
+
};
|
|
396
|
+
return TaskLineageManager;
|
|
397
|
+
}());
|
|
398
|
+
export { TaskLineageManager };
|
|
399
|
+
//# sourceMappingURL=LineageManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LineageManager.js","sourceRoot":"","sources":["../../../src/manager/task/LineageManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { EDashType, EDirection, IColResBase, IContextMenuState, IEdgeConfig, INodeConfig, IOverViewBase, ITableResBase } from "../../types";
|
|
2
|
+
import { BaseManager } from "../BaseManager";
|
|
3
|
+
import { EGraphMode } from "./GraphEventManager";
|
|
4
|
+
export interface IOverviewState {
|
|
5
|
+
mode: EGraphMode;
|
|
6
|
+
taskSqlList: any[];
|
|
7
|
+
activeSqlIds: string[];
|
|
8
|
+
exploreDirection: EDirection | null;
|
|
9
|
+
exploreAssetId?: string;
|
|
10
|
+
type?: string;
|
|
11
|
+
nodeView?: TableNode | Column;
|
|
12
|
+
hasAllData?: boolean;
|
|
13
|
+
exploredData?: {
|
|
14
|
+
nodes: INodeConfig<ITableResBase<IColResBase>, IColResBase>[];
|
|
15
|
+
edges: IEdgeConfig[];
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export declare class RightKeyMenuManager<TTableData extends ITableResBase<TColumnData>, TColumnData extends IColResBase> extends BaseManager<TTableData, TColumnData> {
|
|
19
|
+
contextMenuState: IContextMenuState;
|
|
20
|
+
overviewState: IOverViewBase;
|
|
21
|
+
edgeDashVisible: EDashType;
|
|
22
|
+
onlyShowRelated: boolean;
|
|
23
|
+
exploreState: IOverviewState;
|
|
24
|
+
setOverview(data: Partial<IOverViewBase>): void;
|
|
25
|
+
showContextMenu(data: IContextMenuState): void;
|
|
26
|
+
hideContextMenu(): void;
|
|
27
|
+
updateEdgeDashVisible(edgeDashVisible: EDashType): Promise<void>;
|
|
28
|
+
updateRelatedTableVisible(onlyShowRelated: boolean, needUpdate?: boolean): void;
|
|
29
|
+
resetState(): void;
|
|
30
|
+
setExploreState(data: IOverviewState): void;
|
|
31
|
+
updateGraphByDashType(): Promise<void>;
|
|
32
|
+
getTaskList(exploreDirection: EDirection, guid: string, type: string, assetPath: string): Promise<{
|
|
33
|
+
outputEntities: any;
|
|
34
|
+
outputEntityType: any;
|
|
35
|
+
inputEntityType: any;
|
|
36
|
+
inputEntities: any;
|
|
37
|
+
sql: any;
|
|
38
|
+
copySql: any;
|
|
39
|
+
sqlId: string;
|
|
40
|
+
sqlOrder: number;
|
|
41
|
+
relationType: any;
|
|
42
|
+
}[]>;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=RightKeyMenuManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RightKeyMenuManager.d.ts","sourceRoot":"","sources":["../../../src/manager/task/RightKeyMenuManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,SAAS,EAAE,UAAU,EAA4B,WAAW,EAAE,iBAAiB,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE9L,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,UAAU,CAAC;IAEjB,WAAW,EAAE,GAAG,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,gBAAgB,EAAE,UAAU,GAAG,IAAI,CAAC;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE;QAAE,KAAK,EAAE,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,EAAE,CAAC;QAAC,KAAK,EAAE,WAAW,EAAE,CAAA;KAAE,CAAC;CAC1G;AAeD,qBAAa,mBAAmB,CAC5B,UAAU,SAAS,aAAa,CAAC,WAAW,CAAC,EAC7C,WAAW,SAAS,WAAW,CACjC,SAAQ,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC;IAE1C,gBAAgB,EAAE,iBAAiB,CAA0B;IAE7D,aAAa,EAAE,aAAa,CAA4B;IAExD,eAAe,EAAE,SAAS,CAAoB;IAE9C,eAAe,EAAE,OAAO,CAAS;IAEjC,YAAY,EAAE,cAAc,CAAuB;IAGnD,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,aAAa,CAAC;IAQxC,eAAe,CAAC,IAAI,EAAE,iBAAiB;IAMvC,eAAe;IAMT,qBAAqB,CAAC,eAAe,EAAE,SAAS;IAYtD,yBAAyB,CACrB,eAAe,EAAE,OAAO,EACxB,UAAU,GAAE,OAAc;IAgB9B,UAAU;IAYV,eAAe,CAAC,IAAI,EAAE,cAAc;IAO9B,qBAAqB;IAiBrB,WAAW,CACb,gBAAgB,EAAE,UAAU,EAC5B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM;;;;;;;;;;;CA2DxB"}
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import { __assign, __awaiter, __extends, __generator, __read, __spreadArray } from "tslib";
|
|
2
|
+
import { contextMenuDefaultData, EDashType, EElementType, EEventEnum } from "../../types";
|
|
3
|
+
import { getOverviewDefaultData } from "../../utils";
|
|
4
|
+
import { BaseManager } from "../BaseManager";
|
|
5
|
+
import { EGraphMode } from "./GraphEventManager";
|
|
6
|
+
var defaultExploreState = {
|
|
7
|
+
// 是否为探索模式
|
|
8
|
+
mode: EGraphMode.NORMAL,
|
|
9
|
+
// 全链路SQL list
|
|
10
|
+
taskSqlList: [],
|
|
11
|
+
// 侧边栏高亮的sqlId
|
|
12
|
+
activeSqlIds: [],
|
|
13
|
+
exploreDirection: null,
|
|
14
|
+
};
|
|
15
|
+
var RightKeyMenuManager = /** @class */ (function (_super) {
|
|
16
|
+
__extends(RightKeyMenuManager, _super);
|
|
17
|
+
function RightKeyMenuManager() {
|
|
18
|
+
var _this = _super.apply(this, __spreadArray([], __read(arguments), false)) || this;
|
|
19
|
+
// context menu
|
|
20
|
+
_this.contextMenuState = contextMenuDefaultData;
|
|
21
|
+
_this.overviewState = getOverviewDefaultData();
|
|
22
|
+
_this.edgeDashVisible = EDashType.DIRECT;
|
|
23
|
+
_this.onlyShowRelated = false;
|
|
24
|
+
_this.exploreState = defaultExploreState;
|
|
25
|
+
return _this;
|
|
26
|
+
}
|
|
27
|
+
// 更新概览信息
|
|
28
|
+
RightKeyMenuManager.prototype.setOverview = function (data) {
|
|
29
|
+
this.overviewState = __assign(__assign({}, this.overviewState), data);
|
|
30
|
+
this.lineageManager.emit(EEventEnum.OVERVIEW);
|
|
31
|
+
};
|
|
32
|
+
RightKeyMenuManager.prototype.showContextMenu = function (data) {
|
|
33
|
+
this.contextMenuState = data;
|
|
34
|
+
this.lineageManager.emit(EEventEnum.CONTEXT_MENU);
|
|
35
|
+
};
|
|
36
|
+
// hide context menu
|
|
37
|
+
RightKeyMenuManager.prototype.hideContextMenu = function () {
|
|
38
|
+
this.contextMenuState.visible = false;
|
|
39
|
+
this.lineageManager.emit(EEventEnum.CONTEXT_MENU);
|
|
40
|
+
};
|
|
41
|
+
// update direct & indirect table visible
|
|
42
|
+
RightKeyMenuManager.prototype.updateEdgeDashVisible = function (edgeDashVisible) {
|
|
43
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
44
|
+
return __generator(this, function (_a) {
|
|
45
|
+
switch (_a.label) {
|
|
46
|
+
case 0:
|
|
47
|
+
this.edgeDashVisible = edgeDashVisible;
|
|
48
|
+
if (!(this.exploreState.mode === EGraphMode.EXPLORE)) return [3 /*break*/, 2];
|
|
49
|
+
// 不加await会导致更新节点和边的操作会在高亮链路的操作之前,导致高亮链路的操作失败
|
|
50
|
+
return [4 /*yield*/, this.updateGraphByDashType()];
|
|
51
|
+
case 1:
|
|
52
|
+
// 不加await会导致更新节点和边的操作会在高亮链路的操作之前,导致高亮链路的操作失败
|
|
53
|
+
_a.sent();
|
|
54
|
+
return [3 /*break*/, 3];
|
|
55
|
+
case 2:
|
|
56
|
+
this.lineageManager.update();
|
|
57
|
+
_a.label = 3;
|
|
58
|
+
case 3: return [2 /*return*/];
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
};
|
|
63
|
+
RightKeyMenuManager.prototype.updateRelatedTableVisible = function (onlyShowRelated, needUpdate) {
|
|
64
|
+
if (needUpdate === void 0) { needUpdate = true; }
|
|
65
|
+
this.onlyShowRelated = onlyShowRelated;
|
|
66
|
+
if (needUpdate) {
|
|
67
|
+
this.lineageManager.update();
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
this.lineageManager.refreshExtraStatus();
|
|
71
|
+
}
|
|
72
|
+
this.lineageManager.emit(EEventEnum.CONTEXT_MENU);
|
|
73
|
+
};
|
|
74
|
+
RightKeyMenuManager.prototype.resetState = function () {
|
|
75
|
+
this.contextMenuState = contextMenuDefaultData;
|
|
76
|
+
this.exploreState = defaultExploreState;
|
|
77
|
+
this.overviewState = getOverviewDefaultData();
|
|
78
|
+
this.onlyShowRelated = false;
|
|
79
|
+
this.edgeDashVisible = EDashType.DIRECT;
|
|
80
|
+
};
|
|
81
|
+
RightKeyMenuManager.prototype.setExploreState = function (data) {
|
|
82
|
+
this.exploreState = __assign(__assign({}, this.exploreState), data);
|
|
83
|
+
this.lineageManager.emit(EEventEnum.EXPLORE_CHANGE);
|
|
84
|
+
};
|
|
85
|
+
RightKeyMenuManager.prototype.updateGraphByDashType = function () {
|
|
86
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
87
|
+
var _a, type, exploreDirection, nodeView, TableNodeEvents, ColumnEvents, e_1;
|
|
88
|
+
return __generator(this, function (_b) {
|
|
89
|
+
switch (_b.label) {
|
|
90
|
+
case 0:
|
|
91
|
+
_a = this.exploreState, type = _a.type, exploreDirection = _a.exploreDirection, nodeView = _a.nodeView;
|
|
92
|
+
_b.label = 1;
|
|
93
|
+
case 1:
|
|
94
|
+
_b.trys.push([1, 6, 7, 8]);
|
|
95
|
+
if (!(type === EElementType.TABLE)) return [3 /*break*/, 3];
|
|
96
|
+
TableNodeEvents = nodeView;
|
|
97
|
+
return [4 /*yield*/, TableNodeEvents.expandGraphByDirection(exploreDirection, true)];
|
|
98
|
+
case 2:
|
|
99
|
+
_b.sent();
|
|
100
|
+
return [3 /*break*/, 5];
|
|
101
|
+
case 3:
|
|
102
|
+
if (!(type === EElementType.COLUMN)) return [3 /*break*/, 5];
|
|
103
|
+
ColumnEvents = nodeView;
|
|
104
|
+
return [4 /*yield*/, ColumnEvents.expandGraphByDirection(exploreDirection, true)];
|
|
105
|
+
case 4:
|
|
106
|
+
_b.sent();
|
|
107
|
+
_b.label = 5;
|
|
108
|
+
case 5: return [3 /*break*/, 8];
|
|
109
|
+
case 6:
|
|
110
|
+
e_1 = _b.sent();
|
|
111
|
+
console.log(e_1);
|
|
112
|
+
return [3 /*break*/, 8];
|
|
113
|
+
case 7: return [7 /*endfinally*/];
|
|
114
|
+
case 8: return [2 /*return*/];
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
};
|
|
119
|
+
RightKeyMenuManager.prototype.getTaskList = function (exploreDirection, guid, type, assetPath) {
|
|
120
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
121
|
+
var res, taskSqlList, e_2;
|
|
122
|
+
var _this = this;
|
|
123
|
+
return __generator(this, function (_a) {
|
|
124
|
+
switch (_a.label) {
|
|
125
|
+
case 0:
|
|
126
|
+
_a.trys.push([0, 5, 6, 7]);
|
|
127
|
+
res = void 0;
|
|
128
|
+
if (!this.overviewState.id) return [3 /*break*/, 2];
|
|
129
|
+
return [4 /*yield*/, getLinageSimulationSqlList({
|
|
130
|
+
id: this.overviewState.id,
|
|
131
|
+
entityGuid: guid,
|
|
132
|
+
direction: exploreDirection,
|
|
133
|
+
needIndirect: this.edgeDashVisible === EDashType.INDIRECT,
|
|
134
|
+
})];
|
|
135
|
+
case 1:
|
|
136
|
+
res = _a.sent();
|
|
137
|
+
return [3 /*break*/, 4];
|
|
138
|
+
case 2: return [4 /*yield*/, getTaskLineageSqlList({
|
|
139
|
+
entityGuid: guid,
|
|
140
|
+
taskGuid: getParamsFromHash(location.hash, 'guid'),
|
|
141
|
+
type: type,
|
|
142
|
+
direction: exploreDirection,
|
|
143
|
+
needIndirect: this.edgeDashVisible === EDashType.INDIRECT, // new
|
|
144
|
+
})];
|
|
145
|
+
case 3:
|
|
146
|
+
res = _a.sent();
|
|
147
|
+
_a.label = 4;
|
|
148
|
+
case 4:
|
|
149
|
+
taskSqlList = res.map(function (item, index) {
|
|
150
|
+
var outputEntities = item.outputEntities, outputEntityType = item.outputEntityType, inputEntityType = item.inputEntityType, inputEntities = item.inputEntities, sql = item.sql, relationType = item.relationType;
|
|
151
|
+
// const formatSql = sqlFormatter.format(sql || '');
|
|
152
|
+
var formatSql = sql || '';
|
|
153
|
+
return {
|
|
154
|
+
outputEntities: outputEntities,
|
|
155
|
+
outputEntityType: outputEntityType,
|
|
156
|
+
inputEntityType: inputEntityType,
|
|
157
|
+
inputEntities: inputEntities,
|
|
158
|
+
sql: formatSql,
|
|
159
|
+
copySql: _this.overviewState.id ? sql : formatSql,
|
|
160
|
+
sqlId: "".concat(guid, "/").concat(index + 1),
|
|
161
|
+
sqlOrder: index + 1,
|
|
162
|
+
relationType: relationType,
|
|
163
|
+
};
|
|
164
|
+
});
|
|
165
|
+
return [2 /*return*/, taskSqlList];
|
|
166
|
+
case 5:
|
|
167
|
+
e_2 = _a.sent();
|
|
168
|
+
console.error(e_2);
|
|
169
|
+
return [3 /*break*/, 7];
|
|
170
|
+
case 6:
|
|
171
|
+
// const nodeView = this.viewGraph.originNodeMap?.get(guid)?.view;
|
|
172
|
+
this.setOverview(__assign(__assign({}, this.overviewState), { assetPath: assetPath }));
|
|
173
|
+
return [7 /*endfinally*/];
|
|
174
|
+
case 7: return [2 /*return*/];
|
|
175
|
+
}
|
|
176
|
+
});
|
|
177
|
+
});
|
|
178
|
+
};
|
|
179
|
+
;
|
|
180
|
+
return RightKeyMenuManager;
|
|
181
|
+
}(BaseManager));
|
|
182
|
+
export { RightKeyMenuManager };
|
|
183
|
+
//# sourceMappingURL=RightKeyMenuManager.js.map
|