@riil-frontend/component-topology 7.0.0-dev.9 → 7.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 (172) 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 +31 -31
  5. package/es/core/components/DisplaySettingDrawer/DisplaySetting.js +2 -23
  6. package/es/core/components/DisplaySettingDrawer/DisplaySettingDrawer.js +3 -2
  7. package/es/core/components/DisplaySettingDrawer/LineExpandAllRadioGroup.js +1 -2
  8. package/es/core/components/TopoView/GraphViewPanel.js +18 -2
  9. package/es/core/editor/components/Toolbar/buttons.js +2 -2
  10. package/es/core/editor/components/Toolbar/widgets/FontColorButton.js +10 -3
  11. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/edgeTag.js +9 -2
  12. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/groupTitle.js +7 -1
  13. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/nodeTag.js +21 -6
  14. package/es/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/textStyleUtil.js +5 -0
  15. package/es/core/editor/components/settings/PropertyView.js +11 -10
  16. package/es/core/editor/components/settings/Settings.js +8 -1
  17. package/es/core/editor/components/settings/core/PropertyViewManager.js +4 -3
  18. package/es/core/editor/components/settings/core/edgePropertyViewAdapter.js +1 -7
  19. package/es/core/editor/components/settings/propertyViews/node/data/Data.js +4 -2
  20. package/es/core/editor/components/settings/propertyViews/node/data/PlatformDisplay.js +15 -0
  21. package/es/core/hooks/usePolling.js +1 -6
  22. package/es/core/hooks/useTopoEdit.js +3 -1
  23. package/es/core/models/Alarm.js +12 -24
  24. package/es/core/models/AttributeMetricDisplay.js +24 -10
  25. package/es/core/models/TopoApp.js +5 -3
  26. package/es/core/models/attributeFormatter/index.js +4 -0
  27. package/es/core/models/utils/linkUtils.js +0 -3
  28. package/es/core/store/models/topoMod.js +7 -6
  29. package/es/core/utils/manageStatusUtil.js +4 -0
  30. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/EventsCard.js +28 -25
  31. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverview.js +4 -0
  32. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/Configurator/index.js +17 -17
  33. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/index.module.scss +1 -0
  34. package/es/core/viewer/components/titlebar/widgets/SettingButton.js +3 -11
  35. package/es/core/viewer/components/titlebar/widgets/SettingButtonWidget.js +5 -3
  36. package/es/networkTopo/getTopoData.js +16 -27
  37. package/es/networkTopo/index.js +2 -2
  38. package/es/networkTopo/services/alert.js +55 -0
  39. package/es/networkTopo/services/authorization.js +135 -0
  40. package/es/networkTopo/services/cmdb.js +897 -0
  41. package/es/networkTopo/services/index.js +2 -26
  42. package/es/networkTopo/services/mdc.js +74 -0
  43. package/es/networkTopo/services/metric.js +68 -0
  44. package/es/networkTopo/services/model.js +1283 -0
  45. package/es/networkTopo/services/risk.js +29 -0
  46. package/es/networkTopo/services/topo/auth.js +67 -0
  47. package/es/networkTopo/services/topo/basic.js +727 -0
  48. package/es/networkTopo/services/topo/blacklist.js +60 -0
  49. package/es/networkTopo/services/topo/ciInfo.js +69 -0
  50. package/es/networkTopo/services/topo/constants.js +1 -0
  51. package/es/networkTopo/services/topo/icon.js +131 -0
  52. package/es/networkTopo/services/topo/index.js +18 -0
  53. package/es/networkTopo/services/topo/networkLink.js +33 -0
  54. package/es/networkTopo/services/topo/relation.js +27 -0
  55. package/es/networkTopo/services/topo/resourceWebUrl.js +84 -0
  56. package/es/networkTopo/store/topoTreeMod.js +5 -1
  57. package/es/networkTopo/utils/storage.js +38 -0
  58. package/es/style.js +1 -1
  59. package/es/utils/topoData.js +6 -67
  60. package/es/utils/tree.js +1 -0
  61. package/lib/core/components/DisplaySettingDrawer/DisplaySetting.js +3 -24
  62. package/lib/core/components/DisplaySettingDrawer/DisplaySettingDrawer.js +3 -3
  63. package/lib/core/components/DisplaySettingDrawer/LineExpandAllRadioGroup.js +1 -2
  64. package/lib/core/components/TopoView/GraphViewPanel.js +22 -2
  65. package/lib/core/editor/components/Toolbar/buttons.js +2 -2
  66. package/lib/core/editor/components/Toolbar/widgets/FontColorButton.js +10 -3
  67. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/edgeTag.js +9 -3
  68. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/groupTitle.js +8 -1
  69. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/elements/nodeTag.js +21 -7
  70. package/lib/core/editor/components/Toolbar/widgets/components/textStyleSetting/ElementTextStyleSetting/textStyleUtil.js +5 -0
  71. package/lib/core/editor/components/settings/PropertyView.js +10 -10
  72. package/lib/core/editor/components/settings/Settings.js +9 -1
  73. package/lib/core/editor/components/settings/core/PropertyViewManager.js +4 -3
  74. package/lib/core/editor/components/settings/core/edgePropertyViewAdapter.js +1 -10
  75. package/lib/core/editor/components/settings/propertyViews/node/data/Data.js +5 -3
  76. package/lib/core/editor/components/settings/propertyViews/node/data/PlatformDisplay.js +23 -0
  77. package/lib/core/hooks/usePolling.js +1 -6
  78. package/lib/core/hooks/useTopoEdit.js +3 -1
  79. package/lib/core/models/Alarm.js +12 -24
  80. package/lib/core/models/AttributeMetricDisplay.js +25 -10
  81. package/lib/core/models/TopoApp.js +5 -3
  82. package/lib/core/models/attributeFormatter/index.js +4 -0
  83. package/lib/core/models/utils/linkUtils.js +0 -5
  84. package/lib/core/store/models/topoMod.js +9 -6
  85. package/lib/core/utils/manageStatusUtil.js +9 -0
  86. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/EventsCard.js +28 -26
  87. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverview.js +4 -0
  88. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/Configurator/index.js +17 -17
  89. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/index.module.scss +1 -0
  90. package/lib/core/viewer/components/titlebar/widgets/SettingButton.js +3 -11
  91. package/lib/core/viewer/components/titlebar/widgets/SettingButtonWidget.js +5 -3
  92. package/lib/networkTopo/getTopoData.js +16 -28
  93. package/lib/networkTopo/index.js +4 -4
  94. package/lib/networkTopo/services/alert.js +66 -0
  95. package/lib/networkTopo/services/authorization.js +145 -0
  96. package/lib/networkTopo/services/cmdb.js +977 -0
  97. package/lib/networkTopo/services/index.js +3 -29
  98. package/lib/networkTopo/services/mdc.js +91 -0
  99. package/lib/networkTopo/services/metric.js +82 -0
  100. package/lib/networkTopo/services/model.js +1387 -0
  101. package/lib/networkTopo/services/risk.js +40 -0
  102. package/lib/networkTopo/services/topo/auth.js +79 -0
  103. package/lib/networkTopo/services/topo/basic.js +753 -0
  104. package/lib/networkTopo/services/topo/blacklist.js +72 -0
  105. package/lib/networkTopo/services/topo/ciInfo.js +82 -0
  106. package/lib/networkTopo/services/topo/constants.js +6 -0
  107. package/lib/networkTopo/services/topo/icon.js +144 -0
  108. package/lib/networkTopo/{components/editor/plugins/LayerConfigPlugin.js → services/topo/index.js} +33 -23
  109. package/lib/networkTopo/services/topo/networkLink.js +45 -0
  110. package/lib/networkTopo/services/topo/relation.js +39 -0
  111. package/lib/networkTopo/services/topo/resourceWebUrl.js +95 -0
  112. package/lib/networkTopo/store/topoTreeMod.js +5 -1
  113. package/lib/networkTopo/utils/storage.js +46 -0
  114. package/lib/style.js +1 -1
  115. package/lib/utils/topoData.js +7 -75
  116. package/lib/utils/tree.js +1 -0
  117. package/package.json +3 -3
  118. package/es/core/components/DisplaySettingDrawer/EditorDisplaySetting.js +0 -122
  119. package/es/core/editor/components/settings/propertyViews/edge/addEdgeProps.js +0 -10
  120. package/es/networkTopo/components/Topology.js +0 -28
  121. package/es/networkTopo/components/editor/plugins/LayerConfigPlugin.js +0 -22
  122. package/es/networkTopo/components/editor/propertyViews/LayerRelatedResourceList.js +0 -48
  123. package/es/networkTopo/components/editor/propertyViews/edge/EdgeGroupPropertyView.js +0 -35
  124. package/es/networkTopo/components/editor/propertyViews/edge/EdgePropertyView.js +0 -43
  125. package/es/networkTopo/components/editor/propertyViews/edge/LinkPropertyView/Data/index.js +0 -39
  126. package/es/networkTopo/components/editor/propertyViews/edge/LinkPropertyView/LinkPropertyView.js +0 -31
  127. package/es/networkTopo/components/editor/propertyViews/edge/LinkPropertyView/LinkPropertyViewV1.js +0 -37
  128. package/es/networkTopo/components/editor/propertyViews/edge/LinkPropertyView/Setting/index.js +0 -49
  129. package/es/networkTopo/components/editor/propertyViews/edge/LinkPropertyView/index.js +0 -2
  130. package/es/networkTopo/components/editor/propertyViews/edge/addLinkDrawer/AddLinkDrawer.js +0 -630
  131. package/es/networkTopo/components/editor/propertyViews/edge/addLinkDrawer/components/NetworkLinkForm.js +0 -4
  132. package/es/networkTopo/components/editor/propertyViews/edge/addLinkDrawer/components/editLinkInfo.js +0 -458
  133. package/es/networkTopo/components/editor/propertyViews/edge/addLinkDrawer/components/index.module.scss +0 -34
  134. package/es/networkTopo/components/editor/propertyViews/edge/addLinkDrawer/hooks/useAddLink.js +0 -104
  135. package/es/networkTopo/components/editor/propertyViews/edge/addLinkDrawer/index.module.scss +0 -12
  136. package/es/networkTopo/components/editor/propertyViews/edge/addLinkDrawer/mock.js +0 -55
  137. package/es/networkTopo/components/editor/propertyViews/edge/addLinkDrawer/server.js +0 -187
  138. package/es/networkTopo/components/editor/propertyViews/edge/link/BindExitLinkSelect.js +0 -178
  139. package/es/networkTopo/components/editor/propertyViews/edge/link/LinkInfoPreview.js +0 -103
  140. package/es/networkTopo/components/editor/propertyViews/edge/link/LinkInfoPreview.module.scss +0 -65
  141. package/es/networkTopo/components/editor/useEditorProps.js +0 -32
  142. package/es/networkTopo/event/index.js +0 -6
  143. package/es/networkTopo/hooks/editor/useDeleteEdges.js +0 -200
  144. package/es/networkTopo/hooks/editor/useGroupSortResources.js +0 -16
  145. package/es/networkTopo/hooks/useTopoEdit.js +0 -26
  146. package/lib/core/components/DisplaySettingDrawer/EditorDisplaySetting.js +0 -147
  147. package/lib/core/editor/components/settings/propertyViews/edge/addEdgeProps.js +0 -19
  148. package/lib/networkTopo/components/Topology.js +0 -40
  149. package/lib/networkTopo/components/editor/propertyViews/LayerRelatedResourceList.js +0 -63
  150. package/lib/networkTopo/components/editor/propertyViews/edge/EdgeGroupPropertyView.js +0 -51
  151. package/lib/networkTopo/components/editor/propertyViews/edge/EdgePropertyView.js +0 -60
  152. package/lib/networkTopo/components/editor/propertyViews/edge/LinkPropertyView/Data/index.js +0 -54
  153. package/lib/networkTopo/components/editor/propertyViews/edge/LinkPropertyView/LinkPropertyView.js +0 -42
  154. package/lib/networkTopo/components/editor/propertyViews/edge/LinkPropertyView/LinkPropertyViewV1.js +0 -50
  155. package/lib/networkTopo/components/editor/propertyViews/edge/LinkPropertyView/Setting/index.js +0 -66
  156. package/lib/networkTopo/components/editor/propertyViews/edge/LinkPropertyView/index.js +0 -11
  157. package/lib/networkTopo/components/editor/propertyViews/edge/addLinkDrawer/AddLinkDrawer.js +0 -661
  158. package/lib/networkTopo/components/editor/propertyViews/edge/addLinkDrawer/components/NetworkLinkForm.js +0 -12
  159. package/lib/networkTopo/components/editor/propertyViews/edge/addLinkDrawer/components/editLinkInfo.js +0 -486
  160. package/lib/networkTopo/components/editor/propertyViews/edge/addLinkDrawer/components/index.module.scss +0 -34
  161. package/lib/networkTopo/components/editor/propertyViews/edge/addLinkDrawer/hooks/useAddLink.js +0 -120
  162. package/lib/networkTopo/components/editor/propertyViews/edge/addLinkDrawer/index.module.scss +0 -12
  163. package/lib/networkTopo/components/editor/propertyViews/edge/addLinkDrawer/mock.js +0 -60
  164. package/lib/networkTopo/components/editor/propertyViews/edge/addLinkDrawer/server.js +0 -207
  165. package/lib/networkTopo/components/editor/propertyViews/edge/link/BindExitLinkSelect.js +0 -205
  166. package/lib/networkTopo/components/editor/propertyViews/edge/link/LinkInfoPreview.js +0 -121
  167. package/lib/networkTopo/components/editor/propertyViews/edge/link/LinkInfoPreview.module.scss +0 -65
  168. package/lib/networkTopo/components/editor/useEditorProps.js +0 -46
  169. package/lib/networkTopo/event/index.js +0 -11
  170. package/lib/networkTopo/hooks/editor/useDeleteEdges.js +0 -218
  171. package/lib/networkTopo/hooks/editor/useGroupSortResources.js +0 -21
  172. package/lib/networkTopo/hooks/useTopoEdit.js +0 -40
