@riil-frontend/component-topology 5.0.0-alpha.9 → 5.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (195) 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 +20 -20
  5. package/es/common/components/ColorPicker/ColorPicker.js +5 -3
  6. package/es/components/BatchAttrMetric/setting.js +3 -5
  7. package/es/components/ResourceSelectDrawer/ResourceSelectDrawer.js +2 -1
  8. package/es/core/components/DisplaySettingDrawer/DisplaySettingDrawer.js +2 -1
  9. package/es/core/components/DisplaySettingDrawer/LinkTip.js +5 -1
  10. package/es/core/components/DisplaySettingDrawer/demo/Demo.js +63 -0
  11. package/es/core/components/ResourceViewAttributeSetting/Setting.js +9 -48
  12. package/es/core/components/TopoView/TopoView.module.scss +1 -1
  13. package/es/core/components/TopoView/topoView.js +31 -22
  14. package/es/core/editor/components/BackgroundView/index.js +74 -35
  15. package/es/core/editor/components/settings/common/LineType/index.js +7 -1
  16. package/es/core/editor/components/settings/common/text/FontStyleCheckbox.js +3 -3
  17. package/es/core/editor/components/settings/common/text/TextStyle.js +21 -6
  18. package/es/core/editor/components/settings/common/text/fontStyleUtil.js +0 -1
  19. package/es/core/editor/components/settings/propertyViews/box/BoxPropertyView.js +12 -1
  20. package/es/core/editor/components/settings/propertyViews/box/NameInput.js +9 -1
  21. package/es/core/editor/components/settings/propertyViews/edge/CommonEdgePropertyView.js +15 -1
  22. package/es/core/editor/components/settings/propertyViews/group/DataTab/GroupNodeList.js +2 -0
  23. package/es/core/editor/components/settings/propertyViews/group/SettingTab/GroupExpandSetting.js +9 -5
  24. package/es/core/editor/components/settings/propertyViews/group/SettingTab/GroupExpandStatus.js +10 -2
  25. package/es/core/editor/components/settings/propertyViews/group/SettingTab/Setting.js +12 -1
  26. package/es/core/editor/components/settings/propertyViews/layer/SettingTab/Setting.js +13 -3
  27. package/es/core/editor/components/settings/propertyViews/layer/SettingTab/Setting_bak.js +0 -1
  28. package/es/core/editor/components/settings/propertyViews/multipleElements/BatchSetNodeIcon.js +2 -0
  29. package/es/core/editor/components/settings/propertyViews/multipleElements/BatchSetNodeSize/BatchSetNodeSize.js +2 -0
  30. package/es/core/editor/components/settings/propertyViews/multipleElements/MultipleElementPropertyView.js +4 -1
  31. package/es/core/editor/components/settings/propertyViews/node/Setting/Setting.js +4 -0
  32. package/es/core/editor/components/settings/propertyViews/node/data/Data.js +34 -6
  33. package/es/core/editor/components/settings/propertyViews/text/TextPropertyView.js +9 -2
  34. package/es/core/editor/components/settings/propertyViews/view/BackgroundSize.js +30 -1
  35. package/es/core/editor/components/settings/propertyViews/view/GlobalLayout.js +2 -0
  36. package/es/core/editor/components/settings/propertyViews/view/GlobalNodeLabelStyle.js +15 -1
  37. package/es/core/editor/components/settings/propertyViews/view/hooks/useBackgroundSizeConfig.js +0 -1
  38. package/es/core/editor/components/titlebar/TopoEditorTitleBar.js +4 -1
  39. package/es/core/editor/components/titlebar/widgets/DebugTools.js +29 -0
  40. package/es/core/hooks/useAlarm.js +18 -0
  41. package/es/core/hooks/useGraphAlarmDisplay.js +25 -3
  42. package/es/core/hooks/useResourceConfig.js +2 -1
  43. package/es/core/hooks/useRouterAdapter.js +7 -1
  44. package/es/core/hooks/useTopoEdit.js +220 -163
  45. package/es/core/models/AttributeMetricDisplay.js +31 -73
  46. package/es/core/models/HistoryManager.js +100 -50
  47. package/es/core/models/TopoApp.js +1 -1
  48. package/es/core/models/cache/CiTypeCache.js +10 -44
  49. package/es/core/models/cache/DictCache.js +2 -1
  50. package/es/core/models/graph/Background.js +31 -14
  51. package/es/core/models/tagstips/ElementTagTipConfig.js +46 -12
  52. package/es/core/models/tagstips/utils.js +1 -1
  53. package/es/core/models/topoData.js +7 -3
  54. package/es/core/models/utils/linkUtils.js +18 -0
  55. package/es/core/store/models/topoAlarm.js +5 -1
  56. package/es/core/store/models/topoMod.js +6 -31
  57. package/es/core/viewer/components/plugins/ResourceDetail/ResourceDetail.js +51 -249
  58. package/es/core/viewer/components/plugins/ResourceDetail/ResourceDetailDrawer.js +218 -0
  59. package/es/core/viewer/components/plugins/ResourceDetail/ResourceDetailPlugin.js +2 -2
  60. package/es/core/viewer/components/plugins/ResourceDetail/components/ClusterMemberTable.js +1 -1
  61. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/BaseInfoBlock.js +0 -1
  62. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverview.js +79 -43
  63. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverviewMetric.js +2 -3
  64. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/Configurator/index.js +2 -2
  65. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/LinkTopo.js +23 -0
  66. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/LinkTopo.module.scss +11 -0
  67. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/LinkTopoCard.js +34 -0
  68. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/constants.js +6 -0
  69. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/hooks/useMetricPolling.js +62 -0
  70. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/services/index.js +188 -0
  71. package/es/core/viewer/components/titlebar/BasicTools.js +1 -1
  72. package/es/core/viewer/components/titlebar/widgets/NodesDragSwitchWrapper.js +18 -0
  73. package/es/core/viewer/components/titlebar/widgets/SettingButton.js +11 -1
  74. package/es/networkTopo/components/TopoView.js +2 -1
  75. package/es/networkTopo/components/editor/propertyViews/edge/addLinkDrawer/AddLinkDrawer.js +164 -225
  76. package/es/networkTopo/components/editor/propertyViews/edge/addLinkDrawer/components/NetworkLinkForm.js +4 -0
  77. package/es/networkTopo/components/editor/propertyViews/edge/addLinkDrawer/components/editLinkInfo.js +161 -137
  78. package/es/networkTopo/components/editor/propertyViews/edge/addLinkDrawer/hooks/useAddLink.js +104 -0
  79. package/es/networkTopo/components/editor/propertyViews/edge/link/BindExitLinkSelect.js +17 -7
  80. package/es/networkTopo/components/editor/propertyViews/edge/link/LinkInfoPreview.js +8 -9
  81. package/es/networkTopo/components/viewer/displaySetting/LinkAttrCustomSettingDrawer.js +59 -0
  82. package/es/networkTopo/components/viewer/displaySetting/LinkTagV2.js +10 -4
  83. package/es/networkTopo/getTopoData.js +11 -14
  84. package/es/networkTopo/hooks/editor/useDeleteEdges.js +11 -8
  85. package/es/networkTopo/hooks/viewer/useRelateTopo.js +1 -1
  86. package/es/networkTopo/models/LinkDynamicStyleExecutor.js +2 -0
  87. package/es/networkTopo/models/TopoCenter.js +1 -1
  88. package/es/networkTopo/services/index.js +6 -4
  89. package/es/networkTopo/services/link.js +2 -2
  90. package/es/networkTopo/store/topoCenter.js +5 -2
  91. package/es/networkTopo/store/topoTreeMod.js +84 -43
  92. package/es/networkTopo/utils/__tests__/resourcePermissionUtil.test.js +135 -0
  93. package/es/networkTopo/utils/resourcePermissionUtil.js +10 -6
  94. package/es/style.js +2 -1
  95. package/es/utils/ResourceConfigUtil.js +79 -39
  96. package/es/utils/clusterUtil.js +1 -1
  97. package/es/utils/htElementUtils.js +0 -1
  98. package/es/utils/topoData.js +24 -63
  99. package/es/utils/tree.js +1 -3
  100. package/lib/common/components/ColorPicker/ColorPicker.js +6 -3
  101. package/lib/components/BatchAttrMetric/setting.js +3 -6
  102. package/lib/components/ResourceSelectDrawer/ResourceSelectDrawer.js +4 -1
  103. package/lib/core/components/DisplaySettingDrawer/DisplaySettingDrawer.js +4 -1
  104. package/lib/core/components/DisplaySettingDrawer/LinkTip.js +6 -1
  105. package/lib/core/components/DisplaySettingDrawer/demo/Demo.js +71 -0
  106. package/lib/core/components/ResourceViewAttributeSetting/Setting.js +8 -48
  107. package/lib/core/components/TopoView/TopoView.module.scss +1 -1
  108. package/lib/core/components/TopoView/topoView.js +26 -17
  109. package/lib/core/editor/components/BackgroundView/index.js +75 -35
  110. package/lib/core/editor/components/settings/common/LineType/index.js +7 -1
  111. package/lib/core/editor/components/settings/common/text/FontStyleCheckbox.js +5 -4
  112. package/lib/core/editor/components/settings/common/text/TextStyle.js +23 -7
  113. package/lib/core/editor/components/settings/common/text/fontStyleUtil.js +0 -1
  114. package/lib/core/editor/components/settings/propertyViews/box/BoxPropertyView.js +13 -1
  115. package/lib/core/editor/components/settings/propertyViews/box/NameInput.js +9 -1
  116. package/lib/core/editor/components/settings/propertyViews/edge/CommonEdgePropertyView.js +15 -1
  117. package/lib/core/editor/components/settings/propertyViews/group/DataTab/GroupNodeList.js +2 -0
  118. package/lib/core/editor/components/settings/propertyViews/group/SettingTab/GroupExpandSetting.js +9 -5
  119. package/lib/core/editor/components/settings/propertyViews/group/SettingTab/GroupExpandStatus.js +10 -2
  120. package/lib/core/editor/components/settings/propertyViews/group/SettingTab/Setting.js +12 -1
  121. package/lib/core/editor/components/settings/propertyViews/layer/SettingTab/Setting.js +17 -3
  122. package/lib/core/editor/components/settings/propertyViews/layer/SettingTab/Setting_bak.js +0 -1
  123. package/lib/core/editor/components/settings/propertyViews/multipleElements/BatchSetNodeIcon.js +2 -0
  124. package/lib/core/editor/components/settings/propertyViews/multipleElements/BatchSetNodeSize/BatchSetNodeSize.js +2 -0
  125. package/lib/core/editor/components/settings/propertyViews/multipleElements/MultipleElementPropertyView.js +4 -1
  126. package/lib/core/editor/components/settings/propertyViews/node/Setting/Setting.js +4 -0
  127. package/lib/core/editor/components/settings/propertyViews/node/data/Data.js +36 -6
  128. package/lib/core/editor/components/settings/propertyViews/text/TextPropertyView.js +9 -2
  129. package/lib/core/editor/components/settings/propertyViews/view/BackgroundSize.js +32 -1
  130. package/lib/core/editor/components/settings/propertyViews/view/GlobalLayout.js +2 -0
  131. package/lib/core/editor/components/settings/propertyViews/view/GlobalNodeLabelStyle.js +15 -1
  132. package/lib/core/editor/components/settings/propertyViews/view/hooks/useBackgroundSizeConfig.js +0 -1
  133. package/lib/core/editor/components/titlebar/TopoEditorTitleBar.js +5 -1
  134. package/lib/core/editor/components/titlebar/widgets/DebugTools.js +38 -0
  135. package/lib/core/hooks/useAlarm.js +19 -0
  136. package/lib/core/hooks/useGraphAlarmDisplay.js +27 -3
  137. package/lib/core/hooks/useResourceConfig.js +2 -1
  138. package/lib/core/hooks/useRouterAdapter.js +8 -1
  139. package/lib/core/hooks/useTopoEdit.js +219 -162
  140. package/lib/core/models/AttributeMetricDisplay.js +31 -73
  141. package/lib/core/models/HistoryManager.js +105 -51
  142. package/lib/core/models/TopoApp.js +1 -1
  143. package/lib/core/models/cache/CiTypeCache.js +12 -44
  144. package/lib/core/models/cache/DictCache.js +4 -1
  145. package/lib/core/models/graph/Background.js +36 -16
  146. package/lib/core/models/tagstips/ElementTagTipConfig.js +49 -12
  147. package/lib/core/models/tagstips/utils.js +1 -1
  148. package/lib/core/models/topoData.js +7 -3
  149. package/lib/core/models/utils/linkUtils.js +22 -0
  150. package/lib/core/store/models/topoAlarm.js +5 -1
  151. package/lib/core/store/models/topoMod.js +7 -32
  152. package/lib/core/viewer/components/plugins/ResourceDetail/ResourceDetail.js +51 -261
  153. package/lib/core/viewer/components/plugins/ResourceDetail/ResourceDetailDrawer.js +245 -0
  154. package/lib/core/viewer/components/plugins/ResourceDetail/ResourceDetailPlugin.js +2 -2
  155. package/lib/core/viewer/components/plugins/ResourceDetail/components/ClusterMemberTable.js +1 -1
  156. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/BaseInfoBlock.js +0 -1
  157. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverview.js +79 -42
  158. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverviewMetric.js +2 -3
  159. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/Configurator/index.js +2 -2
  160. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/LinkTopo.js +36 -0
  161. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/LinkTopo.module.scss +11 -0
  162. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/LinkTopoCard.js +45 -0
  163. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/constants.js +11 -0
  164. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/hooks/useMetricPolling.js +77 -0
  165. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/services/index.js +214 -0
  166. package/lib/core/viewer/components/titlebar/BasicTools.js +2 -2
  167. package/lib/core/viewer/components/titlebar/widgets/NodesDragSwitchWrapper.js +28 -0
  168. package/lib/core/viewer/components/titlebar/widgets/SettingButton.js +10 -0
  169. package/lib/networkTopo/components/TopoView.js +3 -2
  170. package/lib/networkTopo/components/editor/propertyViews/edge/addLinkDrawer/AddLinkDrawer.js +160 -223
  171. package/lib/networkTopo/components/editor/propertyViews/edge/addLinkDrawer/components/NetworkLinkForm.js +12 -0
  172. package/lib/networkTopo/components/editor/propertyViews/edge/addLinkDrawer/components/editLinkInfo.js +161 -137
  173. package/lib/networkTopo/components/editor/propertyViews/edge/addLinkDrawer/hooks/useAddLink.js +120 -0
  174. package/lib/networkTopo/components/editor/propertyViews/edge/link/BindExitLinkSelect.js +19 -7
  175. package/lib/networkTopo/components/editor/propertyViews/edge/link/LinkInfoPreview.js +8 -9
  176. package/lib/networkTopo/components/viewer/displaySetting/LinkAttrCustomSettingDrawer.js +76 -0
  177. package/lib/networkTopo/components/viewer/displaySetting/LinkTagV2.js +10 -4
  178. package/lib/networkTopo/getTopoData.js +10 -13
  179. package/lib/networkTopo/hooks/editor/useDeleteEdges.js +11 -8
  180. package/lib/networkTopo/hooks/viewer/useRelateTopo.js +2 -1
  181. package/lib/networkTopo/models/LinkDynamicStyleExecutor.js +2 -0
  182. package/lib/networkTopo/models/TopoCenter.js +2 -2
  183. package/lib/networkTopo/services/index.js +6 -4
  184. package/lib/networkTopo/services/link.js +2 -2
  185. package/lib/networkTopo/store/topoCenter.js +5 -2
  186. package/lib/networkTopo/store/topoTreeMod.js +84 -43
  187. package/lib/networkTopo/utils/__tests__/resourcePermissionUtil.test.js +137 -0
  188. package/lib/networkTopo/utils/resourcePermissionUtil.js +11 -6
  189. package/lib/style.js +2 -1
  190. package/lib/utils/ResourceConfigUtil.js +78 -37
  191. package/lib/utils/clusterUtil.js +1 -1
  192. package/lib/utils/htElementUtils.js +0 -1
  193. package/lib/utils/topoData.js +25 -64
  194. package/lib/utils/tree.js +1 -3
  195. package/package.json +3 -2
