@riil-frontend/component-topology 11.0.10 → 11.0.12

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 (43) hide show
  1. package/build/1.js +2 -2
  2. package/build/2.js +1 -1
  3. package/build/index.css +1 -1
  4. package/build/index.js +30 -30
  5. package/es/components/ModelAttrSelectDrawer/components/MultipleTypeAttributeSelectDrawer.js +82 -0
  6. package/es/components/ModelAttrSelectDrawer/index.js +2 -2
  7. package/es/components/VerticalIconTab/VerticalIconTab.js +1 -1
  8. package/es/core/components/DisplaySettingDrawer/NodeTag.js +6 -3
  9. package/es/core/components/DisplaySettingDrawer/NodeTip.js +7 -4
  10. package/es/core/components/DisplaySettingDrawer/components/NodeAttrSettingDrawer.js +40 -0
  11. package/es/core/components/ResourceViewAttributeSetting/nodeCiTypeAttrUtil.js +96 -10
  12. package/es/core/components/TopoView/topoView.js +3 -0
  13. package/es/core/editor/components/BottomFloatTool/HelpIcon.js +92 -3
  14. package/es/core/editor/components/BottomFloatTool/HelpIcon.module.scss +77 -0
  15. package/es/core/editor/hooks/useNewElementTheme.js +5 -1
  16. package/es/core/hooks/useCanvasThemeConfig.js +16 -4
  17. package/es/core/hooks/useTopoEdit.js +12 -8
  18. package/es/core/models/AttributeMetricDisplay.js +11 -63
  19. package/es/core/models/TopoApp.js +1 -1
  20. package/es/core/models/cache/CiTypeCache.js +50 -39
  21. package/es/core/models/tagstips/ElementTagTipConfig.js +234 -95
  22. package/es/core/models/utils/nodeNameVisibleUtil.js +116 -0
  23. package/es/utils/topoData.js +10 -2
  24. package/lib/components/ModelAttrSelectDrawer/components/MultipleTypeAttributeSelectDrawer.js +97 -0
  25. package/lib/components/ModelAttrSelectDrawer/index.js +2 -2
  26. package/lib/components/VerticalIconTab/VerticalIconTab.js +2 -2
  27. package/lib/core/components/DisplaySettingDrawer/NodeTag.js +7 -3
  28. package/lib/core/components/DisplaySettingDrawer/NodeTip.js +8 -4
  29. package/lib/core/components/DisplaySettingDrawer/components/NodeAttrSettingDrawer.js +60 -0
  30. package/lib/core/components/ResourceViewAttributeSetting/nodeCiTypeAttrUtil.js +97 -10
  31. package/lib/core/components/TopoView/topoView.js +4 -0
  32. package/lib/core/editor/components/BottomFloatTool/HelpIcon.js +100 -3
  33. package/lib/core/editor/components/BottomFloatTool/HelpIcon.module.scss +77 -0
  34. package/lib/core/editor/hooks/useNewElementTheme.js +6 -1
  35. package/lib/core/hooks/useCanvasThemeConfig.js +16 -4
  36. package/lib/core/hooks/useTopoEdit.js +12 -8
  37. package/lib/core/models/AttributeMetricDisplay.js +12 -66
  38. package/lib/core/models/TopoApp.js +1 -1
  39. package/lib/core/models/cache/CiTypeCache.js +49 -39
  40. package/lib/core/models/tagstips/ElementTagTipConfig.js +235 -95
  41. package/lib/core/models/utils/nodeNameVisibleUtil.js +128 -0
  42. package/lib/utils/topoData.js +11 -2
  43. package/package.json +2 -2
