@riil-frontend/component-topology 3.1.5 → 3.1.8
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/CHANGELOG.md +4 -15
- package/build/1.js +1 -1
- package/build/index.css +1 -1
- package/build/index.js +11 -11
- package/demo/1/345/237/272/346/234/254//345/256/232/345/210/266/345/214/226/350/265/204/346/272/220/346/246/202/350/247/210.md +11 -0
- package/demo/1/345/237/272/346/234/254//350/207/252/345/256/232/344/271/211/346/240/207/346/263/250/345/222/214/346/202/254/346/265/256/346/241/206.md +11 -0
- package/demo//346/240/207/346/263/250/345/222/214/346/202/254/346/265/256/346/241/206//350/207/252/345/256/232/344/271/211/345/261/236/346/200/247/345/222/214/346/214/207/346/240/207.md +2 -2
- package/demo-mock/basic/topo/v1/api/attributes/once +9164 -2796
- package/demo-mock/basic/topo/v1/api/attributes/once.json +9164 -2796
- package/es/core/components/DisplaySettingDrawer/DisplaySetting.js +4 -5
- package/es/core/components/DisplaySettingDrawer/DisplaySettingDrawer.js +2 -2
- package/es/core/components/DisplaySettingDrawer/hooks/useDisplaySetting.js +4 -4
- package/es/core/models/AttributeMetricDisplay.js +112 -98
- package/es/core/models/TopoApp.js +1 -1
- package/es/core/viewer/components/plugins/{BaseInfo/index.js → ResourceDetail/ResourceDetail.js} +23 -11
- package/es/core/viewer/components/plugins/ResourceDetail/ResourceDetailPlugin.js +11 -0
- package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/BaseInfo.js +131 -0
- package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/BaseInfoBlock.js +31 -0
- package/es/core/viewer/components/plugins/{BaseInfo → ResourceDetail}/components/ResourceOverview/BlockBox.js +0 -0
- package/es/core/viewer/components/plugins/{BaseInfo → ResourceDetail}/components/ResourceOverview/BlockBox.module.scss +0 -0
- package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverviewMetric.js +46 -0
- package/es/core/viewer/components/plugins/{BaseInfo → ResourceDetail}/components/ResourceOverview/SingleResourceStrategyLink.js +4 -2
- package/es/core/viewer/components/plugins/{BaseInfo → ResourceDetail}/components/ResourceOverview/index.js +70 -180
- package/es/core/viewer/components/plugins/{BaseInfo → ResourceDetail}/components/ResourceOverview/index.module.scss +0 -0
- package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/useCiAttrAndMetricData.js +12 -0
- package/es/core/viewer/components/plugins/ResourceDetail/index.js +2 -0
- package/es/core/viewer/components/plugins/ResourceDetail/index.module.scss +39 -30
- package/es/core/viewer/components/plugins/ViewerPlugin.js +2 -2
- package/es/core/viewer/components/titlebar/BasicTools.js +1 -1
- package/es/core/viewer/components/titlebar/widgets/SettingButton.js +3 -4
- package/es/core/viewer/components/titlebar/widgets/SettingButtonWidget.js +19 -0
- package/es/topoCenter/components/TopoView.js +3 -4
- package/es/topoCenter/models/TopoCenter.js +9 -5
- package/lib/core/components/DisplaySettingDrawer/DisplaySetting.js +4 -5
- package/lib/core/components/DisplaySettingDrawer/DisplaySettingDrawer.js +2 -2
- package/lib/core/components/DisplaySettingDrawer/hooks/useDisplaySetting.js +4 -4
- package/lib/core/models/AttributeMetricDisplay.js +111 -97
- package/lib/core/models/TopoApp.js +1 -1
- package/lib/core/viewer/components/plugins/{BaseInfo/index.js → ResourceDetail/ResourceDetail.js} +25 -12
- package/lib/core/viewer/components/plugins/ResourceDetail/ResourceDetailPlugin.js +21 -0
- package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/BaseInfo.js +141 -0
- package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/BaseInfoBlock.js +42 -0
- package/lib/core/viewer/components/plugins/{BaseInfo → ResourceDetail}/components/ResourceOverview/BlockBox.js +0 -0
- package/lib/core/viewer/components/plugins/{BaseInfo → ResourceDetail}/components/ResourceOverview/BlockBox.module.scss +0 -0
- package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverviewMetric.js +56 -0
- package/lib/core/viewer/components/plugins/{BaseInfo → ResourceDetail}/components/ResourceOverview/SingleResourceStrategyLink.js +4 -2
- package/lib/core/viewer/components/plugins/{BaseInfo → ResourceDetail}/components/ResourceOverview/index.js +73 -182
- package/lib/core/viewer/components/plugins/{BaseInfo → ResourceDetail}/components/ResourceOverview/index.module.scss +0 -0
- package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/useCiAttrAndMetricData.js +17 -0
- package/lib/core/viewer/components/plugins/ResourceDetail/index.js +11 -0
- package/lib/core/viewer/components/plugins/ResourceDetail/index.module.scss +39 -30
- package/lib/core/viewer/components/plugins/ViewerPlugin.js +2 -2
- package/lib/core/viewer/components/titlebar/BasicTools.js +2 -2
- package/lib/core/viewer/components/titlebar/widgets/SettingButton.js +2 -3
- package/lib/core/viewer/components/titlebar/widgets/SettingButtonWidget.js +28 -0
- package/lib/topoCenter/components/TopoView.js +3 -4
- package/lib/topoCenter/models/TopoCenter.js +9 -5
- package/package.json +2 -2
- package/demo/1/345/237/272/346/234/254//350/207/252/345/256/232/344/271/211/345/261/236/346/200/247/345/222/214/346/214/207/346/240/207.md +0 -11
- package/es/core/viewer/components/plugins/BaseInfo/index.module.scss +0 -49
- package/es/core/viewer/components/plugins/ResourceDetail/ResourceDetailDrawerPlugin.js +0 -37
- package/es/core/viewer/components/plugins/ResourceDetail/topoDrawer.js +0 -147
- package/lib/core/viewer/components/plugins/BaseInfo/index.module.scss +0 -49
- package/lib/core/viewer/components/plugins/ResourceDetail/ResourceDetailDrawerPlugin.js +0 -50
- package/lib/core/viewer/components/plugins/ResourceDetail/topoDrawer.js +0 -167
|
@@ -15,7 +15,7 @@ var _topo = _interopRequireDefault(require("@riil-frontend/component-topology-co
|
|
|
15
15
|
|
|
16
16
|
var _default = function _default(props) {
|
|
17
17
|
var topo = props.topo,
|
|
18
|
-
|
|
18
|
+
displaySettingProps = props.displaySettingProps,
|
|
19
19
|
settingRef = props.settingRef;
|
|
20
20
|
|
|
21
21
|
var executeByConfig = /*#__PURE__*/function () {
|
|
@@ -28,7 +28,7 @@ var _default = function _default(props) {
|
|
|
28
28
|
// 更新节点名称显示隐藏
|
|
29
29
|
topo.attributeMetricDisplay.updateNodesNameVisible(); // 更新连线展开折叠状态
|
|
30
30
|
|
|
31
|
-
if (
|
|
31
|
+
if (displaySettingProps !== null && displaySettingProps !== void 0 && displaySettingProps.showLinkConfig) {
|
|
32
32
|
if (config.expandAllEdges) {
|
|
33
33
|
topo.getHtTopo().expandAllEdgeGroups();
|
|
34
34
|
} else {
|
|
@@ -60,7 +60,7 @@ var _default = function _default(props) {
|
|
|
60
60
|
|
|
61
61
|
var save = /*#__PURE__*/function () {
|
|
62
62
|
var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
63
|
-
var
|
|
63
|
+
var _displaySettingProps$;
|
|
64
64
|
|
|
65
65
|
var values, prevDisplayConfig, displayConfig, displayConfigDispatchers, extraOnOk;
|
|
66
66
|
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
@@ -84,7 +84,7 @@ var _default = function _default(props) {
|
|
|
84
84
|
displayConfigDispatchers.update(displayConfig); // 按配置执行
|
|
85
85
|
|
|
86
86
|
executeByConfig(displayConfig);
|
|
87
|
-
extraOnOk = (
|
|
87
|
+
extraOnOk = (displaySettingProps === null || displaySettingProps === void 0 ? void 0 : (_displaySettingProps$ = displaySettingProps.displaySettingProps) === null || _displaySettingProps$ === void 0 ? void 0 : _displaySettingProps$.onOk) || (displaySettingProps === null || displaySettingProps === void 0 ? void 0 : displaySettingProps.onDisplaySettingDrawerOk);
|
|
88
88
|
|
|
89
89
|
if (extraOnOk) {
|
|
90
90
|
extraOnOk();
|
|
@@ -52,8 +52,10 @@ var filterByPermission = function filterByPermission(resource, items) {
|
|
|
52
52
|
|
|
53
53
|
var AttributeMetricDisplay = /*#__PURE__*/function () {
|
|
54
54
|
function AttributeMetricDisplay(topo) {
|
|
55
|
+
var _this$topo$options$ta;
|
|
56
|
+
|
|
55
57
|
this.topo = topo;
|
|
56
|
-
var ExtElementTagTipBuilder = this.topo.options.ExtElementTagTipBuilder;
|
|
58
|
+
var ExtElementTagTipBuilder = (_this$topo$options$ta = this.topo.options.tagTip) === null || _this$topo$options$ta === void 0 ? void 0 : _this$topo$options$ta.ExtElementTagTipBuilder;
|
|
57
59
|
|
|
58
60
|
if (ExtElementTagTipBuilder) {
|
|
59
61
|
this.extElementTagTipBuilder = new ExtElementTagTipBuilder(this);
|
|
@@ -93,6 +95,10 @@ var AttributeMetricDisplay = /*#__PURE__*/function () {
|
|
|
93
95
|
var ciTypeMeta = this.topo.ciTyeCache.getCiType(ciType);
|
|
94
96
|
|
|
95
97
|
function getItems(cfg) {
|
|
98
|
+
if (!ciTypeMeta || !cfg) {
|
|
99
|
+
return [];
|
|
100
|
+
}
|
|
101
|
+
|
|
96
102
|
var isCustom = cfg.isCustom,
|
|
97
103
|
data = cfg.data;
|
|
98
104
|
var items = (isCustom ? data[ciType] : data) || []; // 过滤类型不存在的属性和指标、图片名称
|
|
@@ -107,94 +113,6 @@ var AttributeMetricDisplay = /*#__PURE__*/function () {
|
|
|
107
113
|
tips: getItems(nodeTip || _ResourceInfoDisplay.DEFAULT_TIP_COMMON_CONFIG)
|
|
108
114
|
};
|
|
109
115
|
}
|
|
110
|
-
/**
|
|
111
|
-
* 按链路类型获取对应的属性、指标配置
|
|
112
|
-
* @param {*} link
|
|
113
|
-
* @param {*} config
|
|
114
|
-
* @returns
|
|
115
|
-
*/
|
|
116
|
-
;
|
|
117
|
-
|
|
118
|
-
_proto.getNetworkLinkConfig = function getNetworkLinkConfig(link, config) {
|
|
119
|
-
var _this$getConfig2 = this.getConfig(config),
|
|
120
|
-
linkTag = _this$getConfig2.linkTag,
|
|
121
|
-
linkTip = _this$getConfig2.linkTip;
|
|
122
|
-
|
|
123
|
-
var linkConnectType = link.attributes['network_link.connect_type'];
|
|
124
|
-
var ciTypeMeta = this.topo.ciTyeCache.getNetworkLinkCiType(linkConnectType);
|
|
125
|
-
|
|
126
|
-
var getMetricCode = function getMetricCode(code) {
|
|
127
|
-
var _connectTypeMap$linkC;
|
|
128
|
-
|
|
129
|
-
var connectTypeMap = {
|
|
130
|
-
phy: {
|
|
131
|
-
id: 'phy',
|
|
132
|
-
metricPrefix: 'physical_link.'
|
|
133
|
-
},
|
|
134
|
-
agg: {
|
|
135
|
-
id: 'agg',
|
|
136
|
-
metricPrefix: 'agg_link.'
|
|
137
|
-
},
|
|
138
|
-
exit: {
|
|
139
|
-
id: 'exit',
|
|
140
|
-
metricPrefix: 'export_link.'
|
|
141
|
-
}
|
|
142
|
-
};
|
|
143
|
-
var metricPrefix = (_connectTypeMap$linkC = connectTypeMap[linkConnectType]) === null || _connectTypeMap$linkC === void 0 ? void 0 : _connectTypeMap$linkC.metricPrefix;
|
|
144
|
-
|
|
145
|
-
if (!metricPrefix) {
|
|
146
|
-
return null;
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
var finalCode = null;
|
|
150
|
-
|
|
151
|
-
if (ciTypeMeta.metricMap[code]) {
|
|
152
|
-
finalCode = code;
|
|
153
|
-
} else if (ciTypeMeta.metricMap["" + metricPrefix + code]) {
|
|
154
|
-
finalCode = "" + metricPrefix + code;
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
return finalCode;
|
|
158
|
-
};
|
|
159
|
-
|
|
160
|
-
var formatItems = function formatItems(items) {
|
|
161
|
-
var newItems = [];
|
|
162
|
-
items.forEach(function (item) {
|
|
163
|
-
if (item.type === 'metric') {
|
|
164
|
-
var code = item.code;
|
|
165
|
-
var finalCode = getMetricCode(code);
|
|
166
|
-
|
|
167
|
-
if (finalCode) {
|
|
168
|
-
newItems.push((0, _extends2["default"])({}, item, {
|
|
169
|
-
code: finalCode
|
|
170
|
-
}));
|
|
171
|
-
}
|
|
172
|
-
} else {
|
|
173
|
-
newItems.push(item);
|
|
174
|
-
}
|
|
175
|
-
});
|
|
176
|
-
return newItems;
|
|
177
|
-
};
|
|
178
|
-
|
|
179
|
-
function getItems(cfg) {
|
|
180
|
-
if (!ciTypeMeta || !cfg) {
|
|
181
|
-
return [];
|
|
182
|
-
}
|
|
183
|
-
|
|
184
|
-
var isCustom = cfg.isCustom,
|
|
185
|
-
data = cfg.data;
|
|
186
|
-
var configItems = (isCustom ? data[linkConnectType] : data) || [];
|
|
187
|
-
var items = formatItems(configItems); // 过滤不存在的
|
|
188
|
-
|
|
189
|
-
return filterUnExistedFields(items, ciTypeMeta);
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
var defaultLinkTagTipConfig = this.topo.options.defaultLinkTagTipConfig;
|
|
193
|
-
return {
|
|
194
|
-
tags: getItems(linkTag || (defaultLinkTagTipConfig === null || defaultLinkTagTipConfig === void 0 ? void 0 : defaultLinkTagTipConfig.tag)),
|
|
195
|
-
tips: getItems(linkTip || (defaultLinkTagTipConfig === null || defaultLinkTagTipConfig === void 0 ? void 0 : defaultLinkTagTipConfig.tip))
|
|
196
|
-
};
|
|
197
|
-
}
|
|
198
116
|
/**
|
|
199
117
|
* 查询需要查询数据的连线
|
|
200
118
|
*
|
|
@@ -220,10 +138,6 @@ var AttributeMetricDisplay = /*#__PURE__*/function () {
|
|
|
220
138
|
}));
|
|
221
139
|
};
|
|
222
140
|
|
|
223
|
-
_proto.getLinkTagTipConfig = function getLinkTagTipConfig(link) {
|
|
224
|
-
return this.getNetworkLinkConfig(link);
|
|
225
|
-
};
|
|
226
|
-
|
|
227
141
|
_proto.getNodesTagTipConfig = function getNodesTagTipConfig() {
|
|
228
142
|
var _this = this;
|
|
229
143
|
|
|
@@ -245,6 +159,109 @@ var AttributeMetricDisplay = /*#__PURE__*/function () {
|
|
|
245
159
|
tips: filterByPermission(node, ciTypeConfig.tips)
|
|
246
160
|
};
|
|
247
161
|
});
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* 按链路类型获取对应的属性、指标配置
|
|
165
|
+
* @param {*} link
|
|
166
|
+
* @returns
|
|
167
|
+
*/
|
|
168
|
+
;
|
|
169
|
+
|
|
170
|
+
_proto.getLinkTagTipConfig = function getLinkTagTipConfig(link) {
|
|
171
|
+
var _this$getConfig2 = this.getConfig(),
|
|
172
|
+
linkTag = _this$getConfig2.linkTag,
|
|
173
|
+
linkTip = _this$getConfig2.linkTip;
|
|
174
|
+
|
|
175
|
+
var ciTypeMeta;
|
|
176
|
+
var isNetworkLink = link.ciType === 'network_link';
|
|
177
|
+
|
|
178
|
+
if (isNetworkLink) {
|
|
179
|
+
var linkConnectType = link.attributes['network_link.connect_type'];
|
|
180
|
+
ciTypeMeta = this.topo.ciTyeCache.getNetworkLinkCiType(linkConnectType);
|
|
181
|
+
} else {
|
|
182
|
+
ciTypeMeta = this.topo.ciTyeCache.getCiType(link.ciType);
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
var dataType = isNetworkLink ? link.attributes['network_link.connect_type'] : link.ciType;
|
|
186
|
+
|
|
187
|
+
function getNetworkFieldItems(configItems) {
|
|
188
|
+
var getMetricCode = function getMetricCode(code) {
|
|
189
|
+
var _connectTypeMap$linkC;
|
|
190
|
+
|
|
191
|
+
var linkConnectType = link.attributes['network_link.connect_type'];
|
|
192
|
+
var connectTypeMap = {
|
|
193
|
+
phy: {
|
|
194
|
+
id: 'phy',
|
|
195
|
+
metricPrefix: 'physical_link.'
|
|
196
|
+
},
|
|
197
|
+
agg: {
|
|
198
|
+
id: 'agg',
|
|
199
|
+
metricPrefix: 'agg_link.'
|
|
200
|
+
},
|
|
201
|
+
exit: {
|
|
202
|
+
id: 'exit',
|
|
203
|
+
metricPrefix: 'export_link.'
|
|
204
|
+
}
|
|
205
|
+
};
|
|
206
|
+
var metricPrefix = (_connectTypeMap$linkC = connectTypeMap[linkConnectType]) === null || _connectTypeMap$linkC === void 0 ? void 0 : _connectTypeMap$linkC.metricPrefix;
|
|
207
|
+
|
|
208
|
+
if (!metricPrefix) {
|
|
209
|
+
return null;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
var finalCode = null;
|
|
213
|
+
|
|
214
|
+
if (ciTypeMeta.metricMap[code]) {
|
|
215
|
+
finalCode = code;
|
|
216
|
+
} else if (ciTypeMeta.metricMap["" + metricPrefix + code]) {
|
|
217
|
+
finalCode = "" + metricPrefix + code;
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
return finalCode;
|
|
221
|
+
};
|
|
222
|
+
|
|
223
|
+
var formatItems = function formatItems(items) {
|
|
224
|
+
var newItems = [];
|
|
225
|
+
items.forEach(function (item) {
|
|
226
|
+
if (item.type === 'metric') {
|
|
227
|
+
var code = item.code;
|
|
228
|
+
var finalCode = getMetricCode(code);
|
|
229
|
+
|
|
230
|
+
if (finalCode) {
|
|
231
|
+
newItems.push((0, _extends2["default"])({}, item, {
|
|
232
|
+
code: finalCode
|
|
233
|
+
}));
|
|
234
|
+
}
|
|
235
|
+
} else {
|
|
236
|
+
newItems.push(item);
|
|
237
|
+
}
|
|
238
|
+
});
|
|
239
|
+
return newItems;
|
|
240
|
+
};
|
|
241
|
+
|
|
242
|
+
return formatItems(configItems);
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
function getItems(cfg) {
|
|
246
|
+
if (!ciTypeMeta || !cfg) {
|
|
247
|
+
return [];
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
var isCustom = cfg.isCustom,
|
|
251
|
+
data = cfg.data;
|
|
252
|
+
var configItems = (isCustom ? data[dataType] : data) || [];
|
|
253
|
+
var items = isNetworkLink ? getNetworkFieldItems(configItems) : configItems; // 过滤不存在的
|
|
254
|
+
|
|
255
|
+
return filterUnExistedFields(items, ciTypeMeta);
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
var tagTipOptions = this.topo.options.tagTip;
|
|
259
|
+
var defaultLinkTagConfig = tagTipOptions !== null && tagTipOptions !== void 0 && tagTipOptions.getDefaultLinkTagConfig ? tagTipOptions === null || tagTipOptions === void 0 ? void 0 : tagTipOptions.getDefaultLinkTagConfig(link) : null;
|
|
260
|
+
var defaultLinkTipConfig = tagTipOptions !== null && tagTipOptions !== void 0 && tagTipOptions.getDefaultLinkTipConfig ? tagTipOptions === null || tagTipOptions === void 0 ? void 0 : tagTipOptions.getDefaultLinkTipConfig(link) : null;
|
|
261
|
+
return {
|
|
262
|
+
tags: getItems(linkTag || defaultLinkTagConfig),
|
|
263
|
+
tips: getItems(linkTip || defaultLinkTipConfig)
|
|
264
|
+
};
|
|
248
265
|
};
|
|
249
266
|
|
|
250
267
|
_proto.getLinksTagTipConfig = function getLinksTagTipConfig() {
|
|
@@ -596,10 +613,7 @@ var AttributeMetricDisplay = /*#__PURE__*/function () {
|
|
|
596
613
|
});
|
|
597
614
|
});
|
|
598
615
|
} else {
|
|
599
|
-
_rlog["default"].warn(
|
|
600
|
-
ciData: ciData,
|
|
601
|
-
ciType: ciType
|
|
602
|
-
});
|
|
616
|
+
_rlog["default"].warn("\u63A8\u9001\u5C5E\u6027\u6307\u6807\u6570\u636E\uFF1A\u672A\u67E5\u8BE2\u5230ciType " + ciType, ciData);
|
|
603
617
|
}
|
|
604
618
|
});
|
|
605
619
|
refIds = Object.keys(refIdMap);
|
|
@@ -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.1.
|
|
51
|
+
var version = typeof "3.1.8" === 'string' ? "3.1.8" : null;
|
|
52
52
|
console.info("\u62D3\u6251\u7248\u672C: " + version);
|
|
53
53
|
/**
|
|
54
54
|
* 拓扑显示和编辑
|
package/lib/core/viewer/components/plugins/{BaseInfo/index.js → ResourceDetail/ResourceDetail.js}
RENAMED
|
@@ -19,18 +19,20 @@ var _menuButton = _interopRequireDefault(require("@alifd/next/lib/menu-button"))
|
|
|
19
19
|
|
|
20
20
|
var _search = _interopRequireDefault(require("@alifd/next/lib/search"));
|
|
21
21
|
|
|
22
|
-
var
|
|
22
|
+
var _componentTopologyGraph = require("@riil-frontend/component-topology-graph");
|
|
23
23
|
|
|
24
24
|
var _utils = require("@riil-frontend/utils");
|
|
25
25
|
|
|
26
|
-
var
|
|
26
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
27
27
|
|
|
28
|
-
var
|
|
28
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
29
29
|
|
|
30
|
-
var
|
|
30
|
+
var _overview = _interopRequireDefault(require("../../../../services/overview"));
|
|
31
31
|
|
|
32
32
|
var _ResourceOverview = _interopRequireDefault(require("./components/ResourceOverview"));
|
|
33
33
|
|
|
34
|
+
var _indexModule = _interopRequireDefault(require("./index.module.scss"));
|
|
35
|
+
|
|
34
36
|
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); }
|
|
35
37
|
|
|
36
38
|
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; }
|
|
@@ -95,8 +97,9 @@ function Title(_ref) {
|
|
|
95
97
|
} // 基本信息
|
|
96
98
|
|
|
97
99
|
|
|
98
|
-
function
|
|
99
|
-
var topo = props.topo
|
|
100
|
+
function ResourceDetail(props) {
|
|
101
|
+
var topo = props.topo,
|
|
102
|
+
canShow = props.canShow;
|
|
100
103
|
|
|
101
104
|
var _topo$store$useModel = topo.store.useModel('topoBaseInfoOverview'),
|
|
102
105
|
topoState = _topo$store$useModel[0],
|
|
@@ -212,8 +215,6 @@ function BaseInfo(props) {
|
|
|
212
215
|
}
|
|
213
216
|
|
|
214
217
|
function init(data, targetType) {
|
|
215
|
-
var _topo$options$resourc;
|
|
216
|
-
|
|
217
218
|
console.log('初始化基本信息', data, targetType);
|
|
218
219
|
var id = data.id,
|
|
219
220
|
name = data.name,
|
|
@@ -222,11 +223,15 @@ function BaseInfo(props) {
|
|
|
222
223
|
ciName = data.ciName,
|
|
223
224
|
operation = data.operation; // 仅展示资源和链路的概览
|
|
224
225
|
|
|
225
|
-
if (!['node', 'link', 'linkGroup'].includes(type)) return; //
|
|
226
|
-
|
|
227
|
-
if ((_topo$options$resourc = topo.options.resourceOverviewDrawer) !== null && _topo$options$resourc !== void 0 && _topo$options$resourc.getData && type === 'link') return; // 没有权限不显示
|
|
226
|
+
if (!['node', 'link', 'linkGroup'].includes(type)) return; // 没有权限不显示
|
|
228
227
|
|
|
229
228
|
if (!operation) return;
|
|
229
|
+
var htElement = topo.getDataModel().getDataByTag(id);
|
|
230
|
+
|
|
231
|
+
if (!canShow(htElement)) {
|
|
232
|
+
return;
|
|
233
|
+
}
|
|
234
|
+
|
|
230
235
|
setActiveData({
|
|
231
236
|
id: id,
|
|
232
237
|
name: name,
|
|
@@ -296,5 +301,13 @@ function BaseInfo(props) {
|
|
|
296
301
|
}))))));
|
|
297
302
|
}
|
|
298
303
|
|
|
299
|
-
|
|
304
|
+
ResourceDetail.propTypes = {
|
|
305
|
+
canShow: _propTypes["default"].func
|
|
306
|
+
};
|
|
307
|
+
ResourceDetail.defaultProps = {
|
|
308
|
+
canShow: function canShow(htElement) {
|
|
309
|
+
return true;
|
|
310
|
+
}
|
|
311
|
+
};
|
|
312
|
+
var _default = ResourceDetail;
|
|
300
313
|
exports["default"] = _default;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
exports.__esModule = true;
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
var _ResourceDetail = _interopRequireDefault(require("./ResourceDetail"));
|
|
13
|
+
|
|
14
|
+
function ResourceDetailPlugin(props) {
|
|
15
|
+
var viewerProps = props.viewerProps;
|
|
16
|
+
var resourceDetailProps = viewerProps === null || viewerProps === void 0 ? void 0 : viewerProps.resourceDetailProps;
|
|
17
|
+
return /*#__PURE__*/_react["default"].createElement(_ResourceDetail["default"], (0, _extends2["default"])({}, props, resourceDetailProps));
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
var _default = ResourceDetailPlugin;
|
|
21
|
+
exports["default"] = _default;
|
package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/BaseInfo.js
ADDED
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
exports.__esModule = true;
|
|
6
|
+
exports["default"] = BaseInfo;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var _reactRouterDom = require("react-router-dom");
|
|
11
|
+
|
|
12
|
+
var _indexModule = _interopRequireDefault(require("./index.module.scss"));
|
|
13
|
+
|
|
14
|
+
// url 处理,UICBB 的地址需截取前缀
|
|
15
|
+
function formatUrl(url) {
|
|
16
|
+
var _window, _window$location;
|
|
17
|
+
|
|
18
|
+
var prefix = '/default/pagecenter';
|
|
19
|
+
|
|
20
|
+
if (((_window = window) === null || _window === void 0 ? void 0 : (_window$location = _window.location) === null || _window$location === void 0 ? void 0 : _window$location.pathname.indexOf(prefix)) === 0 && (url === null || url === void 0 ? void 0 : url.indexOf(prefix)) === 0) {
|
|
21
|
+
return url.split(prefix)[1];
|
|
22
|
+
} else {
|
|
23
|
+
return url;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
function AttributeItem(props) {
|
|
28
|
+
var style = props.style,
|
|
29
|
+
key = props.key,
|
|
30
|
+
label = props.label,
|
|
31
|
+
contentTitle = props.contentTitle,
|
|
32
|
+
children = props.children;
|
|
33
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
34
|
+
className: _indexModule["default"].item,
|
|
35
|
+
style: style || {},
|
|
36
|
+
key: key
|
|
37
|
+
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
38
|
+
className: _indexModule["default"].label
|
|
39
|
+
}, label), /*#__PURE__*/_react["default"].createElement("span", {
|
|
40
|
+
className: _indexModule["default"].content,
|
|
41
|
+
title: contentTitle
|
|
42
|
+
}, children));
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
function BaseInfoContent(props) {
|
|
46
|
+
var _itemCols$type;
|
|
47
|
+
|
|
48
|
+
var topo = props.topo,
|
|
49
|
+
type = props.type,
|
|
50
|
+
data = props.data;
|
|
51
|
+
var itemCols = {
|
|
52
|
+
node: [{
|
|
53
|
+
label: '资源名称:',
|
|
54
|
+
objKey: 'resource',
|
|
55
|
+
render: function render(valueData, key) {
|
|
56
|
+
var display_name = valueData.display_name,
|
|
57
|
+
link = valueData.link;
|
|
58
|
+
return /*#__PURE__*/_react["default"].createElement(AttributeItem, {
|
|
59
|
+
key: key,
|
|
60
|
+
label: "\u8D44\u6E90\u540D\u79F0\uFF1A",
|
|
61
|
+
contentTitle: display_name
|
|
62
|
+
}, valueData ? /*#__PURE__*/_react["default"].createElement(_reactRouterDom.Link, {
|
|
63
|
+
className: _indexModule["default"].link,
|
|
64
|
+
to: formatUrl(link)
|
|
65
|
+
}, display_name || '-') : '-');
|
|
66
|
+
}
|
|
67
|
+
}, {
|
|
68
|
+
label: 'IP地址:',
|
|
69
|
+
objKey: 'ipv4_address'
|
|
70
|
+
}, {
|
|
71
|
+
label: '资产编号:',
|
|
72
|
+
objKey: 'asset_number'
|
|
73
|
+
}, {
|
|
74
|
+
label: '资源类型:',
|
|
75
|
+
objKey: 'ciName'
|
|
76
|
+
}, {
|
|
77
|
+
label: '资源位置:',
|
|
78
|
+
objKey: 'res_address'
|
|
79
|
+
} // {
|
|
80
|
+
// label: '负责人:',
|
|
81
|
+
// objKey: 'principal'
|
|
82
|
+
// },
|
|
83
|
+
],
|
|
84
|
+
link: [{
|
|
85
|
+
label: '链路带宽:',
|
|
86
|
+
objKey: 'rated_bandwidth',
|
|
87
|
+
style: {
|
|
88
|
+
width: '100%'
|
|
89
|
+
}
|
|
90
|
+
}, {
|
|
91
|
+
label: '源IP地址:',
|
|
92
|
+
objKey: 'source_ipv4'
|
|
93
|
+
}, {
|
|
94
|
+
label: '目的IP地址:',
|
|
95
|
+
objKey: 'destination_ipv4'
|
|
96
|
+
}, {
|
|
97
|
+
label: '源端口:',
|
|
98
|
+
objKey: 'source_Interface'
|
|
99
|
+
}, {
|
|
100
|
+
label: '目的端口:',
|
|
101
|
+
objKey: 'destination_Interface'
|
|
102
|
+
}]
|
|
103
|
+
};
|
|
104
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, (_itemCols$type = itemCols[type]) === null || _itemCols$type === void 0 ? void 0 : _itemCols$type.map(function (_ref, key) {
|
|
105
|
+
var label = _ref.label,
|
|
106
|
+
objKey = _ref.objKey,
|
|
107
|
+
style = _ref.style,
|
|
108
|
+
render = _ref.render;
|
|
109
|
+
return data[objKey] === false ? '' : render ? render(data[objKey], key) : /*#__PURE__*/_react["default"].createElement(AttributeItem, {
|
|
110
|
+
key: key,
|
|
111
|
+
label: label,
|
|
112
|
+
style: style || {},
|
|
113
|
+
contentTitle: data[objKey]
|
|
114
|
+
}, data[objKey] || '-');
|
|
115
|
+
}));
|
|
116
|
+
} // 基本信息
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
function BaseInfo(props) {
|
|
120
|
+
var topo = props.topo,
|
|
121
|
+
type = props.type,
|
|
122
|
+
data = props.data,
|
|
123
|
+
baseInfo = props.baseInfo,
|
|
124
|
+
renderContent = props.renderContent;
|
|
125
|
+
var content = renderContent ? renderContent({
|
|
126
|
+
type: type,
|
|
127
|
+
data: data,
|
|
128
|
+
AttributeItem: AttributeItem
|
|
129
|
+
}) : null;
|
|
130
|
+
|
|
131
|
+
if (!content) {
|
|
132
|
+
content = /*#__PURE__*/_react["default"].createElement(BaseInfoContent, {
|
|
133
|
+
type: type,
|
|
134
|
+
data: baseInfo
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
139
|
+
className: _indexModule["default"]['base-info']
|
|
140
|
+
}, content);
|
|
141
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
exports.__esModule = true;
|
|
6
|
+
exports["default"] = BaseInfoBlock;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var _BaseInfo = _interopRequireDefault(require("./BaseInfo"));
|
|
11
|
+
|
|
12
|
+
var _BlockBox = _interopRequireDefault(require("./BlockBox"));
|
|
13
|
+
|
|
14
|
+
var _SingleResourceStrategyLink = _interopRequireDefault(require("./SingleResourceStrategyLink"));
|
|
15
|
+
|
|
16
|
+
function BaseInfoBlock(props) {
|
|
17
|
+
var topo = props.topo,
|
|
18
|
+
data = props.data,
|
|
19
|
+
ciTypeMeta = props.ciTypeMeta,
|
|
20
|
+
headerExtra = props.headerExtra,
|
|
21
|
+
renderContent = props.renderContent,
|
|
22
|
+
baseInfo = props.baseInfo;
|
|
23
|
+
var id = data.id,
|
|
24
|
+
ciType = data.ciType,
|
|
25
|
+
type = data.type,
|
|
26
|
+
name = data.name;
|
|
27
|
+
return /*#__PURE__*/_react["default"].createElement(_BlockBox["default"], {
|
|
28
|
+
headerTitle: "\u57FA\u672C\u4FE1\u606F",
|
|
29
|
+
headerExtra: headerExtra ? headerExtra(props) : ciType === 'network_link' && /*#__PURE__*/_react["default"].createElement(_SingleResourceStrategyLink["default"], {
|
|
30
|
+
id: id,
|
|
31
|
+
ciType: ciType,
|
|
32
|
+
name: name
|
|
33
|
+
})
|
|
34
|
+
}, /*#__PURE__*/_react["default"].createElement(_BaseInfo["default"], {
|
|
35
|
+
topo: topo,
|
|
36
|
+
type: type,
|
|
37
|
+
data: data,
|
|
38
|
+
ciTypeMeta: ciTypeMeta,
|
|
39
|
+
renderContent: renderContent,
|
|
40
|
+
baseInfo: baseInfo
|
|
41
|
+
}));
|
|
42
|
+
}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
exports.__esModule = true;
|
|
6
|
+
exports["default"] = ResourceOverviewMetric;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var _utils = require("@riil-frontend/utils");
|
|
11
|
+
|
|
12
|
+
var _indexModule = _interopRequireDefault(require("./index.module.scss"));
|
|
13
|
+
|
|
14
|
+
// 关键指标
|
|
15
|
+
function ResourceOverviewMetric(props) {
|
|
16
|
+
var topo = props.topo,
|
|
17
|
+
type = props.type,
|
|
18
|
+
data = props.data;
|
|
19
|
+
|
|
20
|
+
function formatValue(itemData) {
|
|
21
|
+
var format = (0, _utils.metricValueFormat)({
|
|
22
|
+
value: itemData.value,
|
|
23
|
+
dataType: itemData.dataType,
|
|
24
|
+
dict: topo.dictCache.getDictObject(),
|
|
25
|
+
unit: itemData.unit,
|
|
26
|
+
code: itemData.code
|
|
27
|
+
});
|
|
28
|
+
return format.value + " " + (format.value === '-' ? '' : format.unit);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
32
|
+
className: _indexModule["default"].indicator
|
|
33
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
34
|
+
className: _indexModule["default"].row
|
|
35
|
+
}, data.slice(0, 3).map(function (item) {
|
|
36
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
37
|
+
className: _indexModule["default"].item,
|
|
38
|
+
key: item.code
|
|
39
|
+
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
40
|
+
className: _indexModule["default"].content
|
|
41
|
+
}, formatValue(item)), /*#__PURE__*/_react["default"].createElement("span", {
|
|
42
|
+
className: _indexModule["default"].label
|
|
43
|
+
}, item.name));
|
|
44
|
+
})), type === 'node' ? /*#__PURE__*/_react["default"].createElement("div", {
|
|
45
|
+
className: _indexModule["default"].row
|
|
46
|
+
}, data.slice(3, 6).map(function (item) {
|
|
47
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
48
|
+
className: _indexModule["default"].item,
|
|
49
|
+
key: item.code
|
|
50
|
+
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
51
|
+
className: _indexModule["default"].content
|
|
52
|
+
}, formatValue(item)), /*#__PURE__*/_react["default"].createElement("span", {
|
|
53
|
+
className: _indexModule["default"].label
|
|
54
|
+
}, item.name));
|
|
55
|
+
})) : '');
|
|
56
|
+
}
|
|
@@ -12,9 +12,11 @@ var _reactRouterDom = require("react-router-dom");
|
|
|
12
12
|
function SingleResourceStrategyLink(props) {
|
|
13
13
|
var id = props.id,
|
|
14
14
|
ciType = props.ciType,
|
|
15
|
-
name = props.name
|
|
15
|
+
name = props.name,
|
|
16
|
+
_props$label = props.label,
|
|
17
|
+
label = _props$label === void 0 ? '监控策略' : _props$label;
|
|
16
18
|
var url = "/default/singleResourceStrategy/" + id + "?title=" + encodeURIComponent(name) + "-\u76D1\u63A7\u914D\u7F6E&ciId=" + id + "&ciType=" + ciType + "&ciName=" + encodeURIComponent(name);
|
|
17
19
|
return /*#__PURE__*/_react["default"].createElement(_reactRouterDom.Link, {
|
|
18
20
|
to: url
|
|
19
|
-
},
|
|
21
|
+
}, label);
|
|
20
22
|
}
|