@riil-frontend/component-topology 12.0.0-dev.3 → 12.0.0-dev.30

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 (228) hide show
  1. package/build/1.js +1 -1
  2. package/build/index.css +1 -1
  3. package/build/index.js +13 -13
  4. package/es/components/BatchAttrMetric/setting.js +1 -1
  5. package/es/components/ModelAttrSelectDrawer/components/MultipleTypeAttributeSelectDrawer.js +1 -1
  6. package/es/components/ResourceSelectDrawer/ResourceSelectDrawer.js +1 -1
  7. package/es/components/TemplateButton/index.module.scss +1 -1
  8. package/es/core/components/AlarmListPanel/components/AlarmListItem.js +58 -3
  9. package/es/core/components/AlarmListPanel/index.js +1 -1
  10. package/es/core/components/DisplaySettingDrawer/DisplaySetting.js +1 -1
  11. package/es/core/components/DisplaySettingDrawer/DisplaySettingDrawer.js +2 -2
  12. package/es/core/components/DisplaySettingDrawer/ResourceDisplay/BasicConfig.js +1 -1
  13. package/es/core/components/DisplaySettingDrawer/components/NodeAttrSettingDrawer.js +1 -1
  14. package/es/core/components/ResourceViewAttributeSetting/Setting.js +1 -1
  15. package/es/core/components/TopoView/topoView.js +6 -2
  16. package/es/core/editor/components/BackgroundView/index.js +1 -1
  17. package/es/core/editor/components/CustomIconPlugin/UploadIconDialog.js +1 -1
  18. package/es/core/editor/components/EditorPlugin.js +1 -1
  19. package/es/core/editor/components/Sidebar/views/ComponentPanel.js +1 -1
  20. package/es/core/editor/components/Sidebar/views/ImagePanel/CiTypeImagePanel.js +1 -1
  21. package/es/core/editor/components/Sidebar/views/ImagePanel/CustomImagePanel.js +1 -1
  22. package/es/core/editor/components/Sidebar/views/ImagePanel/HtCustomImagePanel.js +1 -1
  23. package/es/core/editor/components/Sidebar/views/ImagePanel/HtImagePalette.js +1 -1
  24. package/es/core/editor/components/Sidebar/views/ImagePanel/ImagePalette.js +1 -1
  25. package/es/core/editor/components/Sidebar/views/LinkPanel.js +1 -1
  26. package/es/core/editor/components/Toolbar/widgets/EdgeColorButton/EdgeColorButton.js +5 -12
  27. package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/EdgeType.js +27 -10
  28. package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/EdgeType.module.scss +21 -1
  29. package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/LineType.js +9 -0
  30. package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/index.js +2 -2
  31. package/es/core/editor/components/Toolbar/widgets/Layout/index.js +16 -2
  32. package/es/core/editor/components/settings/common/NodeSizeInput/NodeSizeInput.js +1 -1
  33. package/es/core/editor/components/settings/common/SizeInput/NodeSizeInput.js +1 -1
  34. package/es/core/editor/components/settings/propertyViews/layer/BasicSetting.js +1 -1
  35. package/es/core/editor/components/settings/propertyViews/layer/SettingTab/Setting.js +1 -1
  36. package/es/core/editor/components/settings/propertyViews/view/hooks/useBackgroundSizeConfig.js +1 -1
  37. package/es/core/editor/hooks/useKeyboardShortcut.js +3 -1
  38. package/es/core/editor/store/background.js +1 -1
  39. package/es/core/editor/store/historyManager.js +1 -1
  40. package/es/core/editor/store/topoEdit.js +1 -1
  41. package/es/core/editor/utils/copyElementUtil.js +12 -0
  42. package/es/core/editor/utils/edgeTypeStyleUtil.js +8 -7
  43. package/es/core/hooks/__tests__/useCiAttributeChange.test.js +0 -0
  44. package/es/core/hooks/ht/useHtDataPropertyChangeListener.js +1 -1
  45. package/es/core/hooks/useAlarm.js +119 -82
  46. package/es/core/hooks/useCiAttributeChange.js +31 -15
  47. package/es/core/hooks/useCmpLinkAlarm.js +156 -0
  48. package/es/core/hooks/useEventData.js +1 -2
  49. package/es/core/hooks/useGraphAlarmDisplay.js +91 -56
  50. package/es/core/hooks/useManageStatus.js +1 -1
  51. package/es/core/hooks/usePolling.js +1 -1
  52. package/es/core/hooks/useResourceConfig.js +1 -3
  53. package/es/core/hooks/useTopoEdit.js +51 -54
  54. package/es/core/models/Alarm.js +70 -143
  55. package/es/core/models/AttributeMetricDisplay.js +15 -6
  56. package/es/core/models/HistoryManager.js +1 -1
  57. package/es/core/models/SelectionModel.js +1 -1
  58. package/es/core/models/TopoApp.js +2 -2
  59. package/es/core/models/attributeFormatter/formatter/graphTransform.js +1 -1
  60. package/es/core/models/attributeFormatter/index.js +1 -1
  61. package/es/core/models/cache/CiCache.d.ts +1 -1
  62. package/es/core/models/cache/CiCache.js +3 -3
  63. package/es/core/models/cache/CiTypeCache.js +5 -1
  64. package/es/core/models/cache/DictCache.js +1 -1
  65. package/es/core/models/plugins/resourceWebControllUrl.js +1 -1
  66. package/es/core/models/tagstips/ElementTagTipConfig.js +1 -1
  67. package/es/core/models/topoData.js +0 -1
  68. package/es/core/services/alarm.js +1 -1
  69. package/es/core/services/index.js +1 -1
  70. package/es/core/services/topo/basic.js +2 -2
  71. package/es/core/store/models/customIcon.js +1 -1
  72. package/es/core/store/models/displayConfig.js +1 -1
  73. package/es/core/store/models/selection.js +1 -1
  74. package/es/core/store/models/topoBaseInfoOverview.js +1 -1
  75. package/es/core/store/models/topoBizMod.js +1 -1
  76. package/es/core/store/models/topoConfig.js +7 -10
  77. package/es/core/store/models/topoGraphView.js +1 -1
  78. package/es/core/store/models/topoMod.js +82 -135
  79. package/es/core/store/models/viewer/lock.js +1 -1
  80. package/es/core/store/models/viewer/resourceDetail.js +1 -1
  81. package/es/core/store/models/viewer/resourceWebControllUrlSetting.js +1 -1
  82. package/es/core/utils/edgeUtil.js +10 -1
  83. package/es/core/utils/metricUtil.js +8 -4
  84. package/es/core/utils/showGraphManageStatusUtil.js +3 -2
  85. package/es/core/utils/showMessage.js +1 -1
  86. package/es/core/viewer/components/plugins/ResourceDetail/ResourceDetail.js +1 -0
  87. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/EventsCard.js +12 -13
  88. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverview.js +3 -1
  89. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/LinkTopoCard.js +4 -2
  90. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/hooks/useMetricPolling.js +1 -1
  91. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/services/index.js +1 -1
  92. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/hooks/useAlarmAndRiskData.js +20 -18
  93. package/es/core/viewer/components/plugins/ResourceDetail/components/WebConsole/WebConsoleForm/hooks/useWebConsole.js +1 -1
  94. package/es/core/viewer/components/plugins/ViewerPlugin.js +3 -1
  95. package/es/core/viewer/components/titlebar/widgets/AlarmButton.js +1 -5
  96. package/es/networkTopo/components/Link/index.js +1 -1
  97. package/es/networkTopo/components/TopoView.js +6 -11
  98. package/es/networkTopo/hooks/useEdgeExpand.js +2 -3
  99. package/es/networkTopo/hooks/viewer/useRelateTopo.js +1 -1
  100. package/es/networkTopo/models/LinkDynamicStyleExecutor.js +1 -1
  101. package/es/networkTopo/models/LinkTagsTipsBuilder.js +1 -1
  102. package/es/networkTopo/models/TopoCenter.js +1 -1
  103. package/es/networkTopo/services/model.js +1 -1
  104. package/es/networkTopo/services/topo/basic.js +4 -4
  105. package/es/networkTopo/services/topo/ciInfo.js +1 -1
  106. package/es/networkTopo/store/functionAuth.js +1 -1
  107. package/es/networkTopo/store/topoCenter.js +1 -1
  108. package/es/networkTopo/store/topoTreeMod.js +1 -1
  109. package/es/networkTopo/utils/exportData.js +1 -1
  110. package/es/style.js +2 -2
  111. package/es/utils/ResourceConfigUtil.js +4 -37
  112. package/es/utils/ciRefAttributeTranslateUtil.d.ts +19 -0
  113. package/es/utils/ciRefAttributeTranslateUtil.js +155 -0
  114. package/es/utils/format.js +1 -1
  115. package/es/utils/topoData.js +4 -2
  116. package/lib/components/BatchAttrMetric/setting.js +2 -2
  117. package/lib/components/ModelAttrSelectDrawer/components/MultipleTypeAttributeSelectDrawer.js +2 -2
  118. package/lib/components/ResourceSelectDrawer/ResourceSelectDrawer.js +2 -2
  119. package/lib/components/TemplateButton/index.module.scss +1 -1
  120. package/lib/core/components/AlarmListPanel/components/AlarmListItem.js +60 -3
  121. package/lib/core/components/AlarmListPanel/index.js +1 -1
  122. package/lib/core/components/DisplaySettingDrawer/DisplaySetting.js +2 -2
  123. package/lib/core/components/DisplaySettingDrawer/DisplaySettingDrawer.js +2 -2
  124. package/lib/core/components/DisplaySettingDrawer/ResourceDisplay/BasicConfig.js +3 -3
  125. package/lib/core/components/DisplaySettingDrawer/components/NodeAttrSettingDrawer.js +2 -2
  126. package/lib/core/components/ResourceViewAttributeSetting/Setting.js +2 -2
  127. package/lib/core/components/TopoView/topoView.js +14 -10
  128. package/lib/core/editor/components/BackgroundView/index.js +3 -3
  129. package/lib/core/editor/components/CustomIconPlugin/UploadIconDialog.js +2 -2
  130. package/lib/core/editor/components/EditorPlugin.js +3 -3
  131. package/lib/core/editor/components/Sidebar/views/ComponentPanel.js +2 -4
  132. package/lib/core/editor/components/Sidebar/views/ImagePanel/CiTypeImagePanel.js +1 -1
  133. package/lib/core/editor/components/Sidebar/views/ImagePanel/CustomImagePanel.js +1 -1
  134. package/lib/core/editor/components/Sidebar/views/ImagePanel/HtCustomImagePanel.js +2 -2
  135. package/lib/core/editor/components/Sidebar/views/ImagePanel/HtImagePalette.js +2 -2
  136. package/lib/core/editor/components/Sidebar/views/ImagePanel/ImagePalette.js +2 -4
  137. package/lib/core/editor/components/Sidebar/views/LinkPanel.js +2 -4
  138. package/lib/core/editor/components/Toolbar/widgets/EdgeColorButton/EdgeColorButton.js +6 -12
  139. package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/EdgeType.js +27 -9
  140. package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/EdgeType.module.scss +21 -1
  141. package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/LineType.js +8 -0
  142. package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/index.js +1 -1
  143. package/lib/core/editor/components/Toolbar/widgets/Layout/index.js +16 -2
  144. package/lib/core/editor/components/settings/common/NodeSizeInput/NodeSizeInput.js +5 -5
  145. package/lib/core/editor/components/settings/common/SizeInput/NodeSizeInput.js +1 -1
  146. package/lib/core/editor/components/settings/propertyViews/layer/BasicSetting.js +1 -1
  147. package/lib/core/editor/components/settings/propertyViews/layer/SettingTab/Setting.js +3 -3
  148. package/lib/core/editor/components/settings/propertyViews/view/hooks/useBackgroundSizeConfig.js +2 -2
  149. package/lib/core/editor/hooks/useKeyboardShortcut.js +2 -0
  150. package/lib/core/editor/store/background.js +1 -1
  151. package/lib/core/editor/store/historyManager.js +1 -1
  152. package/lib/core/editor/store/topoEdit.js +1 -1
  153. package/lib/core/editor/utils/copyElementUtil.js +15 -0
  154. package/lib/core/editor/utils/edgeTypeStyleUtil.js +8 -6
  155. package/lib/core/hooks/__tests__/useCiAttributeChange.test.js +1 -0
  156. package/lib/core/hooks/ht/useHtDataPropertyChangeListener.js +1 -3
  157. package/lib/core/hooks/useAlarm.js +118 -80
  158. package/lib/core/hooks/useCiAttributeChange.js +30 -14
  159. package/lib/core/hooks/useCmpLinkAlarm.js +169 -0
  160. package/lib/core/hooks/useEventData.js +1 -2
  161. package/lib/core/hooks/useGraphAlarmDisplay.js +91 -55
  162. package/lib/core/hooks/useManageStatus.js +1 -1
  163. package/lib/core/hooks/usePolling.js +3 -3
  164. package/lib/core/hooks/useResourceConfig.js +1 -3
  165. package/lib/core/hooks/useTopoEdit.js +50 -53
  166. package/lib/core/models/Alarm.js +77 -152
  167. package/lib/core/models/AttributeMetricDisplay.js +18 -6
  168. package/lib/core/models/HistoryManager.js +8 -8
  169. package/lib/core/models/SelectionModel.js +5 -5
  170. package/lib/core/models/TopoApp.js +4 -6
  171. package/lib/core/models/attributeFormatter/formatter/graphTransform.js +2 -4
  172. package/lib/core/models/attributeFormatter/index.js +1 -1
  173. package/lib/core/models/cache/CiCache.d.ts +1 -1
  174. package/lib/core/models/cache/CiCache.js +3 -3
  175. package/lib/core/models/cache/CiTypeCache.js +6 -2
  176. package/lib/core/models/cache/DictCache.js +2 -2
  177. package/lib/core/models/plugins/resourceWebControllUrl.js +2 -2
  178. package/lib/core/models/tagstips/ElementTagTipConfig.js +2 -2
  179. package/lib/core/models/topoData.js +0 -1
  180. package/lib/core/services/alarm.js +2 -2
  181. package/lib/core/services/index.js +1 -1
  182. package/lib/core/services/topo/basic.js +2 -2
  183. package/lib/core/store/models/customIcon.js +3 -3
  184. package/lib/core/store/models/displayConfig.js +1 -1
  185. package/lib/core/store/models/selection.js +1 -1
  186. package/lib/core/store/models/topoBaseInfoOverview.js +1 -1
  187. package/lib/core/store/models/topoBizMod.js +1 -1
  188. package/lib/core/store/models/topoConfig.js +7 -10
  189. package/lib/core/store/models/topoGraphView.js +1 -1
  190. package/lib/core/store/models/topoMod.js +89 -142
  191. package/lib/core/store/models/viewer/lock.js +1 -1
  192. package/lib/core/store/models/viewer/resourceDetail.js +1 -1
  193. package/lib/core/store/models/viewer/resourceWebControllUrlSetting.js +1 -1
  194. package/lib/core/utils/edgeUtil.js +12 -1
  195. package/lib/core/utils/metricUtil.js +8 -4
  196. package/lib/core/utils/showGraphManageStatusUtil.js +3 -2
  197. package/lib/core/utils/showMessage.js +2 -2
  198. package/lib/core/viewer/components/plugins/ResourceDetail/ResourceDetail.js +1 -0
  199. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/EventsCard.js +12 -13
  200. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverview.js +3 -1
  201. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/LinkTopoCard.js +4 -2
  202. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/hooks/useMetricPolling.js +6 -6
  203. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/services/index.js +3 -5
  204. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/hooks/useAlarmAndRiskData.js +20 -18
  205. package/lib/core/viewer/components/plugins/ResourceDetail/components/WebConsole/WebConsoleForm/hooks/useWebConsole.js +2 -2
  206. package/lib/core/viewer/components/plugins/ViewerPlugin.js +3 -1
  207. package/lib/core/viewer/components/titlebar/widgets/AlarmButton.js +1 -5
  208. package/lib/networkTopo/components/Link/index.js +2 -2
  209. package/lib/networkTopo/components/TopoView.js +5 -14
  210. package/lib/networkTopo/hooks/useEdgeExpand.js +2 -3
  211. package/lib/networkTopo/hooks/viewer/useRelateTopo.js +4 -4
  212. package/lib/networkTopo/models/LinkDynamicStyleExecutor.js +3 -5
  213. package/lib/networkTopo/models/LinkTagsTipsBuilder.js +3 -3
  214. package/lib/networkTopo/models/TopoCenter.js +1 -1
  215. package/lib/networkTopo/services/model.js +1 -3
  216. package/lib/networkTopo/services/topo/basic.js +4 -6
  217. package/lib/networkTopo/services/topo/ciInfo.js +0 -2
  218. package/lib/networkTopo/store/functionAuth.js +1 -1
  219. package/lib/networkTopo/store/topoCenter.js +1 -1
  220. package/lib/networkTopo/store/topoTreeMod.js +5 -5
  221. package/lib/networkTopo/utils/exportData.js +1 -3
  222. package/lib/style.js +2 -2
  223. package/lib/utils/ResourceConfigUtil.js +4 -39
  224. package/lib/utils/ciRefAttributeTranslateUtil.d.ts +19 -0
  225. package/lib/utils/ciRefAttributeTranslateUtil.js +168 -0
  226. package/lib/utils/format.js +1 -1
  227. package/lib/utils/topoData.js +4 -2
  228. package/package.json +4 -4
