@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
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports["default"] = Demo;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ function Demo() {
11
+ var dataSource = [{
12
+ id: 'switch',
13
+ label: '交换机',
14
+ icon: '/img/model/switch.svg',
15
+ list: [{
16
+ code: 'graph:name',
17
+ name: '图片名称',
18
+ typeName: null
19
+ }, {
20
+ code: 'ciType:name',
21
+ name: '资源类型',
22
+ typeName: null
23
+ }, {
24
+ code: 'attr:ipv4_address',
25
+ name: 'IPv4地址',
26
+ typeName: '属性'
27
+ }, {
28
+ code: 'metric:ping_status',
29
+ name: 'ping状态',
30
+ typeName: '指标'
31
+ }]
32
+ }, {
33
+ id: 'router',
34
+ label: '路由器',
35
+ icon: '/img/model/switch.svg',
36
+ list: [{
37
+ code: 'graph:name',
38
+ name: '图片名称',
39
+ typeName: null
40
+ }, {
41
+ code: 'ciType:name',
42
+ name: '资源类型',
43
+ typeName: null
44
+ }, {
45
+ code: 'attr:ipv4_address',
46
+ name: 'IPv4地址',
47
+ typeName: '属性'
48
+ }, {
49
+ code: 'metric:ping_status',
50
+ name: 'ping状态',
51
+ typeName: '指标'
52
+ }]
53
+ }];
54
+ return /*#__PURE__*/_react["default"].createElement(AttributeSelectDrawer, {
55
+ visible: true,
56
+ value: {} // 示例: {'switch': ['graph:name','ciType:name'], ...}
57
+ ,
58
+ dataSource: dataSource // key为监控模板code,value为配置项列表
59
+ ,
60
+ limit: 3 // 单个模板最大可选择选项数量
61
+ ,
62
+ onChange: function onChange(value) {
63
+ console.log('onChange');
64
+ },
65
+ onCancel: function onCancel() {
66
+ console.log('onCancel');
67
+ },
68
+ showType: "tip" // 数据类型。
69
+
70
+ });
71
+ }
@@ -26,7 +26,8 @@ var ResourceDiplayInfoSetting = /*#__PURE__*/(0, _react.forwardRef)(function (pr
26
26
  elementType = props.elementType,
27
27
  showType = props.showType,
28
28
  limit = props.limit,
29
- onChange = props.onChange;
29
+ onChange = props.onChange,
30
+ queryData = props.queryData;
30
31
  var batchAttrMetric = (0, _react.useRef)();
31
32
 
32
33
  var _useState = (0, _react.useState)({}),
@@ -43,39 +44,13 @@ var ResourceDiplayInfoSetting = /*#__PURE__*/(0, _react.forwardRef)(function (pr
43
44
  allLinkModSet = resAndMetrics.allLinkModSet;
44
45
 
45
46
  var openMarkSetting = function openMarkSetting(parm) {
46
- // rlog.debug('openMarkSetting', parm, allCiSet, ciSetDoc, setConfig,allCiModSet,allLinkModSet);
47
47
  _rlog["default"].debug("openMarkSetting", parm, elementType, showType, allCiModSet, allLinkModSet);
48
48
 
49
- setMarkarkData(elementType === "node" ? allCiModSet : allLinkModSet);
50
- /**
51
- * 已修改,目前只有批量设置
52
- */
53
- // if (parm.selectType === 'batch') {
54
- // setMarkarkData(setConfig ?? allCiModSet);
55
- // } else {
56
- // const setObj = {};
57
- // if (ciSetDoc?.hasOwnProperty(parm.ciId)) {
58
- // setObj[parm.ciId] = {
59
- // ...ciSetDoc[parm.ciId],
60
- // tag: ((ciSetDoc[parm.ciId] || {}).tag || []).map((t) => {
61
- // // return t.split('-')[0];
62
- // return t.code;
63
- // }),
64
- // tip: ((ciSetDoc[parm.ciId] || {}).tip || []).map((t) => {
65
- // return t.code;
66
- // }),
67
- // };
68
- // } else {
69
- // setObj[parm.ciId] = {
70
- // code: '',
71
- // list: [],
72
- // tag: [],
73
- // tip: [],
74
- // };
75
- // }
76
- // rlog.debug('setMarkarkData', setObj);
77
- // setMarkarkData(setObj);
78
- // }
49
+ if (queryData) {
50
+ setMarkarkData(queryData());
51
+ } else {
52
+ setMarkarkData(elementType === "node" ? allCiModSet : allLinkModSet);
53
+ }
79
54
 
80
55
  batchAttrMetric.current.show({
81
56
  showType: showType
@@ -98,22 +73,7 @@ var ResourceDiplayInfoSetting = /*#__PURE__*/(0, _react.forwardRef)(function (pr
98
73
  isCustom: true,
99
74
  data: parm
100
75
  });
101
- } // const doc = ciSetDoc;
102
- // let ciDoc = {};
103
- // let allCiset = allCiSet;
104
- // if (selectType === 'single') {
105
- // const singleResult = updateCiDoc(dataType, parm, doc, allCiSet);
106
- // ciDoc = singleResult.cidoc;
107
- // allCiset = singleResult.allciset;
108
- // } else {
109
- // const allResult = updateAllCiDoc(dataType, parm, doc, allCiSet);
110
- // ciDoc = allResult.cidoc;
111
- // allCiset = allResult.allciset;
112
- // }
113
- // rlog.debug('saveMarkSetting', {parm, allCiSet, ciDoc, allCiset});
114
- // topo.view.topoClient.setTagAndTipConfig(ciDoc);
115
- // bizDispatchers.update({ ciSetDoc: ciDoc, setConfig: allCiset });
116
-
76
+ }
117
77
  };
118
78
 
119
79
  (0, _react.useImperativeHandle)(ref, function () {
@@ -19,7 +19,7 @@
19
19
  // 解决拓扑图容器绝对定位z-index>0时浮层和右键菜单不显示问题
20
20
  :global {
21
21
  body > .ht-ui-view {
22
- z-index: 1000;
22
+ z-index: 10000;
23
23
  }
24
24
  body > div[ht="ht-view ht.ui.ContextMenu"] {
25
25
  z-index: 1000;
@@ -81,16 +81,16 @@ var Topology = function Topology(props) {
81
81
  topo.viewProps = props;
82
82
  var store = topo.store;
83
83
 
84
- var _store$useModel = store.useModel("topoMod"),
84
+ var _store$useModel = store.useModel('topoMod'),
85
85
  topoState = _store$useModel[0],
86
86
  topoDispatchers = _store$useModel[1];
87
87
 
88
- var bizDispatchers = store.useModelDispatchers("topoBizMod");
88
+ var bizDispatchers = store.useModelDispatchers('topoBizMod');
89
89
  var topoId = topoState.topoId,
90
90
  viewState = topoState.viewState,
91
91
  topoData = topoState.topoData,
92
92
  urlParams = topoState.urlParams;
93
- var isEditMode = viewState === "edit";
93
+ var isEditMode = viewState === 'edit';
94
94
  var topoShowType = topoState.type;
95
95
  var isLayerTopo = topoShowType === _template.TPL_TREE;
96
96
 
@@ -130,7 +130,7 @@ var Topology = function Topology(props) {
130
130
  topo: topo
131
131
  });
132
132
  (0, _react.useEffect)(function () {
133
- if (viewState === "view" && topoId) {
133
+ if (viewState === 'view' && topoId) {
134
134
  // TODO 移到模型中
135
135
  // rlog.debug('useEffect-viewState', topoId, viewState);
136
136
  setTData(null);
@@ -154,7 +154,7 @@ var Topology = function Topology(props) {
154
154
  var onGraphCreated = (0, _react.useCallback)(function (topoClient) {
155
155
  topo.view.onCreatedView(topoClient);
156
156
 
157
- _rlog["default"].info("TopoView.onGraphCreated");
157
+ _rlog["default"].info('TopoView.onGraphCreated');
158
158
 
159
159
  initSelection();
160
160
 
@@ -163,23 +163,28 @@ var Topology = function Topology(props) {
163
163
  }
164
164
  }, []);
165
165
  var handleGraphDataLoaded = (0, _react.useCallback)(function () {
166
- _rlog["default"].info("TopoView.handleGraphDataLoaded", topoData, topo.getDataModel().getDatas().toArray());
166
+ _rlog["default"].info('TopoView.handleGraphDataLoaded', topoData, topo.getDataModel().getDatas().toArray());
167
167
 
168
168
  (0, _clusterUtil.upgradeV103GraphClusterNode)(topo, topoData);
169
169
  (0, _graphLinkUtil.fixLink)(topo);
170
170
  (0, _clusterUtil.handleClusterNoPermission)(topo);
171
171
  (0, _edgeUtil.updateEdgeExpanded)(topo);
172
+ var htHistoryManager = topo.getDataModel().getHistoryManager();
173
+
174
+ if (htHistoryManager) {
175
+ topo.historyManager = new _HistoryManager.HistoryManager(topo, htHistoryManager);
176
+ }
177
+
172
178
  topoDispatchers.update({
173
179
  graphLoaded2: true
174
180
  });
175
- topo.historyManager = new _HistoryManager.HistoryManager(topo);
176
181
 
177
182
  if (onLoad) {
178
183
  onLoad();
179
184
  }
180
185
  }, [topoData]);
181
186
  var handleGraphLoaded = (0, _react.useCallback)(function () {
182
- _rlog["default"].info("TopoView.handleGraphLoaded", topoData, topo.getDataModel().getDatas().toArray());
187
+ _rlog["default"].info('TopoView.handleGraphLoaded', topoData, topo.getDataModel().getDatas().toArray());
183
188
 
184
189
  (0, _clusterUtil.upgradeV103GraphClusterNode)(topo, topoData);
185
190
  (0, _graphLinkUtil.fixLink)(topo);
@@ -199,7 +204,7 @@ var Topology = function Topology(props) {
199
204
  }, [topoData]); // TODO 之后把事件方法都转移出去
200
205
 
201
206
  var rightEventHandle = function rightEventHandle(event) {
202
- _rlog["default"].debug("右键事件", event);
207
+ _rlog["default"].debug('右键事件', event);
203
208
 
204
209
  var contextMenu = topo.view.contextMenu;
205
210
 
@@ -209,7 +214,7 @@ var Topology = function Topology(props) {
209
214
  };
210
215
 
211
216
  var onRefresh = function onRefresh(e) {
212
- _rlog["default"].debug("TopoView:onRefresh", e);
217
+ _rlog["default"].debug('TopoView:onRefresh', e);
213
218
 
214
219
  onRefreshTopo ? onRefreshTopo() : topoDispatchers.refreshTopo();
215
220
  };
@@ -220,7 +225,7 @@ var Topology = function Topology(props) {
220
225
 
221
226
 
222
227
  var handleEvent = function handleEvent(event) {
223
- _rlog["default"].debug("TopoView:onEvent", event);
228
+ _rlog["default"].debug('TopoView:onEvent', event);
224
229
 
225
230
  onEvent && onEvent(event);
226
231
  topoEdit.onEvent(event);
@@ -260,7 +265,7 @@ var Topology = function Topology(props) {
260
265
  break;
261
266
 
262
267
  case _componentTopologyGraph.TopoEvent.EVENT_CONTEXT_TOOL:
263
- _rlog["default"].debug("自定义工具栏事件", event);
268
+ _rlog["default"].debug('自定义工具栏事件', event);
264
269
 
265
270
  break;
266
271
 
@@ -292,7 +297,10 @@ var Topology = function Topology(props) {
292
297
  onEnterEdit: onEnterEdit,
293
298
  topoEditApi: topoEdit
294
299
  })), /*#__PURE__*/_react["default"].createElement("div", {
295
- className: (0, _classnames2["default"])(_TopoViewModule["default"].viewPanel, (_classnames = {}, _classnames[_TopoViewModule["default"].viewPanelEditMode] = isEditMode, _classnames))
300
+ className: (0, _classnames2["default"])(_TopoViewModule["default"].viewPanel, (_classnames = {}, _classnames[_TopoViewModule["default"].viewPanelEditMode] = isEditMode, _classnames)),
301
+ onKeyDown: function onKeyDown(e) {
302
+ topo.historyManager && topo.historyManager.handleKeyDown(e);
303
+ }
296
304
  }, /*#__PURE__*/_react["default"].createElement(_componentTopologyGraph["default"], (0, _extends2["default"])({}, graphViewProps, {
297
305
  createHtTopoProps: (0, _extends2["default"])({}, graphViewProps.createHtTopoProps, {
298
306
  editor: (0, _extends2["default"])({}, ((_graphViewProps$creat = graphViewProps.createHtTopoProps) === null || _graphViewProps$creat === void 0 ? void 0 : _graphViewProps$creat.editor) || {})
@@ -307,10 +315,10 @@ var Topology = function Topology(props) {
307
315
  onDestroy: onDestroy,
308
316
  onEvent: handleEvent,
309
317
  style: {
310
- width: "100%",
311
- height: "100%",
312
- position: "relative",
313
- overflow: "hidden"
318
+ width: '100%',
319
+ height: '100%',
320
+ position: 'relative',
321
+ overflow: 'hidden'
314
322
  },
315
323
  debugId: topo.debugId
316
324
  }))), !isEditMode && /*#__PURE__*/_react["default"].createElement(_ViewerPlugin["default"], {
@@ -357,5 +365,6 @@ Topology.defaultProps = {
357
365
  topoContext: {} // titleBar: false,
358
366
 
359
367
  };
368
+ Topology.displayName = 'Topology';
360
369
  var _default = Topology;
361
370
  exports["default"] = _default;
@@ -157,25 +157,25 @@ function BackgroundView(props) {
157
157
  }
158
158
 
159
159
  function _getBackground() {
160
- _getBackground = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
160
+ _getBackground = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
161
161
  var res;
162
- return _regenerator["default"].wrap(function _callee3$(_context3) {
162
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
163
163
  while (1) {
164
- switch (_context3.prev = _context3.next) {
164
+ switch (_context4.prev = _context4.next) {
165
165
  case 0:
166
- _context3.next = 2;
166
+ _context4.next = 2;
167
167
  return _background["default"].getBackgroundList();
168
168
 
169
169
  case 2:
170
- res = _context3.sent;
170
+ res = _context4.sent;
171
171
  setBgList(res);
172
172
 
173
173
  case 4:
174
174
  case "end":
175
- return _context3.stop();
175
+ return _context4.stop();
176
176
  }
177
177
  }
178
- }, _callee3);
178
+ }, _callee4);
179
179
  }));
180
180
  return _getBackground.apply(this, arguments);
181
181
  }
@@ -186,34 +186,42 @@ function BackgroundView(props) {
186
186
 
187
187
 
188
188
  function _removeBg() {
189
- _removeBg = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(id) {
189
+ _removeBg = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5(id) {
190
190
  var res;
191
- return _regenerator["default"].wrap(function _callee4$(_context4) {
191
+ return _regenerator["default"].wrap(function _callee5$(_context5) {
192
192
  while (1) {
193
- switch (_context4.prev = _context4.next) {
193
+ switch (_context5.prev = _context5.next) {
194
194
  case 0:
195
- _context4.next = 2;
195
+ _context5.next = 2;
196
196
  return _background["default"].deleteBackground(id);
197
197
 
198
198
  case 2:
199
- res = _context4.sent;
199
+ res = _context5.sent;
200
200
 
201
- // 删除当前选中
202
- if (id === (current === null || current === void 0 ? void 0 : current.id)) {
203
- reset();
204
- setHtTopoBackground(null);
201
+ if (!(id === (current === null || current === void 0 ? void 0 : current.id))) {
202
+ _context5.next = 9;
203
+ break;
205
204
  }
206
205
 
206
+ topo.historyManager.setDisabled(true, '删除背景');
207
+ _context5.next = 7;
208
+ return reset();
209
+
210
+ case 7:
211
+ setHtTopoBackground(null);
212
+ topo.historyManager.setDisabled(false, '删除背景');
213
+
214
+ case 9:
207
215
  getBackground();
208
216
 
209
217
  _message["default"].success('删除成功');
210
218
 
211
- case 6:
219
+ case 11:
212
220
  case "end":
213
- return _context4.stop();
221
+ return _context5.stop();
214
222
  }
215
223
  }
216
- }, _callee4);
224
+ }, _callee5);
217
225
  }));
218
226
  return _removeBg.apply(this, arguments);
219
227
  }
@@ -230,38 +238,46 @@ function BackgroundView(props) {
230
238
  switch (_context2.prev = _context2.next) {
231
239
  case 0:
232
240
  if (!(currentBg !== null && currentBg !== void 0 && currentBg.id && currentBg.id !== (current === null || current === void 0 ? void 0 : current.id))) {
233
- _context2.next = 16;
241
+ _context2.next = 19;
234
242
  break;
235
243
  }
236
244
 
237
245
  setLoadingBackground(true);
246
+ topo.historyManager.beginTransaction();
238
247
  imgUrl = (0, _backgroundUtil.getBackgroundImageUrl)(currentBg);
239
- _context2.prev = 3;
240
- _context2.next = 6;
248
+ _context2.prev = 4;
249
+ _context2.next = 7;
241
250
  return (0, _imageUtil.getImageSize)(imgUrl);
242
251
 
243
- case 6:
252
+ case 7:
244
253
  size = _context2.sent;
245
254
 
246
255
  _rlog["default"].debug('获取图片大小', size);
247
256
 
248
- setBackground((0, _extends2["default"])({}, currentBg, size));
257
+ _context2.next = 11;
258
+ return setBackground((0, _extends2["default"])({}, currentBg, size));
259
+
260
+ case 11:
249
261
  topo.getHtTopo().setBackgroundImgUrl(imgUrl, size.width, size.height);
250
- setLoadingBackground(false);
251
- _context2.next = 16;
262
+ _context2.next = 17;
252
263
  break;
253
264
 
254
- case 13:
255
- _context2.prev = 13;
256
- _context2.t0 = _context2["catch"](3);
265
+ case 14:
266
+ _context2.prev = 14;
267
+ _context2.t0 = _context2["catch"](4);
268
+
269
+ _rlog["default"].error('设置背景失败', _context2.t0);
270
+
271
+ case 17:
272
+ topo.historyManager.endTransaction();
257
273
  setLoadingBackground(false);
258
274
 
259
- case 16:
275
+ case 19:
260
276
  case "end":
261
277
  return _context2.stop();
262
278
  }
263
279
  }
264
- }, _callee2, null, [[3, 13]]);
280
+ }, _callee2, null, [[4, 14]]);
265
281
  }));
266
282
 
267
283
  return function handleSelect(_x4) {
@@ -269,16 +285,40 @@ function BackgroundView(props) {
269
285
  };
270
286
  }();
271
287
 
288
+ var resetDefault = /*#__PURE__*/function () {
289
+ var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
290
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
291
+ while (1) {
292
+ switch (_context3.prev = _context3.next) {
293
+ case 0:
294
+ topo.historyManager.beginTransaction();
295
+ _context3.next = 3;
296
+ return reset();
297
+
298
+ case 3:
299
+ setHtTopoBackground(null);
300
+ topo.historyManager.endTransaction();
301
+
302
+ case 5:
303
+ case "end":
304
+ return _context3.stop();
305
+ }
306
+ }
307
+ }, _callee3);
308
+ }));
309
+
310
+ return function resetDefault() {
311
+ return _ref2.apply(this, arguments);
312
+ };
313
+ }();
314
+
272
315
  return /*#__PURE__*/_react["default"].createElement("div", {
273
316
  className: _indexModule["default"]['background-view']
274
317
  }, /*#__PURE__*/_react["default"].createElement("div", {
275
318
  className: _indexModule["default"].option
276
319
  }, /*#__PURE__*/_react["default"].createElement(_button["default"], {
277
320
  title: "\u6062\u590D\u9ED8\u8BA4",
278
- onClick: function onClick() {
279
- reset();
280
- setHtTopoBackground(null);
281
- }
321
+ onClick: resetDefault
282
322
  }, /*#__PURE__*/_react["default"].createElement(_icon["default"], {
283
323
  type: "topo_button_icon_recovery"
284
324
  })), /*#__PURE__*/_react["default"].createElement("a", {
@@ -103,9 +103,15 @@ var LineType = function LineType(props) {
103
103
 
104
104
  var handleChange = function handleChange(data) {
105
105
  console.log("handleChange", data);
106
- onChange && onChange(data.value);
106
+ topo.historyManager.beginTransaction();
107
+
108
+ if (onChange) {
109
+ onChange(data.value);
110
+ }
111
+
107
112
  setValue(data.value);
108
113
  setLineType(data.value);
114
+ topo.historyManager.endTransaction();
109
115
  };
110
116
 
111
117
  return /*#__PURE__*/_react["default"].createElement(_box["default"], {
@@ -3,7 +3,7 @@
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
5
  exports.__esModule = true;
6
- exports["default"] = FontStyleCheckbox;
6
+ exports["default"] = void 0;
7
7
 
8
8
  var _button = _interopRequireDefault(require("@alifd/next/lib/button"));
9
9
 
@@ -25,7 +25,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
25
25
 
26
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
27
 
28
- function FontStyleCheckbox(props) {
28
+ var FontStyleCheckbox = /*#__PURE__*/_react["default"].forwardRef(function (props, ref) {
29
29
  var value = props.value,
30
30
  onChange = props.onChange;
31
31
  var options = [{
@@ -65,6 +65,7 @@ function FontStyleCheckbox(props) {
65
65
  alt: ""
66
66
  }));
67
67
  }));
68
- }
68
+ });
69
69
 
70
- ;
70
+ var _default = FontStyleCheckbox;
71
+ exports["default"] = _default;
@@ -3,7 +3,7 @@
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
5
  exports.__esModule = true;
6
- exports["default"] = TextStyle;
6
+ exports["default"] = void 0;
7
7
 
8
8
  var _numberPicker = _interopRequireDefault(require("@alifd/next/lib/number-picker"));
9
9
 
@@ -38,8 +38,9 @@ function parseValue(value) {
38
38
  };
39
39
  }
40
40
 
41
- function TextStyle(props) {
42
- var value = props.value,
41
+ var TextStyle = /*#__PURE__*/_react["default"].forwardRef(function (props, ref) {
42
+ var topo = props.topo,
43
+ value = props.value,
43
44
  _onChange = props.onChange;
44
45
 
45
46
  var field = _field["default"].useField({
@@ -134,7 +135,13 @@ function TextStyle(props) {
134
135
  width: '100%',
135
136
  marginRight: 8
136
137
  },
137
- placeholder: "\u8BF7\u8F93\u5165"
138
+ placeholder: "\u8BF7\u8F93\u5165",
139
+ onFocus: function onFocus() {
140
+ topo.historyManager.beginTransaction();
141
+ },
142
+ onBlur: function onBlur() {
143
+ topo.historyManager.endTransaction();
144
+ }
138
145
  })))), /*#__PURE__*/_react["default"].createElement("div", {
139
146
  style: {
140
147
  display: 'flex'
@@ -156,8 +163,17 @@ function TextStyle(props) {
156
163
  label: "\u989C\u8272"
157
164
  }, /*#__PURE__*/_react["default"].createElement(_ColorPicker["default"], {
158
165
  name: "color",
159
- align: "br"
166
+ align: "br",
167
+ balloonProps: {
168
+ onFocus: function onFocus() {
169
+ topo.historyManager.beginTransaction();
170
+ },
171
+ onBlur: function onBlur() {
172
+ topo.historyManager.endTransaction();
173
+ }
174
+ }
160
175
  }))))));
161
- }
176
+ });
162
177
 
163
- ;
178
+ var _default = TextStyle;
179
+ exports["default"] = _default;
@@ -50,7 +50,6 @@ var fontStyleUtil = {
50
50
  map[key.replace(prefix, '')] = obj[key];
51
51
  }
52
52
  });
53
- console.error(obj, prefix, map);
54
53
  return map;
55
54
  }
56
55
  };
@@ -15,6 +15,8 @@ var _collapse = _interopRequireDefault(require("@alifd/next/lib/collapse"));
15
15
 
16
16
  var _react = _interopRequireWildcard(require("react"));
17
17
 
18
+ var _useHtElement = _interopRequireDefault(require("../../../../../common/hooks/useHtElement"));
19
+
18
20
  var _NameInput = _interopRequireDefault(require("./NameInput"));
19
21
 
20
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); }
@@ -31,6 +33,10 @@ function BoxPropertyView(props) {
31
33
  var topo = props.topo,
32
34
  values = props.values,
33
35
  _onChange = props.onChange;
36
+ var boxNode = (0, _useHtElement["default"])({
37
+ topo: topo,
38
+ id: values.id
39
+ });
34
40
 
35
41
  var field = _field["default"].useField({
36
42
  autoUnmount: false,
@@ -39,6 +45,11 @@ function BoxPropertyView(props) {
39
45
  var newValues = field.getValues();
40
46
 
41
47
  _onChange(name, value, newValues);
48
+
49
+ if (name === 'attrObject.topLeftText') {
50
+ // 修改框名称改变名称背景块大小
51
+ topo.getHtTopo().setRectangleText(boxNode);
52
+ }
42
53
  }
43
54
  });
44
55
 
@@ -59,6 +70,7 @@ function BoxPropertyView(props) {
59
70
  }, /*#__PURE__*/_react["default"].createElement(_form["default"].Item, {
60
71
  label: "\u6807\u9898\u540D\u79F0"
61
72
  }, /*#__PURE__*/_react["default"].createElement(_NameInput["default"], {
62
- name: "attrObject.topLeftText"
73
+ name: "attrObject.topLeftText",
74
+ topo: topo
63
75
  }))))));
64
76
  }
@@ -16,7 +16,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
16
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
17
 
18
18
  var NameInput = /*#__PURE__*/_react["default"].forwardRef(function (props, ref) {
19
- var onChange = props.onChange;
19
+ var onChange = props.onChange,
20
+ topo = props.topo;
20
21
 
21
22
  var _useState = (0, _react.useState)(props.value),
22
23
  value = _useState[0],
@@ -34,16 +35,23 @@ var NameInput = /*#__PURE__*/_react["default"].forwardRef(function (props, ref)
34
35
  }
35
36
  };
36
37
 
38
+ var handleFocus = function handleFocus() {
39
+ topo.historyManager.beginTransaction();
40
+ };
41
+
37
42
  var handleBlur = function handleBlur() {
38
43
  if (!value) {
39
44
  onChange('');
40
45
  }
46
+
47
+ topo.historyManager.endTransaction();
41
48
  };
42
49
 
43
50
  return /*#__PURE__*/_react["default"].createElement(_input["default"], (0, _extends2["default"])({}, props, {
44
51
  ref: ref,
45
52
  value: value,
46
53
  onChange: handleChange,
54
+ onFocus: handleFocus,
47
55
  onBlur: handleBlur
48
56
  }));
49
57
  });