@@ -0,0 +1,116 @@
1
+ import { getNodes, isNode } from "../../../utils/htElementUtils";
2
+ /**
3
+ * 根据配置执行节点名称显示隐藏
4
+ * 1. 资源根据标注配置显示隐藏
5
+ * 2. 默认标注配置不勾选图片名称,图片节点名称不显示
6
+ * 3. 自定义标注配置,图片名称显示
7
+ */
8
+
9
+ export function updateNodesNameVisible(topo) {
10
+ getNodesNameVisible(topo).forEach(function (_ref) {
11
+ var htNode = _ref.htNode,
12
+ visible = _ref.visible;
13
+ var prevVisible = htNode.a('isShowName');
14
+
15
+ if (prevVisible !== visible) {
16
+ htNode.a('isShowName', visible);
17
+ }
18
+ });
19
+ }
20
+ /**
21
+ * 新加入节点按配置显示隐藏名称
22
+ * @param {*} topo
23
+ */
24
+
25
+ export function setNewNodeNameVisible(topo, element) {
26
+ if (isNode(element)) {
27
+ var _topo$store$getModelS = topo.store.getModelState('displayConfig'),
28
+ nodeTag = _topo$store$getModelS.nodeTag;
29
+
30
+ var nameVisible = getNodeNameVisible({
31
+ node: element,
32
+ topo: topo,
33
+ nodeTag: nodeTag
34
+ });
35
+ element.a('isShowName', nameVisible);
36
+ }
37
+ }
38
+ export function getNodesNameVisible(topo) {
39
+ var _topo$store$getModelS2 = topo.store.getModelState('displayConfig'),
40
+ nodeTag = _topo$store$getModelS2.nodeTag;
41
+
42
+ var dm = topo.getDataModel();
43
+ var htNodes = getNodes(dm);
44
+ return htNodes.map(function (htNode) {
45
+ var node = topo.dataModel.getDataById(htNode.getTag());
46
+ return {
47
+ htNode: htNode,
48
+ node: node,
49
+ visible: getNodeNameVisible({
50
+ node: node,
51
+ topo: topo,
52
+ nodeTag: nodeTag
53
+ })
54
+ };
55
+ });
56
+ }
57
+ /**
58
+ * 从配置获得资源节点名称是否显示
59
+ * @param {*} node
60
+ * @returns
61
+ */
62
+
63
+ export function getNodeNameVisible(_ref2) {
64
+ var node = _ref2.node,
65
+ topo = _ref2.topo,
66
+ nodeTag = _ref2.nodeTag;
67
+
68
+ if (node !== null && node !== void 0 && node.ciType) {
69
+ return getCiNodeNameVisible({
70
+ node: node,
71
+ nodeTag: nodeTag
72
+ });
73
+ } else {
74
+ return getCommonNodeNameVisible({
75
+ node: node,
76
+ nodeTag: nodeTag
77
+ });
78
+ }
79
+ } // 非CI节点
80
+
81
+ function getCommonNodeNameVisible(_ref3) {
82
+ var node = _ref3.node,
83
+ nodeTag = _ref3.nodeTag;
84
+ var visible = true;
85
+
86
+ if (nodeTag) {
87
+ var isCustom = nodeTag.isCustom,
88
+ data = nodeTag.data;
89
+
90
+ if (!isCustom) {
91
+ var items = data || [];
92
+ visible = !!items.filter(function (item) {
93
+ return item.type === 'graph';
94
+ }).length;
95
+ }
96
+ }
97
+
98
+ return visible;
99
+ }
100
+
101
+ function getCiNodeNameVisible(_ref4) {
102
+ var node = _ref4.node,
103
+ nodeTag = _ref4.nodeTag;
104
+ var visible = true;
105
+
106
+ if (nodeTag) {
107
+ var isCustom = nodeTag.isCustom,
108
+ data = nodeTag.data;
109
+ var items = (isCustom ? data[node.ciType] : data) || [];
110
+ visible = !!items.filter(function (item) {
111
+ return item.type === 'graph';
112
+ }).length;
113
+ }
114
+
115
+ return visible;
116
+ }
@@ -11,6 +11,7 @@ import { getBackgroundImageUrl } from "../core/utils/backgroundUtil";
11
11
  import { isClusterHtElement, processCluster } from "./clusterUtil";
12
12
  import { isGroup } from "./htElementUtils";