@@ -113,6 +113,12 @@ function CommonEdgePropertyView(props) {
113
113
  placeholder: "\u8BF7\u8F93\u5165",
114
114
  style: {
115
115
  width: "100%"
116
+ },
117
+ onFocus: function onFocus() {
118
+ topo.historyManager.beginTransaction();
119
+ },
120
+ onBlur: function onBlur() {
121
+ topo.historyManager.endTransaction();
116
122
  }
117
123
  }))), /*#__PURE__*/_react["default"].createElement("div", {
118
124
  style: {
@@ -126,6 +132,14 @@ function CommonEdgePropertyView(props) {
126
132
  }, /*#__PURE__*/_react["default"].createElement(_ColorPicker["default"], {
127
133
  value: values["styleMap.edge.color"],
128
134
  align: "br",
129
- onChange: setLineColor
135
+ onChange: setLineColor,
136
+ balloonProps: {
137
+ onFocus: function onFocus() {
138
+ topo.historyManager.beginTransaction();
139
+ },
140
+ onBlur: function onBlur() {
141
+ topo.historyManager.endTransaction();
142
+ }
143
+ }
130
144
  })))), extraDisplaySetting))));
131
145
  }
@@ -28,6 +28,7 @@ function GroupNodeList(props) {
28
28
  */
29
29
 
30
30
  var handleNodeRemove = function handleNodeRemove(data) {
31
+ topo.historyManager.beginTransaction();
31
32
  var node = data.node;
32
33
  node.setParent(null);
33
34
  var viewRect = topo.getGraphView().getViewRect();
@@ -36,6 +37,7 @@ function GroupNodeList(props) {
36
37
 
37
38
  setTimeout(function () {
38
39
  node.iv();
40
+ topo.historyManager.endTransaction();
39
41
  }, 50);
40
42
  };
41
43
 
@@ -38,16 +38,19 @@ function GroupExpandSetting(props) {
38
38
  setLayout = _useState[1];
39
39
 
40
40
  var alignOnChange = function alignOnChange(v) {
41
- // console.log("setAlignmentBySelectionNodes", v);
41
+ topo.historyManager.beginTransaction(); // console.log("setAlignmentBySelectionNodes", v);
42
42
  // topo.view.topoClient.htTopoClient.setAlignmentBySelectionNodes(v);
43
+
43
44
  onChange("groupAlign", v); // topoEditApi.setAlignmentBySelectionNodes(v);
45
+
46
+ topo.historyManager.endTransaction();
44
47
  };
45
48
 
46
49
  var layoutOnChange = function layoutOnChange(v) {
47
- // console.log("layoutOnChange", v);
48
- setLayout(v); // topo.view.topoClient.htTopoClient.setAlignmentBySelectionNodes(v);
49
-
50
- onChange("layout", v); // topoEditApi.setAlignmentBySelectionNodes(v);
50
+ topo.historyManager.beginTransaction();
51
+ setLayout(v);
52
+ onChange("layout", v);
53
+ topo.historyManager.endTransaction();
51
54
  };
52
55
 
53
56
  (0, _react.useEffect)(function () {
@@ -80,6 +83,7 @@ function GroupExpandSetting(props) {
80
83
  marginBottom: 0
81
84
  }
82
85
  }, /*#__PURE__*/_react["default"].createElement(_GroupExpandStatus["default"], {
86
+ topo: topo,
83
87
  group: group,
84
88
  expanded: expanded,
85
89
  setExpanded: function setExpanded(val) {
@@ -26,11 +26,19 @@ var list = [{
26
26
 
27
27
  function GroupExpandStatus(props) {
28
28
  var expanded = props.expanded,
29
- setExpanded = props.setExpanded;
29
+ setExpanded = props.setExpanded,
30
+ topo = props.topo;
31
+
32
+ var handleChange = function handleChange(val) {
33
+ topo.historyManager.beginTransaction();
34
+ setExpanded(val);
35
+ topo.historyManager.endTransaction();
36
+ };
37
+
30
38
  return /*#__PURE__*/_react["default"].createElement(_radio["default"].Group, {
31
39
  dataSource: list,
32
40
  value: expanded,
33
- onChange: setExpanded
41
+ onChange: handleChange
34
42
  });
35
43
  }
36
44
 
@@ -74,6 +74,7 @@ function GroupSetting(props) {
74
74
  }, /*#__PURE__*/_react["default"].createElement(_form["default"].Item, {
75
75
  label: "\u9ED8\u8BA4\u663E\u793A\u65B9\u5F0F"
76
76
  }, /*#__PURE__*/_react["default"].createElement(_GroupExpandStatus["default"], {
77
+ topo: topo,
77
78
  group: group,
78
79
  expanded: expanded,
79
80
  setExpanded: function setExpanded(val) {
@@ -93,9 +94,13 @@ function GroupSetting(props) {
93
94
  height: values.height
94
95
  },
95
96
  onChange: function onChange(size) {
97
+ topo.historyManager.beginTransaction();
98
+
96
99
  _onChange("width", size.width);
97
100
 
98
101
  _onChange("height", size.height);
102
+
103
+ topo.historyManager.endTransaction();
99
104
  },
100
105
  settingRuntimeState: settingRuntimeState
101
106
  }))));
@@ -115,7 +120,13 @@ function GroupSetting(props) {
115
120
  }), /*#__PURE__*/_react["default"].createElement(_input["default"], {
116
121
  name: "attrObject.name",
117
122
  maxLength: 30,
118
- placeholder: "\u8BF7\u8F93\u5165"
123
+ placeholder: "\u8BF7\u8F93\u5165",
124
+ onFocus: function onFocus() {
125
+ topo.historyManager.beginTransaction();
126
+ },
127
+ onBlur: function onBlur() {
128
+ topo.historyManager.endTransaction();
129
+ }
119
130
  })), expanded ? /*#__PURE__*/_react["default"].createElement(_GroupExpandSetting["default"], {
120
131
  id: id,
121
132
  group: group,
@@ -19,6 +19,8 @@ var _collapse = _interopRequireDefault(require("@alifd/next/lib/collapse"));
19
19
 
20
20
  var _react = _interopRequireWildcard(require("react"));
21
21
 
22
+ var _rlog = _interopRequireDefault(require("@riil-frontend/component-topology-utils/es/rlog"));
23
+
22
24
  var _AlignSetting = _interopRequireDefault(require("../../../common/AlignSetting"));
23
25
 
24
26
  var _SpecialCharacterValidateUtil = require("../../../../../../../utils/SpecialCharacterValidateUtil");
@@ -45,7 +47,8 @@ function LayerSettingTab(props) {
45
47
  return;
46
48
  }
47
49
 
48
- console.error(values[name], value);
50
+ _rlog["default"].debug(values[name], value);
51
+
49
52
  var newValues = field.getValues();
50
53
 
51
54
  _onChange(name, value, newValues);
@@ -57,11 +60,16 @@ function LayerSettingTab(props) {
57
60
  }, [values]);
58
61
 
59
62
  var alignOnChange = function alignOnChange(v) {
60
- console.log('setAlignmentBySelectionNodes', v);
63
+ topo.historyManager.beginTransaction();
64
+
65
+ _rlog["default"].debug('setAlignmentBySelectionNodes', v);
66
+
61
67
  topo.view.topoClient.htTopoClient.setAlignmentBySelectionNodes(v);
62
68
 
63
69
  _onChange('groupAlign', v); // topoEditApi.setAlignmentBySelectionNodes(v);
64
70
 
71
+
72
+ topo.historyManager.endTransaction();
65
73
  };
66
74
 
67
75
  return /*#__PURE__*/_react["default"].createElement(_form["default"], {
@@ -78,7 +86,13 @@ function LayerSettingTab(props) {
78
86
  }), /*#__PURE__*/_react["default"].createElement(_input["default"], {
79
87
  name: "styleMap.label",
80
88
  maxLength: 30,
81
- placeholder: "\u8BF7\u8F93\u5165"
89
+ placeholder: "\u8BF7\u8F93\u5165",
90
+ onFocus: function onFocus() {
91
+ topo.historyManager.beginTransaction();
92
+ },
93
+ onBlur: function onBlur() {
94
+ topo.historyManager.endTransaction();
95
+ }
82
96
  })), /*#__PURE__*/_react["default"].createElement(_form["default"].Item, null, /*#__PURE__*/_react["default"].createElement(_collapse["default"], {
83
97
  defaultExpandedKeys: ['布局', '图片', '对齐方式', '线形'],
84
98
  style: {
@@ -66,7 +66,6 @@ var fontStyleUtil = {
66
66
  map[key.replace(prefix, "")] = obj[key];
67
67
  }
68
68
  });
69
- console.error(obj, prefix, map);
70
69
  return map;
71
70
  },
72
71
  build: function build(style) {
@@ -15,6 +15,7 @@ function BatchSetNodeIcon(props) {
15
15
  var topo = props.topo;
16
16
 
17
17
  var setNodeIcon = function setNodeIcon(iconId) {
18
+ topo.historyManager.beginTransaction();
18
19
  var selection = topo.getSelectionModel().getSelection().toArray();
19
20
  var nodes = selection.filter(function (element) {
20
21
  return (0, _htElementUtils.isNode)(element) && !(0, _htElementUtils.isGroup)(element);
@@ -22,6 +23,7 @@ function BatchSetNodeIcon(props) {
22
23
  nodes.forEach(function (node) {
23
24
  node.setImage(iconId);
24
25
  });
26
+ topo.historyManager.endTransaction();
25
27
  };
26
28
 
27
29
  return /*#__PURE__*/_react["default"].createElement(_NodeIconSelect["default"], {
@@ -101,6 +101,7 @@ function BatchSetNodeSize(props) {
101
101
  setSize((0, _extends3["default"])({}, size, (_extends2 = {}, _extends2[name] = value, _extends2)));
102
102
  }
103
103
 
104
+ topo.historyManager.beginTransaction();
104
105
  nodes.forEach(function (node) {
105
106
  if (name === 'width') {
106
107
  if (lock) {
@@ -120,6 +121,7 @@ function BatchSetNodeSize(props) {
120
121
  node.setHeight(value);
121
122
  }
122
123
  });
124
+ topo.historyManager.endTransaction();
123
125
  };
124
126
 
125
127
  var onLockChange = function onLockChange(isLock) {
@@ -59,10 +59,13 @@ function MultipleElementPropertyView(props) {
59
59
 
60
60
  var alignOnChange = function alignOnChange(v) {
61
61
  console.log('setAlignmentBySelectionNodes', v);
62
- topo.view.topoClient.htTopoClient.setAlignmentBySelectionNodes(v);
62
+ topo.historyManager.beginTransaction();
63
+ topo.getHtTopo().setAlignmentBySelectionNodes(v);
63
64
 
64
65
  _onChange('groupAlign', v); // topoEditApi.setAlignmentBySelectionNodes(v);
65
66
 
67
+
68
+ topo.historyManager.endTransaction();
66
69
  }; // TODO 临时方案,满足应用部署拓扑多选元素属性面板不显示对齐
67
70
 
68
71
 
@@ -87,9 +87,13 @@ function Setting(props) {
87
87
  height: values.height
88
88
  },
89
89
  onChange: function onChange(size) {
90
+ topo.historyManager.beginTransaction();
91
+
90
92
  _onChange('width', size.width);
91
93
 
92
94
  _onChange('height', size.height);
95
+
96
+ topo.historyManager.endTransaction();
93
97
  },
94
98
  settingRuntimeState: settingRuntimeState
95
99
  }))))));
@@ -5,8 +5,12 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  exports.__esModule = true;
6
6
  exports["default"] = Data;
7
7
 
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+
8
10
  var _form = _interopRequireDefault(require("@alifd/next/lib/form"));
9
11
 
12
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
+
10
14
  var _field = _interopRequireDefault(require("@alifd/next/lib/field"));
11
15
 
12
16
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
@@ -74,18 +78,44 @@ function Data(props) {
74
78
  }, [values]);
75
79
 
76
80
  var setBindType = function setBindType(newBindType) {
81
+ topo.historyManager.beginTransaction();
82
+
77
83
  _onChange("attrObject.bindType", newBindType);
78
84
 
85
+ topo.historyManager.endTransaction();
86
+
79
87
  if (newBindType === "topo") {//
80
88
  }
81
89
  };
82
90
 
83
- var handleBindTopoChange = function handleBindTopoChange(value, data) {
84
- // 设置名称为拓扑名称,清空自定义名称
85
- node.a("name", data.label);
86
- node.a("customName", null);
87
- topoEditApi.deleteExLink(node);
88
- };
91
+ var handleBindTopoChange = /*#__PURE__*/function () {
92
+ var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(value, data) {
93
+ return _regenerator["default"].wrap(function _callee$(_context) {
94
+ while (1) {
95
+ switch (_context.prev = _context.next) {
96
+ case 0:
97
+ topo.historyManager.beginTransaction(); // 设置名称为拓扑名称,清空自定义名称
98
+
99
+ node.a("name", data.label);
100
+ node.a("customName", null);
101
+ _context.next = 5;
102
+ return topoEditApi.deleteExLink(node);
103
+
104
+ case 5:
105
+ topo.historyManager.endTransaction();
106
+
107
+ case 6:
108
+ case "end":
109
+ return _context.stop();
110
+ }
111
+ }
112
+ }, _callee);
113
+ }));
114
+
115
+ return function handleBindTopoChange(_x, _x2) {
116
+ return _ref.apply(this, arguments);
117
+ };
118
+ }();
89
119
 
90
120
  var RelateTopoTree = editorProps === null || editorProps === void 0 ? void 0 : editorProps.relateTopoTree;
91
121
  return /*#__PURE__*/_react["default"].createElement(_collapse["default"], {
@@ -104,8 +104,15 @@ function TextPropertyView(props) {
104
104
  minRows: 4,
105
105
  maxRows: 4
106
106
  },
107
- placeholder: "\u6587\u672C\u8F93\u5165"
107
+ placeholder: "\u6587\u672C\u8F93\u5165",
108
+ onFocus: function onFocus() {
109
+ topo.historyManager.beginTransaction();
110
+ },
111
+ onBlur: function onBlur() {
112
+ topo.historyManager.endTransaction();
113
+ }
108
114
  })), /*#__PURE__*/_react["default"].createElement(_form["default"].Item, null, /*#__PURE__*/_react["default"].createElement(_TextStyle["default"], {
109
- name: "styleMap.textObj"
115
+ name: "styleMap.textObj",
116
+ topo: topo
110
117
  })))))));
111
118
  }
@@ -5,6 +5,10 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  exports.__esModule = true;
6
6
  exports["default"] = BackgroundSize;
7
7
 
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+
10
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
+
8
12
  var _react = _interopRequireDefault(require("react"));
9
13
 
10
14
  var _NodeSizeInput = _interopRequireDefault(require("../../common/NodeSizeInput/NodeSizeInput"));
@@ -19,13 +23,40 @@ function BackgroundSize(props) {
19
23
  topo: topo,
20
24
  current: backgroundConfig.current
21
25
  });
