@riil-frontend/component-topology 3.4.0 → 3.5.0-a.2
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/index.js +7 -7
- package/es/constants/ResourceTypeLimit.js +28 -2
- package/es/core/components/AlarmListPanel/components/AlarmListItem.js +6 -1
- package/es/core/components/TopoView/topoView.js +7 -3
- package/es/core/editor/components/titlebar/TopoEditorTitleBar.js +29 -1
- package/es/core/models/Alarm.js +1 -4
- package/es/core/models/DataModel.js +20 -0
- package/es/core/models/TopoApp.js +1 -1
- package/es/hooks/useManageStatus.js +43 -0
- package/es/hooks/useTopoEdit.js +0 -5
- package/es/models/topoAlarm.js +1 -4
- package/es/models/topoConfig.js +2 -2
- package/es/topoCenter/components/editor/propertyViews/edge/LinkPropertyView/Data/index.js +1 -3
- package/es/topoCenter/components/editor/propertyViews/edge/LinkPropertyView/LinkPropertyView.js +1 -3
- package/es/topoCenter/components/editor/propertyViews/edge/addLinkDrawer/AddLinkDrawer.js +64 -32
- package/es/topoCenter/getTopoData.js +53 -9
- package/es/topoCenter/hooks/editor/useDeleteEdges.js +2 -0
- package/es/topoCenter/store/topoTreeMod.js +6 -19
- package/es/topoCenter/utils/linPermissionUtil.js +3 -17
- package/es/topoCenter/utils/resourcePermissionUtil.js +84 -0
- package/es/utils/ResourceConfigUtil.js +1 -1
- package/es/utils/htElementUtils.js +11 -0
- package/lib/constants/ResourceTypeLimit.js +37 -3
- package/lib/core/components/AlarmListPanel/components/AlarmListItem.js +6 -1
- package/lib/core/components/TopoView/topoView.js +7 -2
- package/lib/core/editor/components/titlebar/TopoEditorTitleBar.js +32 -1
- package/lib/core/models/Alarm.js +1 -4
- package/lib/core/models/DataModel.js +20 -0
- package/lib/core/models/TopoApp.js +1 -1
- package/lib/hooks/useManageStatus.js +50 -0
- package/lib/hooks/useTopoEdit.js +0 -5
- package/lib/models/topoAlarm.js +0 -6
- package/lib/models/topoConfig.js +1 -1
- package/lib/topoCenter/components/editor/propertyViews/edge/LinkPropertyView/Data/index.js +1 -4
- package/lib/topoCenter/components/editor/propertyViews/edge/LinkPropertyView/LinkPropertyView.js +1 -3
- package/lib/topoCenter/components/editor/propertyViews/edge/addLinkDrawer/AddLinkDrawer.js +64 -32
- package/lib/topoCenter/getTopoData.js +55 -9
- package/lib/topoCenter/hooks/editor/useDeleteEdges.js +2 -0
- package/lib/topoCenter/store/topoTreeMod.js +7 -20
- package/lib/topoCenter/utils/linPermissionUtil.js +4 -18
- package/lib/topoCenter/utils/resourcePermissionUtil.js +98 -0
- package/lib/utils/ResourceConfigUtil.js +1 -1
- package/lib/utils/htElementUtils.js +19 -6
- package/package.json +3 -3
|
@@ -1,21 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
if (linkType === "exit") {
|
|
3
|
-
return ["write", "delete"].indexOf(source === null || source === void 0 ? void 0 : source.operation) !== -1;
|
|
4
|
-
} else {
|
|
5
|
-
return [source, target].filter(function (node) {
|
|
6
|
-
return ["write", "delete"].indexOf(node === null || node === void 0 ? void 0 : node.operation) !== -1;
|
|
7
|
-
}).length === 2;
|
|
8
|
-
}
|
|
9
|
-
};
|
|
1
|
+
import { getLinkPermissionByConnectType } from "./resourcePermissionUtil";
|
|
10
2
|
/**
|
|
11
3
|
* 获得链路权限
|
|
12
4
|
*
|
|
13
5
|
* @param {*} link
|
|
14
6
|
* @param {*} nodes
|
|
7
|
+
* @deprecated
|
|
15
8
|
* @returns
|
|
16
9
|
*/
|
|
17
10
|
|
|
18
|
-
|
|
19
11
|
export function getLinkPermission(edge, nodes, link) {
|
|
20
12
|
var source = nodes.find(function (node) {
|
|
21
13
|
return node.id === edge.getSource().getTag();
|
|
@@ -25,11 +17,5 @@ export function getLinkPermission(edge, nodes, link) {
|
|
|
25
17
|
}); // console.log("getLinkPermission", edge, source, target, link);
|
|
26
18
|
|
|
27
19
|
var linkType = link ? link.attributes["network_link.connect_type"] : edge.a("network_link.connect_type");
|
|
28
|
-
return
|
|
29
|
-
readable: (source === null || source === void 0 ? void 0 : source.operation) || (target === null || target === void 0 ? void 0 : target.operation),
|
|
30
|
-
writeable: isWriteable(edge, source, target, linkType),
|
|
31
|
-
deleteable: [source, target].filter(function (node) {
|
|
32
|
-
return ["write", "delete"].indexOf(node === null || node === void 0 ? void 0 : node.operation) !== -1;
|
|
33
|
-
}).length >= 1
|
|
34
|
-
};
|
|
20
|
+
return getLinkPermissionByConnectType(linkType, source, target);
|
|
35
21
|
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
export function getNodePermission(node) {
|
|
3
|
+
return {
|
|
4
|
+
readable: !!(node !== null && node !== void 0 && node.operation),
|
|
5
|
+
writeable: ['write', 'delete'].includes(node === null || node === void 0 ? void 0 : node.operation),
|
|
6
|
+
deleteable: ['delete'].includes(node === null || node === void 0 ? void 0 : node.operation)
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* 获得链路权限
|
|
11
|
+
*
|
|
12
|
+
* @param {*} link
|
|
13
|
+
* @param {*} source
|
|
14
|
+
* @param {*} target
|
|
15
|
+
* @returns
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
export function getLinkPermission(link, source, target) {
|
|
19
|
+
var linkType = link.attributes['network_link.connect_type'];
|
|
20
|
+
|
|
21
|
+
var isWriteable = function isWriteable() {
|
|
22
|
+
if (linkType === 'exit') {
|
|
23
|
+
return ['write', 'delete'].indexOf(source === null || source === void 0 ? void 0 : source.operation) !== -1;
|
|
24
|
+
} else {
|
|
25
|
+
return [source, target].filter(function (node) {
|
|
26
|
+
return ['write', 'delete'].indexOf(node === null || node === void 0 ? void 0 : node.operation) !== -1;
|
|
27
|
+
}).length === 2;
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
return {
|
|
32
|
+
readable: !!(source !== null && source !== void 0 && source.operation) || !!(target !== null && target !== void 0 && target.operation),
|
|
33
|
+
writeable: isWriteable(),
|
|
34
|
+
deleteable: [source, target].filter(function (node) {
|
|
35
|
+
return ['write', 'delete'].includes(node === null || node === void 0 ? void 0 : node.operation);
|
|
36
|
+
}).length >= 1
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* 适配接口
|
|
41
|
+
*
|
|
42
|
+
* @param {*} connectType
|
|
43
|
+
* @param {*} source
|
|
44
|
+
* @param {*} target
|
|
45
|
+
* @returns
|
|
46
|
+
*/
|
|
47
|
+
|
|
48
|
+
export function getLinkPermissionByConnectType(connectType, source, target) {
|
|
49
|
+
var link = {
|
|
50
|
+
attributes: {
|
|
51
|
+
'network_link.connect_type': connectType
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
return getLinkPermission(link, source, target);
|
|
55
|
+
}
|
|
56
|
+
export function addTopoDataResourcePermission(data) {
|
|
57
|
+
var nodes = data.nodes,
|
|
58
|
+
links = data.links,
|
|
59
|
+
linkGroups = data.linkGroups;
|
|
60
|
+
|
|
61
|
+
var addLinksPermission = function addLinksPermission(linkList) {
|
|
62
|
+
return linkList.map(function (link) {
|
|
63
|
+
var source = nodes.find(function (n) {
|
|
64
|
+
return n.id === link.source;
|
|
65
|
+
});
|
|
66
|
+
var target = nodes.find(function (n) {
|
|
67
|
+
return n.id === link.target;
|
|
68
|
+
});
|
|
69
|
+
return _extends({}, link, {
|
|
70
|
+
permission: getLinkPermission(link, source, target)
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
return _extends({}, data, {
|
|
76
|
+
nodes: nodes.map(function (node) {
|
|
77
|
+
return _extends({}, node, {
|
|
78
|
+
permission: getNodePermission(node)
|
|
79
|
+
});
|
|
80
|
+
}),
|
|
81
|
+
links: addLinksPermission(links),
|
|
82
|
+
linkGroups: addLinksPermission(linkGroups)
|
|
83
|
+
});
|
|
84
|
+
}
|
|
@@ -57,7 +57,7 @@ function getResourceConfigFromHt(topo) {
|
|
|
57
57
|
|
|
58
58
|
if (id) {
|
|
59
59
|
var linkData = topo.dataModel.getDataById(id);
|
|
60
|
-
var connectType = linkData === null || linkData === void 0 ? void 0 : linkData.attributes["network_link.connect_type"];
|
|
60
|
+
var connectType = linkData !== null && linkData !== void 0 && linkData.attributes ? linkData === null || linkData === void 0 ? void 0 : linkData.attributes["network_link.connect_type"] : undefined;
|
|
61
61
|
|
|
62
62
|
if (connectType === "exit" && !exportLinkIdList.includes(id)) {
|
|
63
63
|
exportLinkIdList.push(id);
|
|
@@ -263,4 +263,15 @@ export function getGroupChildrenNodes(group) {
|
|
|
263
263
|
|
|
264
264
|
export function getGroupChildrenData(group) {
|
|
265
265
|
return getGroupChildren(group).map(getNodeData);
|
|
266
|
+
}
|
|
267
|
+
export function setElementRuntimeStyle(element, name, value) {
|
|
268
|
+
var _extends2;
|
|
269
|
+
|
|
270
|
+
var runtimeStyle = _extends({}, element.a('runtimeStyles') || {}, (_extends2 = {}, _extends2[name] = value, _extends2));
|
|
271
|
+
|
|
272
|
+
if (value === undefined) {
|
|
273
|
+
delete runtimeStyle[name];
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
element.a('runtimeStyles', runtimeStyle);
|
|
266
277
|
}
|
|
@@ -1,11 +1,45 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
3
5
|
exports.__esModule = true;
|
|
4
|
-
exports.
|
|
6
|
+
exports.filterCiTypes = exports.RESOURCE_LIMIT_TYPES = void 0;
|
|
7
|
+
exports.filterModelTree = filterModelTree;
|
|
8
|
+
exports.getCiModels = getCiModels;
|
|
9
|
+
exports.getNetworkTopoCommonResListProps = void 0;
|
|
10
|
+
|
|
11
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
12
|
+
|
|
13
|
+
var excludeTypes = ['data_center', 'manage_assets', 'network_link', 'access_link']; // 过滤模型树
|
|
14
|
+
|
|
15
|
+
function filterModelTree(modelTree) {
|
|
16
|
+
return modelTree.filter(function (node) {
|
|
17
|
+
return !excludeTypes.includes(node.code);
|
|
18
|
+
}).map(function (node) {
|
|
19
|
+
return (0, _extends2["default"])({}, node, {
|
|
20
|
+
childs: filterModelTree(node.childs || []).filter(function (child) {
|
|
21
|
+
return child.monitorable;
|
|
22
|
+
})
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
function getCiModels(modelTree) {
|
|
28
|
+
var list = [];
|
|
29
|
+
filterModelTree(modelTree).forEach(function (domainModel) {
|
|
30
|
+
list.push.apply(list, domainModel.childs);
|
|
31
|
+
});
|
|
32
|
+
return list;
|
|
33
|
+
} // 资源选择组件过滤类型
|
|
34
|
+
|
|
5
35
|
|
|
6
36
|
var filterCiTypes = function filterCiTypes(tree) {
|
|
7
|
-
return tree.filter(function (
|
|
8
|
-
return
|
|
37
|
+
return tree.filter(function (node) {
|
|
38
|
+
return !excludeTypes.includes(node.value);
|
|
39
|
+
}).map(function (node) {
|
|
40
|
+
return (0, _extends2["default"])({}, node, {
|
|
41
|
+
children: filterCiTypes(node.children || [])
|
|
42
|
+
});
|
|
9
43
|
});
|
|
10
44
|
};
|
|
11
45
|
|
|
@@ -21,6 +21,11 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
21
21
|
|
|
22
22
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
23
23
|
|
|
24
|
+
var alarmLink = function alarmLink(alarmInfo) {
|
|
25
|
+
console.log("alarmLink", alarmInfo);
|
|
26
|
+
return "/default/pagecenter/" + _uicbb.PAGE_TYPE.ALERT_DETAIL + "/view/" + alarmInfo.alertId + "?alertId=" + alarmInfo.alertId + "&resId=" + alarmInfo.ciId + "&title=" + alarmInfo.alertObject + "&ruleId=" + alarmInfo.ruleId + "&ciCode=" + alarmInfo.ciTypeCode + "&ciType=" + alarmInfo.ciType;
|
|
27
|
+
};
|
|
28
|
+
|
|
24
29
|
function AlarmListItem(props) {
|
|
25
30
|
// 传入参数
|
|
26
31
|
var topo = props.topo,
|
|
@@ -33,7 +38,7 @@ function AlarmListItem(props) {
|
|
|
33
38
|
className: _indexModule["default"]["alarm-color-icon"] + " alarm-color-icon-lv" + alarmInfo.alertLevel
|
|
34
39
|
})
|
|
35
40
|
}, /*#__PURE__*/_react["default"].createElement(_reactRouterDom.Link, {
|
|
36
|
-
to:
|
|
41
|
+
to: alarmLink(alarmInfo)
|
|
37
42
|
}, "" + alarmInfo.alertObject + alarmInfo.alertTitle));
|
|
38
43
|
}
|
|
39
44
|
|
|
@@ -41,6 +41,8 @@ var _edgeUtil = require("../../utils/edgeUtil");
|
|
|
41
41
|
|
|
42
42
|
var _TopoViewModule = _interopRequireDefault(require("./TopoView.module.scss"));
|
|
43
43
|
|
|
44
|
+
var _useManageStatus = _interopRequireDefault(require("../../../hooks/useManageStatus"));
|
|
45
|
+
|
|
44
46
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
45
47
|
|
|
46
48
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -93,7 +95,6 @@ var Topology = function Topology(props) {
|
|
|
93
95
|
tData = _useState[0],
|
|
94
96
|
setTData = _useState[1];
|
|
95
97
|
|
|
96
|
-
var titleBarRef = (0, _react.useRef)();
|
|
97
98
|
var topoEdit = (0, _useTopoEdit["default"])({
|
|
98
99
|
topo: topo,
|
|
99
100
|
topoId: topoId,
|
|
@@ -109,10 +110,14 @@ var Topology = function Topology(props) {
|
|
|
109
110
|
var onExitEdit = topoEdit.onExitEdit,
|
|
110
111
|
onBindData = topoEdit.onBindData,
|
|
111
112
|
onDeleteElement = topoEdit.onDeleteElement,
|
|
112
|
-
onSaveTopo = topoEdit.onSaveTopo;
|
|
113
|
+
onSaveTopo = topoEdit.onSaveTopo;
|
|
114
|
+
var titleBarRef = (0, _react.useRef)(); // useAlarm({
|
|
113
115
|
// topo,
|
|
114
116
|
// });
|
|
115
117
|
|
|
118
|
+
(0, _useManageStatus["default"])({
|
|
119
|
+
topo: topo
|
|
120
|
+
});
|
|
116
121
|
(0, _componentRiilEventEmitter.useCbbEventListener)("topo", {
|
|
117
122
|
name: "topo",
|
|
118
123
|
onMessage: function onMessage(data) {
|
|
@@ -5,8 +5,14 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
exports.__esModule = true;
|
|
6
6
|
exports["default"] = TopoEditorTitleBar;
|
|
7
7
|
|
|
8
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
+
|
|
8
10
|
var _box = _interopRequireDefault(require("@alifd/next/lib/box"));
|
|
9
11
|
|
|
12
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
+
|
|
14
|
+
var _dialog = _interopRequireDefault(require("@alifd/next/lib/dialog"));
|
|
15
|
+
|
|
10
16
|
var _button = _interopRequireDefault(require("@alifd/next/lib/button"));
|
|
11
17
|
|
|
12
18
|
var _react = _interopRequireDefault(require("react"));
|
|
@@ -45,7 +51,32 @@ function TopoEditorTitleBar(props) {
|
|
|
45
51
|
}, "\u4FDD\u5B58"), /*#__PURE__*/_react["default"].createElement(_button["default"], {
|
|
46
52
|
className: _TitleBarModule["default"].button,
|
|
47
53
|
onClick: function onClick() {
|
|
48
|
-
|
|
54
|
+
_dialog["default"].confirm({
|
|
55
|
+
title: "提示",
|
|
56
|
+
content: "若现在退出,图上修改的内容将不会保存!",
|
|
57
|
+
onOk: function () {
|
|
58
|
+
var _onOk = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
59
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
60
|
+
while (1) {
|
|
61
|
+
switch (_context.prev = _context.next) {
|
|
62
|
+
case 0:
|
|
63
|
+
topo.exitEditMode();
|
|
64
|
+
|
|
65
|
+
case 1:
|
|
66
|
+
case "end":
|
|
67
|
+
return _context.stop();
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}, _callee);
|
|
71
|
+
}));
|
|
72
|
+
|
|
73
|
+
function onOk() {
|
|
74
|
+
return _onOk.apply(this, arguments);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
return onOk;
|
|
78
|
+
}()
|
|
79
|
+
});
|
|
49
80
|
}
|
|
50
81
|
}, "\u9000\u51FA"))));
|
|
51
82
|
}
|
package/lib/core/models/Alarm.js
CHANGED
|
@@ -528,10 +528,7 @@ var Alarm = /*#__PURE__*/function () {
|
|
|
528
528
|
return handleAlarmEvent;
|
|
529
529
|
}();
|
|
530
530
|
|
|
531
|
-
_proto.
|
|
532
|
-
// rlog.debug("alart----------------alarmList", alarmList);
|
|
533
|
-
this.topo.topoClient.loadAlarm(alarmList);
|
|
534
|
-
};
|
|
531
|
+
_proto.updateGraphAlarm = function updateGraphAlarm() {};
|
|
535
532
|
|
|
536
533
|
_proto.getState = function getState() {
|
|
537
534
|
return this.topo.store.getModelState("topoAlarm");
|
|
@@ -27,6 +27,26 @@ var DataModel = /*#__PURE__*/function () {
|
|
|
27
27
|
return [].concat(this.getGroups(), this.getNodes(), this.getEdges(), this.getEdgeGroups());
|
|
28
28
|
};
|
|
29
29
|
|
|
30
|
+
_proto.useDatas = function useDatas() {
|
|
31
|
+
var topo = this.topo;
|
|
32
|
+
|
|
33
|
+
var _topo$store$useModelS = topo.store.useModelState('topoMod'),
|
|
34
|
+
data = _topo$store$useModelS.data;
|
|
35
|
+
|
|
36
|
+
if (data) {
|
|
37
|
+
return this.getDatas();
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
return [];
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
_proto.useResources = function useResources() {
|
|
44
|
+
var datas = this.useDatas();
|
|
45
|
+
return datas.filter(function (item) {
|
|
46
|
+
return item.type !== 'group';
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
|
|
30
50
|
_proto.getDataById = function getDataById(id) {
|
|
31
51
|
return this.getDatas().find(function (item) {
|
|
32
52
|
return item.id === id;
|
|
@@ -48,7 +48,7 @@ var _PluginManager = _interopRequireDefault(require("./PluginManager"));
|
|
|
48
48
|
var _topoFactory = _interopRequireDefault(require("./topoFactory"));
|
|
49
49
|
|
|
50
50
|
// eslint-disable-next-line no-undef
|
|
51
|
-
var version = typeof "3.
|
|
51
|
+
var version = typeof "3.5.0-a.2" === 'string' ? "3.5.0-a.2" : null;
|
|
52
52
|
console.info("\u62D3\u6251\u7248\u672C: " + version);
|
|
53
53
|
/**
|
|
54
54
|
* 拓扑显示和编辑
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports["default"] = useManageStatus;
|
|
5
|
+
|
|
6
|
+
var _react = require("react");
|
|
7
|
+
|
|
8
|
+
var _htElementUtils = require("../utils/htElementUtils");
|
|
9
|
+
|
|
10
|
+
var _componentRiilEventEmitter = require("@riil-frontend/component-riil-event-emitter");
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* 监听监控状态推送
|
|
14
|
+
* 节点、连线监控状态置灰
|
|
15
|
+
*
|
|
16
|
+
* @param {*} props
|
|
17
|
+
*/
|
|
18
|
+
function useManageStatus(props) {
|
|
19
|
+
var topo = props.topo;
|
|
20
|
+
var topoModState = topo.store.useModelState('topoMod');
|
|
21
|
+
var graphLoaded = topoModState.graphLoaded;
|
|
22
|
+
var resources = topo.dataModel.useResources();
|
|
23
|
+
(0, _react.useEffect)(function () {
|
|
24
|
+
// 启动监听
|
|
25
|
+
return function () {// 注销监听
|
|
26
|
+
};
|
|
27
|
+
}, []);
|
|
28
|
+
(0, _react.useEffect)(function () {
|
|
29
|
+
// 首次加载和监控状态变化后,更新节点和连线置灰状态
|
|
30
|
+
if (graphLoaded) {
|
|
31
|
+
resources.forEach(function (resource) {
|
|
32
|
+
var type = resource.type,
|
|
33
|
+
id = resource.id,
|
|
34
|
+
manageStatus = resource.manageStatus,
|
|
35
|
+
permission = resource.permission;
|
|
36
|
+
var isMonite = manageStatus === 3;
|
|
37
|
+
var readable = !!(permission !== null && permission !== void 0 && permission.readable);
|
|
38
|
+
var showNotMoniteStatus = !isMonite && readable;
|
|
39
|
+
var element = topo.getDataModel().getDataByTag(id);
|
|
40
|
+
if (!element) return;
|
|
41
|
+
|
|
42
|
+
if (type === 'node') {
|
|
43
|
+
(0, _htElementUtils.setElementRuntimeStyle)(element, 'opacity', showNotMoniteStatus ? 0.3 : undefined);
|
|
44
|
+
} else {
|
|
45
|
+
(0, _htElementUtils.setElementRuntimeStyle)(element, 'color', showNotMoniteStatus ? '#C9CED2' : undefined);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
}, [graphLoaded, resources]);
|
|
50
|
+
}
|
package/lib/hooks/useTopoEdit.js
CHANGED
|
@@ -363,11 +363,6 @@ var useTopoEdit = function useTopoEdit(params) {
|
|
|
363
363
|
case 'link':
|
|
364
364
|
if (onLineDelete) {
|
|
365
365
|
onLineDelete(data);
|
|
366
|
-
} // 临时放这里,仅拓扑中心有
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
if (topo.linkDynamicStyleExecutor) {
|
|
370
|
-
topo.linkDynamicStyleExecutor.execute();
|
|
371
366
|
}
|
|
372
367
|
|
|
373
368
|
break;
|
package/lib/models/topoAlarm.js
CHANGED
|
@@ -11,12 +11,6 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
|
|
|
11
11
|
|
|
12
12
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
13
|
|
|
14
|
-
var _topo = _interopRequireDefault(require("@riil-frontend/component-topology-common/es/services/topo"));
|
|
15
|
-
|
|
16
|
-
var _metric = require("@riil-frontend/component-topology-common/es/services/metric");
|
|
17
|
-
|
|
18
|
-
var _model = require("@riil-frontend/component-topology-common/es/services/model");
|
|
19
|
-
|
|
20
14
|
var _rlog = _interopRequireDefault(require("@riil-frontend/component-topology-utils/es/rlog"));
|
|
21
15
|
|
|
22
16
|
var _lodash = _interopRequireDefault(require("lodash"));
|
package/lib/models/topoConfig.js
CHANGED
|
@@ -358,7 +358,7 @@ function _default(topoApp) {
|
|
|
358
358
|
_rlog["default"].debug("getTopoByConditions--------data", data);
|
|
359
359
|
|
|
360
360
|
_context4.next = 11;
|
|
361
|
-
return (0, _getTopoData.
|
|
361
|
+
return (0, _getTopoData.buildData)(data);
|
|
362
362
|
|
|
363
363
|
case 11:
|
|
364
364
|
data = _context4.sent;
|
|
@@ -36,11 +36,8 @@ function LinkDataTab(props) {
|
|
|
36
36
|
linkGroups = _topo$store$useModelS.linkGroups;
|
|
37
37
|
var linkData = [].concat(links, linkGroups).find(function (item) {
|
|
38
38
|
return item.id === edge.getTag();
|
|
39
|
-
});
|
|
40
|
-
|
|
39
|
+
});
|
|
41
40
|
(0, _react.useEffect)(function () {
|
|
42
|
-
_rlog["default"].debug("LinkDataTab--edge-linkData", edge, linkData);
|
|
43
|
-
|
|
44
41
|
setLink(linkData);
|
|
45
42
|
}, [edge, linkData]);
|
|
46
43
|
var permission = (0, _linPermissionUtil.getLinkPermission)(edge, nodes, link);
|
package/lib/topoCenter/components/editor/propertyViews/edge/LinkPropertyView/LinkPropertyView.js
CHANGED
|
@@ -21,9 +21,7 @@ var _htElementUtils = require("../../../../../../utils/htElementUtils.js");
|
|
|
21
21
|
|
|
22
22
|
function LinkPropertyView(props) {
|
|
23
23
|
var edge = props.edge,
|
|
24
|
-
topo = props.topo;
|
|
25
|
-
console.log("LinkPropertyView-----", edge, edge.getSource()); // 无权限不显示数据页签
|
|
26
|
-
// const operation = props.edge.a('operation');
|
|
24
|
+
topo = props.topo; // 无权限不显示数据页签
|
|
27
25
|
|
|
28
26
|
var _topo$store$useModelS = topo.store.useModelState("topoMod").data,
|
|
29
27
|
links = _topo$store$useModelS.links,
|
|
@@ -51,6 +51,10 @@ function AddLinkDrawer(props) {
|
|
|
51
51
|
lineData = props.lineData;
|
|
52
52
|
var store = topo.store;
|
|
53
53
|
|
|
54
|
+
var _topo$store$useModel = topo.store.useModel("topoMod"),
|
|
55
|
+
topoState = _topo$store$useModel[0],
|
|
56
|
+
topoDispatchers = _topo$store$useModel[1];
|
|
57
|
+
|
|
54
58
|
var _store$useModel = store.useModel("topoConfig"),
|
|
55
59
|
editState = _store$useModel[0],
|
|
56
60
|
editDispatchers = _store$useModel[1];
|
|
@@ -61,8 +65,6 @@ function AddLinkDrawer(props) {
|
|
|
61
65
|
|
|
62
66
|
var addLinkIsOpen = editState.addLinkIsOpen,
|
|
63
67
|
currentLink = editState.currentLink;
|
|
64
|
-
var ciConnectable = linkState.ciConnectable; // // rlog.debug("addLinkDrawer--init-addLinkIsOpen", addLinkIsOpen, currentLink);
|
|
65
|
-
// const [visible, { setTrue, setFalse }] = useBoolean();
|
|
66
68
|
|
|
67
69
|
var _useState = (0, _react.useState)(),
|
|
68
70
|
link = _useState[0],
|
|
@@ -74,12 +76,16 @@ function AddLinkDrawer(props) {
|
|
|
74
76
|
|
|
75
77
|
var _useState3 = (0, _react.useState)(false),
|
|
76
78
|
loading = _useState3[0],
|
|
77
|
-
setLoading = _useState3[1];
|
|
79
|
+
setLoading = _useState3[1];
|
|
80
|
+
|
|
81
|
+
var _useState4 = (0, _react.useState)(),
|
|
82
|
+
sourceIFDoc = _useState4[0],
|
|
83
|
+
setSourceIFDoc = _useState4[1]; // 保存后更新拓扑图状态
|
|
78
84
|
|
|
79
85
|
|
|
80
|
-
var
|
|
81
|
-
ciIdsConnectable =
|
|
82
|
-
setCiIdsConnectable =
|
|
86
|
+
var _useState5 = (0, _react.useState)([]),
|
|
87
|
+
ciIdsConnectable = _useState5[0],
|
|
88
|
+
setCiIdsConnectable = _useState5[1];
|
|
83
89
|
|
|
84
90
|
var linkNodesRef = (0, _react.useRef)();
|
|
85
91
|
|
|
@@ -222,6 +228,7 @@ function AddLinkDrawer(props) {
|
|
|
222
228
|
|
|
223
229
|
case 6:
|
|
224
230
|
targetPorts = _context3.sent;
|
|
231
|
+
setSourceIFDoc(sourcePorts.portsDoc);
|
|
225
232
|
connect_type = currentLink.attributes["network_link.connect_type"] === "exit" ? "exit" : "phy";
|
|
226
233
|
setLink({
|
|
227
234
|
source: {
|
|
@@ -249,7 +256,7 @@ function AddLinkDrawer(props) {
|
|
|
249
256
|
})
|
|
250
257
|
});
|
|
251
258
|
|
|
252
|
-
case
|
|
259
|
+
case 10:
|
|
253
260
|
case "end":
|
|
254
261
|
return _context3.stop();
|
|
255
262
|
}
|
|
@@ -272,23 +279,17 @@ function AddLinkDrawer(props) {
|
|
|
272
279
|
|
|
273
280
|
var getCiTypesConnectable = /*#__PURE__*/function () {
|
|
274
281
|
var _ref4 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
|
|
275
|
-
var
|
|
282
|
+
var ciTypesConnectable, nodes, ciIds, ciNodes;
|
|
276
283
|
return _regenerator["default"].wrap(function _callee4$(_context4) {
|
|
277
284
|
while (1) {
|
|
278
285
|
switch (_context4.prev = _context4.next) {
|
|
279
286
|
case 0:
|
|
280
|
-
|
|
281
|
-
// 加载哪些ci类型可创建链路
|
|
282
|
-
|
|
283
|
-
_context4.next = 3;
|
|
287
|
+
_context4.next = 2;
|
|
284
288
|
return _topo["default"].networkLink.getCiTypesConnectable(_ResourceTypeLimit.RESOURCE_LIMIT_TYPES);
|
|
285
289
|
|
|
286
|
-
case
|
|
290
|
+
case 2:
|
|
287
291
|
ciTypesConnectable = _context4.sent;
|
|
288
|
-
nodes = (0, _htElementUtils.getNodes)(topo.getDataModel());
|
|
289
|
-
// const tags = topo.getTag();
|
|
290
|
-
// rlog.debug("加载哪些ci类型可创建链路", ciTypesConnectable, topo, nodes);
|
|
291
|
-
|
|
292
|
+
nodes = (0, _htElementUtils.getNodes)(topo.getDataModel());
|
|
292
293
|
ciIds = [];
|
|
293
294
|
ciNodes = [];
|
|
294
295
|
nodes.map(function (node) {
|
|
@@ -304,7 +305,7 @@ function AddLinkDrawer(props) {
|
|
|
304
305
|
setCiIdsConnectable(ciIds);
|
|
305
306
|
return _context4.abrupt("return", ciNodes);
|
|
306
307
|
|
|
307
|
-
case
|
|
308
|
+
case 10:
|
|
308
309
|
case "end":
|
|
309
310
|
return _context4.stop();
|
|
310
311
|
}
|
|
@@ -404,9 +405,36 @@ function AddLinkDrawer(props) {
|
|
|
404
405
|
}
|
|
405
406
|
};
|
|
406
407
|
|
|
408
|
+
var mergeExitLinkData = function mergeExitLinkData(data, attributes) {
|
|
409
|
+
return {
|
|
410
|
+
id: data.id,
|
|
411
|
+
name: data.name,
|
|
412
|
+
source: data["network_link.source_device_id"],
|
|
413
|
+
target: data["network_link.destination_device_id"],
|
|
414
|
+
operation: data.operation,
|
|
415
|
+
interfaceSource: data["source_id"],
|
|
416
|
+
interfaceTarget: data["destination_id"],
|
|
417
|
+
ciType: data.ciType,
|
|
418
|
+
attributes: (0, _extends2["default"])({}, attributes, {
|
|
419
|
+
display_name: data.display_name,
|
|
420
|
+
name: data.name,
|
|
421
|
+
"network_link.actual_bandwidth": data["network_link.actual_bandwidth"],
|
|
422
|
+
"network_link.connect_type": data["network_link.connect_type"],
|
|
423
|
+
"network_link.destination_ipv4": data["network_link.destination_ipv4"],
|
|
424
|
+
"network_link.source_device_id": data["network_link.source_device_id"],
|
|
425
|
+
source_id: data.source_id,
|
|
426
|
+
support_templates: data.support_templates,
|
|
427
|
+
use: data.use,
|
|
428
|
+
source_id_object: {
|
|
429
|
+
displayName: sourceIFDoc[data.source_id].label
|
|
430
|
+
}
|
|
431
|
+
})
|
|
432
|
+
};
|
|
433
|
+
};
|
|
434
|
+
|
|
407
435
|
var onSave = /*#__PURE__*/function () {
|
|
408
436
|
var _ref6 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5(data) {
|
|
409
|
-
var parm, result, linkType, config, exportLinkIdList, _yield$editDispatcher, elements, linkData, edge, aobj, target;
|
|
437
|
+
var parm, result, linkType, config, exportLinkIdList, _yield$editDispatcher, elements, linkData, edge, aobj, target, links, linkAttrKey, newLinkData, newLinks, newData;
|
|
410
438
|
|
|
411
439
|
return _regenerator["default"].wrap(function _callee5$(_context5) {
|
|
412
440
|
while (1) {
|
|
@@ -442,10 +470,7 @@ function AddLinkDrawer(props) {
|
|
|
442
470
|
result = _context5.sent;
|
|
443
471
|
|
|
444
472
|
case 13:
|
|
445
|
-
setLoading(false);
|
|
446
|
-
// Message.success("保存成功");
|
|
447
|
-
// }
|
|
448
|
-
|
|
473
|
+
setLoading(false);
|
|
449
474
|
linkType = data["network_link.connect_type"];
|
|
450
475
|
_context5.prev = 15;
|
|
451
476
|
|
|
@@ -454,9 +479,7 @@ function AddLinkDrawer(props) {
|
|
|
454
479
|
break;
|
|
455
480
|
}
|
|
456
481
|
|
|
457
|
-
config = topo.resourceConfig.getConfigFromHt(); //
|
|
458
|
-
// console.log("save success", data, result);
|
|
459
|
-
// 新建后显示到图上
|
|
482
|
+
config = topo.resourceConfig.getConfigFromHt(); // 新建后显示到图上
|
|
460
483
|
|
|
461
484
|
if (!isAddMode) {
|
|
462
485
|
_context5.next = 31;
|
|
@@ -494,12 +517,7 @@ function AddLinkDrawer(props) {
|
|
|
494
517
|
break;
|
|
495
518
|
|
|
496
519
|
case 31:
|
|
497
|
-
// console.log(
|
|
498
|
-
// "保存编辑信息",
|
|
499
|
-
// data,
|
|
500
|
-
// linkType,
|
|
501
|
-
// topo.getGraphView().dm().sm().ld()
|
|
502
|
-
// );
|
|
520
|
+
// console.log("保存编辑信息", data, linkType);
|
|
503
521
|
if (linkType === "exit") {
|
|
504
522
|
edge = topo.getGraphView().dm().sm().ld();
|
|
505
523
|
aobj = edge.getAttrObject();
|
|
@@ -509,6 +527,20 @@ function AddLinkDrawer(props) {
|
|
|
509
527
|
if (target.getTag() === undefined) {
|
|
510
528
|
target.a("name", data["network_link.destination_ipv4"]);
|
|
511
529
|
}
|
|
530
|
+
|
|
531
|
+
links = topoState.data.links;
|
|
532
|
+
linkAttrKey = links.findIndex(function (item) {
|
|
533
|
+
return item.id === aobj.id;
|
|
534
|
+
});
|
|
535
|
+
newLinkData = mergeExitLinkData(edge.getAttrObject(), links[linkAttrKey]);
|
|
536
|
+
newLinks = (0, _copyUtil.clone)(links);
|
|
537
|
+
newLinks.splice(linkAttrKey, 1, newLinkData);
|
|
538
|
+
newData = (0, _extends2["default"])({}, topoState.data, {
|
|
539
|
+
links: newLinks
|
|
540
|
+
});
|
|
541
|
+
topoDispatchers.update({
|
|
542
|
+
data: newData
|
|
543
|
+
});
|
|
512
544
|
}
|
|
513
545
|
|
|
514
546
|
_message["default"].success("保存成功");
|