13
13
  import v140UpgradeSerializeNodeImageSize from "../core/upgrade/v140UpgradeSerializeNodeImageSize";
14
+ import { getNodeNameVisible } from "../core/models/utils/nodeNameVisibleUtil";
14
15
  /**
15
16
  * 查找数组中对应key的值为value的元素并返回,只查找第一个符合的元素
16
17
  * @param {Array} arr 数组
@@ -63,13 +64,20 @@ var tfNode = function tfNode(topoEngine, node) {
63
64
  */
64
65
 
65
66
 
66
- function updateNodeInfo(topoEngine, topoData) {
67
+ function updateNodeInfo(topo, topoData) {
68
+ var _topo$store$getModelS = topo.store.getModelState('displayConfig'),
69
+ nodeTag = _topo$store$getModelS.nodeTag;
70
+
67
71
  return _extends({}, topoData, {
68
72
  nodes: topoData.nodes.map(function (node) {
69
73
  var attributes = node.attributes;
70
74
  return _extends({}, node, {
71
75
  ipAddress: node.ipAddress || (attributes === null || attributes === void 0 ? void 0 : attributes.ipv4_address) || null,
72
- isShowName: topoEngine.attributeMetricDisplay.getNodeNameVisible(node)
76
+ isShowName: getNodeNameVisible({
77
+ node: node,
78
+ topo: topo,
79
+ nodeTag: nodeTag
80
+ })
73
81
  });
74
82
  })
75
83
  });
@@ -0,0 +1,97 @@
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 _react = _interopRequireWildcard(require("react"));
9
+
10
+ var _rlog = _interopRequireDefault(require("@riil-frontend/component-topology-utils/es/rlog"));
11
+
12
+ var _ModelAttrSelectDrawer = _interopRequireDefault(require("./ModelAttrSelectDrawer"));
13
+
14
+ 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); }
15
+
16
+ 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; }
17
+
18
+ function parseValue(value) {
19
+ var selected = {};
20
+ Object.keys(value).forEach(function (ciType) {
21
+ selected[ciType] = value[ciType].map(function (_ref) {
22
+ var type = _ref.type,
23
+ code = _ref.code;
24
+ return type + ":" + code;
25
+ });
26
+ });
27
+ return selected;
28
+ }
29
+ /**
30
+ * 资源显示属性、指标配置
31
+ */
32
+
33
+
34
+ var MultipleTypeAttributeSelectDrawer = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
35
+ var value = props.value,
36
+ data = props.data,
37
+ showType = props.showType,
38
+ limit = props.limit,
39
+ onChange = props.onChange,
40
+ queryData = props.queryData;
41
+ var batchAttrMetric = (0, _react.useRef)();
42
+
43
+ var _useState = (0, _react.useState)(parseValue((value === null || value === void 0 ? void 0 : value.data) || {})),
44
+ selected = _useState[0],
45
+ setSelected = _useState[1];
46
+
47
+ (0, _react.useEffect)(function () {
48
+ setSelected(parseValue((value === null || value === void 0 ? void 0 : value.data) || {}));
49
+ }, [value]); // 点击选择数据,显示抽屉
50
+
51
+ var show = function show() {
52
+ queryData();
53
+ batchAttrMetric.current.show({
54
+ showType: showType
55
+ });
56
+ };
57
+
58
+ (0, _react.useImperativeHandle)(ref, function () {
59
+ return {
60
+ show: show
61
+ };
62
+ }); // 保存指标设置
63
+
64
+ var save = function save(showType, parm) {
65
+ _rlog["default"].debug('saveMarkSetting', showType, parm);
66
+
67
+ var newSelected = {};
68
+ Object.keys(parm).forEach(function (ciType) {
69
+ newSelected[ciType] = parm[ciType].map(function (id) {
70
+ var _id$split = id.split(':'),
71
+ type = _id$split[0],
72
+ code = _id$split[1];
73
+
74
+ return {
75
+ code: code,
76
+ type: type
77
+ };
78
+ });
79
+ });
80
+ onChange({
81
+ isCustom: true,
82
+ data: newSelected
83
+ });
84
+ };
85
+
86
+ return /*#__PURE__*/_react["default"].createElement(_ModelAttrSelectDrawer["default"], {
87
+ ref: batchAttrMetric,
88
+ value: selected,
89
+ dataSource: data,
90
+ limit: limit,
91
+ showType: showType,
92
+ onOk: save
93
+ });
94
+ });
95
+ MultipleTypeAttributeSelectDrawer.displayName = 'MultipleTypeAttributeSelectDrawer';
96
+ var _default = MultipleTypeAttributeSelectDrawer;
97
+ exports["default"] = _default;
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  exports.__esModule = true;
6
6
  exports["default"] = void 0;