26
+
27
+ var setSize = /*#__PURE__*/function () {
28
+ var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(size) {
29
+ return _regenerator["default"].wrap(function _callee$(_context) {
30
+ while (1) {
31
+ switch (_context.prev = _context.next) {
32
+ case 0:
33
+ topo.historyManager.beginTransaction();
34
+ _context.next = 3;
35
+ return backgroundSizeConfig.setSize(size);
36
+
37
+ case 3:
38
+ topo.historyManager.endTransaction();
39
+
40
+ case 4:
41
+ case "end":
42
+ return _context.stop();
43
+ }
44
+ }
45
+ }, _callee);
46
+ }));
47
+
48
+ return function setSize(_x) {
49
+ return _ref.apply(this, arguments);
50
+ };
51
+ }();
52
+
22
53
  return /*#__PURE__*/_react["default"].createElement(_NodeSizeInput["default"], {
23
54
  nodeId: backgroundSizeConfig.nodeId,
24
55
  value: backgroundSizeConfig.size,
25
56
  max: 100000,
26
57
  step: 10,
27
58
  lockId: "background",
28
- onChange: backgroundSizeConfig.setSize,
59
+ onChange: setSize,
29
60
  settingRuntimeState: settingRuntimeState
30
61
  });
31
62
  }
@@ -25,9 +25,11 @@ function GlobalLayout(props) {
25
25
 
26
26
  var onChange = function onChange(data) {
27
27
  console.log("handleChange", data);
28
+ topo.historyManager.beginTransaction();
28
29
  setLayout(data);
29
30
  var layouType = data.id === "toward" ? "" + data.id + data.options.subId : data.id;
30
31
  topo.getHtTopo().layoutInTopo(layouType);
32
+ topo.historyManager.endTransaction();
31
33
  };
32
34
 
33
35
  return /*#__PURE__*/_react["default"].createElement(_LayoutSettings["default"], {
@@ -82,6 +82,12 @@ function GlobalNodeLabelStyle(props) {
82
82
  style: {
83
83
  width: '100%',
84
84
  marginRight: 8
85
+ },
86
+ onFocus: function onFocus() {
87
+ topo.historyManager.beginTransaction();
88
+ },
89
+ onBlur: function onBlur() {
90
+ topo.historyManager.endTransaction();
85
91
  }
86
92
  }, /*#__PURE__*/_react["default"].createElement(Option, {
87
93
  value: "\u5B8B\u4F53"
@@ -118,7 +124,15 @@ function GlobalNodeLabelStyle(props) {
118
124
  }
119
125
  }, /*#__PURE__*/_react["default"].createElement(_ColorPicker["default"], {
120
126
  name: "color",
121
- align: "br"
127
+ align: "br",
128
+ balloonProps: {
129
+ onFocus: function onFocus() {
130
+ topo.historyManager.beginTransaction();
131
+ },
132
+ onBlur: function onBlur() {
133
+ topo.historyManager.endTransaction();
134
+ }
135
+ }
122
136
  }))))));
