@riil-frontend/component-topology 6.0.0-alpha.62 → 6.0.0-alpha.64

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.
Files changed (34) hide show
  1. package/build/index.js +1 -1
  2. package/es/core/editor/components/Toolbar/widgets/FontFamilyWidget.js +1 -1
  3. package/es/core/editor/components/Toolbar/widgets/FontSizeWidget.js +3 -3
  4. package/es/core/editor/components/Toolbar/widgets/FontStyleButton.js +7 -14
  5. package/es/core/editor/components/Toolbar/widgets/components/DropdownMenu.js +7 -3
  6. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/ElementTextStyleSetting.js +1 -1
  7. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/box.js +11 -1
  8. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/edgeTag.js +10 -0
  9. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/groupTitle.js +15 -5
  10. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/layerTitle.js +11 -1
  11. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/nodeTag.js +15 -1
  12. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/text.js +5 -1
  13. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/textStyleUtil.js +52 -27
  14. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/GlobalTagStyleSetting/GlobalTagStyleSetting.js +1 -0
  15. package/es/core/models/TopoApp.js +1 -1
  16. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/hooks/useMetricPolling.js +15 -9
  17. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/services/index.js +24 -19
  18. package/lib/core/editor/components/Toolbar/widgets/FontFamilyWidget.js +1 -1
  19. package/lib/core/editor/components/Toolbar/widgets/FontSizeWidget.js +3 -3
  20. package/lib/core/editor/components/Toolbar/widgets/FontStyleButton.js +7 -15
  21. package/lib/core/editor/components/Toolbar/widgets/components/DropdownMenu.js +7 -3
  22. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/ElementTextStyleSetting.js +1 -1
  23. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/box.js +13 -1
  24. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/edgeTag.js +12 -0
  25. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/groupTitle.js +17 -4
  26. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/layerTitle.js +13 -1
  27. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/nodeTag.js +17 -1
  28. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/text.js +7 -1
  29. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/textStyleUtil.js +54 -27
  30. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/GlobalTagStyleSetting/GlobalTagStyleSetting.js +1 -0
  31. package/lib/core/models/TopoApp.js +1 -1
  32. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/hooks/useMetricPolling.js +15 -9
  33. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/services/index.js +24 -19
  34. package/package.json +2 -2
@@ -4,6 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
 
5
5
  exports.__esModule = true;
6
6
  exports["default"] = void 0;
7
+ exports.getEnabledFields = getEnabledFields;
7
8
  exports.getFieldDisabled = getFieldDisabled;
8
9
  exports.getTextStyle = getTextStyle;
9
10
  exports.setTextStyle = setTextStyle;
@@ -59,6 +60,16 @@ function setTextStyle(element, style, topo) {
59
60
  topo.getHtTopo().setEdgeLabelStyle(element, tagStyle);
60
61
  }
61
62
  }
63
+ /**
64
+ *
65
+ * @param {*} element
66
+ * @returns {Array}
67
+ */
68
+
69
+
70
+ function getEnabledFields(element) {
71
+ return ['fontFamily', 'color', 'background', 'opacity'];
72
+ }
62
73
 