7
7
 
8
- var _ModelAttrSelectDrawer = _interopRequireDefault(require("./components/ModelAttrSelectDrawer"));
8
+ var _MultipleTypeAttributeSelectDrawer = _interopRequireDefault(require("./components/MultipleTypeAttributeSelectDrawer"));
9
9
 
10
- var _default = _ModelAttrSelectDrawer["default"];
10
+ var _default = _MultipleTypeAttributeSelectDrawer["default"];
11
11
  exports["default"] = _default;
@@ -15,10 +15,10 @@ var _react = _interopRequireWildcard(require("react"));
15
15
 
16
16
  var _classnames = _interopRequireDefault(require("classnames"));
17
17
 
18
- var _VerticalIconTabModule = _interopRequireDefault(require("./VerticalIconTab.module.scss"));
19
-
20
18
  var _variables = _interopRequireDefault(require("@alifd/theme-19926/variables.js"));
21
19
 
20
+ var _VerticalIconTabModule = _interopRequireDefault(require("./VerticalIconTab.module.scss"));
21
+
22
22
  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); }
23
23
 
24
24
  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; }
@@ -15,6 +15,8 @@ var _ResourceInfoDisplay = require("../../../constants/ResourceInfoDisplay");
15
15
 
16
16
  var _BasicConfig = _interopRequireDefault(require("./ResourceDisplay/BasicConfig"));
17
17
 