@@ -1,486 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- exports.__esModule = true;
6
- exports["default"] = EditLinkInfo;
7
-
8
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
-
10
- var _button = _interopRequireDefault(require("@alifd/next/lib/button"));
11
-
12
- var _numberPicker = _interopRequireDefault(require("@alifd/next/lib/number-picker"));
13
-
14
- var _input = _interopRequireDefault(require("@alifd/next/lib/input"));
15
-
16
- var _select = _interopRequireDefault(require("@alifd/next/lib/select"));
17
-
18
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
19
-
20
- var _dialog = _interopRequireDefault(require("@alifd/next/lib/dialog"));
21
-
22
- var _field = _interopRequireDefault(require("@alifd/next/lib/field"));
23
-
24
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
25
-
26
- var _grid = _interopRequireDefault(require("@alifd/next/lib/grid"));
27
-
28
- var _form = _interopRequireDefault(require("@alifd/next/lib/form"));
29
-
30
- var _radio = _interopRequireDefault(require("@alifd/next/lib/radio"));
31
-
32
- var _react = _interopRequireWildcard(require("react"));
33
-
34
- var _rlog = _interopRequireDefault(require("@riil-frontend/component-topology-utils/es/rlog"));
35
-
36
- var _indexModule = _interopRequireDefault(require("./index.module.scss"));
37
-
38
- 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); }
39
-
40
- 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; }
41
-
42
- // import LindInfoPreview from "../../link/LindInfoPreview";
43
- var RadioGroup = _radio["default"].Group;
44
- var FormItem = _form["default"].Item;
45
- var Row = _grid["default"].Row,
46
- Col = _grid["default"].Col;
47
-
48
- function parseValues(values) {
49
- return (0, _extends2["default"])({}, values);
50
- }
51
- /**
52
- * 两端都有编辑/删除权限才能创建物理和聚合链路。
53
- * 目的没编辑/删除权限时,在添加链路抽屉中链接方式默认出口,物理/聚合置灰不可选
54
- * @param {*} props
55
- * @returns
56
- */
57
-
58
-
59
- function EditLinkInfo(props) {
60
- var _field$getValue, _field$getValue2, _sourceValue$portsDoc5, _sourceValue$portsDoc6, _targetValue$portsDoc5, _targetValue$portsDoc6;
61
-
62
- var topo = props.topo,
63
- lineData = props.lineData,
64
- onClose = props.onClose,
65
- onSave = props.onSave,
66
- isAdd = props.isAdd,
67
- loading = props.loading;
68
- var source = lineData.source,
69
- target = lineData.target,
70
- attributes = lineData.attributes;
71
-
72
- var _useState = (0, _react.useState)(attributes),
73
- valus = _useState[0],
74
- setValus = _useState[1];
75
-
76
- var _useState2 = (0, _react.useState)(source),
77
- sourceValue = _useState2[0],
78
- setSource = _useState2[1];
79
-
80
- var _useState3 = (0, _react.useState)(target),
81
- targetValue = _useState3[0],
82
- setTarget = _useState3[1];
83
-
84
- var _useState4 = (0, _react.useState)(),
85
- ratedBandwidth = _useState4[0],
86
- setRatedBandwidth = _useState4[1];
87
-
88
- var field = _field["default"].useField({
89
- autoUnmount: false,
90
- values: parseValues(attributes),
91
- onChange: function onChange(name, value) {
92
- var newValues = field.getValues();
93
-
94
- _rlog["default"].debug('Field-onChange', newValues, name, value);
95
-
96
- setValus(newValues);
97
-
98
- if (name === 'network_link.destination_ipv4') {
99
- setDisplayNames(newValues);
100
- }
101
- }
102
- });
103
-
104
- (0, _react.useEffect)(function () {
105
- setValus(attributes);
106
- setSource(source);
107
- setTarget(target);
108
- field.setValues(attributes);
109
- }, [source, target, field, attributes]);
110
- var labelAlign = 'top';
111
- var formItemLayout = {
112
- labelCol: {
113
- fixedSpan: 4
114
- }
115
- };
116
-
117
- var setDisplayNames = function setDisplayNames(vals) {
118
- if (!isAdd) {
119
- return;
120
- }
121
-
122
- var newValues = vals || field.getValues();
123
- var destDeviceId = newValues['network_link.destination_device_id'];
124
- var sourceIp = newValues['network_link.source_device_ipv4'];
125
- var targetIp = destDeviceId ? newValues['network_link.destination_device_ipv4'] : newValues['network_link.destination_ipv4'];
126
-
127
- if (sourceIp && targetIp) {
128
- var obj = [{
129
- reg: /FastEthernet/g,
130
- Abbreviation: 'Fa '
131
- }, {
132
- reg: /TwoGigabitEthernet/g,
133
- Abbreviation: 'Tw '
134
- }, {
135
- reg: /FiveGigabitEthernet/g,
136
- Abbreviation: 'Fi '
137
- }, {
138
- reg: /TenGigabitEthernet/g,
139
- Abbreviation: 'Te '
140
- }, {
141
- reg: /TwentyFiveGigE/g,
142
- Abbreviation: 'Twe '
143
- }, {
144
- reg: /FortyGigabitEthernet/g,
145
- Abbreviation: 'Fo '
146
- }, {
147
- reg: /XGigabitEthernet/g,
148
- Abbreviation: 'Te '
149
- }, {
150
- reg: /Ten-GigabitEthernet/g,
151
- Abbreviation: 'Te '
152
- }, {
153
- reg: /GigabitEthernet/g,
154
- Abbreviation: 'Gi '
155
- }];
156
- var displayName = sourceIp + (sourceValue.portsDoc[newValues['source_id']] ? '(' + sourceValue.portsDoc[newValues['source_id']].label + ')' : '') + ' - ' + targetIp + (targetValue.portsDoc[newValues['destination_id']] ? '(' + targetValue.portsDoc[newValues['destination_id']].label + ')' : '');
157
- obj.filter(function (node) {
158
- return node.reg.test(displayName);
159
- }).forEach(function (node) {
160
- displayName = displayName.replace(node.reg, node.Abbreviation);
161
- });
162
- field.setValue('display_name', displayName);
163
- }
164
- };
165
-
166
- var portsHandleChange = function portsHandleChange(type, value) {
167
- var _sourceValue$portsDoc, _sourceValue$portsDoc2, _targetValue$portsDoc, _targetValue$portsDoc2;
168
-
169
- var nowValues = field.getValues();
170
- var sourceId = nowValues['source_id'];
171
- var targetId = nowValues['destination_id'];
172
- var sourceRb = (_sourceValue$portsDoc = (_sourceValue$portsDoc2 = sourceValue.portsDoc[sourceId]) === null || _sourceValue$portsDoc2 === void 0 ? void 0 : _sourceValue$portsDoc2.ratedBandwidth) !== null && _sourceValue$portsDoc !== void 0 ? _sourceValue$portsDoc : 0;
173
- var targetRb = (_targetValue$portsDoc = (_targetValue$portsDoc2 = targetValue.portsDoc[targetId]) === null || _targetValue$portsDoc2 === void 0 ? void 0 : _targetValue$portsDoc2.ratedBandwidth) !== null && _targetValue$portsDoc !== void 0 ? _targetValue$portsDoc : 0;
174
- var actualBandwidth = 0;
175
-
176
- if (sourceRb && targetRb) {
177
- actualBandwidth = Math.min(sourceRb, targetRb);
178
- } else {
179
- actualBandwidth = sourceRb || targetRb;
180
- } // rlog.debug("network_link.actual_bandwidth", actualBandwidth);
181
-
182
-
183
- setRatedBandwidth(actualBandwidth);
184
- field.setValue('network_link.actual_bandwidth', actualBandwidth);
185
- setDisplayNames();
186
- };
187
-
188
- var checkName = function checkName(rule, value, callback) {
189
- // const { validate, getValue } = field;
190
- var displayName = value;
191
- var links = topo.getEdges();
192
- var usedNames = [];
193
- links.map(function (link) {
194
- // console.log('checkName',link.id,lineData)
195
- if (link.dtype === 'link' && link.name && link.id !== lineData.attributes.linkId) {
196
- usedNames.push(link.name);
197
- }
198
- });
199
-
200
- if (usedNames.indexOf(displayName) >= 0) {
201
- // console.log("setError", checkName, usedNames, displayName);
202
- // field.setError("display_name", "链路名称重复");
203
- return callback('链路名称重复');
204
- } else {
205
- return callback();
206
- }
207
- };
208
-
209
- var saveHandleChange = function saveHandleChange() {
210
- field.validate(function (errors, values) {
211
- if (errors) {
212
- _rlog["default"].error('saveHandleChange-error', errors, values);
213
- } else {
214
- var _valus$destination_id, _targetValue$id;
215
-
216
- var sourceId = valus.source_id;
217
- var destinationId = (_valus$destination_id = valus.destination_id) !== null && _valus$destination_id !== void 0 ? _valus$destination_id : '';
218
- var obj = {
219
- display_name: values.display_name,
220
- // 链路名称
221
- name: values.display_name,
222
- // 链路名称
223
- 'network_link.source_device_id': sourceValue.id,
224
- // 必须
225
- 'network_link.source_device_ipv4': valus['network_link.source_device_ipv4'],
226
- // 必须
227
- // source_id, // 源端口
228
- // source_type, // 必须
229
- 'network_link.source_ipv4': valus['network_link.source_ipv4'],
230
- // 源IP
231
- 'network_link.destination_device_id': (_targetValue$id = targetValue.id) !== null && _targetValue$id !== void 0 ? _targetValue$id : '',
232
- // 必须
233
- 'network_link.destination_device_ipv4': valus['network_link.destination_device_ipv4'],
234
- // 必须
235
- // destination_id, // 目的端口
236
- // destination_type, // 必须
237
- 'network_link.destination_ipv4': valus['network_link.destination_ipv4'],
238
- // 目的IP
239
- 'network_link.actual_bandwidth': valus['network_link.actual_bandwidth'],
240
- // 实际带宽
241
- use: valus.use,
242
- // 用途
243
- 'network_link.connect_type': valus['network_link.connect_type'] // 必须
244
-
245
- };
246
-
247
- if (sourceId !== '') {
248
- var _sourceValue$portsDoc3, _sourceValue$portsDoc4;
249
-
250
- obj['source_id'] = sourceId; // 源端口
251
-
252
- obj['source_type'] = (_sourceValue$portsDoc3 = (_sourceValue$portsDoc4 = sourceValue.portsDoc[sourceId]) === null || _sourceValue$portsDoc4 === void 0 ? void 0 : _sourceValue$portsDoc4.type) !== null && _sourceValue$portsDoc3 !== void 0 ? _sourceValue$portsDoc3 : '';
253
- }
254
-
255
- if (destinationId) {
256
- var _targetValue$portsDoc3, _targetValue$portsDoc4;
257
-
258
- obj['destination_id'] = destinationId; // 目的端口
259
-
260
- obj['destination_type'] = (_targetValue$portsDoc3 = (_targetValue$portsDoc4 = targetValue.portsDoc[destinationId]) === null || _targetValue$portsDoc4 === void 0 ? void 0 : _targetValue$portsDoc4.type) !== null && _targetValue$portsDoc3 !== void 0 ? _targetValue$portsDoc3 : '';
261
- } else {
262
- obj['destination_id'] = ''; // 目的端口
263
-
264
- obj['destination_type'] = 'ip';
265
- } // console.log('保存数据-obj', obj);
266
-
267
-
268
- if (isAdd) {
269
- obj['network_link.network_category'] = 'CAN';
270
- obj['network_link.work_mode'] = 'AandS'; // 工作模式
271
-
272
- obj.rated_bandwidth = ratedBandwidth; // 额定带宽
273
-
274
- obj['network_link.role'] = 'master';
275
- Object.assign(obj, {
276
- 'network_link.is_crucial': false,
277
- support_templates: 'm.ethernet_link',
278
- 'network_link.connect_type': 'phy'
279
- });
280
- onSave(obj);
281
- } else {
282
- _dialog["default"].confirm({
283
- title: '提示',
284
- content: '链路信息已修改,是否保存修改内容?',
285
- onOk: function () {
286
- var _onOk = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
287
- return _regenerator["default"].wrap(function _callee$(_context) {
288
- while (1) {
289
- switch (_context.prev = _context.next) {
290
- case 0:
291
- onSave(obj);
292
-
293
- case 1:
294
- case "end":
295
- return _context.stop();
296
- }
297
- }
298
- }, _callee);
299
- }));
300
-
301
- function onOk() {
302
- return _onOk.apply(this, arguments);
303
- }
304
-
305
- return onOk;
306
- }()
307
- });
308
- }
309
- }
310
- });
311
- };
312
-
313
- return /*#__PURE__*/_react["default"].createElement("div", {
314
- className: _indexModule["default"].editForm
315
- }, /*#__PURE__*/_react["default"].createElement(_form["default"], {
316
- field: field
317
- }, /*#__PURE__*/_react["default"].createElement(Row, {
318
- gutter: "16"
319
- }, /*#__PURE__*/_react["default"].createElement(Col, {
320
- span: "12"
321
- }, /*#__PURE__*/_react["default"].createElement(FormItem, (0, _extends2["default"])({}, formItemLayout, {
322
- labelAlign: labelAlign,
323
- label: "\u6E90\u8282\u70B9\u540D\u79F0"
324
- }), /*#__PURE__*/_react["default"].createElement("div", {
325
- className: _indexModule["default"].label
326
- }, sourceValue.name))), /*#__PURE__*/_react["default"].createElement(Col, {
327
- span: "12"
328
- }, /*#__PURE__*/_react["default"].createElement(FormItem, (0, _extends2["default"])({}, formItemLayout, {
329
- labelAlign: labelAlign,
330
- label: "\u76EE\u7684\u8282\u70B9\u540D\u79F0"
331
- }), /*#__PURE__*/_react["default"].createElement("div", {
332
- className: _indexModule["default"].label
333
- }, targetValue.name)))), /*#__PURE__*/_react["default"].createElement(Row, {
334
- gutter: "16"
335
- }, /*#__PURE__*/_react["default"].createElement(Col, {
336
- span: "12"
337
- }, /*#__PURE__*/_react["default"].createElement(FormItem, (0, _extends2["default"])({}, formItemLayout, {
338
- labelAlign: labelAlign,
339
- label: "\u6E90\u8282\u70B9IP"
340
- }), /*#__PURE__*/_react["default"].createElement("div", {
341
- className: _indexModule["default"].label
342
- }, (_field$getValue = field.getValue('network_link.source_device_ipv4')) !== null && _field$getValue !== void 0 ? _field$getValue : '-'))), /*#__PURE__*/_react["default"].createElement(Col, {
343
- span: "12"
344
- }, /*#__PURE__*/_react["default"].createElement(FormItem, (0, _extends2["default"])({}, formItemLayout, {
345
- labelAlign: labelAlign,
346
- label: "\u76EE\u7684\u8282\u70B9IP",
347
- pattern: /^((25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))$/,
348
- patternTrigger: "onBlur",
349
- patternMessage: "IP\u5730\u5740\u683C\u5F0F\u4E0D\u6B63\u786E"
350
- }), /*#__PURE__*/_react["default"].createElement("div", {
351
- className: _indexModule["default"].label
352
- }, (_field$getValue2 = field.getValue('network_link.destination_device_ipv4')) !== null && _field$getValue2 !== void 0 ? _field$getValue2 : '-')))), /*#__PURE__*/_react["default"].createElement(Row, {
353
- gutter: "16"
354
- }, /*#__PURE__*/_react["default"].createElement(Col, {
355
- span: "12"
356
- }, /*#__PURE__*/_react["default"].createElement(FormItem, (0, _extends2["default"])({}, formItemLayout, {
357
- labelAlign: labelAlign,
358
- label: "\u6E90\u7AEF\u53E3",
359
- required: true,
360
- requiredMessage: "\u6E90\u7AEF\u53E3\u4E0D\u80FD\u4E3A\u7A7A"
361
- }), sourceValue.ciId ? /*#__PURE__*/_react["default"].createElement(_select["default"], {
362
- name: "source_id",
363
- disabled: sourceValue.ports.length === 0,
364
- className: _indexModule["default"].selectList,
365
- onChange: function onChange(v) {
366
- portsHandleChange('source_id', v);
367
- },
368
- dataSource: sourceValue.ports
369
- }) : '-')), /*#__PURE__*/_react["default"].createElement(Col, {
370
- span: "12"
371
- }, /*#__PURE__*/_react["default"].createElement(FormItem, (0, _extends2["default"])({}, formItemLayout, {
372
- labelAlign: labelAlign,
373
- label: "\u76EE\u7684\u7AEF\u53E3",
374
- required: !!field.getValue('network_link.destination_device_id'),
375
- requiredMessage: "\u76EE\u7684\u7AEF\u53E3\u4E0D\u80FD\u4E3A\u7A7A"
376
- }), field.getValue('network_link.destination_device_id') ? /*#__PURE__*/_react["default"].createElement(_select["default"], {
377
- name: "destination_id" // disabled={targetValue.ports.length === 0}
378
- ,
379
- className: _indexModule["default"].selectList,
380
- onChange: function onChange(v) {
381
- portsHandleChange('destination_id', v);
382
- },
383
- dataSource: targetValue.ports
384
- }) : '-'))), /*#__PURE__*/_react["default"].createElement(Row, {
385
- gutter: "16"
386
- }, /*#__PURE__*/_react["default"].createElement(Col, {
387
- span: "12"
388
- }, /*#__PURE__*/_react["default"].createElement(FormItem, (0, _extends2["default"])({}, formItemLayout, {
389
- labelAlign: labelAlign,
390
- label: "\u6E90\u7AEFIP",
391
- pattern: /^((25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))$/,
392
- patternTrigger: "onBlur",
393
- patternMessage: "IP\u5730\u5740\u683C\u5F0F\u4E0D\u6B63\u786E"
394
- }), /*#__PURE__*/_react["default"].createElement(_input["default"], {
395
- placeholder: "\u8BF7\u8F93\u5165",
396
- name: "network_link.source_ipv4",
397
- maxLength: 128
398
- }))), /*#__PURE__*/_react["default"].createElement(Col, {
399
- span: "12"
400
- }, /*#__PURE__*/_react["default"].createElement(FormItem, (0, _extends2["default"])({}, formItemLayout, {
401
- labelAlign: labelAlign,
402
- label: "\u76EE\u7684\u7AEFIP",
403
- required: !field.getValue('network_link.destination_device_id'),
404
- requiredMessage: "\u76EE\u7684\u7AEFIP\u4E0D\u80FD\u4E3A\u7A7A",
405
- pattern: /^((25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))$/,
406
- patternTrigger: "onBlur",
407
- patternMessage: "IP\u5730\u5740\u683C\u5F0F\u4E0D\u6B63\u786E"
408
- }), /*#__PURE__*/_react["default"].createElement(_input["default"], {
409
- placeholder: "\u8BF7\u8F93\u5165",
410
- name: "network_link.destination_ipv4",
411
- maxLength: 128
412
- })))), /*#__PURE__*/_react["default"].createElement(Row, {
413
- gutter: "16"
414
- }, /*#__PURE__*/_react["default"].createElement(Col, {
415
- span: "12"
416
- }, /*#__PURE__*/_react["default"].createElement(FormItem, (0, _extends2["default"])({}, formItemLayout, {
417
- labelAlign: labelAlign,
418
- label: "\u8D44\u6E90\u7C7B\u578B"
419
- }), /*#__PURE__*/_react["default"].createElement("div", {
420
- className: _indexModule["default"].label
421
- }, (_sourceValue$portsDoc5 = (_sourceValue$portsDoc6 = sourceValue.portsDoc[valus.source_id]) === null || _sourceValue$portsDoc6 === void 0 ? void 0 : _sourceValue$portsDoc6.typeName) !== null && _sourceValue$portsDoc5 !== void 0 ? _sourceValue$portsDoc5 : sourceValue.ciName))), /*#__PURE__*/_react["default"].createElement(Col, {
422
- span: "12"
423
- }, /*#__PURE__*/_react["default"].createElement(FormItem, (0, _extends2["default"])({}, formItemLayout, {
424
- labelAlign: labelAlign,
425
- label: "\u8D44\u6E90\u7C7B\u578B"
426
- }), /*#__PURE__*/_react["default"].createElement("div", {
427
- className: _indexModule["default"].label
428
- }, (_targetValue$portsDoc5 = (_targetValue$portsDoc6 = targetValue.portsDoc[valus.destination_id]) === null || _targetValue$portsDoc6 === void 0 ? void 0 : _targetValue$portsDoc6.typeName) !== null && _targetValue$portsDoc5 !== void 0 ? _targetValue$portsDoc5 : targetValue.id ? '网络接口' : 'IP地址')))), /*#__PURE__*/_react["default"].createElement(Row, {
429
- gutter: "16"
430
- }, /*#__PURE__*/_react["default"].createElement(Col, {
431
- span: "24"
432
- }, /*#__PURE__*/_react["default"].createElement(FormItem, (0, _extends2["default"])({}, formItemLayout, {
433
- labelAlign: labelAlign,
434
- label: "\u94FE\u8DEF\u540D\u79F0",
435
- required: true,
436
- requiredMessage: "\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A",
437
- requiredTrigger: "onBlur",
438
- pattern: /^[^'"\\%]+[^'"\\%]*[^'"\\%]*$/,
439
- patternTrigger: "onBlur",
440
- patternMessage: "\u4E0D\u5141\u8BB8\u8F93\u5165\u2018\u3001\u201C\u3001\\\u3001%",
441
- validator: checkName
442
- }), /*#__PURE__*/_react["default"].createElement(_input["default"], {
443
- placeholder: "\u8BF7\u8F93\u5165",
444
- name: "display_name",
445
- maxLength: 128
446
- })))), /*#__PURE__*/_react["default"].createElement(Row, {
447
- gutter: "16"
448
- }, /*#__PURE__*/_react["default"].createElement(Col, {
449
- span: "24"
450
- }, /*#__PURE__*/_react["default"].createElement(FormItem, (0, _extends2["default"])({}, formItemLayout, {
451
- labelAlign: labelAlign,
452
- label: "\u5B9E\u9645\u5E26\u5BBD\uFF08Mbps\uFF09"
453
- }), /*#__PURE__*/_react["default"].createElement(_numberPicker["default"], {
454
- hasTrigger: false,
455
- style: {
456
- width: '100%'
457
- },
458
- max: 1000000,
459
- name: "network_link.actual_bandwidth",
460
- placeholder: "\u8BF7\u8F93\u5165"
461
- })))), /*#__PURE__*/_react["default"].createElement(Row, {
462
- gutter: "16"
463
- }, /*#__PURE__*/_react["default"].createElement(Col, {
464
- span: "24"
465
- }, /*#__PURE__*/_react["default"].createElement(FormItem, (0, _extends2["default"])({}, formItemLayout, {
466
- labelAlign: labelAlign,
467
- label: "\u7528\u9014"
468
- }), /*#__PURE__*/_react["default"].createElement(_input["default"].TextArea, {
469
- style: {
470
- width: '100%'
471
- },
472
- name: "use",
473
- placeholder: "\u8BF7\u8F93\u5165",
474
- maxLength: 300
475
- }))))), /*#__PURE__*/_react["default"].createElement("div", {
476
- className: _indexModule["default"].footer
477
- }, /*#__PURE__*/_react["default"].createElement(_button["default"], {
478
- className: _indexModule["default"].button,
479
- type: "primary",
480
- loading: loading,
481
- onClick: saveHandleChange
482
- }, isAdd ? '确定' : '保存'), /*#__PURE__*/_react["default"].createElement(_button["default"], {
483
- className: _indexModule["default"].button,
484
- onClick: onClose
485
- }, "\u53D6\u6D88")));
486
- }
@@ -1,34 +0,0 @@
1
- .editForm {
2
- width: 100%;
3
-
4
- .label {
5
- font-size: 12px;
6
- font-family: PingFangSC-Regular,
7
- PingFang SC;
8
- font-weight: 400;
9
- color: #4D6277;
10
- line-height: 20px;
11
- }
12
-
13
- .selectList {
14
- width: 220px;
15
- }
16
-
17
- .footer {
18
- position: absolute;
19
- bottom: 0;
20
- width: 100%;
21
- border-top: 1px solid #e8e8e8;
22
- padding: 10px 16px;
23
- text-align: right;
24
- left: 0;
25
- background: #fff;
26
- border-radius: 0 0 4px 4px;
27
-
28
- & .button {
29
- &:not(:first-child) {
30
- margin-left: 8px;
31
- }
32
- }
33
- }
34
- }
@@ -1,120 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- exports.__esModule = true;
6
- exports["default"] = useAddLink;
7
-
8
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
-
10
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
-
12
- var _react = require("react");
13
-
14
- var _topo = _interopRequireDefault(require("@riil-frontend/component-topology-common/es/services/topo"));
15
-
16
- var _rlog = _interopRequireDefault(require("@riil-frontend/component-topology-utils/es/rlog"));
17
-
18
- var _htElementUtils = require("../../../../../../../utils/htElementUtils");
19
-
20
- var _topoData = require("../../../../../../../utils/topoData");
21
-
22
- function useAddLink(props) {
23
- var topo = props.topo;
24
- var store = topo.store;
25
-
26
- var _useState = (0, _react.useState)(false),
27
- loadingConnectableNodes = _useState[0],
28
- setLoadingConnectableNodes = _useState[1];
29
-
30
- var linkDispatchers = store.useModelDispatchers('topoLinkMod');
31
- var htNodesConnectableRef = (0, _react.useRef)(null);
32
-
33
- var getCiTypesConnectable = /*#__PURE__*/function () {
34
- var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
35
- var ciNodes, ciTypes, ciTypesConnectable, nodes, ciIds, isWriteable;
36
- return _regenerator["default"].wrap(function _callee$(_context) {
37
- while (1) {
38
- switch (_context.prev = _context.next) {
39
- case 0:
40
- ciNodes = [];
41
- setLoadingConnectableNodes(true);
42
- _context.prev = 2;
43
- ciTypes = (0, _topoData.getCiTypes)(topo.dataModel.getData());
44
- _context.next = 6;
45
- return _topo["default"].networkLink.getCiTypesConnectable(ciTypes);
46
-
47
- case 6:
48
- ciTypesConnectable = _context.sent;
49
- nodes = (0, _htElementUtils.getNodes)(topo.getDataModel());
50
- ciIds = [];
51
-
52
- isWriteable = function isWriteable(node) {
53
- var _node$a;
54
-
55
- return ['delete', 'write'].indexOf(node.a('operation')) >= 0 || ((_node$a = node.a('permission')) === null || _node$a === void 0 ? void 0 : _node$a.writeable);
56
- };
57
-
58
- nodes.forEach(function (node) {
59
- // rlog.debug("过滤属性", node.a("operation"));
60
- if (ciTypesConnectable[node.a('ciType')] && isWriteable(node)) {
61
- ciIds.push(node.id);
62
- ciNodes.push(node);
63
- }
64
- });
65
- linkDispatchers.update({
66
- ciConnectable: ciIds
67
- });
68
- _context.next = 17;
69
- break;
70
-
71
- case 14:
72
- _context.prev = 14;
73
- _context.t0 = _context["catch"](2);
74
-
75
- _rlog["default"].error('查询可创建链路节点失败', _context.t0);
76
-
77
- case 17:
78
- setLoadingConnectableNodes(false);
79
- return _context.abrupt("return", ciNodes);
80
-
81
- case 19:
82
- case "end":
83
- return _context.stop();
84
- }
85
- }
86
- }, _callee, null, [[2, 14]]);
87
- }));
88
-
89
- return function getCiTypesConnectable() {
90
- return _ref.apply(this, arguments);
91
- };
92
- }();
93
-
94
- function setConnectableNodes(ciNodes) {
95
- topo.historyManager.setDisabled(true);
96
- topo.view.topoClient.emitEvent('topo_link_set_connectable_nodes', ciNodes);
97
- topo.historyManager.setDisabled(false);
98
- } // 进入划线模式,置灰不可用的节点
99
-
100
-
101
- function enterAddLinkMode() {
102
- getCiTypesConnectable().then(function (ciNodes) {
103
- // rlog.debug("设置可连线节点", ciIdsConnectable, ciNodes);
104
- htNodesConnectableRef.current = ciNodes;
105
- setConnectableNodes(ciNodes);
106
- });
107
- }
108
-
109
- function resetConnectableNodes() {
110
- _rlog["default"].info('选择第二个节点,重置置灰', htNodesConnectableRef.current);
111
-
112
- setConnectableNodes(htNodesConnectableRef.current);
113
- }
114
-
115
- return {
116
- enterAddLinkMode: enterAddLinkMode,
117
- loadingConnectableNodes: loadingConnectableNodes,
118
- resetConnectableNodes: resetConnectableNodes
119
- };
120
- }
@@ -1,12 +0,0 @@
1
- @import '~@alifd/next/variables.scss';
2
-
3
- .drawer {
4
- width: 504px;
5
-
6
- :global {
7
- .#{$css-prefix}drawer-body {
8
- padding: 20px 24px 50px 20px;
9
- }
10
- }
11
-
12
- }