123
137
  }
124
138
 
@@ -44,7 +44,6 @@ var _default = function _default(props) {
44
44
  return;
45
45
  }
46
46
 
47
- console.error(222, e);
48
47
  setSize(topo.view.background.getSize());
49
48
  };
50
49
 
@@ -23,6 +23,8 @@ var _TitleWidget = _interopRequireDefault(require("../../../components/titlebar/
23
23
 
24
24
  var _TitleBarModule = _interopRequireDefault(require("../../../components/titlebar/TitleBar.module.scss"));
25
25
 
26
+ var _DebugTools = _interopRequireDefault(require("./widgets/DebugTools"));
27
+
26
28
  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); }
27
29
 
28
30
  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; }
@@ -83,7 +85,9 @@ function TopoEditorTitleBar(props) {
83
85
  }, /*#__PURE__*/_react["default"].createElement(_box["default"], {
84
86
  direction: "row",
85
87
  spacing: 8
86
- }, /*#__PURE__*/_react["default"].createElement(_button["default"], {
88
+ }, /*#__PURE__*/_react["default"].createElement(_DebugTools["default"], {
89
+ topo: topo
90
+ }), /*#__PURE__*/_react["default"].createElement(_button["default"], {
87
91
  type: "primary",
88
92
  className: _TitleBarModule["default"].button,
89
93
  onClick: function onClick() {
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports["default"] = DebugTools;
7
+
8
+ var _button = _interopRequireDefault(require("@alifd/next/lib/button"));
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ function DebugTools(props) {
13
+ var topo = props.topo,
14
+ style = props.style;
15
+ var debug = topo.viewProps.debug;
16
+
17
+ if (!debug) {
18
+ return null;
19
+ }
20
+
21
+ var printLog = function printLog() {
22
+ console.info("HistoryManager " + topo.historyManager.toString(), topo.historyManager.getHistories(), topo.historyManager.htHistoryManager.getHistoryIndex());
23
+ };
24
+
25
+ return /*#__PURE__*/_react["default"].createElement("div", {
26
+ style: style
27
+ }, /*#__PURE__*/_react["default"].createElement(_button["default"].Group, null, /*#__PURE__*/_react["default"].createElement(_button["default"], {
28
+ onClick: function onClick() {
29
+ return topo.historyManager.undo();
30
+ }
31
+ }, "\u56DE\u9000"), /*#__PURE__*/_react["default"].createElement(_button["default"], {
32
+ onClick: function onClick() {
33
+ return topo.historyManager.redo();
34
+ }
35
+ }, "\u91CD\u505A"), /*#__PURE__*/_react["default"].createElement(_button["default"], {
36
+ onClick: printLog
37
+ }, "\u6253\u5370\u65E5\u5FD7")));
38
+ }
@@ -5,6 +5,8 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  exports.__esModule = true;
6
6
  exports["default"] = useAlarm;
7
7
 
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+
8
10
  var _react = require("react");
9
11
 
10
12
  var _rlog = _interopRequireDefault(require("@riil-frontend/component-topology-utils/es/rlog"));
@@ -102,6 +104,21 @@ function useAlarm(options) {
102
104
  }
103
105
  };
104
106
 
107
+ var handleRelateTopoAlarm = function handleRelateTopoAlarm(data) {
108
+ var relateTopoAlarm = (0, _extends2["default"])({}, topo.store.getModelState('topoAlarm').relateTopoAlarm);
109
+ data.forEach(function (item) {
110
+ relateTopoAlarm[item.topoId] = item.alertLevel;
111
+ });
112
+ topo.store.getModelDispatchers('topoAlarm').update({
113
+ relateTopoAlarm: relateTopoAlarm
114
+ });
115
+
116
+ _rlog["default"].debug("\u5173\u8054\u62D3\u6251\u544A\u8B66\uFF1A\u6536\u5230 " + data.length, {
117
+ received: data,
118
+ all: relateTopoAlarm
119
+ });
120
+ };
121
+
105
122
  (0, _componentRiilEventEmitter.useCbbEventListener)("topo", {
106
123
  name: "topo",
107
124
  onMessage: function onMessage(data) {
@@ -111,6 +128,8 @@ function useAlarm(options) {
111
128
  topo.alarm.handleAlarmEvent(data.data);
112
129
  } else if (data.type === "risk") {
113
130
  handleRiskData(data.data);
131
+ } else if (data.type === "relateTopoAlarm") {
132
+ handleRelateTopoAlarm(data.data);
114
133
  }
115
134
  }
116
135
  });
@@ -60,7 +60,8 @@ function useGraphAlarmDisplay(options) {
60
60
 
61
61
  var _topo$alarm$useState = topo.alarm.useState(),
62
62
  alarmList = _topo$alarm$useState.alarmList,
63
- risks = _topo$alarm$useState.risks;
63
+ risks = _topo$alarm$useState.risks,
64
+ relateTopoAlarm = _topo$alarm$useState.relateTopoAlarm;
64
65
 
65
66
  var resources = topo.dataModel.useCis();
66
67
 
@@ -110,9 +111,32 @@ function useGraphAlarmDisplay(options) {
110
111
  return item.id === element.getTag();
111
112
  })) === null || _finalAlarms$find === void 0 ? void 0 : _finalAlarms$find.level;
112
113
  element.a('alarmLevel', alarmLevel);
114
+ });
115
+ var relateTopoAlarms = Object.keys(relateTopoAlarm).map(function (topoId) {
116
+ var level = relateTopoAlarm[topoId];
117
+ var relateTopoNode = topo.getDataModel().getDatas().toArray().find(function (node) {
118
+ return "" + node.a('bindTopo') === "" + topoId;
119
+ });
120
+
121
+ if (!level || !relateTopoNode) {
122
+ return null;
123
+ }
124
+
125
+ return {
126
+ elementId: relateTopoNode.getId(),
127
+ level: level
128
+ };
129
+ }).filter(function (item) {
130
+ return !!item;
131
+ });
132
+
133
+ _rlog["default"].debug("\u5173\u8054\u62D3\u6251\u544A\u8B66\uFF1A\u63A8\u9001ht " + Object.keys(relateTopoAlarms).length, {
134
+ all: relateTopoAlarm,
135
+ graphAlarm: relateTopoAlarms
113
136
  }); // 更新到ht拓扑
114
137
 
115
- topo.view.loadAlarm(finalAlarms);
138
+
139
+ topo.view.loadAlarm([].concat(finalAlarms, relateTopoAlarms));
116
140
  }