18
+ var _NodeAttrSettingDrawer = _interopRequireDefault(require("./components/NodeAttrSettingDrawer"));
19
+
18
20
  var defaultCommonOptions = [{
19
21
  value: 'graph:name',
20
22
  label: '图片名称'
@@ -31,15 +33,17 @@ var defaultCommonOptions = [{
31
33
  var NodeTag = /*#__PURE__*/_react["default"].forwardRef(function (props, ref) {
32
34
  var commonOptions = props.commonOptions;
33
35
  return /*#__PURE__*/_react["default"].createElement(_BasicConfig["default"], (0, _extends2["default"])({
34
- ref: ref
35
- }, props, {
36
+ ref: ref,
36
37
  limit: 3,
37
38
  elementType: "node",
38
39
  showType: "tag",
39
40
  commonOptions: commonOptions || defaultCommonOptions,
40
41
  defaultCommonConfig: _ResourceInfoDisplay.DEFAULT_NODE_TAG_COMMON_CONFIG,
42
+ customSettingDrawer: function customSettingDrawer(params) {
43
+ return /*#__PURE__*/_react["default"].createElement(_NodeAttrSettingDrawer["default"], params);
44
+ },
41
45
  type: "node"
42
- }));
46
+ }, props));
43
47
  });
44
48
 
45
49
  NodeTag.displayName = 'NodeTag';
@@ -15,6 +15,8 @@ var _ResourceInfoDisplay = require("../../../constants/ResourceInfoDisplay");
15
15
 
16
16
  var _BasicConfig = _interopRequireDefault(require("./ResourceDisplay/BasicConfig"));
17
17
 
18
+ var _NodeAttrSettingDrawer = _interopRequireDefault(require("./components/NodeAttrSettingDrawer"));
19
+
18
20
  var defaultCommonOptions = [{
19
21
  value: 'attribute:display_name',
20
22
  label: '显示名称'
@@ -31,14 +33,16 @@ var defaultCommonOptions = [{
31
33
  var NodeTip = /*#__PURE__*/_react["default"].forwardRef(function (props, ref) {
32
34
  var commonOptions = props.commonOptions;
33
35
  return /*#__PURE__*/_react["default"].createElement(_BasicConfig["default"], (0, _extends2["default"])({
34
- ref: ref
35
- }, props, {
36
+ ref: ref,
36
37
  limit: 4,
37
38
  elementType: "node",
38
39
  showType: "tip",
39
40
  commonOptions: commonOptions || defaultCommonOptions,
40
- defaultCommonConfig: _ResourceInfoDisplay.DEFAULT_TIP_COMMON_CONFIG
41
- }));
41
+ defaultCommonConfig: _ResourceInfoDisplay.DEFAULT_TIP_COMMON_CONFIG,
42
+ customSettingDrawer: function customSettingDrawer(params) {
43
+ return /*#__PURE__*/_react["default"].createElement(_NodeAttrSettingDrawer["default"], params);
44
+ }
45
+ }, props));
42
46
  });
43
47
 
44
48
  NodeTip.propTypes = {
@@ -0,0 +1,60 @@
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 _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
+
12
+ var _react = _interopRequireWildcard(require("react"));
13
+
14
+ var _propTypes = _interopRequireDefault(require("prop-types"));
15
+
16
+ var _rlog = _interopRequireDefault(require("@riil-frontend/component-topology-utils/lib/rlog"));
17
+
18
+ var _ModelAttrSelectDrawer = _interopRequireDefault(require("../../../../components/ModelAttrSelectDrawer"));
19
+
20
+ var _nodeCiTypeAttrUtil = require("../../ResourceViewAttributeSetting/nodeCiTypeAttrUtil");
21
+
22
+ var _excluded = ["topo", "showType", "value"];
23
+
24
+ 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); }
25
+
26
+ 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; }
27
+
28
+ /**
29
+ * 节点标注、悬浮框设置
30
+ */
31
+ var NodeAttrSettingDrawer = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
32
+ var topo = props.topo,
33
+ showType = props.showType,
34
+ value = props.value,
35
+ otherProps = (0, _objectWithoutPropertiesLoose2["default"])(props, _excluded);
36
+
37
+ var _useState = (0, _react.useState)([]),
38
+ data = _useState[0],
39
+ setData = _useState[1];
40
+
41
+ var queryData = function queryData() {
42
+ _rlog["default"].info('属性配置:加载数据');
43
+
44
+ var items = (0, _nodeCiTypeAttrUtil.getNodeModels)(topo);
45
+ setData(items);
46
+ };
47
+
48
+ return /*#__PURE__*/_react["default"].createElement(_ModelAttrSelectDrawer["default"], (0, _extends2["default"])({
49
+ ref: ref
50
+ }, otherProps, {
51
+ value: value,
52
+ data: data,
53
+ showType: showType,
54
+ queryData: queryData
55
+ }));
56
+ });
57
+ NodeAttrSettingDrawer.displayName = 'NodeAttrSettingDrawer';
58
+ NodeAttrSettingDrawer.propTypes = {};
59
+ var _default = NodeAttrSettingDrawer;
60
+ exports["default"] = _default;
@@ -2,10 +2,104 @@
2
2
 
3
3
  exports.__esModule = true;
4
4
  exports.getNodeCiModSet = getNodeCiModSet;
5
+ exports.getNodeModels = getNodeModels;
5
6
 
6
7
  var _topoData = require("../../../utils/topoData");
7
8
 
