@riil-frontend/component-topology 13.0.0-dev.1 → 13.0.0-dev.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/1.js +1 -1
- package/build/index.css +1 -1
- package/build/index.js +29 -29
- package/es/components/ColorPanel/index.js +68 -58
- package/es/components/ResourceSelectDrawer/ResourceSelectDrawer.js +1 -1
- package/es/core/components/TopoView/topoView.js +7 -4
- package/es/core/editor/components/Toolbar/widgets/EdgeColorButton/EdgeColorButton.js +2 -2
- package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/LineType.js +5 -15
- package/es/core/editor/components/Toolbar/widgets/FontColorButton.js +10 -91
- package/es/core/editor/components/Toolbar/widgets/FontFamilyWidget.js +2 -27
- package/es/core/editor/components/Toolbar/widgets/FontSizeWidget.js +3 -28
- package/es/core/editor/components/Toolbar/widgets/FontStyleButton.js +6 -52
- package/es/core/editor/components/Toolbar/widgets/components/FontColorDropdown.js +120 -0
- package/es/core/editor/components/Toolbar/widgets/components/FontFamilySelect.js +29 -0
- package/es/core/editor/components/Toolbar/widgets/components/FontSizeSelect.js +29 -0
- package/es/core/editor/components/Toolbar/widgets/components/FontStyleSelect.js +77 -0
- package/es/core/editor/components/settings/core/updateElementProperty.js +3 -2
- package/es/core/editor/components/settings/propertyViews/view/GlobalEdgeToggle.js +2 -2
- package/es/core/editor/hooks/useKeyboardShortcut.js +4 -0
- package/es/core/editor/hooks/useNewElementTheme.js +20 -16
- package/es/core/editor/utils/edgeTypeStyleUtil.js +11 -32
- package/es/core/hooks/useGraphAlarmDisplay.js +4 -0
- package/es/core/hooks/usePolling.js +2 -1
- package/es/core/hooks/useResourceConfig.js +1 -2
- package/es/core/hooks/useTopoEdit.js +210 -248
- package/es/core/models/AttributeMetricDisplay.js +4 -3
- package/es/core/models/HistoryManager.js +11 -9
- package/es/core/models/TopoApp.js +39 -45
- package/es/core/models/topoData.js +9 -17
- package/es/core/models/utils/linkUtils.js +65 -52
- package/es/core/store/models/topoConfig.js +7 -11
- package/es/core/utils/edgeUtil.js +7 -10
- package/es/core/viewer/components/plugins/ElementDetailDrawer/hooks/useElementDetailManager.js +2 -2
- package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/EventsCard.js +4 -2
- package/es/networkTopo/models/EdgeGroupTagTipBuilder.js +7 -7
- package/es/networkTopo/models/LinkDynamicStyleExecutor.js +7 -63
- package/es/networkTopo/services/topo/basic.js +27 -17
- package/es/networkTopo/utils/__tests__/relateTopoData.js +205 -0
- package/es/networkTopo/utils/edgeGroupTagUtil.js +2 -2
- package/es/networkTopo/utils/exitLinkUtil.js +25 -13
- package/es/networkTopo/utils/relateTopoDataUtil.js +149 -0
- package/es/style.js +1 -1
- package/es/utils/ResourceConfigUtil.js +1 -16
- package/es/utils/clusterUtil.js +3 -3
- package/es/utils/htElementUtils.js +19 -85
- package/lib/components/ColorPanel/index.js +71 -59
- package/lib/components/ResourceSelectDrawer/ResourceSelectDrawer.js +1 -1
- package/lib/core/components/TopoView/topoView.js +15 -19
- package/lib/core/editor/components/Toolbar/widgets/EdgeColorButton/EdgeColorButton.js +2 -2
- package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/LineType.js +5 -14
- package/lib/core/editor/components/Toolbar/widgets/FontColorButton.js +11 -95
- package/lib/core/editor/components/Toolbar/widgets/FontFamilyWidget.js +3 -28
- package/lib/core/editor/components/Toolbar/widgets/FontSizeWidget.js +3 -28
- package/lib/core/editor/components/Toolbar/widgets/FontStyleButton.js +6 -56
- package/lib/core/editor/components/Toolbar/widgets/components/FontColorDropdown.js +136 -0
- package/lib/core/editor/components/Toolbar/widgets/components/FontFamilySelect.js +38 -0
- package/lib/core/editor/components/Toolbar/widgets/components/FontSizeSelect.js +38 -0
- package/lib/core/editor/components/Toolbar/widgets/components/FontStyleSelect.js +89 -0
- package/lib/core/editor/components/settings/core/updateElementProperty.js +7 -2
- package/lib/core/editor/components/settings/propertyViews/view/GlobalEdgeToggle.js +2 -2
- package/lib/core/editor/hooks/useKeyboardShortcut.js +4 -0
- package/lib/core/editor/hooks/useNewElementTheme.js +20 -16
- package/lib/core/editor/utils/edgeTypeStyleUtil.js +10 -33
- package/lib/core/hooks/useGraphAlarmDisplay.js +4 -0
- package/lib/core/hooks/usePolling.js +6 -5
- package/lib/core/hooks/useResourceConfig.js +1 -2
- package/lib/core/hooks/useTopoEdit.js +216 -272
- package/lib/core/models/AttributeMetricDisplay.js +6 -6
- package/lib/core/models/HistoryManager.js +13 -17
- package/lib/core/models/TopoApp.js +39 -43
- package/lib/core/models/topoData.js +9 -17
- package/lib/core/models/utils/linkUtils.js +65 -51
- package/lib/core/store/models/topoConfig.js +13 -25
- package/lib/core/utils/edgeUtil.js +8 -10
- package/lib/core/viewer/components/plugins/ElementDetailDrawer/hooks/useElementDetailManager.js +3 -2
- package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/EventsCard.js +6 -2
- package/lib/networkTopo/models/EdgeGroupTagTipBuilder.js +6 -6
- package/lib/networkTopo/models/LinkDynamicStyleExecutor.js +6 -64
- package/lib/networkTopo/services/topo/basic.js +32 -18
- package/lib/networkTopo/utils/__tests__/relateTopoData.js +210 -0
- package/lib/networkTopo/utils/edgeGroupTagUtil.js +2 -2
- package/lib/networkTopo/utils/exitLinkUtil.js +25 -13
- package/lib/networkTopo/utils/relateTopoDataUtil.js +164 -0
- package/lib/style.js +1 -1
- package/lib/utils/ResourceConfigUtil.js +1 -16
- package/lib/utils/clusterUtil.js +2 -2
- package/lib/utils/htElementUtils.js +22 -94
- package/package.json +2 -2
- package/es/networkTopo/models/LinkTagsTipsBuilder.js +0 -235
- package/lib/networkTopo/models/LinkTagsTipsBuilder.js +0 -245
- /package/es/core/editor/components/Toolbar/widgets/{FontColorButton.module.scss → components/FontColorDropdown.module.scss} +0 -0
- /package/lib/core/editor/components/Toolbar/widgets/{FontColorButton.module.scss → components/FontColorDropdown.module.scss} +0 -0
@@ -0,0 +1,149 @@
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
2
|
+
// 关联拓扑数据
|
3
|
+
import { topoLinks } from "./__tests__/relateTopoData";
|
4
|
+
/**
|
5
|
+
* 升级历史数据:子拓扑节点序列化数据
|
6
|
+
* 构造子拓扑节点
|
7
|
+
* 构造子拓扑链路
|
8
|
+
* @param {*} ctx
|
9
|
+
*/
|
10
|
+
|
11
|
+
export function processBothTopoData(topoData) {
|
12
|
+
var nodes = topoData.nodes,
|
13
|
+
links = topoData.links;
|
14
|
+
var serialize = upgradeSerializeOldTopoNode(topoData.serialize);
|
15
|
+
return _extends({}, topoData, {
|
16
|
+
nodes: [].concat(nodes, buildTopoNodeDatasFromSerialize(serialize)),
|
17
|
+
links: buildTopoLinks(links),
|
18
|
+
serialize: serialize
|
19
|
+
});
|
20
|
+
}
|
21
|
+
/**
|
22
|
+
* 构造子拓扑节点
|
23
|
+
* 构造子拓扑链路
|
24
|
+
* @param {*} ctx
|
25
|
+
*/
|
26
|
+
|
27
|
+
export function processByConditionTopoData(ctx) {
|
28
|
+
var data = ctx.data,
|
29
|
+
config = ctx.config;
|
30
|
+
var nodes = data.nodes,
|
31
|
+
links = data.links;
|
32
|
+
return _extends({}, data, {
|
33
|
+
nodes: [].concat(nodes, buildTopoNodeDatas(config)),
|
34
|
+
links: buildTopoLinks(links)
|
35
|
+
});
|
36
|
+
}
|
37
|
+
export function getRelateTopoIdListFromConfig(groups) {
|
38
|
+
var relateTopoIdList = [];
|
39
|
+
groups.forEach(function (g) {
|
40
|
+
g.resources["static"].filter(function (ciId) {
|
41
|
+
return ciId.startsWith('topo:');
|
42
|
+
}).map(function (ciId) {
|
43
|
+
return ciId.replace('topo:', '');
|
44
|
+
}).map(function (topoId) {
|
45
|
+
if (!relateTopoIdList.includes(topoId)) {
|
46
|
+
relateTopoIdList.push(topoId);
|
47
|
+
}
|
48
|
+
});
|
49
|
+
});
|
50
|
+
return relateTopoIdList;
|
51
|
+
}
|
52
|
+
export function buildTopoNode(topoId) {
|
53
|
+
return {
|
54
|
+
id: "topo:" + topoId,
|
55
|
+
// name: ,
|
56
|
+
bindType: "topo",
|
57
|
+
// 绑定资源类型。关联资源 值为空,关联IP ip
|
58
|
+
bindIp: topoId,
|
59
|
+
// TODO 所属区域,从序列化拿
|
60
|
+
// 'groupId': null,
|
61
|
+
// 'groupTag': null,
|
62
|
+
// 'attributes': [],
|
63
|
+
// 'metrics': [],
|
64
|
+
type: "node",
|
65
|
+
isbinding: true,
|
66
|
+
// 'dtype': 'device'
|
67
|
+
operation: "delete"
|
68
|
+
};
|
69
|
+
}
|
70
|
+
|
71
|
+
function buildTopoLinks(links) {
|
72
|
+
if (process.env.NODE_ENV !== 'production') {
|
73
|
+
links.push.apply(links, topoLinks);
|
74
|
+
}
|
75
|
+
|
76
|
+
return links.map(function (link) {
|
77
|
+
return _extends({}, link, {
|
78
|
+
"source": link.sourceType ? link.sourceType + ':' + link.source : link.source,
|
79
|
+
"target": link.targetType ? link.targetType + ':' + link.target : link.target
|
80
|
+
});
|
81
|
+
});
|
82
|
+
}
|
83
|
+
/**
|
84
|
+
* 升级历史数据:子拓扑节点序列化数据
|
85
|
+
* @param {*} serialize
|
86
|
+
*/
|
87
|
+
|
88
|
+
|
89
|
+
function upgradeSerializeOldTopoNode(serialize) {
|
90
|
+
if (serialize) {
|
91
|
+
var isOldTopoNode = function isOldTopoNode(ele) {
|
92
|
+
return isTopoNode(ele) && !ele.p.tag;
|
93
|
+
};
|
94
|
+
|
95
|
+
var oldTopoNodes = serialize.d.filter(isOldTopoNode);
|
96
|
+
oldTopoNodes.forEach(function (node) {
|
97
|
+
var _node$a;
|
98
|
+
|
99
|
+
var topoId = (_node$a = node.a) === null || _node$a === void 0 ? void 0 : _node$a.bindTopo;
|
100
|
+
node.a = _extends({}, node.a, buildTopoNode(topoId));
|
101
|
+
node.p.tag = "topo:" + topoId;
|
102
|
+
});
|
103
|
+
}
|
104
|
+
|
105
|
+
return serialize;
|
106
|
+
}
|
107
|
+
|
108
|
+
function isTopoNode(ele) {
|
109
|
+
var _ele$a;
|
110
|
+
|
111
|
+
return !!((_ele$a = ele.a) !== null && _ele$a !== void 0 && _ele$a.bindTopo);
|
112
|
+
}
|
113
|
+
|
114
|
+
function buildTopoNodeDatasFromSerialize(serialize) {
|
115
|
+
if (!serialize) {
|
116
|
+
return [];
|
117
|
+
}
|
118
|
+
|
119
|
+
var topoNodes = serialize.d.filter(isTopoNode);
|
120
|
+
var topoNodeDatas = topoNodes.map(function (node) {
|
121
|
+
var _node$a2;
|
122
|
+
|
123
|
+
var topoId = (_node$a2 = node.a) === null || _node$a2 === void 0 ? void 0 : _node$a2.bindTopo;
|
124
|
+
return buildTopoNode(topoId);
|
125
|
+
});
|
126
|
+
return topoNodeDatas;
|
127
|
+
}
|
128
|
+
|
129
|
+
function buildTopoNodeDatas(config) {
|
130
|
+
var topoNodeDatas = [];
|
131
|
+
config.forEach(function (g) {
|
132
|
+
g.resources["static"].filter(function (ciId) {
|
133
|
+
return ciId.startsWith('topo:');
|
134
|
+
}).map(function (ciId) {
|
135
|
+
return ciId.replace('topo:', '');
|
136
|
+
}).map(function (topoId) {
|
137
|
+
topoNodeDatas.push(_extends({}, buildTopoNode(topoId), {
|
138
|
+
// 添加资源拓扑节点消失的问题
|
139
|
+
'groupId': g.id,
|
140
|
+
'groupTag': g.tag
|
141
|
+
}));
|
142
|
+
});
|
143
|
+
});
|
144
|
+
return topoNodeDatas;
|
145
|
+
}
|
146
|
+
|
147
|
+
function getRelateTopoIdsFromSerialize(serialize) {
|
148
|
+
return serialize;
|
149
|
+
}
|
package/es/style.js
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
import '@riil-frontend/component-topology-graph/es/style';
|
2
2
|
import '@alifd/next/es/box/style';
|
3
|
-
import '@riil-frontend/component-topology-utils/es/style';
|
4
3
|
import '@alifd/next/es/message/style';
|
4
|
+
import '@riil-frontend/component-topology-utils/es/style';
|
5
5
|
import '@riil-frontend/utils/es/style';
|
6
6
|
import '@riil-frontend/component-riil-event-emitter/es/style';
|
7
7
|
import '@alifd/next/es/menu-button/style';
|
@@ -41,23 +41,8 @@ function getResourceConfigFromHt(topo) {
|
|
41
41
|
return {
|
42
42
|
layers: sortBy(layers, 'order'),
|
43
43
|
groups: groups,
|
44
|
-
resources: resources
|
45
|
-
relateTopoIdList: getRelateTopoIdList(dataModel)
|
44
|
+
resources: resources
|
46
45
|
};
|
47
|
-
} // 查询关联拓扑id列表
|
48
|
-
|
49
|
-
|
50
|
-
function getRelateTopoIdList(dataModel) {
|
51
|
-
return getNodes(dataModel).reduce(function (topoIds, node) {
|
52
|
-
var bindType = node.a('bindType');
|
53
|
-
var bindTopo = node.a('bindTopo');
|
54
|
-
|
55
|
-
if (bindType === 'topo' && bindTopo && !topoIds.includes(bindTopo)) {
|
56
|
-
return [].concat(topoIds, [bindTopo]);
|
57
|
-
}
|
58
|
-
|
59
|
-
return topoIds;
|
60
|
-
}, []);
|
61
46
|
}
|
62
47
|
|
63
48
|
function getLayerDatas(dataModel) {
|
package/es/utils/clusterUtil.js
CHANGED
@@ -5,7 +5,7 @@ import _extends from "@babel/runtime/helpers/extends";
|
|
5
5
|
*/
|
6
6
|
import { transformTopoElements } from "@riil-frontend/component-topology-graph/es/utils";
|
7
7
|
import rlog from "@riil-frontend/component-topology-utils/es/rlog";
|
8
|
-
import { getGroups,
|
8
|
+
import { getGroups, containsElement } from "./htElementUtils";
|
9
9
|
import { findGroupChildren } from "./topoData";
|
10
10
|
export function isCluster(node) {
|
11
11
|
return !!node.cluster;
|
@@ -76,7 +76,7 @@ export function isClusterHtElement(element) {
|
|
76
76
|
return !!element.a('cluster');
|
77
77
|
}
|
78
78
|
export function isClusterMemberHtElement(element) {
|
79
|
-
return element
|
79
|
+
return (element === null || element === void 0 ? void 0 : element.getParent()) && isClusterHtElement(element.getParent());
|
80
80
|
}
|
81
81
|
/**
|
82
82
|
* 集群无权限时收起
|
@@ -111,7 +111,7 @@ export function upgradeV103GraphClusterNode(topo, topoData) {
|
|
111
111
|
var topoDataTrans = transformTopoElements(topoData);
|
112
112
|
var dm = topo.getDataModel();
|
113
113
|
var unExistedList = topoDataTrans.filter(function (data) {
|
114
|
-
return !
|
114
|
+
return !containsElement(dm, data);
|
115
115
|
});
|
116
116
|
|
117
117
|
if (!unExistedList.length) {
|
@@ -115,9 +115,6 @@ export function getNodeData(element) {
|
|
115
115
|
export function getEdges(dataModel) {
|
116
116
|
return getElements(dataModel).filter(isValidEdge);
|
117
117
|
}
|
118
|
-
export function isEdgeGroupExpanded(edge) {
|
119
|
-
return isEdge(edge) && edge.getEdgeGroup() && !!edge.s("edge.expanded");
|
120
|
-
}
|
121
118
|
/**
|
122
119
|
* 是否连线组代理
|
123
120
|
* @param {*} edge
|
@@ -125,7 +122,10 @@ export function isEdgeGroupExpanded(edge) {
|
|
125
122
|
*/
|
126
123
|
|
127
124
|
export function isEdgeGroupAgent(edge) {
|
128
|
-
return isEdge(edge) && edge.
|
125
|
+
return isEdge(edge) && edge.a('x.edgegroup.isEdgeGroup');
|
126
|
+
}
|
127
|
+
export function isEdgeVisible(edge) {
|
128
|
+
return edge.s('2d.visible') || edge.s('2d.visible') === undefined;
|
129
129
|
}
|
130
130
|
/**
|
131
131
|
* 获得两个节点间的连线列表
|
@@ -142,7 +142,9 @@ export function getEdgesBetweenNodes(node1, node2) {
|
|
142
142
|
return edges;
|
143
143
|
}
|
144
144
|
|
145
|
-
node1Edges.toArray().filter(isValidEdge).
|
145
|
+
node1Edges.toArray().filter(isValidEdge).filter(function (edge) {
|
146
|
+
return !isEdgeGroupAgent(edge);
|
147
|
+
}).forEach(function (edge) {
|
146
148
|
var isEdgeBetweenNodes = edge.getSource().getTag() === node2.getTag() || edge.getTarget().getTag() === node2.getTag();
|
147
149
|
|
148
150
|
if (isEdgeBetweenNodes) {
|
@@ -152,61 +154,18 @@ export function getEdgesBetweenNodes(node1, node2) {
|
|
152
154
|
return edges;
|
153
155
|
}
|
154
156
|
/**
|
155
|
-
*
|
156
|
-
* @
|
157
|
+
* 获得连线组连线列表
|
158
|
+
* @param {*} dataModel
|
159
|
+
* @returns
|
157
160
|
*/
|
158
161
|
|
159
|
-
export function getEdgeGroupByNodes(node1, node2) {
|
160
|
-
var htEdgeGroup = null;
|
161
|
-
getEdgesBetweenNodes(node1, node2).forEach(function (edge) {
|
162
|
-
if (!htEdgeGroup) {
|
163
|
-
htEdgeGroup = edge.getEdgeGroup();
|
164
|
-
}
|
165
|
-
});
|
166
|
-
|
167
|
-
if (!htEdgeGroup) {
|
168
|
-
return null;
|
169
|
-
}
|
170
|
-
|
171
|
-
return new EdgeGroup(htEdgeGroup);
|
172
|
-
}
|
173
|
-
/**
|
174
|
-
* 获得节点间的连线组,连线<=1时返回null
|
175
|
-
* @returns
|
176
|
-
*/
|
177
|
-
|
178
|
-
export function getEdgeGroupByNodeTags(dataModel, nodeTag1, nodeTag2) {
|
179
|
-
var node1 = dataModel.getDataByTag(nodeTag1);
|
180
|
-
var node2 = dataModel.getDataByTag(nodeTag2);
|
181
|
-
|
182
|
-
if (!node1 || !node2) {
|
183
|
-
console.warn("getEdgeGroupByNodes 未找到节点", {
|
184
|
-
node1: node1,
|
185
|
-
node2: node2,
|
186
|
-
nodeTag1: nodeTag1,
|
187
|
-
nodeTag2: nodeTag2
|
188
|
-
});
|
189
|
-
return null;
|
190
|
-
}
|
191
|
-
|
192
|
-
return getEdgeGroupByNodes(node1, node2);
|
193
|
-
}
|
194
|
-
export function getEdgeGroups(dataModel) {
|
195
|
-
var edgeGroups = [];
|
196
|
-
getEdges(dataModel).forEach(function (edge) {
|
197
|
-
var group = edge.getEdgeGroup();
|
198
|
-
|
199
|
-
if (group && !edgeGroups.includes(group)) {
|
200
|
-
edgeGroups.push(group);
|
201
|
-
}
|
202
|
-
});
|
203
|
-
return edgeGroups;
|
204
|
-
}
|
205
162
|
export function getEdgeGroupAgents(dataModel) {
|
206
163
|
return getEdges(dataModel).filter(isEdgeGroupAgent);
|
207
164
|
}
|
208
165
|
export function getEdgeDatas(dataModel) {
|
209
|
-
return getEdges(dataModel).
|
166
|
+
return getEdges(dataModel).filter(function (edge) {
|
167
|
+
return !isEdgeGroupAgent(edge);
|
168
|
+
}).map(function (element) {
|
210
169
|
var _element$getSource, _element$getTarget;
|
211
170
|
|
212
171
|
return _extends({}, element.getAttrObject(), {
|
@@ -309,9 +268,13 @@ export function setElementRuntimeStyle(element, name, value) {
|
|
309
268
|
}
|
310
269
|
/**
|
311
270
|
* 判断拓扑图是否存在元素
|
271
|
+
*
|
272
|
+
* @param {*} dataModel
|
273
|
+
* @param {{id?: string, tag?: string}} data
|
274
|
+
* @returns
|
312
275
|
*/
|
313
276
|
|
314
|
-
export function
|
277
|
+
export function containsElement(dataModel, data) {
|
315
278
|
if (dataModel.getDataByTag(data.id)) {
|
316
279
|
return true;
|
317
280
|
} // 识别区域
|
@@ -320,34 +283,5 @@ export function isExistedElement(htTopo, dataModel, data) {
|
|
320
283
|
var element = getElements(dataModel).find(function (item) {
|
321
284
|
return data.tag && item.a("tag") === data.tag;
|
322
285
|
});
|
323
|
-
|
324
|
-
if (element) {
|
325
|
-
return true;
|
326
|
-
} // 连线/连线组
|
327
|
-
|
328
|
-
|
329
|
-
var edges = getEdges(dataModel);
|
330
|
-
|
331
|
-
for (var i = 0; i < edges.length; i++) {
|
332
|
-
var edge = edges[i]; // 如果连线组折叠,判断子连线
|
333
|
-
|
334
|
-
var edgeData = htTopo.getEdgeData(edge);
|
335
|
-
|
336
|
-
if (edgeData) {
|
337
|
-
// eslint-disable-next-line no-underscore-dangle
|
338
|
-
var id = edgeData._attrObject.id;
|
339
|
-
|
340
|
-
if (id === data.id) {
|
341
|
-
return true;
|
342
|
-
}
|
343
|
-
} // 如果连线组展开,判断连线组
|
344
|
-
// eslint-disable-next-line no-underscore-dangle
|
345
|
-
|
346
|
-
|
347
|
-
if (edge.__edgeGroup && edge.__edgeGroup._tag === data.id) {
|
348
|
-
return true;
|
349
|
-
}
|
350
|
-
}
|
351
|
-
|
352
|
-
return false;
|
286
|
+
return !!element;
|
353
287
|
}
|
@@ -7,8 +7,12 @@ exports["default"] = void 0;
|
|
7
7
|
|
8
8
|
var _balloon = _interopRequireDefault(require("@alifd/next/lib/balloon"));
|
9
9
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
11
|
+
|
10
12
|
var _react = _interopRequireWildcard(require("react"));
|
11
13
|
|
14
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
15
|
+
|
12
16
|
var _classnames4 = _interopRequireDefault(require("classnames"));
|
13
17
|
|
14
18
|
var _color = _interopRequireDefault(require("color"));
|
@@ -26,7 +30,58 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
26
30
|
/* eslint-disable eqeqeq */
|
27
31
|
|
28
32
|
/* eslint-disable jsx-a11y/alt-text */
|
29
|
-
|
33
|
+
var defaultColorList = [{
|
34
|
+
color: 'rgba(255, 255, 255, 1)',
|
35
|
+
borderColor: 'rgba(219, 219, 219, 1)'
|
36
|
+
}, {
|
37
|
+
color: 'rgba(245, 245, 245, 1)',
|
38
|
+
borderColor: 'rgba(208, 208, 208, 1)'
|
39
|
+
}, {
|
40
|
+
color: 'rgba(230, 230, 230, 1)',
|
41
|
+
borderColor: 'rgba(196, 196, 196, 1)'
|
42
|
+
}, {
|
43
|
+
color: 'rgba(168, 168, 168, 1)',
|
44
|
+
borderColor: 'rgba(146, 146, 146, 1)'
|
45
|
+
}, {
|
46
|
+
color: 'rgba(97, 97, 97, 1)',
|
47
|
+
borderColor: 'rgba(85, 85, 85, 1)'
|
48
|
+
}, {
|
49
|
+
color: 'rgba(49, 49, 49, 1)',
|
50
|
+
borderColor: 'rgba(43, 43, 43, 1)'
|
51
|
+
}, {
|
52
|
+
color: 'rgba(251, 115, 80, 1)',
|
53
|
+
borderColor: 'rgba(213, 98, 69, 1)'
|
54
|
+
}, {
|
55
|
+
color: 'rgba(255, 166, 41, 1)',
|
56
|
+
borderColor: 'rgba(219, 144, 45, 1)'
|
57
|
+
}, {
|
58
|
+
color: 'rgba(255, 205, 42, 1)',
|
59
|
+
borderColor: 'rgba(216, 175, 37, 1)'
|
60
|
+
}, {
|
61
|
+
color: 'rgba(18, 174, 92, 1)',
|
62
|
+
borderColor: 'rgba(23, 148, 79, 1)'
|
63
|
+
}, {
|
64
|
+
color: 'rgba(83, 184, 255, 1)',
|
65
|
+
borderColor: 'rgba(74, 156, 217, 1)'
|
66
|
+
}, {
|
67
|
+
color: 'rgba(183, 128, 255, 1)',
|
68
|
+
borderColor: 'rgba(155, 109, 216, 1)'
|
69
|
+
}, {
|
70
|
+
color: 'rgba(254, 192, 174, 1)',
|
71
|
+
borderColor: 'rgba(217, 163, 148, 1)'
|
72
|
+
}, {
|
73
|
+
color: 'rgba(252, 209, 156, 1)',
|
74
|
+
borderColor: 'rgba(215, 178, 133, 1)'
|
75
|
+
}, {
|
76
|
+
color: 'rgba(255, 232, 163, 1)',
|
77
|
+
borderColor: 'rgba(217, 198, 139, 1)'
|
78
|
+
}, {
|
79
|
+
color: 'rgba(176, 244, 197, 1)',
|
80
|
+
borderColor: 'rgba(153, 209, 171, 1)'
|
81
|
+
}, {
|
82
|
+
color: 'rgba(189, 227, 255, 1)',
|
83
|
+
borderColor: 'rgba(161, 193, 217, 1)'
|
84
|
+
}];
|
30
85
|
/**
|
31
86
|
* 颜色选择
|
32
87
|
*
|
@@ -34,12 +89,15 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
34
89
|
* @return {*}
|
35
90
|
* @constructor
|
36
91
|
*/
|
92
|
+
|
37
93
|
function ColorPanel(props) {
|
38
94
|
var _classnames2, _classnames3;
|
39
95
|
|
40
96
|
var value = props.value,
|
41
97
|
showClear = props.showClear,
|
42
|
-
dataSource = props.dataSource,
|
98
|
+
_props$dataSource = props.dataSource,
|
99
|
+
dataSource = _props$dataSource === void 0 ? defaultColorList : _props$dataSource,
|
100
|
+
colorPickerBalloonProps = props.colorPickerBalloonProps,
|
43
101
|
onChange = props.onChange,
|
44
102
|
onPickerFocus = props.onPickerFocus,
|
45
103
|
onPickerBlur = props.onPickerBlur;
|
@@ -187,9 +245,7 @@ function ColorPanel(props) {
|
|
187
245
|
onClick: function onClick() {
|
188
246
|
changClick('17');
|
189
247
|
}
|
190
|
-
}, /*#__PURE__*/_react["default"].createElement(_balloon["default"], {
|
191
|
-
visible: visible,
|
192
|
-
trigger: defaultTrigger,
|
248
|
+
}, /*#__PURE__*/_react["default"].createElement(_balloon["default"], (0, _extends2["default"])({
|
193
249
|
closable: false,
|
194
250
|
triggerType: "click",
|
195
251
|
animation: false,
|
@@ -198,9 +254,12 @@ function ColorPanel(props) {
|
|
198
254
|
alignEdge: true,
|
199
255
|
style: {
|
200
256
|
paddingBottom: 0
|
201
|
-
}
|
257
|
+
}
|
258
|
+
}, colorPickerBalloonProps, {
|
259
|
+
visible: visible,
|
260
|
+
trigger: defaultTrigger,
|
202
261
|
onClose: close
|
203
|
-
}, /*#__PURE__*/_react["default"].createElement(_reactColor.SketchPicker, {
|
262
|
+
}), /*#__PURE__*/_react["default"].createElement(_reactColor.SketchPicker, {
|
204
263
|
color: data !== null && data !== void 0 ? data : undefined // width={230}
|
205
264
|
,
|
206
265
|
disableAlpha: true,
|
@@ -216,61 +275,14 @@ function ColorPanel(props) {
|
|
216
275
|
}))))));
|
217
276
|
}
|
218
277
|
|
278
|
+
ColorPanel.propTypes = {
|
279
|
+
dataSource: _propTypes["default"].array
|
280
|
+
};
|
219
281
|
ColorPanel.defaultProps = {
|
220
282
|
value: undefined,
|
221
283
|
showClear: false,
|
222
|
-
dataSource:
|
223
|
-
|
224
|
-
borderColor: 'rgba(219, 219, 219, 1)'
|
225
|
-
}, {
|
226
|
-
color: 'rgba(245, 245, 245, 1)',
|
227
|
-
borderColor: 'rgba(208, 208, 208, 1)'
|
228
|
-
}, {
|
229
|
-
color: 'rgba(230, 230, 230, 1)',
|
230
|
-
borderColor: 'rgba(196, 196, 196, 1)'
|
231
|
-
}, {
|
232
|
-
color: 'rgba(168, 168, 168, 1)',
|
233
|
-
borderColor: 'rgba(146, 146, 146, 1)'
|
234
|
-
}, {
|
235
|
-
color: 'rgba(97, 97, 97, 1)',
|
236
|
-
borderColor: 'rgba(85, 85, 85, 1)'
|
237
|
-
}, {
|
238
|
-
color: 'rgba(49, 49, 49, 1)',
|
239
|
-
borderColor: 'rgba(43, 43, 43, 1)'
|
240
|
-
}, {
|
241
|
-
color: 'rgba(251, 115, 80, 1)',
|
242
|
-
borderColor: 'rgba(213, 98, 69, 1)'
|
243
|
-
}, {
|
244
|
-
color: 'rgba(255, 166, 41, 1)',
|
245
|
-
borderColor: 'rgba(219, 144, 45, 1)'
|
246
|
-
}, {
|
247
|
-
color: 'rgba(255, 205, 42, 1)',
|
248
|
-
borderColor: 'rgba(216, 175, 37, 1)'
|
249
|
-
}, {
|
250
|
-
color: 'rgba(18, 174, 92, 1)',
|
251
|
-
borderColor: 'rgba(23, 148, 79, 1)'
|
252
|
-
}, {
|
253
|
-
color: 'rgba(83, 184, 255, 1)',
|
254
|
-
borderColor: 'rgba(74, 156, 217, 1)'
|
255
|
-
}, {
|
256
|
-
color: 'rgba(183, 128, 255, 1)',
|
257
|
-
borderColor: 'rgba(155, 109, 216, 1)'
|
258
|
-
}, {
|
259
|
-
color: 'rgba(254, 192, 174, 1)',
|
260
|
-
borderColor: 'rgba(217, 163, 148, 1)'
|
261
|
-
}, {
|
262
|
-
color: 'rgba(252, 209, 156, 1)',
|
263
|
-
borderColor: 'rgba(215, 178, 133, 1)'
|
264
|
-
}, {
|
265
|
-
color: 'rgba(255, 232, 163, 1)',
|
266
|
-
borderColor: 'rgba(217, 198, 139, 1)'
|
267
|
-
}, {
|
268
|
-
color: 'rgba(176, 244, 197, 1)',
|
269
|
-
borderColor: 'rgba(153, 209, 171, 1)'
|
270
|
-
}, {
|
271
|
-
color: 'rgba(189, 227, 255, 1)',
|
272
|
-
borderColor: 'rgba(161, 193, 217, 1)'
|
273
|
-
}],
|
284
|
+
dataSource: defaultColorList,
|
285
|
+
colorPickerBalloonProps: {},
|
274
286
|
onChange: function onChange() {},
|
275
287
|
onPickerFocus: function onPickerFocus() {},
|
276
288
|
onPickerBlur: function onPickerBlur() {}
|
@@ -83,7 +83,7 @@ function ResourceSelectDrawer(props) {
|
|
83
83
|
_context.t0 = _context["catch"](1);
|
84
84
|
setLoading(false);
|
85
85
|
|
86
|
-
_componentTopologyUtils.rlog.error('ResourceSelectDrawer.handleOk', _context.t0);
|
86
|
+
_componentTopologyUtils.rlog.error('ResourceSelectDrawer.handleOk', _context.t0, _context.t0.stack);
|
87
87
|
|
88
88
|
case 13:
|
89
89
|
case "end":
|
@@ -19,7 +19,7 @@ var _componentTopologyGraph = _interopRequireWildcard(require("@riil-frontend/co
|
|
19
19
|
|
20
20
|
var _PortalContainer = _interopRequireDefault(require("@riil-frontend/component-topology-graph/es/components/PortalContainer"));
|
21
21
|
|
22
|
-
var
|
22
|
+
var _loglevel = _interopRequireDefault(require("loglevel"));
|
23
23
|
|
24
24
|
var _showMessage = _interopRequireDefault(require("../../utils/showMessage"));
|
25
25
|
|
@@ -66,6 +66,8 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
66
66
|
// 通用
|
67
67
|
// 显示模式
|
68
68
|
// 编辑模式
|
69
|
+
var rlog = _loglevel["default"].getLogger('topo');
|
70
|
+
|
69
71
|
var Topology = function Topology(props) {
|
70
72
|
var _classnames;
|
71
73
|
|
@@ -138,40 +140,39 @@ var Topology = function Topology(props) {
|
|
138
140
|
(0, _react.useEffect)(function () {
|
139
141
|
// 拓扑退出注销
|
140
142
|
return function () {
|
141
|
-
|
142
|
-
|
143
|
+
rlog.info('TopoView 退出');
|
143
144
|
topo.selectionModel.destroy();
|
144
145
|
topoDispatchers.reset();
|
145
146
|
};
|
146
147
|
}, []);
|
147
148
|
var onGraphCreated = (0, _react.useCallback)(function (topoClient) {
|
148
149
|
topo.view.onCreatedView(topoClient);
|
149
|
-
|
150
|
-
_componentTopologyUtils.rlog.info('TopoView.onGraphCreated');
|
150
|
+
rlog.info('TopoView.onGraphCreated');
|
151
151
|
|
152
152
|
if (onReady) {
|
153
153
|
onReady();
|
154
154
|
}
|
155
155
|
}, []);
|
156
156
|
var handleGraphDataLoaded = (0, _react.useCallback)(function () {
|
157
|
-
|
157
|
+
rlog.info('TopoView.handleGraphDataLoaded: 数据加载完成', new Date().toString(), {
|
158
158
|
topoMod: topo.store.getState().topoMod,
|
159
159
|
topoData: topoData,
|
160
160
|
htElements: topo.getDataModel().getDatas().toArray()
|
161
161
|
});
|
162
|
-
|
163
162
|
(0, _nodeNameVisibleUtil.updateNodesNameVisible)(topo);
|
164
163
|
(0, _clusterUtil.upgradeV103GraphClusterNode)(topo, topoData);
|
165
164
|
(0, _graphLinkUtil.fixLink)(topo);
|
166
165
|
(0, _clusterUtil.handleClusterNoPermission)(topo);
|
167
166
|
(0, _edgeUtil.updateEdgeExpanded)(topo);
|
167
|
+
topo.selectionModel.init();
|
168
168
|
var htHistoryManager = topo.getDataModel().getHistoryManager();
|
169
169
|
|
170
|
-
if (htHistoryManager) {
|
170
|
+
if (topo.store.getState().topoMod.viewState === 'edit' && htHistoryManager) {
|
171
171
|
topo.historyManager = new _HistoryManager["default"](topo, htHistoryManager);
|
172
|
+
topo.historyManager.clear();
|
173
|
+
rlog.info('TopoView.handleGraphDataLoaded: 初始化HistoryManager ', topo.historyManager.toString());
|
172
174
|
}
|
173
175
|
|
174
|
-
topo.selectionModel.init();
|
175
176
|
topoDispatchers.update({
|
176
177
|
graphLoaded2: true
|
177
178
|
});
|
@@ -181,12 +182,11 @@ var Topology = function Topology(props) {
|
|
181
182
|
}
|
182
183
|
}, [topoData]);
|
183
184
|
var handleGraphLoaded = (0, _react.useCallback)(function () {
|
184
|
-
|
185
|
+
rlog.info('TopoView.handleGraphLoaded', new Date().toString(), {
|
185
186
|
topoMod: topo.store.getState().topoMod,
|
186
187
|
topoData: topoData,
|
187
188
|
htElements: topo.getDataModel().getDatas().toArray()
|
188
189
|
});
|
189
|
-
|
190
190
|
(0, _nodeNameVisibleUtil.updateNodesNameVisible)(topo);
|
191
191
|
(0, _clusterUtil.upgradeV103GraphClusterNode)(topo, topoData);
|
192
192
|
(0, _graphLinkUtil.fixLink)(topo);
|
@@ -223,8 +223,7 @@ var Topology = function Topology(props) {
|
|
223
223
|
}, [topoData]);
|
224
224
|
|
225
225
|
var rightEventHandle = function rightEventHandle(event) {
|
226
|
-
|
227
|
-
|
226
|
+
rlog.debug('右键事件', event);
|
228
227
|
var contextMenu = topo.view.contextMenu;
|
229
228
|
|
230
229
|
if (contextMenu.containsCommand(event.data.id)) {
|
@@ -233,8 +232,7 @@ var Topology = function Topology(props) {
|
|
233
232
|
};
|
234
233
|
|
235
234
|
var onRefresh = function onRefresh(e) {
|
236
|
-
|
237
|
-
|
235
|
+
rlog.debug('TopoView:onRefresh', e);
|
238
236
|
onRefreshTopo ? onRefreshTopo() : topoDispatchers.refreshTopo();
|
239
237
|
};
|
240
238
|
/**
|
@@ -244,8 +242,7 @@ var Topology = function Topology(props) {
|
|
244
242
|
|
245
243
|
|
246
244
|
var handleEvent = function handleEvent(event) {
|
247
|
-
|
248
|
-
|
245
|
+
rlog.debug('TopoView:onEvent', event);
|
249
246
|
onEvent && onEvent(event);
|
250
247
|
topoEdit.onEvent(event);
|
251
248
|
|
@@ -272,8 +269,7 @@ var Topology = function Topology(props) {
|
|
272
269
|
break;
|
273
270
|
|
274
271
|
case _componentTopologyGraph.TopoEvent.EVENT_CONTEXT_TOOL:
|
275
|
-
|
276
|
-
|
272
|
+
rlog.debug('自定义工具栏事件', event);
|
277
273
|
break;
|
278
274
|
|
279
275
|
default:
|
@@ -53,14 +53,14 @@ function EdgeColorButton(props) {
|
|
53
53
|
});
|
54
54
|
};
|
55
55
|
|
56
|
-
var
|
56
|
+
var getCustomLines = function getCustomLines(list) {
|
57
57
|
return list.filter(_edgeUtil.isCustomEdge);
|
58
58
|
};
|
59
59
|
|
60
60
|
(0, _react.useEffect)(function () {
|
61
61
|
if (graphLoaded) {
|
62
62
|
var edges = (0, _edgeTypeStyleUtil.getEdgesBySelection)(topo);
|
63
|
-
var list =
|
63
|
+
var list = getCustomLines(edges);
|
64
64
|
setLineWidth(1); // eslint-disable-next-line eqeqeq
|
65
65
|
|
66
66
|
if (selection.length == 1 && list.length === 1) {
|