@@ -1,18 +1,18 @@
1
- import { useEffect } from "react";
1
+ import { useEffect, useMemo } from "react";
2
2
  import rlog from "@riil-frontend/component-topology-utils/es/rlog";
3
3
  import { getElements } from "../../utils/htElementUtils";
4
4
  import { removeManageStatus, showManageStatus } from "../utils/showGraphManageStatusUtil";
5
+ import useCmpLinkAlarm from "./useCmpLinkAlarm";
6
+ /**
7
+ * 获取ci的最高告警级别
8
+ * @param {Array} alarmList
9
+ * @param {*} risks
10
+ * @returns
11
+ */
5
12
 
6
- function getCiAlarmLevels(alarmList, risks) {
13
+ function getCiAlarmLevelMap(alarmList) {
7
14
  var ciIdLevelMap = {};
8
- [].concat(alarmList, risks.map(function (item) {
9
- var _item$resourceId;
10
-
11
- return {
12
- id: (_item$resourceId = item.resourceId) !== null && _item$resourceId !== void 0 ? _item$resourceId : item.ciId,
13
- level: 5
14
- };
15
- })).forEach(function (item) {
15
+ alarmList.forEach(function (item) {
16
16
  var level = ciIdLevelMap[item.id]; // 优先显示高等级告警。值小的等级高
17
17
 
18
18
  if (!level || item.level < level) {
@@ -21,13 +21,53 @@ function getCiAlarmLevels(alarmList, risks) {
21
21
 
22
22
  ciIdLevelMap[item.id] = level;
23
23
  });
24
+ return ciIdLevelMap;
25
+ }
26
+
27
+ function getGraphCiElementAlarmLevels(resources, alarmList) {
28
+ var ciIdLevelMap = getCiAlarmLevelMap(alarmList);
24
29
  return Object.keys(ciIdLevelMap).map(function (id) {
25
30
  return {
26
31
  id: id,
27
32
  level: ciIdLevelMap[id]
28
33
  };
34
+ }).filter(function (alarm) {
35
+ var resource = resources.find(function (item) {
36
+ return item.id === alarm.id;
37
+ });
38
+ return !!resource;
29
39
  });
30
40
  }
41
+ /**
42
+ * 获得关联拓扑节点告警级别
43
+ * @param {*} topo
44
+ * @param {*} relateTopoAlarm
45
+ * @returns
46
+ */
47
+
48
+
49
+ function getRelateTopoNodeAlarmLevels(topo, relateTopoAlarm) {
50
+ return Object.keys(relateTopoAlarm).map(function (topoId) {
51
+ var level = relateTopoAlarm[topoId];
52
+ var relateTopoNode = topo.getDataModel().getDatas().toArray().find(function (node) {
53
+ return "" + node.a('bindTopo') === "" + topoId;
54
+ });
55
+
56
+ if (!level || !relateTopoNode) {
57
+ return null;
58
+ }
59
+
60
+ return {
61
+ elementId: relateTopoNode.getId(),
62
+ level: level
63
+ };
64
+ }).filter(function (item) {
65
+ return !!item;
66
+ });
67
+ } // 获取拓扑图元素最高告警级别。包含资源、链路、关联拓扑节点
68
+
69
+
70
+ function getGraphElementAlarmLevels(resources) {}
31
71
  /**
32
72
  * 告警显示到ht拓扑
33
73
  *
@@ -38,7 +78,6 @@ function getCiAlarmLevels(alarmList, risks) {
38
78
  export default function useGraphAlarmDisplay(options) {
39
79
  var topo = options.topo,
40
80
  alarmSwitch = options.alarmSwitch;
41
- var store = topo.store;
42
81
  var topoState = topo.store.useModelState('topoMod');
43
82
  var graphLoaded = topoState.graphLoaded,
44
83
  viewState = topoState.viewState;
@@ -49,22 +88,32 @@ export default function useGraphAlarmDisplay(options) {
49
88
  risks = _topo$alarm$useState.risks,
50
89
  relateTopoAlarm = _topo$alarm$useState.relateTopoAlarm;
51
90
 
52
- var resources = topo.dataModel.useCis();
53
-
54
- function getCisEventLevel() {
55
- return getCiAlarmLevels(alarmList || [], risks).filter(function (alarm) {
56
- var resource = resources.find(function (item) {
57
- return item.id === alarm.id;
58
- });
59
-
60
- if (!resource) {
61
- return false;
62
- }
63
-
64
- return true;
65
- });
66
- }
67
-
91
+ var oldResources = topo.dataModel.useCis(); // 分级拓扑下级链路特殊处理
92
+
93
+ var _useCmpLinkAlarm = useCmpLinkAlarm({
94
+ topo: topo,
95
+ resources: oldResources,
96
+ graphLoaded: graphLoaded
97
+ }),
98
+ cmpLinkAlarmLevels = _useCmpLinkAlarm.cmpLinkAlarmLevels,
99
+ cmpLinkRunStatus = _useCmpLinkAlarm.cmpLinkRunStatus,
100
+ addCmpLinkOfflineStatusForDisplayLineColor = _useCmpLinkAlarm.addCmpLinkOfflineStatusForDisplayLineColor;
101
+
102
+ var resources = useMemo(function () {
103
+ return addCmpLinkOfflineStatusForDisplayLineColor(oldResources, cmpLinkRunStatus);
104
+ }, [oldResources, cmpLinkRunStatus]); // ci告警级别
105
+
106
+ var cisEventLevel = useMemo(function () {
107
+ var levels = [].concat(alarmList || [], cmpLinkAlarmLevels, risks.map(function (item) {
108
+ var _item$resourceId;
109
+
110
+ return {
111
+ id: (_item$resourceId = item.resourceId) !== null && _item$resourceId !== void 0 ? _item$resourceId : item.ciId,
112
+ level: 5
113
+ };
114
+ }));
115
+ return getGraphCiElementAlarmLevels(resources, levels);
116
+ }, [resources, alarmList, cmpLinkAlarmLevels, risks]);
68
117
  useEffect(function () {
69
118
  showAlarm();
70
119
  showManageStatus({
@@ -72,8 +121,8 @@ export default function useGraphAlarmDisplay(options) {
72
121
  resources: resources,
73
122
  isEditMode: isEditMode,
74
123
  graphLoaded: graphLoaded,
75
- // 有告警且未监控时,此时开启告警静默,应当显示未监控图标
76
- cisEventLevel: alarmSwitch === false ? [] : getCisEventLevel()
124
+ alarmSwitch: alarmSwitch,
125
+ cisEventLevel: cisEventLevel
77
126
  });
78
127
 
79
128
  function showAlarm() {
@@ -85,43 +134,29 @@ export default function useGraphAlarmDisplay(options) {
85
134
  // 告警静默
86
135
  topo.view.loadAlarm([]);
87
136
  return;
88
- }
137
+ } // 关联拓扑告警
138
+
89
139
 
90
- var finalAlarms = getCisEventLevel(); // 将告警级别放入ht元素,便于测试
140
+ var relateTopoAlarms = getRelateTopoNodeAlarmLevels(topo, relateTopoAlarm);
141
+ var elementsAlarmLevels = [].concat(cisEventLevel, relateTopoAlarms); // 将告警级别放入ht元素,便于测试
91
142
 
92
143
  getElements(topo.getDataModel()).filter(function (item) {
93
144
  return !!item.getTag();
94
145
  }).forEach(function (element) {
95
- var _finalAlarms$find;
146
+ var _elementsAlarmLevels$;
96
147
 
97
- var alarmLevel = (_finalAlarms$find = finalAlarms.find(function (item) {
98
- return item.id === element.getTag();
99
- })) === null || _finalAlarms$find === void 0 ? void 0 : _finalAlarms$find.level;
148
+ var alarmLevel = (_elementsAlarmLevels$ = elementsAlarmLevels.find(function (item) {
149
+ return item.id === element.getTag() || item.elementId === element.getId();
150
+ })) === null || _elementsAlarmLevels$ === void 0 ? void 0 : _elementsAlarmLevels$.level;
100
151
  element.a('alarmLevel', alarmLevel);
101
152
  });
102
- var relateTopoAlarms = Object.keys(relateTopoAlarm).map(function (topoId) {
103
- var level = relateTopoAlarm[topoId];
104
- var relateTopoNode = topo.getDataModel().getDatas().toArray().find(function (node) {
105
- return "" + node.a('bindTopo') === "" + topoId;
106
- });
107
-
108
- if (!level || !relateTopoNode) {
109
- return null;
110
- }
111
-
112
- return {
113
- elementId: relateTopoNode.getId(),
114
- level: level
115
- };
116
- }).filter(function (item) {
117
- return !!item;
118
- });
119
- rlog.debug('关联拓扑告警:推送ht', {
120
- all: relateTopoAlarm,
153
+ rlog.debug('推送告警 => ht', {
154
+ alarms: elementsAlarmLevels,
155
+ relateTopoAlarmMap: relateTopoAlarm,
121
156
  relateTopoAlarms: relateTopoAlarms
122
157
  }); // 更新到ht拓扑
123
158
 
124
- topo.view.loadAlarm([].concat(finalAlarms, relateTopoAlarms));
159
+ topo.view.loadAlarm(elementsAlarmLevels);
125
160
  }
126
161
 
127
162
  return function () {
@@ -130,5 +165,5 @@ export default function useGraphAlarmDisplay(options) {
130
165
  resources: resources
131
166
  });
132
167
  };
133
- }, [graphLoaded, resources, alarmSwitch, alarmList, risks, relateTopoAlarm]);
168
+ }, [graphLoaded, resources, alarmSwitch, cisEventLevel, relateTopoAlarm]);
134
169
  }
@@ -1,4 +1,4 @@
1
- import rlog from '@riil-frontend/component-topology-utils/es/rlog';
1
+ import { rlog } from '@riil-frontend/component-topology-utils';
2
2
  import { useEffect } from 'react';
3
3
  import useTopoEventListener from "./useTopoEventListener";
4
4
  ht.Default.setImage('resource.subIcon.unMoniter', '/img/topo/alarmStatusIcon/未监控.svg');
@@ -4,7 +4,7 @@ import _regeneratorRuntime from "@babel/runtime/regenerator";
4
4
  import { useEffect } from 'react';
5
5
  import { useRequest } from 'ahooks';
6
6
  import _ from 'lodash';
7
- import rlog from '@riil-frontend/component-topology-utils/es/rlog';
7
+ import { rlog } from '@riil-frontend/component-topology-utils';
8
8
  import { useCbbEventListener } from '@riil-frontend/component-riil-event-emitter';
9
9
  import DictCache from "../models/cache/DictCache";
10
10
  import useCiAttributeChange from "./useCiAttributeChange";
@@ -42,9 +42,7 @@ export default function (props) {
42
42
  return {
43
43
  resources: config.resources,
44
44
  groups: config.groups,
45
- exportLinkIdList: config.exportLinkIdList,
46
- relateTopoIdList: config.relateTopoIdList //linkIps: config.linkIps,
47
-
45
+ relateTopoIdList: config.relateTopoIdList
48
46
  };
49
47
  };
50
48
 
@@ -15,7 +15,7 @@ import useGroupAddResource from "./useGroupAddResource";
15
15
  import { findGroupChildren } from "../../utils/topoData";
16
16
  import { isResourceElement } from "../../utils/htElementDataUtil";
17
17
  import { isClusterHtElement, isClusterMemberHtElement } from "../../utils/clusterUtil";
18
- import { mergeExportLinkData } from "../models/utils/linkUtils";
18
+ import { isExitLink, mergeExportLinkData } from "../models/utils/linkUtils";
19
19
  import { isUniqueIp, buildIpNode } from "../../networkTopo/utils/exitLinkUtil";
20
20
 
21
21
  var useTopoEdit = function useTopoEdit(params) {
@@ -349,33 +349,26 @@ var useTopoEdit = function useTopoEdit(params) {
349
349
  var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(node) {
350
350
  var _node$getEdges$toArra, _node$getEdges;
351
351
 
352
- var config, edges, exportLinkIdList;
352
+ var edges;
353
353
  return _regeneratorRuntime.wrap(function _callee4$(_context4) {
354
354
  while (1) switch (_context4.prev = _context4.next) {
355
355
  case 0:
356
- config = resourceConfig.getConfig(); // console.log("删除关联在节点上的出口链路- node, config", node, config);
356
+ // console.log("删除关联在节点上的出口链路- node, config", node, config);
357
+ edges = (_node$getEdges$toArra = (_node$getEdges = node.getEdges()) === null || _node$getEdges === void 0 ? void 0 : _node$getEdges.toArray()) !== null && _node$getEdges$toArra !== void 0 ? _node$getEdges$toArra : [];
357
358
 
358
- edges = (_node$getEdges$toArra = (_node$getEdges = node.getEdges()) === null || _node$getEdges === void 0 ? void 0 : _node$getEdges.toArray()) !== null && _node$getEdges$toArra !== void 0 ? _node$getEdges$toArra : []; // const exLink = [];
359
+ if (edges.length > 0) {
360
+ edges.map(function (edge) {
361
+ if (edge.getTag()) {
362
+ var link = topo.dataModel.getDataById(edge.getTag());
359
363
 
360
- if (!(edges.length > 0)) {
361
- _context4.next = 8;
362
- break;
364
+ if (link && isExitLink(link)) {
365
+ topo.getGraphView().dm().remove(edge);
366
+ }
367
+ }
368
+ });
363
369
  }
364
370
 
365
- exportLinkIdList = [].concat(config.exportLinkIdList); //console.log("删除关联在节点上的出口链路- edges", edges,exportLinkIdList);
366
-
367
- edges.map(function (edge) {
368
- if (edge.a("dtype") === "link" && exportLinkIdList.indexOf(edge.getTag()) >= 0) {
369
- // exLink.push(edge);
370
- topo.getGraphView().dm().remove(edge);
371
- exportLinkIdList.splice(config.exportLinkIdList.indexOf(edge.getTag()), 1);
372
- }
373
- });
374
- config.exportLinkIdList = exportLinkIdList;
375
- _context4.next = 8;
376
- return resourceConfig.updateConfig(config);
377
-
378
- case 8:
371
+ case 2:
379
372
  case "end":
380
373
  return _context4.stop();
381
374
  }
@@ -554,7 +547,7 @@ var useTopoEdit = function useTopoEdit(params) {
554
547
 
555
548
  function _bindViewResources() {
556
549
  _bindViewResources = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee12(data) {
557
- var config, _yield$editDispatcher3, elements;
550
+ var config, result, _elements;
558
551
 
559
552
  return _regeneratorRuntime.wrap(function _callee12$(_context12) {
560
553
  while (1) switch (_context12.prev = _context12.next) {
@@ -570,15 +563,19 @@ var useTopoEdit = function useTopoEdit(params) {
570
563
  return editDispatchers.fetchDataByConfig();
571
564
 
572
565
  case 6:
573
- _yield$editDispatcher3 = _context12.sent;
574
- elements = _yield$editDispatcher3.elements;
575
- saveBind(TopoEvent.DATA_TYPE_RESOURCE_COMBO, elements); // 临时放这里,仅拓扑中心有
566
+ result = _context12.sent;
567
+ console.log("fetchDataByConfig", result);
576
568
 
577
- if (topo.linkDynamicStyleExecutor) {
578
- topo.linkDynamicStyleExecutor.execute();
569
+ if (result) {
570
+ _elements = result.elements;
571
+ saveBind(TopoEvent.DATA_TYPE_RESOURCE_COMBO, _elements); // 临时放这里,仅拓扑中心有
572
+
573
+ if (topo.linkDynamicStyleExecutor) {
574
+ topo.linkDynamicStyleExecutor.execute();
575
+ }
579
576
  }
580
577
 
581
- case 10:
578
+ case 9:
582
579
  case "end":
583
580
  return _context12.stop();
584
581
  }
@@ -593,7 +590,7 @@ var useTopoEdit = function useTopoEdit(params) {
593
590
 
594
591
  function _addLayerResources() {
595
592
  _addLayerResources = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee13(group, newResourceIds) {
596
- var _yield$editDispatcher4, elements, newElements;
593
+ var _yield$editDispatcher3, elements, newElements;
597
594
 
598
595
  return _regeneratorRuntime.wrap(function _callee13$(_context13) {
599
596
  while (1) switch (_context13.prev = _context13.next) {
@@ -608,8 +605,8 @@ var useTopoEdit = function useTopoEdit(params) {
608
605
  return editDispatchers.fetchDataByConfig();
609
606
 
610
607
  case 5:
611
- _yield$editDispatcher4 = _context13.sent;
612
- elements = _yield$editDispatcher4.elements;
608
+ _yield$editDispatcher3 = _context13.sent;
609
+ elements = _yield$editDispatcher3.elements;
613
610
  // 2022-11-10 修复 添加资源后分层重新布局问题,仅布局新增资源。替换api topo.updateElements(data)
614
611
  newElements = findUNExistedElements(elements);
615
612
  rlog.debug("添加分层资源", {
@@ -827,7 +824,9 @@ var useTopoEdit = function useTopoEdit(params) {
827
824
  return _regeneratorRuntime.wrap(function _callee8$(_context8) {
828
825
  while (1) switch (_context8.prev = _context8.next) {
829
826
  case 0:
830
- dm = htTopo.getGraphView().dm(); // 创建
827
+ dm = htTopo.getGraphView().dm(); // 移除旧节点。先删除后创建,解决ip节点替换ping资源后链路丢失问题
828
+
829
+ dm.remove(node); // 创建
831
830
 
832
831
  newLinkElements = findUNExistedLinkElements(elements);
833
832
  createElementsData = null;
@@ -888,22 +887,13 @@ var useTopoEdit = function useTopoEdit(params) {
888
887
 
889
888
 
890
889
  sm = htTopo.getGraphView().sm();
891
- sm.setSelection([newElement]); // 移除旧节点
890
+ sm.setSelection([newElement]); // 临时放这里,仅拓扑中心有
892
891
 
893
- dm.remove(node); // saveBind(TopoEvent.DATA_TYPE_RESOURCE_SINGLE, newDatas);
894
- // node.a("customName", null);
895
- // 删除关联在节点上的出口链路
896
-
897
- _context8.next = 12;
898
- return deleteExLink(node);
899
-
900
- case 12:
901
- // 临时放这里,仅拓扑中心有
902
892
  if (topo.linkDynamicStyleExecutor) {
903
893
  topo.linkDynamicStyleExecutor.execute();
904
894
  }
905
895
 
906
- case 13:
896
+ case 11:
907
897
  case "end":
908
898
  return _context8.stop();
909
899
  }
@@ -966,10 +956,11 @@ var useTopoEdit = function useTopoEdit(params) {
966
956
  break;
967
957
  }
968
958
 
959
+ topo.historyManager.endTransaction();
960
+
969
961
  _Message.error("关联资源失败");
970
962
 
971
- rlog.warn("关联资源失败");
972
- topo.historyManager.endTransaction();
963
+ rlog.error("关联资源失败");
973
964
  return _context9.abrupt("return", false);
974
965
 
975
966
  case 23:
@@ -1001,7 +992,7 @@ var useTopoEdit = function useTopoEdit(params) {
1001
992
 
1002
993
  function _relateNodeIp() {
1003
994
  _relateNodeIp = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee15(txtValue, nodeElement) {
1004
- var dm, isUnique, ip, configObj, configData, _elements, newLinkElements, newLink, newLinkGroup, createElementsData, _htTopo;
995
+ var dm, isUnique, ipNodeData, configObj, configData, _elements2, newLinkElements, newLink, newLinkGroup, createElementsData, _htTopo;
1005
996
 
1006
997
  return _regeneratorRuntime.wrap(function _callee15$(_context15) {
1007
998
  while (1) switch (_context15.prev = _context15.next) {
@@ -1023,16 +1014,16 @@ var useTopoEdit = function useTopoEdit(params) {
1023
1014
  isUnique = isUniqueIp(dm, txtValue, nodeElement); // 获取关联链路
1024
1015
 
1025
1016
  if (!isUnique) {
1026
- _context15.next = 23;
1017
+ _context15.next = 24;
1027
1018
  break;
1028
1019
  }
1029
1020
 
1030
- ip = buildIpNode(txtValue);
1021
+ ipNodeData = buildIpNode(txtValue);
1031
1022
  _context15.next = 8;
1032
1023
  return deleteExLink(nodeElement);
1033
1024
 
1034
1025
  case 8:
1035
- nodeElement.a(ip);
1026
+ nodeElement.a(ipNodeData);
1036
1027
  nodeElement.setName(txtValue);
1037
1028
  nodeElement.setTag("ip:" + txtValue); // 获取配置
1038
1029
 
@@ -1047,8 +1038,8 @@ var useTopoEdit = function useTopoEdit(params) {
1047
1038
  case 16:
1048
1039
  configData = _context15.sent;
1049
1040
  // console.log("configData",configObj, configData);
1050
- _elements = configData.elements;
1051
- newLinkElements = findUNExistedLinkElements(_elements); // console.log("configData", configData, newLinkElements);
1041
+ _elements2 = configData.elements;
1042
+ newLinkElements = findUNExistedLinkElements(_elements2); // console.log("configData", configData, newLinkElements);
1052
1043
 
1053
1044
  newLink = newLinkElements.filter(function (item) {
1054
1045
  return item.type === "link";
@@ -1063,15 +1054,21 @@ var useTopoEdit = function useTopoEdit(params) {
1063
1054
  nodes: [],
1064
1055
  links: newLink,
1065
1056
  linkGroups: newLinkGroup
1066
- }; // console.log("createElementsData", createElementsData);
1057
+ };
1058
+ console.log("createElementsData", createElementsData);
1067
1059
 
1068
1060
  if ([].concat(newLink, newLinkGroup).length > 0) {
1069
1061
  _htTopo = topo.getHtTopo();
1070
1062
 
1071
- _htTopo.createElements(createElementsData);
1063
+ _htTopo.createElements(createElementsData); // 临时放这里,仅拓扑中心有
1064
+
1065
+
1066
+ if (topo.linkDynamicStyleExecutor) {
1067
+ topo.linkDynamicStyleExecutor.execute();
1068
+ }
1072
1069
  }
1073
1070
 
1074
- case 23:
1071
+ case 24:
1075
1072
  case "end":
1076
1073
  return _context15.stop();
1077
1074
  }