8
- // 资源类型含有属性和指标集合
9
+ /**
10
+ * 获取节点标注、悬浮框配置
11
+ * @param {*} topo
12
+ * @returns
13
+ */
14
+ function getNodeModels(topo) {
15
+ return getNodeModSet();
16
+
17
+ function getNodeModSet() {
18
+ var data = topo.store.getModelState('topoMod').data;
19
+ var ciTypes = (0, _topoData.getCiTypesFromCiElements)(data.nodes);
20
+ return getMods(ciTypes);
21
+ }
22
+ /**
23
+ *
24
+ * @param {array} ciTypeCodes
25
+ * @returns
26
+ */
27
+
28
+
29
+ function getMods(ciTypeCodes) {
30
+ var ciTypeMap = topo.ciTyeCache.ciTypes;
31
+ return Object.keys(ciTypeMap).filter(function (item) {
32
+ return ciTypeCodes.includes(item);
33
+ }).map(function (key) {
34
+ var ciTypeObj = ciTypeMap[key];
35
+ return {
36
+ id: ciTypeObj.code,
37
+ label: ciTypeObj.displayName,
38
+ icon: "/img/model/" + ciTypeObj.icon + ".svg",
39
+ list: buildModelFields(ciTypeObj, 'node')
40
+ };
41
+ });
42
+ }
43
+
44
+ function buildModels(ciTypeObj) {
45
+ return {
46
+ id: ciTypeObj.code,
47
+ label: ciTypeObj.displayName,
48
+ icon: "/img/model/" + ciTypeObj.icon + ".svg",
49
+ list: buildModelFields(ciTypeObj, 'node')
50
+ };
51
+ }
52
+ /**
53
+ * 过滤ci元数据中的属性和指标,用于属性和指标显示设置
54
+ * @param {} ciTypeObj
55
+ * @returns
56
+ */
57
+
58
+
59
+ function buildModelFields(ciTypeObj, type) {
60
+ var custom = [];
61
+
62
+ if (type === 'node') {
63
+ custom.push.apply(custom, [{
64
+ id: 'graph:name',
65
+ code: 'name',
66
+ name: '图片名称',
67
+ type: 'custom'
68
+ }, {
69
+ id: 'ciType:display_name',
70
+ code: 'ciType',
71
+ name: '资源类型',
72
+ type: 'custom'
73
+ }]);
74
+ }
75
+
76
+ var attributes = ciTypeObj.attributes.filter(function (attr) {
77
+ return !!attr.userVisible;
78
+ }).map(function (item) {
79
+ return {
80
+ type: 'attribute',
81
+ id: "attribute:" + item.code,
82
+ code: "attribute:" + item.code,
83
+ name: item.name,
84
+ typeName: '属性'
85
+ };
86
+ });
87
+ var metrics = ciTypeObj.metrics.map(function (item) {
88
+ return {
89
+ type: 'metric',
90
+ id: "metric:" + item.code,
91
+ code: "metric:" + item.code,
92
+ name: item.name,
93
+ typeName: '指标'
94
+ };
95
+ });
96
+ return [].concat(custom, attributes, metrics);
97
+ }
98
+
99
+ ;
100
+ } // 资源类型含有属性和指标集合
101
+
102
+
9
103
  function getNodeCiModSet(params) {
10
104
  var topo = params.topo;
11
105
  var data = topo.store.getModelState('topoMod').data;
@@ -35,8 +129,7 @@ function getNodeCiModSet(params) {
35
129
  icon: ciTypeObj.icon,
36
130
  list: ciModfilter(ciTypeObj, globalConfig, 'node', ciTypeObj.code)
37
131
  };
38
- }); // console.log("modSet--------------------", modSet);
39
-
132
+ });
40
133
  return modSet;
41
134
  }
