@riil-frontend/component-topology 12.0.0-dev.8 → 12.0.0-dev.9
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 +6 -6
- package/es/core/hooks/useTopoEdit.js +21 -16
- package/es/core/models/AttributeMetricDisplay.js +5 -2
- package/es/core/models/TopoApp.js +1 -1
- package/es/core/models/cache/CiTypeCache.js +4 -0
- package/es/core/services/index.js +1 -1
- package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/EventsCard.js +12 -13
- package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/hooks/useAlarmAndRiskData.js +20 -18
- package/es/utils/ciRefAttributeTranslateUtil.d.ts +12 -0
- package/es/utils/ciRefAttributeTranslateUtil.js +156 -0
- package/es/utils/topoData.js +4 -2
- package/lib/core/hooks/useTopoEdit.js +21 -16
- package/lib/core/models/AttributeMetricDisplay.js +6 -2
- package/lib/core/models/TopoApp.js +1 -1
- package/lib/core/models/cache/CiTypeCache.js +4 -0
- package/lib/core/services/index.js +1 -1
- package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/EventsCard.js +12 -13
- package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/hooks/useAlarmAndRiskData.js +20 -18
- package/lib/utils/ciRefAttributeTranslateUtil.d.ts +12 -0
- package/lib/utils/ciRefAttributeTranslateUtil.js +169 -0
- package/lib/utils/topoData.js +4 -2
- package/package.json +3 -3
package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/EventsCard.js
CHANGED
@@ -37,32 +37,31 @@ function EventsCard(props) {
|
|
37
37
|
onHandleAlarm = props.onHandleAlarm; // 告警table列配置
|
38
38
|
|
39
39
|
var columns = [{
|
40
|
-
title:
|
41
|
-
dataIndex:
|
42
|
-
key:
|
40
|
+
title: "描述",
|
41
|
+
dataIndex: "title",
|
42
|
+
key: "title",
|
43
43
|
cell: function cell(value, index, record) {
|
44
44
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
45
|
-
className: _indexModule["default"][
|
45
|
+
className: _indexModule["default"]["alarm-title"],
|
46
46
|
title: value,
|
47
47
|
onClick: closeDetailDrawer
|
48
48
|
}, /*#__PURE__*/_react["default"].createElement(_icon["default"], {
|
49
49
|
type: record.icon,
|
50
50
|
size: "xs",
|
51
|
-
className: _indexModule["default"][
|
52
|
-
}), /*#__PURE__*/_react["default"].createElement("
|
53
|
-
|
54
|
-
href: formatUrl(record.link)
|
51
|
+
className: _indexModule["default"]["alarm-color-icon"] + " " + record.className
|
52
|
+
}), /*#__PURE__*/_react["default"].createElement(_Link["default"], {
|
53
|
+
to: formatUrl(record.link)
|
55
54
|
}, value));
|
56
55
|
}
|
57
56
|
}, {
|
58
|
-
title:
|
59
|
-
dataIndex:
|
60
|
-
key:
|
57
|
+
title: "时间",
|
58
|
+
dataIndex: "time",
|
59
|
+
key: "time",
|
61
60
|
width: 144,
|
62
61
|
cell: function cell(value, index, record) {
|
63
62
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
64
|
-
title: (0, _moment["default"])(value).format(
|
65
|
-
}, (0, _moment["default"])(value).format(
|
63
|
+
title: (0, _moment["default"])(value).format("YYYY-MM-DD HH:mm:ss")
|
64
|
+
}, (0, _moment["default"])(value).format("YYYY-MM-DD HH:mm:ss"));
|
66
65
|
}
|
67
66
|
} // 临时屏蔽告警操作列,后续版本按权限显示 2023-3-6 20:23:45
|
68
67
|
// {
|
@@ -46,7 +46,7 @@ var useAlarmAndRiskData = function useAlarmAndRiskData(props) {
|
|
46
46
|
while (1) switch (_context.prev = _context.next) {
|
47
47
|
case 0:
|
48
48
|
if (!isAppTopo) {
|
49
|
-
_context.next =
|
49
|
+
_context.next = 10;
|
50
50
|
break;
|
51
51
|
}
|
52
52
|
|
@@ -61,27 +61,29 @@ var useAlarmAndRiskData = function useAlarmAndRiskData(props) {
|
|
61
61
|
alarmList = _yield$resourceOvervi2.alarms;
|
62
62
|
alarmList = ((_alarmList = alarmList) === null || _alarmList === void 0 ? void 0 : _alarmList.map(function (item) {
|
63
63
|
return {
|
64
|
-
|
65
|
-
|
64
|
+
alarmInfo: item,
|
65
|
+
type: "alarm",
|
66
|
+
icon: "gaojing-3",
|
66
67
|
className: "alarm-color-icon-lv" + item.alertLevel,
|
67
68
|
title: "[" + item.alertObject + "] " + item.alertTitle,
|
68
|
-
link: "/default/pagecenter/alertDetail/view/" + item.alertId + "?alertId=" + item.alertId + "&resId=" + item.ciId + "&title=" + item.alertObject + "&ruleId=" + item.ruleId,
|
69
|
+
link: "/default/pagecenter/alertDetail/view/" + item.alertId + "?alertId=" + item.alertId + "&resId=" + item.ciId + "&title=" + encodeURI(encodeURI(item.alertObject)) + "&ruleId=" + item.ruleId,
|
69
70
|
time: item.createTime,
|
70
71
|
status: item.status,
|
71
72
|
params: [{
|
72
73
|
alertId: item.alertId,
|
73
|
-
status:
|
74
|
+
status: "dealing",
|
74
75
|
userId: userId,
|
75
76
|
isBaseAlert: false
|
76
77
|
}]
|
77
78
|
};
|
78
79
|
})) || [];
|
80
|
+
console.log("setAlarmRiskList", alarmList);
|
79
81
|
setAlarmRiskList(alarmList);
|
80
|
-
_context.next =
|
82
|
+
_context.next = 25;
|
81
83
|
break;
|
82
84
|
|
83
|
-
case
|
84
|
-
_context.next =
|
85
|
+
case 10:
|
86
|
+
_context.next = 12;
|
85
87
|
return _alarm["default"].getAlarmByIds([id].concat(childrenIds), {
|
86
88
|
alertStatusList: ['toDeal', 'woDealing', 'dealing'],
|
87
89
|
// toDeal: 待处理, dealing:处理中
|
@@ -91,7 +93,7 @@ var useAlarmAndRiskData = function useAlarmAndRiskData(props) {
|
|
91
93
|
sortOrder: 'asc'
|
92
94
|
});
|
93
95
|
|
94
|
-
case
|
96
|
+
case 12:
|
95
97
|
_yield$alarmService$g2 = _context.sent;
|
96
98
|
_alarmList2 = _yield$alarmService$g2.datas;
|
97
99
|
// 2022-07-16 后端不支持多列排序,暂通过前端实现,按创建时间倒序
|
@@ -100,28 +102,28 @@ var useAlarmAndRiskData = function useAlarmAndRiskData(props) {
|
|
100
102
|
});
|
101
103
|
_alarmList2 = _alarmList2.map(function (item) {
|
102
104
|
return {
|
103
|
-
type:
|
104
|
-
icon:
|
105
|
+
type: "alarm",
|
106
|
+
icon: "gaojing-3",
|
105
107
|
className: "alarm-color-icon-lv" + item.alertLevel,
|
106
108
|
title: "" + item.alertObject + item.alertTitle,
|
107
|
-
link: "/default/pagecenter/alertDetail/view/" + item.alertId + "?alertId=" + item.alertId + "&resId=" + item.ciId + "&title=" + item.alertObject + "&ruleId=" + item.ruleId,
|
109
|
+
link: "/default/pagecenter/alertDetail/view/" + item.alertId + "?alertId=" + item.alertId + "&resId=" + item.ciId + "&title=" + encodeURI(encodeURI(item.alertObject)) + "&ruleId=" + item.ruleId,
|
108
110
|
time: item.createTime,
|
109
111
|
status: item.status,
|
110
112
|
params: [{
|
111
113
|
alertId: item.alertId,
|
112
|
-
status:
|
114
|
+
status: "dealing",
|
113
115
|
userId: userId,
|
114
116
|
isBaseAlert: false
|
115
117
|
}]
|
116
118
|
};
|
117
119
|
}); // fix NEWITOM-33635【南昌大学】网络拓扑上双击设备拉开的抽屉中无法看到风险
|
118
120
|
|
119
|
-
_context.next =
|
121
|
+
_context.next = 18;
|
120
122
|
return _overview["default"].queryAllComponentsByCiId(id);
|
121
123
|
|
122
|
-
case
|
124
|
+
case 18:
|
123
125
|
AllComponentsByCiId = _context.sent;
|
124
|
-
_context.next =
|
126
|
+
_context.next = 21;
|
125
127
|
return _overview["default"].getRiskByIds({
|
126
128
|
ciIdList: [id].concat(childrenIds, AllComponentsByCiId.map(function (item) {
|
127
129
|
return item.id;
|
@@ -131,7 +133,7 @@ var useAlarmAndRiskData = function useAlarmAndRiskData(props) {
|
|
131
133
|
pageSize: 10000
|
132
134
|
});
|
133
135
|
|
134
|
-
case
|
136
|
+
case 21:
|
135
137
|
_yield$service$getRis2 = _context.sent;
|
136
138
|
riskList = _yield$service$getRis2.content;
|
137
139
|
riskList = riskList.map(function (item) {
|
@@ -147,7 +149,7 @@ var useAlarmAndRiskData = function useAlarmAndRiskData(props) {
|
|
147
149
|
|
148
150
|
setAlarmRiskList([].concat(_alarmList2, riskList));
|
149
151
|
|
150
|
-
case
|
152
|
+
case 25:
|
151
153
|
case "end":
|
152
154
|
return _context.stop();
|
153
155
|
}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
/**
|
2
|
+
* 翻译ci列表引用属性名称
|
3
|
+
* @param ciDatas
|
4
|
+
* @returns
|
5
|
+
*/
|
6
|
+
export declare function translateCisRefAttributeName(ciDatas: Array<any>): Promise<Array<any>>;
|
7
|
+
/**
|
8
|
+
* 翻译ci引用属性名称
|
9
|
+
* @param ciData
|
10
|
+
* @returns
|
11
|
+
*/
|
12
|
+
export declare function translateCiRefAttributeName(ciData: any): Promise<any>;
|
@@ -0,0 +1,169 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
+
|
5
|
+
exports.__esModule = true;
|
6
|
+
exports.translateCiRefAttributeName = translateCiRefAttributeName;
|
7
|
+
exports.translateCisRefAttributeName = translateCisRefAttributeName;
|
8
|
+
|
9
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
10
|
+
|
11
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
12
|
+
|
13
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
14
|
+
|
15
|
+
var _componentTopologyUtils = require("@riil-frontend/component-topology-utils");
|
16
|
+
|
17
|
+
var _CiTypeCache = _interopRequireDefault(require("../core/models/cache/CiTypeCache"));
|
18
|
+
|
19
|
+
var _CiCache = _interopRequireDefault(require("../core/models/cache/CiCache"));
|
20
|
+
|
21
|
+
var _topoData = require("./topoData");
|
22
|
+
|
23
|
+
/**
|
24
|
+
* 获取ci列表的引用字段列表
|
25
|
+
*/
|
26
|
+
function getCiRefAttributesMap(ciDatas, ciTypeMap) {
|
27
|
+
// ci引用字段列表
|
28
|
+
var ciRefAttributeMap = {};
|
29
|
+
ciDatas.forEach(function (ciData) {
|
30
|
+
var id = ciData.id;
|
31
|
+
var attributeMap = ciData.attributeMap || ciData.attributes;
|
32
|
+
ciRefAttributeMap[id] = [];
|
33
|
+
var typeCode = ciData.typeCode || ciData.ciType;
|
34
|
+
var ciTypeMeta = ciTypeMap[typeCode];
|
35
|
+
|
36
|
+
if (ciTypeMeta) {
|
37
|
+
ciTypeMeta.attributes.filter(function (attributeMeta) {
|
38
|
+
return !!attributeMeta.refCi;
|
39
|
+
}).forEach(function (attributeMeta) {
|
40
|
+
var refId = attributeMap[attributeMeta.code];
|
41
|
+
|
42
|
+
if (refId) {
|
43
|
+
var ciRefAttributeData = {
|
44
|
+
attrCode: attributeMeta.code,
|
45
|
+
id: refId
|
46
|
+
};
|
47
|
+
ciRefAttributeMap[ciData.id].push(ciRefAttributeData);
|
48
|
+
}
|
49
|
+
});
|
50
|
+
} else {
|
51
|
+
_componentTopologyUtils.rlog.warn("\u7FFB\u8BD1\u5F15\u7528\u5B57\u6BB5\u540D\u79F0\uFF1A\u672A\u67E5\u8BE2\u5230ciType " + typeCode, ciData);
|
52
|
+
}
|
53
|
+
});
|
54
|
+
return ciRefAttributeMap;
|
55
|
+
}
|
56
|
+
|
57
|
+
function getRefIds(ciRefAttributesMap) {
|
58
|
+
var refIds = [];
|
59
|
+
Object.keys(ciRefAttributesMap).forEach(function (ciId) {
|
60
|
+
var ciRefAttributeDatas = ciRefAttributesMap[ciId];
|
61
|
+
ciRefAttributeDatas.forEach(function (ciRefAttributeData) {
|
62
|
+
var refId = ciRefAttributeData.id;
|
63
|
+
|
64
|
+
if (!refIds.includes(refId)) {
|
65
|
+
refIds.push(refId);
|
66
|
+
}
|
67
|
+
});
|
68
|
+
});
|
69
|
+
return refIds;
|
70
|
+
}
|
71
|
+
|
72
|
+
function addRefCiNameToCiDatas(ciDatas, ciRefAttributesMap, refCiMap) {
|
73
|
+
return ciDatas.map(function (ciData) {
|
74
|
+
var id = ciData.id;
|
75
|
+
var attributeMap = (0, _extends2["default"])({}, ciData.attributeMap || ciData.attributes);
|
76
|
+
ciRefAttributesMap[id].forEach(function (refAttrs) {
|
77
|
+
var refCi = refCiMap[refAttrs.id];
|
78
|
+
|
79
|
+
if (refCi) {
|
80
|
+
// 引用ci名称获取规则:如果ci是树形结构(例如区域),取 tree_name_path;非树形,取display_name
|
81
|
+
var displayName = refCi.attributes.tree_name_path || refCi.attributes.display_name;
|
82
|
+
attributeMap[refAttrs.attrCode + "_object"] = {
|
83
|
+
displayName: displayName
|
84
|
+
};
|
85
|
+
}
|
86
|
+
});
|
87
|
+
return (0, _extends2["default"])({}, ciData, {
|
88
|
+
attributeMap: attributeMap
|
89
|
+
});
|
90
|
+
});
|
91
|
+
}
|
92
|
+
/**
|
93
|
+
* 翻译ci列表引用属性名称
|
94
|
+
* @param ciDatas
|
95
|
+
* @returns
|
96
|
+
*/
|
97
|
+
|
98
|
+
|
99
|
+
function translateCisRefAttributeName(_x) {
|
100
|
+
return _translateCisRefAttributeName.apply(this, arguments);
|
101
|
+
}
|
102
|
+
/**
|
103
|
+
* 翻译ci引用属性名称
|
104
|
+
* @param ciData
|
105
|
+
* @returns
|
106
|
+
*/
|
107
|
+
|
108
|
+
|
109
|
+
function _translateCisRefAttributeName() {
|
110
|
+
_translateCisRefAttributeName = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(ciDatas) {
|
111
|
+
var ciTypeMap, ciRefAttributesMap, refIds, refCiMap;
|
112
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
113
|
+
while (1) switch (_context.prev = _context.next) {
|
114
|
+
case 0:
|
115
|
+
_context.next = 2;
|
116
|
+
return _CiTypeCache["default"].load((0, _topoData.getCiTypesFromCiElements)(ciDatas));
|
117
|
+
|
118
|
+
case 2:
|
119
|
+
ciTypeMap = _context.sent;
|
120
|
+
// 2. 查找引用字段及值
|
121
|
+
ciRefAttributesMap = getCiRefAttributesMap(ciDatas, ciTypeMap); // 3. 引用id列表
|
122
|
+
|
123
|
+
refIds = getRefIds(ciRefAttributesMap);
|
124
|
+
|
125
|
+
if (refIds.length) {
|
126
|
+
_context.next = 7;
|
127
|
+
break;
|
128
|
+
}
|
129
|
+
|
130
|
+
return _context.abrupt("return", ciDatas);
|
131
|
+
|
132
|
+
case 7:
|
133
|
+
_context.next = 9;
|
134
|
+
return _CiCache["default"].load(refIds);
|
135
|
+
|
136
|
+
case 9:
|
137
|
+
refCiMap = _context.sent;
|
138
|
+
return _context.abrupt("return", addRefCiNameToCiDatas(ciDatas, ciRefAttributesMap, refCiMap));
|
139
|
+
|
140
|
+
case 11:
|
141
|
+
case "end":
|
142
|
+
return _context.stop();
|
143
|
+
}
|
144
|
+
}, _callee);
|
145
|
+
}));
|
146
|
+
return _translateCisRefAttributeName.apply(this, arguments);
|
147
|
+
}
|
148
|
+
|
149
|
+
function translateCiRefAttributeName(_x2) {
|
150
|
+
return _translateCiRefAttributeName.apply(this, arguments);
|
151
|
+
}
|
152
|
+
|
153
|
+
function _translateCiRefAttributeName() {
|
154
|
+
_translateCiRefAttributeName = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(ciData) {
|
155
|
+
var result;
|
156
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
157
|
+
while (1) switch (_context2.prev = _context2.next) {
|
158
|
+
case 0:
|
159
|
+
result = translateCisRefAttributeName([]);
|
160
|
+
return _context2.abrupt("return", result[0]);
|
161
|
+
|
162
|
+
case 2:
|
163
|
+
case "end":
|
164
|
+
return _context2.stop();
|
165
|
+
}
|
166
|
+
}, _callee2);
|
167
|
+
}));
|
168
|
+
return _translateCiRefAttributeName.apply(this, arguments);
|
169
|
+
}
|
package/lib/utils/topoData.js
CHANGED
@@ -135,8 +135,10 @@ var tfLink = function tfLink(engine, link) {
|
|
135
135
|
function getCiTypesFromCiElements(allCi) {
|
136
136
|
var ciTypes = [];
|
137
137
|
allCi.forEach(function (element) {
|
138
|
-
|
139
|
-
|
138
|
+
var typeCode = element.typeCode || element.ciType;
|
139
|
+
|
140
|
+
if (typeCode && ciTypes.indexOf(typeCode) < 0) {
|
141
|
+
ciTypes.push(typeCode);
|
140
142
|
}
|
141
143
|
});
|
142
144
|
return ciTypes;
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@riil-frontend/component-topology",
|
3
|
-
"version": "12.0.0-dev.
|
3
|
+
"version": "12.0.0-dev.9",
|
4
4
|
"description": "拓扑",
|
5
5
|
"scripts": {
|
6
6
|
"start": "build-scripts start",
|
@@ -80,7 +80,7 @@
|
|
80
80
|
"@riil-frontend/css": "^2.0.2",
|
81
81
|
"@riil-frontend/hooks": "latest",
|
82
82
|
"@riil-frontend/next-collapse": "^1.0.1-a.0",
|
83
|
-
"@riil-frontend/utils": "^1.0.
|
83
|
+
"@riil-frontend/utils": "^1.0.45",
|
84
84
|
"@types/jest": "^29.5.4",
|
85
85
|
"axios": "^0.21.1",
|
86
86
|
"build-plugin-component": "^1.12.1",
|
@@ -123,6 +123,6 @@
|
|
123
123
|
"access": "public"
|
124
124
|
},
|
125
125
|
"license": "MIT",
|
126
|
-
"homepage": "https://unpkg.com/@riil-frontend/component-topology@12.0.0-dev.
|
126
|
+
"homepage": "https://unpkg.com/@riil-frontend/component-topology@12.0.0-dev.9/build/index.html",
|
127
127
|
"gitHead": "2da19ffccbb7ca60a8acf396e39f542c68bb33f5"
|
128
128
|
}
|