117
141
 
118
142
  return function () {
@@ -121,5 +145,5 @@ function useGraphAlarmDisplay(options) {
121
145
  resources: resources
122
146
  });
123
147
  };
124
- }, [isEditMode, graphLoaded, resources, alarmSwitch, alarmList, risks]);
148
+ }, [isEditMode, graphLoaded, resources, alarmSwitch, alarmList, risks, relateTopoAlarm]);
125
149
  }
@@ -61,7 +61,8 @@ function _default(props) {
61
61
  return {
62
62
  resources: config.resources,
63
63
  groups: config.groups,
64
- exportLinkIdList: config.exportLinkIdList
64
+ exportLinkIdList: config.exportLinkIdList,
65
+ relateTopoIdList: config.relateTopoIdList
65
66
  };
66
67
  };
67
68
 
@@ -3,6 +3,8 @@
3
3
  exports.__esModule = true;
4
4
  exports["default"] = useRouterAdapter;
5
5
 
6
+ var _componentTopologyUtils = require("@riil-frontend/component-topology-utils");
7
+
6
8
  var _Link = require("../../components/Link");
7
9
 
8
10
  /**
@@ -10,10 +12,15 @@ var _Link = require("../../components/Link");
10
12
  * @param {*} props
11
13
  */
12
14
  function useRouterAdapter(props) {
13
- var topoContext = props.topoContext;
15
+ var topoContext = props.topoContext,
16
+ history = props.history;
14
17
  var Link = topoContext.Link;
15
18
 
16
19
  if (Link) {
17
20
  (0, _Link.setLink)(Link);
18
21
  }
22
+
23
+ if (history) {
24
+ (0, _componentTopologyUtils.setHistory)(history);
25
+ }
19
26
  }