63
74
  function getFieldDisabled(element) {
64
75
  return {
@@ -69,6 +80,7 @@ function getFieldDisabled(element) {
69
80
  var _default = {
70
81
  getTextStyle: getTextStyle,
71
82
  setTextStyle: setTextStyle,
83
+ getEnabledFields: getEnabledFields,
72
84
  getFieldDisabled: getFieldDisabled
73
85
  };
74
86
  exports["default"] = _default;
@@ -4,6 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
 
5
5
  exports.__esModule = true;
6
6
  exports["default"] = void 0;
7
+ exports.getEnabledFields = getEnabledFields;
7
8
  exports.getFieldDisabled = getFieldDisabled;
8
9
  exports.getTextStyle = getTextStyle;
9
10
  exports.setTextStyle = setTextStyle;
@@ -45,18 +46,29 @@ function setTextStyle(element, style, topo) {
45
46
 
46
47
  if ('color' in style) {
47
48
  element.s('group.title.color', style.color.hex);
48
- } // 背景颜色
49
+ }
49
50
 
51
+ if ('background' in style || 'opacity' in style) {
52
+ // 背景颜色
53
+ var prevStyle = getTextStyle(element);
54
+ element.s('group.title.background', (0, _colorUtil.formatBackgroundRgbaColor)(prevStyle, style));
55
+ }
50
56
 
51
- var prevStyle = getTextStyle(element);
52
- element.s('group.title.background', (0, _colorUtil.formatBackgroundRgbaColor)(prevStyle, style));
53
57
  var fontStyle = (0, _extends2["default"])({}, getTextStyle(element), style);
54
58
 
55
- var fontStr = _fontStyleUtil["default"].build(_fontStyleUtil["default"].removeBoldItalic(fontStyle));
59
+ var fontStr = _fontStyleUtil["default"].build(fontStyle);
56
60
 
57
61
  element.s('group.title.font', fontStr);
58
62
  }
59
63
 
64
+ function getEnabledFields(element) {
65
+ if (!element.isExpanded()) {
66
+ return ['fontFamily', 'fontSize', 'color', 'background', 'opacity'];
67
+ }
68
+
69
+ return ['fontFamily', 'fontSize', 'bold', 'italic', 'color', 'background', 'opacity'];
70
+ }
71
+
60
72
  function getFieldDisabled(element) {
61
73
  if (!element.isExpanded()) {
62
74
  return {
@@ -70,6 +82,7 @@ function getFieldDisabled(element) {
70
82
  var _default = {
71
83
  getTextStyle: getTextStyle,
72
84
  setTextStyle: setTextStyle,
85
+ getEnabledFields: getEnabledFields,
73
86
  getFieldDisabled: getFieldDisabled
74
87
  };
75
88
  exports["default"] = _default;
@@ -4,6 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
 
5
5
  exports.__esModule = true;
6
6
  exports["default"] = void 0;
7
+ exports.getEnabledFields = getEnabledFields;
7
8
  exports.getTextStyle = getTextStyle;
8
9
  exports.setTextStyle = setTextStyle;
9
10
 
@@ -70,9 +71,20 @@ function setTextStyle(element, style) {
70
71
  labelStyle.font = fontStr;
71
72
  setLabelStyle(element, labelStyle);
72
73
  }
74
+ /**
75
+ *
76
+ * @param {*} element
77
+ * @returns {Array}
78
+ */
79
+
80
+
81
+ function getEnabledFields(element) {
82
+ return ['fontFamily', 'fontSize', 'bold', 'italic', 'color', 'background', 'opacity'];
83
+ }
73
84
 
74
85
  var _default = {
75
86
  getTextStyle: getTextStyle,
76
- setTextStyle: setTextStyle
87
+ setTextStyle: setTextStyle,
88
+ getEnabledFields: getEnabledFields
77
89
  };
78
90
  exports["default"] = _default;
@@ -4,6 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
 
5
5
  exports.__esModule = true;
6
6
  exports["default"] = void 0;
7
+ exports.getEnabledFields = getEnabledFields;
7
8
  exports.getFieldDisabled = getFieldDisabled;
8
9
  exports.getTextStyle = getTextStyle;
9
10
  exports.setTextStyle = setTextStyle;
@@ -60,15 +61,30 @@ function setTextStyle(element, style, topo) {
60
61
  }
61
62
  }
62
63
 
64
+ function getEnabledFields(element) {
65
+ return ['fontFamily', 'color', 'background', 'opacity'];
66
+ }
67
+ /**
68
+ * 获得字段是否禁用
69
+ *
70
+ * @param {*} element
71
+ * @returns
72
+ */
73
+
74
+
63
75
  function getFieldDisabled(element) {
64
76
  return {
65
- fontSize: true
77
+ fontSize: true,
78
+ bold: true,
79
+ italic: true,
80
+ underline: true
66
81
  };
67
82
  }
68
83
 
69
84
  var _default = {
70
85
  getTextStyle: getTextStyle,
71
86
  setTextStyle: setTextStyle,
87
+ getEnabledFields: getEnabledFields,
72
88
  getFieldDisabled: getFieldDisabled
73
89
  };
74
90
  exports["default"] = _default;
@@ -4,6 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
 
5
5
  exports.__esModule = true;
6
6
  exports["default"] = void 0;
7
+ exports.getEnabledFields = getEnabledFields;
7
8
  exports.getTextStyle = getTextStyle;
8
9
  exports.setTextStyle = setTextStyle;
9
10
 
@@ -41,8 +42,13 @@ function setTextStyle(element, style) {
41
42
  element.s('text.font', fontStr);
42
43
  }
43
44
 
45
+ function getEnabledFields(element) {
46
+ return ['fontFamily', 'fontSize', 'bold', 'italic', 'underline', 'color', 'background', 'opacity'];
47
+ }
48
+
44
49
  var _default = {
45
50
  getTextStyle: getTextStyle,
46
- setTextStyle: setTextStyle
51
+ setTextStyle: setTextStyle,
52
+ getEnabledFields: getEnabledFields
47
53
  };
48
54
  exports["default"] = _default;
@@ -4,6 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
 
5
5
  exports.__esModule = true;
6
6
  exports.getElementTextStyle = getElementTextStyle;
7
+ exports.getElementTextStyleEnabledFields = getElementTextStyleEnabledFields;
7
8
  exports.getElementTextStyleFieldDisabled = getElementTextStyleFieldDisabled;
8
9
  exports.getTextStyle = getTextStyle;
9
10
  exports.setTextStyle = setTextStyle;
@@ -58,48 +59,74 @@ function getElementTextStyleFieldDisabled(element) {
58
59
  return null;
59
60
  }
60
61
 
62
+ function getElementTextStyleEnabledFields(element) {
63
+ var type = getElementType(element);
64
+ var handler = _elements["default"][type];
65
+
66
+ if (handler && handler.getEnabledFields) {
67
+ return handler.getEnabledFields(element);
68
+ }
69
+
70
+ return null;
71
+ }
72
+
61
73
  function getTextStyle(htSelection, styleNames) {
62
- // 多选时值相同返回?
63
- var values = htSelection.map(function (element) {
64
- return getElementTextStyle(element);
65
- }).filter(function (item) {
66
- return !!item;
67
- });
74
+ var elementValues = [];
75
+ var elementEnabledFieldsMap = {};
76
+ var enabledFields = [];
77
+ htSelection.forEach(function (element) {
78
+ var id = element.getId();
79
+ var elementTextStyle = getElementTextStyle(element);
80
+ elementValues.push({
81
+ id: id,
82
+ values: elementTextStyle
83
+ });
84
+ var elementEnabledFields = getElementTextStyleEnabledFields(element) || [];
85
+ elementEnabledFieldsMap[id] = elementEnabledFields;
86
+ enabledFields.push.apply(enabledFields, elementEnabledFields);
87
+ }); // 多选时值相同返回,排除元素禁用的字段值
88
+
68
89
  var value = {};
90
+ styleNames.forEach(function (styleName) {
91
+ // 查询该字段多元素的值列表,排除元素禁用的字段值
92
+ var fieldValueList = elementValues.reduce(function (result, item) {
93
+ // 元素字段是否禁用
94
+ var disabled = !elementEnabledFieldsMap[item.id].includes(styleName);
95
+
96
+ if (!item.values || disabled) {
97
+ return result;
98
+ }
69
99
 
70
- if (values.length) {
71
- styleNames.forEach(function (styleName) {
72
- var val = values[0][styleName];
73
- var different = values.filter(function (obj) {
74
- return obj[styleName] !== val;
75
- });
100
+ return [].concat(result, [item.values[styleName]]);
101
+ }, []); // 对比是否一样,如果一样则使用
76
102
 
77
- if (!different.length) {
78
- value[styleName] = val;
79
- }
103
+ var val = fieldValueList[0];
104
+ var different = fieldValueList.filter(function (item) {
105
+ return item !== val;
80
106
  });
81
- } // 多选时元素都不支持字段时禁用
82
-
83
107
 
84
- var fieldDisableds = htSelection.map(function (element) {
85
- return getElementTextStyleFieldDisabled(element);
86
- }).filter(function (item) {
87
- return !!item;
108
+ if (!different.length) {
109
+ value[styleName] = val;
110
+ }
88
111
  });
112
+ var disabled = true; // 字段如果没有元素启用则禁用
113
+
89
114
  var fieldDisabled = styleNames.reduce(function (result, fieldName) {
90
115
  var _extends2;
91
116
 
92
- var disabled = fieldDisableds.length && fieldDisableds.filter(function (item) {
93
- return !!item[fieldName];
94
- }).length === fieldDisableds.length;
95
- return (0, _extends3["default"])({}, result, (_extends2 = {}, _extends2[fieldName] = disabled, _extends2));
117
+ if (enabledFields.includes(fieldName)) {
118
+ disabled = false;
119
+ }
120
+
121
+ return (0, _extends3["default"])({}, result, (_extends2 = {}, _extends2[fieldName] = !enabledFields.includes(fieldName), _extends2));
96
122
  }, {});
97
123
  return {
124
+ disabled: disabled,
98
125
  style: value,
99
126
  fieldDisabled: fieldDisabled,
100
127
  debugData: {
101
- values: values,
102
- fieldDisableds: fieldDisableds
128
+ elementValues: elementValues,
129
+ elementEnabledFieldsMap: elementEnabledFieldsMap
103
130
  }
104
131
  };
105
132
  }
@@ -37,6 +37,7 @@ function GlobalTagStyleSetting(props) {
37
37
  };
38
38
  }, []);
39
39
  return /*#__PURE__*/_react["default"].createElement(Component, (0, _extends2["default"])({
40
+ disabled: true,
40
41
  style: values,
41
42
  setStyle: setStyle,
42
43
  fieldDisabled: fieldDisabled
@@ -54,7 +54,7 @@ var _ElementTagTipConfig = _interopRequireDefault(require("./tagstips/ElementTag
54
54
  var _SelectionModel = _interopRequireDefault(require("./SelectionModel"));
55
55
 
56
56
  // eslint-disable-next-line no-undef
57
- var version = typeof "6.0.0-alpha.62" === 'string' ? "6.0.0-alpha.62" : null;
57
+ var version = typeof "6.0.0-alpha.64" === 'string' ? "6.0.0-alpha.64" : null;
58
58
  console.info("\u62D3\u6251\u7248\u672C: " + version);
59
59
  /**
60
60
  * 拓扑显示和编辑
@@ -62,20 +62,26 @@ function useMetricPolling(_ref) {
62
62
  return item;
63
63
  }).sort().join(',');
64
64
  (0, _react.useEffect)(function () {
65
- _rlog["default"].info('链路拓扑指标轮询 切换', {
66
- linkCi: linkCi,
67
- linkMetricCodes: linkMetricCodes
68
- });
65
+ if (linkId) {
66
+ _rlog["default"].info('链路拓扑指标轮询 切换', {
67
+ linkCi: linkCi,
68
+ linkMetricCodes: linkMetricCodes
69
+ });
70
+
71
+ queryLinkMetricsRequest.run(linkCi, linkMetricCodes);
72
+ }
69
73
 
70
- queryLinkMetricsRequest.run(linkCi, linkMetricCodes);
71
74
  return function () {};
72
75
  }, [linkId, linkMetricCodesStr]);
73
76
  (0, _react.useEffect)(function () {
74
- _rlog["default"].info('链路拓扑指标轮询 queryInterfaceMetricsRequest 开始', {
75
- linkCi: linkCi
76
- });
77
+ if (linkId) {
78
+ _rlog["default"].info('链路拓扑指标轮询 queryInterfaceMetricsRequest 开始', {
79
+ linkCi: linkCi
80
+ });
81
+
82
+ queryInterfaceMetricsRequest.run(linkCi);
83
+ }
77
84
 
78
- queryInterfaceMetricsRequest.run(linkCi);
79
85
  return function () {};
80
86
  }, [linkId]);
81
87
  return data;
@@ -117,18 +117,18 @@ function _queryLinkLatestMetrics() {
117
117
  case 8:
118
118
  // format
119
119
  resultData = linkMetricCodes.map(function (code) {
120
- var _linkMetrics$find;
121
-
122
- var value = (_linkMetrics$find = linkMetrics.find(function (m) {
120
+ var metric = linkMetrics.find(function (m) {
123
121
  return m.metricCode === code;
124
- })) === null || _linkMetrics$find === void 0 ? void 0 : _linkMetrics$find.metricValue;
122
+ });
123
+ var value = metric === null || metric === void 0 ? void 0 : metric.metricValue;
125
124
 
126
125
  var metricDef = _CiTypeCache["default"].getMetric(linkCi.ciType || linkCi.typeCode, code);
127
126
 
128
127
  return {
129
128
  code: code,
130
129
  name: metricDef.name,
131
- value: (0, _attributeFormatter.formatMetric)(value, metricDef) || ''
130
+ value: (0, _attributeFormatter.formatMetric)(value, metricDef) || '',
131
+ ts: metric === null || metric === void 0 ? void 0 : metric.ts
132
132
  };
133
133
  });
134
134
  return _context3.abrupt("return", {
@@ -152,18 +152,14 @@ function queryLinkInterfacesLatestMetrics(_x5) {
152
152
 
153
153
  function _queryLinkInterfacesLatestMetrics() {
154
154
  _queryLinkInterfacesLatestMetrics = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(linkCi) {
155
- var _linkCi$attributes, sourceType, sourceId, destinationId, destinationType, typeCodes, queryInterfaceMetricsParam, interfaceMetrics, resultData, parseInterfaceMetrics;
155
+ var _linkCi$attributes, sourceType, sourceId, destinationId, destinationType, typeCodes, queryInterfaceMetricsParam, interfaceMetrics, resultData, findMetricsBySubCiId, parseInterfaceMetrics;
156
156
 
157
157
  return _regenerator["default"].wrap(function _callee4$(_context4) {
158
158
  while (1) {
159
159
  switch (_context4.prev = _context4.next) {
160
160
  case 0:
161
161
  parseInterfaceMetrics = function _parseInterfaceMetric(subCiId) {
162
- var _metrics$;
163
-
164
- var metrics = interfaceMetrics.filter(function (metric) {
165
- return metric.subCiId === subCiId;
166
- });
162
+ var metrics = findMetricsBySubCiId(subCiId);
167
163
  return _constants.INTERFACE_METRIC_CODES.reduce(function (res, code) {
168
164
  var _metrics$find;
169
165
 
@@ -176,10 +172,14 @@ function _queryLinkInterfacesLatestMetrics() {
176
172
  var formatValue = (0, _attributeFormatter.formatMetric)(value, metricDef);
177
173
  res[code] = formatValue === 'undefined' ? '-' : formatValue;
178
174
  return res;
179
- }, {
180
- _ts: (_metrics$ = metrics[0]) === null || _metrics$ === void 0 ? void 0 : _metrics$.ts // 指标时间
175
+ }, {});
176
+ };
181
177
 
178
+ findMetricsBySubCiId = function _findMetricsBySubCiId(subCiId) {
179
+ var metrics = interfaceMetrics.filter(function (metric) {
180
+ return metric.subCiId === subCiId;
182
181
  });
182
+ return metrics;
183
183
  };
184
184
 
185
185
  _linkCi$attributes = linkCi.attributes, sourceType = _linkCi$attributes.source_type, sourceId = _linkCi$attributes.source_id, destinationId = _linkCi$attributes.destination_id, destinationType = _linkCi$attributes.destination_type;
@@ -198,26 +198,31 @@ function _queryLinkInterfacesLatestMetrics() {
198
198
  typeCodes.push(destinationType);
199
199
  }
200
200
 
201
- _context4.next = 8;
201
+ _context4.next = 9;
202
202
  return _CiTypeCache["default"].load(typeCodes);
203
203
 
204
- case 8:
205
- _context4.next = 10;
204
+ case 9:
205
+ _context4.next = 11;
206
206
  return queryLatestMetrics(queryInterfaceMetricsParam);
207
207
 
208
- case 10:
208
+ case 11:
209
209
  interfaceMetrics = _context4.sent;
210
210
  // format
211
211
  resultData = {
212
212
  sourceMetrics: parseInterfaceMetrics(sourceId),
213
- destinationMetrics: destinationId ? parseInterfaceMetrics(destinationId) : null
213
+ destinationMetrics: destinationId ? parseInterfaceMetrics(destinationId) : null,
214
+ // 源目的接口指标原始数据。支持关键链路详情过滤最近一小时指标
215
+ originMetricData: {
216
+ source: findMetricsBySubCiId(sourceId),
217
+ destination: destinationId ? findMetricsBySubCiId(destinationId) : []
218
+ }
214
219
  };
215
220
 
216
221
  _rlog["default"].debug('查询链路接口指标 结果', linkCi);
217
222
 
218
223
  return _context4.abrupt("return", resultData);
219
224
 
220
- case 14:
225
+ case 15:
221
226
  case "end":
222
227
  return _context4.stop();
223
228
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@riil-frontend/component-topology",
3
- "version": "6.0.0-alpha.62",
3
+ "version": "6.0.0-alpha.64",
4
4
  "description": "拓扑",
5
5
  "scripts": {
6
6
  "start": "build-scripts start",
@@ -116,6 +116,6 @@
116
116
  "access": "public"
117
117
  },
118
118
  "license": "MIT",
119
- "homepage": "https://unpkg.com/@riil-frontend/component-topology@6.0.0-alpha.62/build/index.html",
119
+ "homepage": "https://unpkg.com/@riil-frontend/component-topology@6.0.0-alpha.64/build/index.html",
120
120
  "gitHead": "2da19ffccbb7ca60a8acf396e39f542c68bb33f5"
121
121
  }