42
135
  /**
@@ -66,13 +159,7 @@ function getNodeCiModSet(params) {
66
159
  (_tags$data$code = tags.data[code]) === null || _tags$data$code === void 0 ? void 0 : _tags$data$code.map(function (item) {
67
160
  tagArr.push(item.code + "-" + item.type);
68
161
  });
69
- } // rlog.debug(
70
- // "过滤ci元数据中的属性和指标,用于属性和指标显示设置",
71
- // globalSetting,
72
- // tipArr,
73
- // tagArr
74
- // );
75
-
162
+ }
76
163
 
77
164
  var custom = [];
78
165
 
@@ -57,6 +57,8 @@ var _basicIcons = _interopRequireDefault(require("../../common/icons/basicIcons"
57
57
 
58
58
  var _HelpIcon = _interopRequireDefault(require("../../editor/components/BottomFloatTool/HelpIcon"));
59
59
 
60
+ var _nodeNameVisibleUtil = require("../../models/utils/nodeNameVisibleUtil");
61
+
60
62
  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); }
61
63
 
62
64
  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; }
@@ -159,6 +161,7 @@ var Topology = function Topology(props) {
159
161
  htElements: topo.getDataModel().getDatas().toArray()
160
162
  });
161
163
 
164
+ (0, _nodeNameVisibleUtil.updateNodesNameVisible)(topo);
162
165
  (0, _clusterUtil.upgradeV103GraphClusterNode)(topo, topoData);
163
166
  (0, _graphLinkUtil.fixLink)(topo);
164
167
  (0, _clusterUtil.handleClusterNoPermission)(topo);
@@ -185,6 +188,7 @@ var Topology = function Topology(props) {
185
188
  htElements: topo.getDataModel().getDatas().toArray()
186
189
  });
187
190
 
191
+ (0, _nodeNameVisibleUtil.updateNodesNameVisible)(topo);
188
192
  (0, _clusterUtil.upgradeV103GraphClusterNode)(topo, topoData);
189
193
  (0, _graphLinkUtil.fixLink)(topo);
190
194
  (0, _clusterUtil.handleClusterNoPermission)(topo);
@@ -5,11 +5,108 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  exports.__esModule = true;
6
6
  exports["default"] = void 0;
7
7
 
8
- var _react = _interopRequireDefault(require("react"));
8
+ var _balloon = _interopRequireDefault(require("@alifd/next/lib/balloon"));
9
+
10
+ var _grid = _interopRequireDefault(require("@alifd/next/lib/grid"));
11
+
12
+ var _react = _interopRequireWildcard(require("react"));
13
+
14
+ var _HelpIconModule = _interopRequireDefault(require("./HelpIcon.module.scss"));
15
+
16
+ var _useCanvasThemeConfig2 = _interopRequireDefault(require("../../../hooks/useCanvasThemeConfig"));
17
+
18
+ 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); }
19
+
20
+ 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; }
9
21
 
10
22
  function HelpIcon(props) {
11
- var topo = props.topo;
12
- return /*#__PURE__*/_react["default"].createElement("div", null, "HelpIcon");
23
+ var topo = props.topo,
24
+ topoType = props.topoType;
25
+ var localStorageVal = localStorage.getItem(topoType + 'helpBoxHidden');
26
+
27
+ var _useState = (0, _react.useState)(),
28
+ helpBoxIsShow = _useState[0],
29
+ setHelpBoxIsShow = _useState[1]; //TODO:在主得style里面需要增加color与background属性,根据外部传值进行改变,默认值为$color-text1-4,#fff
30
+
31
+
32
+ var Row = _grid["default"].Row,
33
+ Col = _grid["default"].Col;
34
+
35
+ var _useCanvasThemeConfig = (0, _useCanvasThemeConfig2["default"])({
36
+ topo: topo
37
+ }),
38
+ themeConfig = _useCanvasThemeConfig.themeConfig;
39
+
40
+ var helpIconNames = themeConfig.editor.helpIcon;
41
+
42
+ var onChange = function onChange(visible, type) {
43
+ if (type != 'docClick') {
44
+ setHelpBoxIsShow(visible);
45
+ localStorage.setItem(topoType + 'helpBoxHidden', !visible);
46
+ }
47
+ };
48
+
49
+ var topoModState = topo.store.useModelState('topoMod');
50
+ var graphLoaded = topoModState.graphLoaded;
51
+ (0, _react.useEffect)(function () {
52
+ if (graphLoaded) {
53
+ setHelpBoxIsShow(localStorageVal == 'true' ? false : true);
54
+ }
55
+ }, [topo, graphLoaded]);
56
+ return /*#__PURE__*/_react["default"].createElement(_balloon["default"], {
57
+ triggerType: "click",
58
+ align: "t",
59
+ trigger: /*#__PURE__*/_react["default"].createElement("div", {
60
+ className: _HelpIconModule["default"].topoHelpIconBtn,
61
+ onClick: function onClick() {
62
+ open;
63
+ }
64
+ }, /*#__PURE__*/_react["default"].createElement("img", {
65
+ src: "/img/topo/editor/bottomFloatTool/default.svg",
66
+ alt: ""
67
+ })),
68
+ closable: true,
69
+ visible: helpBoxIsShow,
70
+ onVisibleChange: onChange,
71
+ shouldUpdatePosition: true,
72
+ id: helpIconNames
73
+ }, /*#__PURE__*/_react["default"].createElement("div", {
74
+ className: _HelpIconModule["default"].topoHelpIcon
75
+ }, /*#__PURE__*/_react["default"].createElement("div", {
76
+ className: _HelpIconModule["default"][helpIconNames + 'Box']
77
+ }, /*#__PURE__*/_react["default"].createElement("span", {
78
+ className: _HelpIconModule["default"].title
79
+ }, "\u5FEB\u6377\u952E"), /*#__PURE__*/_react["default"].createElement("div", {
80
+ className: _HelpIconModule["default"].conten
81
+ }, /*#__PURE__*/_react["default"].createElement(Row, null, /*#__PURE__*/_react["default"].createElement(Col, {
82
+ span: "16"
83
+ }, "\u590D\u5236"), /*#__PURE__*/_react["default"].createElement(Col, {
84
+ span: "8"
85
+ }, "ctrl/\u2318+c")), /*#__PURE__*/_react["default"].createElement(Row, null, /*#__PURE__*/_react["default"].createElement(Col, {
86
+ span: "16"
87
+ }, "\u7C98\u8D34"), /*#__PURE__*/_react["default"].createElement(Col, {
88
+ span: "8"
89
+ }, "ctrl/\u2318+v")), /*#__PURE__*/_react["default"].createElement(Row, null, /*#__PURE__*/_react["default"].createElement(Col, {
90
+ span: "16"
91
+ }, "\u64A4\u9500"), /*#__PURE__*/_react["default"].createElement(Col, {
92
+ span: "8"
93
+ }, "ctrl/\u2318+z")), /*#__PURE__*/_react["default"].createElement(Row, null, /*#__PURE__*/_react["default"].createElement(Col, {
94
+ span: "16"
95
+ }, "\u6062\u590D"), /*#__PURE__*/_react["default"].createElement(Col, {
96
+ span: "8"
97
+ }, "ctrl/\u2318+y")), /*#__PURE__*/_react["default"].createElement(Row, null, /*#__PURE__*/_react["default"].createElement(Col, {
98
+ span: "16"
99
+ }, "\u6587\u5B57\u52A0\u7C97"), /*#__PURE__*/_react["default"].createElement(Col, {
100
+ span: "8"
101
+ }, "ctrl/\u2318+b")), /*#__PURE__*/_react["default"].createElement(Row, null, /*#__PURE__*/_react["default"].createElement(Col, {
102
+ span: "16"
103
+ }, "\u9009\u62E9-\u62D6\u52A8"), /*#__PURE__*/_react["default"].createElement(Col, {
104
+ span: "8"
105
+ }, "\u7A7A\u683C")), /*#__PURE__*/_react["default"].createElement(Row, null, /*#__PURE__*/_react["default"].createElement(Col, {
106
+ span: "16"
107
+ }, "\u9000\u51FA\u94FE\u8DEF/\u7EBF\u7ED8\u5236"), /*#__PURE__*/_react["default"].createElement(Col, {
108
+ span: "8"
109
+ }, "\u9F20\u6807\u53F3\u952E"))))));
13
110
  }
14
111
 
15
112
  var _default = HelpIcon;