@riil-frontend/component-topology 3.5.0-a.9 → 3.5.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 (106) hide show
  1. package/build/1.js +1 -1
  2. package/build/index.css +1 -1
  3. package/build/index.js +12 -12
  4. package/es/components/index.module.scss +3 -114
  5. package/es/core/components/AlarmListPanel/index.js +7 -12
  6. package/es/core/components/DisplaySettingDrawer/DisplaySetting.js +8 -5
  7. package/es/core/components/DisplaySettingDrawer/NodeTag.js +10 -5
  8. package/es/core/components/DisplaySettingDrawer/NodeTip.js +10 -5
  9. package/es/core/components/DisplaySettingDrawer/hooks/useDisplaySetting.js +3 -21
  10. package/es/core/components/TopoView/topoView.js +1 -0
  11. package/es/core/editor/components/settings/propertyViews/edge/CommonEdgePropertyView.js +7 -140
  12. package/es/core/editor/components/settings/propertyViews/edge/EdgePropertyView.js +1 -1
  13. package/es/core/editor/components/settings/propertyViews/node/Setting/Setting.js +1 -1
  14. package/es/core/editor/components/settings/propertyViews/node/data/Data.js +18 -17
  15. package/es/core/editor/components/titlebar/TopoEditorTitleBar.js +62 -18
  16. package/es/core/models/Alarm.js +206 -120
  17. package/es/core/models/DataModel.js +15 -1
  18. package/es/core/models/TopoApp.js +4 -6
  19. package/es/core/models/cache/CiTyeCache.js +4 -0
  20. package/es/core/models/utils/linkUtils.js +87 -42
  21. package/es/core/services/index.js +28 -0
  22. package/es/core/utils/saveSerialize.js +34 -0
  23. package/es/core/viewer/components/plugins/ResourceDetail/ResourceDetail.js +0 -37
  24. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/BaseInfo.js +31 -28
  25. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverview.js +44 -43
  26. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverviewMetric.js +39 -26
  27. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/hooks/useCiData.js +0 -0
  28. package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/hooks/useMetricModels.js +143 -0
  29. package/es/core/viewer/components/plugins/ResourceDetail/getCiDisplayMetricModels.js +37 -0
  30. package/es/core/viewer/components/titlebar/BasicTools.js +11 -1
  31. package/es/core/viewer/components/titlebar/widgets/AlarmListShowButton.js +21 -13
  32. package/es/hooks/useGraphAlarmDisplay.js +3 -4
  33. package/es/hooks/useManageStatus.js +1 -1
  34. package/es/hooks/useTopoEdit.js +200 -144
  35. package/es/hooks/useTopoEventListener.js +13 -6
  36. package/es/index.js +3 -2
  37. package/es/models/topoConfig.js +0 -1
  38. package/es/models/topoMod.js +15 -10
  39. package/es/topoCenter/components/Topo404.js +3 -1
  40. package/es/topoCenter/components/TopoNoPermission.js +3 -1
  41. package/es/topoCenter/components/TopoView.js +77 -32
  42. package/es/topoCenter/components/Topology.js +2 -0
  43. package/es/topoCenter/components/editor/propertyViews/edge/EdgePropertyView.js +10 -0
  44. package/es/topoCenter/components/editor/propertyViews/edge/LinkPropertyView/Data/index.js +5 -20
  45. package/es/topoCenter/components/editor/propertyViews/edge/LinkPropertyView/LinkPropertyView.js +12 -6
  46. package/es/topoCenter/components/editor/propertyViews/edge/addLinkDrawer/AddLinkDrawer.js +84 -43
  47. package/es/topoCenter/components/editor/propertyViews/edge/addLinkDrawer/components/editLinkInfo.js +60 -34
  48. package/es/topoCenter/components/editor/propertyViews/edge/addLinkDrawer/index.module.scss +9 -0
  49. package/es/topoCenter/components/editor/propertyViews/edge/addLinkDrawer/server.js +62 -19
  50. package/es/topoCenter/components/editor/propertyViews/edge/link/BindExitLinkSelect.js +157 -0
  51. package/es/topoCenter/components/editor/propertyViews/edge/link/LinkInfoPreview.js +1 -2
  52. package/es/topoCenter/hooks/editor/useDeleteEdges.js +2 -3
  53. package/es/topoCenter/utils/resourcePermissionUtil.js +18 -12
  54. package/es/utils/topoData.js +15 -13
  55. package/lib/components/index.module.scss +3 -114
  56. package/lib/core/components/AlarmListPanel/index.js +7 -12
  57. package/lib/core/components/DisplaySettingDrawer/DisplaySetting.js +9 -5
  58. package/lib/core/components/DisplaySettingDrawer/NodeTag.js +11 -5
  59. package/lib/core/components/DisplaySettingDrawer/NodeTip.js +12 -5
  60. package/lib/core/components/DisplaySettingDrawer/hooks/useDisplaySetting.js +3 -21
  61. package/lib/core/components/TopoView/topoView.js +1 -0
  62. package/lib/core/editor/components/settings/propertyViews/edge/CommonEdgePropertyView.js +7 -151
  63. package/lib/core/editor/components/settings/propertyViews/edge/EdgePropertyView.js +2 -2
  64. package/lib/core/editor/components/settings/propertyViews/node/Setting/Setting.js +1 -1
  65. package/lib/core/editor/components/settings/propertyViews/node/data/Data.js +17 -16
  66. package/lib/core/editor/components/titlebar/TopoEditorTitleBar.js +66 -20
  67. package/lib/core/models/Alarm.js +206 -121
  68. package/lib/core/models/DataModel.js +15 -1
  69. package/lib/core/models/TopoApp.js +4 -6
  70. package/lib/core/models/cache/CiTyeCache.js +4 -0
  71. package/lib/core/models/utils/linkUtils.js +92 -43
  72. package/lib/core/services/index.js +29 -0
  73. package/lib/core/utils/saveSerialize.js +43 -0
  74. package/lib/core/viewer/components/plugins/ResourceDetail/ResourceDetail.js +0 -37
  75. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/BaseInfo.js +29 -26
  76. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverview.js +45 -43
  77. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverviewMetric.js +38 -24
  78. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/hooks/useCiData.js +1 -0
  79. package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/hooks/useMetricModels.js +155 -0
  80. package/lib/core/viewer/components/plugins/ResourceDetail/getCiDisplayMetricModels.js +47 -0
  81. package/lib/core/viewer/components/titlebar/BasicTools.js +11 -1
  82. package/lib/core/viewer/components/titlebar/widgets/AlarmListShowButton.js +22 -15
  83. package/lib/hooks/useGraphAlarmDisplay.js +3 -5
  84. package/lib/hooks/useManageStatus.js +1 -1
  85. package/lib/hooks/useTopoEdit.js +197 -141
  86. package/lib/hooks/useTopoEventListener.js +13 -6
  87. package/lib/index.js +5 -0
  88. package/lib/models/topoConfig.js +0 -1
  89. package/lib/models/topoMod.js +15 -10
  90. package/lib/topoCenter/components/Topo404.js +4 -1
  91. package/lib/topoCenter/components/TopoNoPermission.js +4 -1
  92. package/lib/topoCenter/components/TopoView.js +78 -33
  93. package/lib/topoCenter/components/Topology.js +3 -0
  94. package/lib/topoCenter/components/editor/propertyViews/edge/EdgePropertyView.js +22 -0
  95. package/lib/topoCenter/components/editor/propertyViews/edge/LinkPropertyView/Data/index.js +5 -21
  96. package/lib/topoCenter/components/editor/propertyViews/edge/LinkPropertyView/LinkPropertyView.js +13 -8
  97. package/lib/topoCenter/components/editor/propertyViews/edge/addLinkDrawer/AddLinkDrawer.js +87 -42
  98. package/lib/topoCenter/components/editor/propertyViews/edge/addLinkDrawer/components/editLinkInfo.js +61 -37
  99. package/lib/topoCenter/components/editor/propertyViews/edge/addLinkDrawer/index.module.scss +9 -0
  100. package/lib/topoCenter/components/editor/propertyViews/edge/addLinkDrawer/server.js +62 -18
  101. package/lib/topoCenter/components/editor/propertyViews/edge/link/BindExitLinkSelect.js +183 -0
  102. package/lib/topoCenter/components/editor/propertyViews/edge/link/LinkInfoPreview.js +1 -2
  103. package/lib/topoCenter/hooks/editor/useDeleteEdges.js +2 -3
  104. package/lib/topoCenter/utils/resourcePermissionUtil.js +20 -12
  105. package/lib/utils/topoData.js +15 -13
  106. package/package.json +5 -5
@@ -9,19 +9,18 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
9
9
 
10
10
  var _react = _interopRequireDefault(require("react"));
11
11
 
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+
12
14
  var _ResourceInfoDisplay = require("../../../constants/ResourceInfoDisplay");
13
15
 
14
16
  var _BasicConfig = _interopRequireDefault(require("./ResourceDisplay/BasicConfig"));
15
17
 
16
- var CommonOptions = [{
18
+ var defaultCommonOptions = [{
17
19
  value: 'graph:name',
18
20
  label: '图片名称'
19
21
  }, {
20
22
  value: 'attribute:display_name',
21
23
  label: '显示名称'
22
- }, {
23
- value: 'attribute:ipv4_address',
24
- label: 'IP地址'
25
24
  }];
26
25
  /**
27
26
  * 资源标注配置
@@ -30,19 +29,26 @@ var CommonOptions = [{
30
29
  */
31
30
 
32
31
  function NodeTag(props, ref) {
32
+ var commonOptions = props.commonOptions;
33
33
  return /*#__PURE__*/_react["default"].createElement(_BasicConfig["default"], (0, _extends2["default"])({
34
34
  ref: ref
35
35
  }, props, {
36
36
  limit: 3,
37
37
  elementType: "node",
38
38
  showType: "tag",
39
- commonOptions: CommonOptions,
39
+ commonOptions: commonOptions || defaultCommonOptions,
40
40
  defaultCommonConfig: _ResourceInfoDisplay.DEFAULT_NODE_TAG_COMMON_CONFIG,
41
41
  type: "node"
42
42
  }));
43
43
  }
44
44
 
45
45
  ;
46
+ NodeTag.propTypes = {
47
+ commonOptions: _propTypes["default"].array
48
+ };
49
+ NodeTag.defaultProps = {
50
+ commonOptions: defaultCommonOptions
51
+ };
46
52
 
47
53
  var _default = /*#__PURE__*/_react["default"].forwardRef(NodeTag);
48
54
 
@@ -9,14 +9,13 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
9
9
 
10
10
  var _react = _interopRequireDefault(require("react"));
11
11
 
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+
12
14
  var _ResourceInfoDisplay = require("../../../constants/ResourceInfoDisplay");
13
15
 
14
16
  var _BasicConfig = _interopRequireDefault(require("./ResourceDisplay/BasicConfig"));
15
17
 
16
- var CommonOptions = [{
17
- value: 'attribute:ipv4_address',
18
- label: 'IP地址'
19
- }, {
18
+ var defaultCommonOptions = [{
20
19
  value: 'attribute:display_name',
21
20
  label: '显示名称'
22
21
  }, {
@@ -30,17 +29,25 @@ var CommonOptions = [{
30
29
  */
31
30
 
32
31
  function NodeTip(props, ref) {
32
+ var commonOptions = props.commonOptions;
33
33
  return /*#__PURE__*/_react["default"].createElement(_BasicConfig["default"], (0, _extends2["default"])({
34
34
  ref: ref
35
35
  }, props, {
36
36
  limit: 4,
37
37
  elementType: "node",
38
38
  showType: "tip",
39
- commonOptions: CommonOptions,
39
+ commonOptions: commonOptions || defaultCommonOptions,
40
40
  defaultCommonConfig: _ResourceInfoDisplay.DEFAULT_TIP_COMMON_CONFIG
41
41
  }));
42
42
  }
43
43
 
44
+ NodeTip.propTypes = {
45
+ commonOptions: _propTypes["default"].array
46
+ };
47
+ NodeTip.defaultProps = {
48
+ commonOptions: defaultCommonOptions
49
+ };
50
+
44
51
  var _default = /*#__PURE__*/_react["default"].forwardRef(NodeTip);
45
52
 
46
53
  exports["default"] = _default;
@@ -20,32 +20,14 @@ var _default = function _default(props) {
20
20
 
21
21
  var executeByConfig = /*#__PURE__*/function () {
22
22
  var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(config) {
23
- var edgeFlowConfig;
24
23
  return _regenerator["default"].wrap(function _callee$(_context) {
25
24
  while (1) {
26
25
  switch (_context.prev = _context.next) {
27
26
  case 0:
28
27
  // 更新节点名称显示隐藏
29
- topo.attributeMetricDisplay.updateNodesNameVisible(); // 更新连线展开折叠状态
28
+ topo.attributeMetricDisplay.updateNodesNameVisible();
30
29
 
31
- if (displaySettingProps !== null && displaySettingProps !== void 0 && displaySettingProps.showLinkConfig) {
32
- if (config.expandAllEdges) {
33
- topo.getHtTopo().expandAllEdgeGroups();
34
- } else {
35
- topo.getHtTopo().collapseAllEdgeGroups();
36
- } // 更新连线流动效果
37
-
38
-
39
- edgeFlowConfig = config.edgeFlow ? {
40
- type: config.edgeFlow,
41
- // 必填,支持传送带drip、光点point、箭头arrow
42
- direction: config.edgeFlowDirection || 'from' // 流动方向,可为空,默认源到目的
43
-
44
- } : null;
45
- topo.getHtTopo().setGlobalEdgeFlow(edgeFlowConfig);
46
- }
47
-
48
- case 2:
30
+ case 1:
49
31
  case "end":
50
32
  return _context.stop();
51
33
  }
@@ -85,7 +67,7 @@ var _default = function _default(props) {
85
67
  extraOnOk = (displaySettingProps === null || displaySettingProps === void 0 ? void 0 : displaySettingProps.onOk) || (displaySettingProps === null || displaySettingProps === void 0 ? void 0 : displaySettingProps.onDisplaySettingDrawerOk);
86
68
 
87
69
  if (extraOnOk) {
88
- extraOnOk();
70
+ extraOnOk(displayConfig);
89
71
  }
90
72
 
91
73
  case 11:
@@ -207,6 +207,7 @@ var Topology = function Topology(props) {
207
207
  case _componentTopologyGraph.TopoEvent.EVENT_DATA_DELETE:
208
208
  onDeleteElement(event.data);
209
209
  break;
210
+ // FIXME 保存逻辑优化
210
211
 
211
212
  case _componentTopologyGraph.TopoEvent.EVENT_SAVE_TOPO:
212
213
  onSaveTopo(event.data);
@@ -5,36 +5,29 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  exports.__esModule = true;
6
6
  exports["default"] = CommonEdgePropertyView;
7
7
 
8
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
-
10
- var _select = _interopRequireDefault(require("@alifd/next/lib/select"));
11
-
12
8
  var _form = _interopRequireDefault(require("@alifd/next/lib/form"));
13
9
 
14
10
  var _numberPicker = _interopRequireDefault(require("@alifd/next/lib/number-picker"));
15
11
 
16
12
  var _field = _interopRequireDefault(require("@alifd/next/lib/field"));
17
13
 
18
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
19
-
20
14
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
21
15
 
22
16
  var _collapse = _interopRequireDefault(require("@alifd/next/lib/collapse"));
23
17
 
18
+ var _rlog = _interopRequireDefault(require("@riil-frontend/component-topology-utils/es/rlog"));
19
+
24
20
  var _react = _interopRequireWildcard(require("react"));
25
21
 
26
22
  var _ColorPicker = _interopRequireDefault(require("../../../../../../common/components/ColorPicker"));
27
23
 
28
- var _LineType = _interopRequireDefault(require("../../common/LineType"));
29
-
30
- var _link = _interopRequireDefault(require("../../../../../../topoCenter/services/link"));
31
-
32
- var _rlog = _interopRequireDefault(require("@riil-frontend/component-topology-utils/es/rlog"));
24
+ var _BindExitLinkSelect = _interopRequireDefault(require("../../../../../../topoCenter/components/editor/propertyViews/edge/link/BindExitLinkSelect"));
33
25
 
34
26
  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); }
35
27
 
36
28
  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; }
37
29
 
30
+ // import LineType from "../../common/LineType";
38
31
  var CollapsePanel = _collapse["default"].Panel;
39
32
 
40
33
  function parseValues(values, edge) {
@@ -49,58 +42,10 @@ function CommonEdgePropertyView(props) {
49
42
  edge = props.edge,
50
43
  values = props.values,
51
44
  _onChange = props.onChange,
52
- editorProps = props.editorProps;
45
+ editorProps = props.editorProps,
46
+ extraDisplaySetting = props.extraDisplaySetting;
53
47
  var store = topo.store;
54
48
 
55
- var _store$useModel = store.useModel("topoConfig"),
56
- editState = _store$useModel[0],
57
- editDispatchers = _store$useModel[1]; // 可关联出口链路
58
-
59
-
60
- var _useState = (0, _react.useState)([]),
61
- associatedlinks = _useState[0],
62
- setAssociatedlinks = _useState[1]; // const [isLine, setIsLine] = useState(false);
63
-
64
-
65
- var getLinkByNodes = /*#__PURE__*/function () {
66
- var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(id) {
67
- var result, hasLinkIds, axlink;
68
- return _regenerator["default"].wrap(function _callee$(_context) {
69
- while (1) {
70
- switch (_context.prev = _context.next) {
71
- case 0:
72
- _context.next = 2;
73
- return _link["default"].queryAssociatedlinks(id);
74
-
75
- case 2:
76
- result = _context.sent;
77
- hasLinkIds = topo.getLines().map(function (line) {
78
- return line.id;
79
- });
80
- axlink = [];
81
- result.data.map(function (exLink) {
82
- if (hasLinkIds.indexOf(exLink.id) < 0) {
83
- axlink.push(exLink);
84
- }
85
- });
86
-
87
- _rlog["default"].debug("出口链路列表", result.data, axlink);
88
-
89
- setAssociatedlinks(axlink);
90
-
91
- case 8:
92
- case "end":
93
- return _context.stop();
94
- }
95
- }
96
- }, _callee);
97
- }));
98
-
99
- return function getLinkByNodes(_x) {
100
- return _ref.apply(this, arguments);
101
- };
102
- }();
103
-
104
49
  var field = _field["default"].useField({
105
50
  autoUnmount: false,
106
51
  values: parseValues(values, edge),
@@ -113,11 +58,6 @@ function CommonEdgePropertyView(props) {
113
58
  }
114
59
  });
115
60
 
116
- (0, _react.useEffect)(function () {
117
- console.log("CommonEdgePropertyView-edge", edge, edge.getSource().getTag(), edge.getTarget());
118
- var ids = [edge.getSource().getTag(), edge.getTarget().getTag()];
119
- getLinkByNodes(ids);
120
- }, [edge]);
121
61
  (0, _react.useEffect)(function () {
122
62
  field.setValues(parseValues(values, edge));
123
63
  }, [values]);
@@ -130,72 +70,6 @@ function CommonEdgePropertyView(props) {
130
70
  }));
131
71
  };
132
72
 
133
- var bindExitLink = /*#__PURE__*/function () {
134
- var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(value) {
135
- var data, exitLink, aobj, config, exconfig, exportLinkIdList, _yield$editDispatcher, elements;
136
-
137
- return _regenerator["default"].wrap(function _callee2$(_context2) {
138
- while (1) {
139
- switch (_context2.prev = _context2.next) {
140
- case 0:
141
- data = associatedlinks.find(function (link) {
142
- return link.id === value;
143
- });
144
-
145
- _rlog["default"].debug("bindExitLink--- v, edge", data, edge);
146
-
147
- exitLink = {
148
- attributes: [],
149
- ciType: "network_link",
150
- dtype: "link",
151
- id: data.id,
152
- interfaceSource: data["network_link.source_device_id"],
153
- interfaceTarget: data["network_link.destination_device_id"],
154
- metrics: [],
155
- name: data.name,
156
- "network_link.connect_type": "exit",
157
- "network_link.destination_ipv4": data["network_link.destination_ipv4"],
158
- operation: "delete",
159
- connect_type: "exit",
160
- source: data.source_id,
161
- target: data.destination_id,
162
- type: "link"
163
- };
164
- aobj = edge.getAttrObject();
165
- edge.setAttrObject((0, _extends2["default"])({}, aobj, exitLink));
166
- edge.setTag(data.id);
167
- config = topo.resourceConfig.getConfigFromHt();
168
-
169
- _rlog["default"].debug("getConfigFromHt", config, topo.resourceConfig);
170
-
171
- exconfig = (0, _extends2["default"])({}, config);
172
- exportLinkIdList = config.exportLinkIdList;
173
- exportLinkIdList.push(data.id);
174
- topo.resourceConfig.updateConfig((0, _extends2["default"])({}, config, {
175
- exportLinkIdList: exportLinkIdList
176
- }));
177
- _context2.next = 14;
178
- return editDispatchers.fetchDataByConfig();
179
-
180
- case 14:
181
- _yield$editDispatcher = _context2.sent;
182
- elements = _yield$editDispatcher.elements;
183
-
184
- _rlog["default"].debug("fetchDataByConfig", elements);
185
-
186
- case 17:
187
- case "end":
188
- return _context2.stop();
189
- }
190
- }
191
- }, _callee2);
192
- }));
193
-
194
- return function bindExitLink(_x2) {
195
- return _ref2.apply(this, arguments);
196
- };
197
- }();
198
-
199
73
  return /*#__PURE__*/_react["default"].createElement(_form["default"], {
200
74
  field: field,
201
75
  labelAlign: "top"
@@ -247,23 +121,5 @@ function CommonEdgePropertyView(props) {
247
121
  value: values["styleMap.edge.color"],
248
122
  align: "br",
249
123
  onChange: setLineColor
250
- })))), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_form["default"].Item, {
251
- label: "\u5173\u8054\u51FA\u53E3\u94FE\u8DEF",
252
- style: {
253
- marginBottom: 0
254
- }
255
- }, /*#__PURE__*/_react["default"].createElement(_select["default"], {
256
- style: {
257
- width: 232
258
- },
259
- disabled: associatedlinks.length < 1,
260
- onChange: function onChange(v) {
261
- bindExitLink(v);
262
- }
263
- }, associatedlinks.map(function (item, index) {
264
- return /*#__PURE__*/_react["default"].createElement(_select["default"].Option, {
265
- value: item.id,
266
- key: index
267
- }, item.attributes.display_name);
268
- }))))))));
124
+ })))), extraDisplaySetting))));
269
125
  }
@@ -3,7 +3,7 @@
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
5
  exports.__esModule = true;
6
- exports["default"] = EdgePropertyViewMatch;
6
+ exports["default"] = EdgePropertyViewRoute;
7
7
 
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
 
@@ -27,7 +27,7 @@ var commonViews = {
27
27
  * @return {React.ReactNode || null}
28
28
  */
29
29
 
30
- function EdgePropertyViewMatch(props) {
30
+ function EdgePropertyViewRoute(props) {
31
31
  var topo = props.topo,
32
32
  values = props.values,
33
33
  editorProps = props.editorProps;
@@ -69,7 +69,7 @@ function Setting(props) {
69
69
  key: "\u663E\u793A\u8BBE\u7F6E",
70
70
  title: "\u663E\u793A\u8BBE\u7F6E"
71
71
  }, /*#__PURE__*/_react["default"].createElement(_form["default"].Item, {
72
- label: "\u56FE\u7247\u540D\u79F01"
72
+ label: "\u56FE\u7247\u540D\u79F0"
73
73
  }, /*#__PURE__*/_react["default"].createElement(_input["default"], {
74
74
  name: "attrObject.customName"
75
75
  })), showImageSetting && /*#__PURE__*/_react["default"].createElement(_form["default"].Item, {
@@ -32,22 +32,22 @@ var CollapsePanel = _collapse["default"].Panel;
32
32
 
33
33
  function parseValues(values) {
34
34
  return (0, _extends2["default"])({}, values, {
35
- 'attrObject.customName': values['attrObject.customName'] || values['attrObject.name'],
36
- 'attrObject.bindTopo': values['attrObject.bindTopo'] || '' // 解决切换节点时关联拓扑选项未重置
35
+ "attrObject.customName": values["attrObject.customName"] || values["attrObject.name"],
36
+ "attrObject.bindTopo": values["attrObject.bindTopo"] || "" // 解决切换节点时关联拓扑选项未重置
37
37
 
38
38
  });
39
39
  }
40
40
 
41
41
  function getBindType(values) {
42
42
  if (values.tag) {
43
- return 'resource';
43
+ return "resource";
44
44
  }
45
45
 
46
46
  if (values.attrObject.bindType) {
47
47
  return values.attrObject.bindType;
48
48
  }
49
49
 
50
- return 'none';
50
+ return "none";
51
51
  }
52
52
 
53
53
  function Data(props) {
@@ -77,23 +77,24 @@ function Data(props) {
77
77
  }, [values]);
78
78
 
79
79
  var setBindType = function setBindType(newBindType) {
80
- _onChange('attrObject.bindType', newBindType);
80
+ _onChange("attrObject.bindType", newBindType);
81
81
 
82
- if (newBindType === 'topo') {//
82
+ if (newBindType === "topo") {//
83
83
  }
84
84
  };
85
85
 
86
86
  var handleBindTopoChange = function handleBindTopoChange(value, data) {
87
87
  // 设置名称为拓扑名称,清空自定义名称
88
- node.a('name', data.label);
89
- node.a('customName', null);
88
+ node.a("name", data.label);
89
+ node.a("customName", null);
90
+ topoEditApi.deleteExLink(node);
90
91
  };
91
92
 
92
93
  var RelateTopoTree = editorProps === null || editorProps === void 0 ? void 0 : editorProps.relateTopoTree;
93
94
  return /*#__PURE__*/_react["default"].createElement(_collapse["default"], {
94
- defaultExpandedKeys: ['相关资源'],
95
+ defaultExpandedKeys: ["相关资源"],
95
96
  style: {
96
- border: 'none'
97
+ border: "none"
97
98
  }
98
99
  }, /*#__PURE__*/_react["default"].createElement(CollapsePanel, {
99
100
  key: "\u76F8\u5173\u8D44\u6E90",
@@ -107,7 +108,7 @@ function Data(props) {
107
108
  name: "bindType",
108
109
  value: bindType,
109
110
  style: {
110
- width: '100%',
111
+ width: "100%",
111
112
  marginRight: 8
112
113
  },
113
114
  onChange: setBindType
@@ -117,25 +118,25 @@ function Data(props) {
117
118
  value: "resource"
118
119
  }, "\u5173\u8054\u8D44\u6E90"), RelateTopoTree && /*#__PURE__*/_react["default"].createElement(Option, {
119
120
  value: "topo"
120
- }, "\u5173\u8054\u62D3\u6251"))), bindType === 'resource' && /*#__PURE__*/_react["default"].createElement(_form["default"].Item, {
121
+ }, "\u5173\u8054\u62D3\u6251"))), bindType === "resource" && /*#__PURE__*/_react["default"].createElement(_form["default"].Item, {
121
122
  label: "\u5173\u8054\u8D44\u6E90"
122
123
  }, /*#__PURE__*/_react["default"].createElement("div", {
123
124
  style: {
124
- display: 'flex'
125
+ display: "flex"
125
126
  }
126
127
  }, /*#__PURE__*/_react["default"].createElement("div", {
127
128
  className: _textModule["default"].textEllipsis,
128
129
  style: {
129
130
  flex: 1,
130
131
  paddingRight: 16,
131
- color: '#4D6277'
132
+ color: "#4D6277"
132
133
  },
133
134
  title: values.tag ? values.name : null
134
- }, values.tag ? values.name : ''), /*#__PURE__*/_react["default"].createElement(_NodeRelateResourceButton["default"], {
135
+ }, values.tag ? values.name : ""), /*#__PURE__*/_react["default"].createElement(_NodeRelateResourceButton["default"], {
135
136
  node: values,
136
137
  topo: topo,
137
138
  topoEditApi: topoEditApi
138
- }))), bindType === 'topo' && RelateTopoTree && /*#__PURE__*/_react["default"].createElement(_form["default"].Item, {
139
+ }))), bindType === "topo" && RelateTopoTree && /*#__PURE__*/_react["default"].createElement(_form["default"].Item, {
139
140
  label: "\u5173\u8054\u62D3\u6251"
140
141
  }, /*#__PURE__*/_react["default"].createElement(RelateTopoTree, {
141
142
  name: "attrObject.bindTopo",
@@ -9,13 +9,13 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
9
9
 
10
10
  var _box = _interopRequireDefault(require("@alifd/next/lib/box"));
11
11
 
12
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
13
-
14
12
  var _dialog = _interopRequireDefault(require("@alifd/next/lib/dialog"));
15
13
 
16
14
  var _button = _interopRequireDefault(require("@alifd/next/lib/button"));
17
15
 
18
- var _react = _interopRequireDefault(require("react"));
16
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
17
+
18
+ var _react = _interopRequireWildcard(require("react"));
19
19
 
20
20
  var _classnames = _interopRequireDefault(require("classnames"));
21
21
 
@@ -23,9 +23,55 @@ var _TitleWidget = _interopRequireDefault(require("../../../components/titlebar/
23
23
 
24
24
  var _TitleBarModule = _interopRequireDefault(require("../../../components/titlebar/TitleBar.module.scss"));
25
25
 
26
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
27
+
28
+ 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; }
29
+
26
30
  function TopoEditorTitleBar(props) {
27
31
  var topo = props.topo,
28
32
  topoEditApi = props.topoEditApi;
33
+ var store = topo.store;
34
+
35
+ var _store$useModel = store.useModel("topoEdit"),
36
+ topoEditState = _store$useModel[0],
37
+ topoEditDispatchers = _store$useModel[1];
38
+
39
+ var saving = topoEditState.saving;
40
+
41
+ var _useState = (0, _react.useState)(false),
42
+ exitFlag = _useState[0],
43
+ setExitFlag = _useState[1];
44
+
45
+ var saveAndExit = /*#__PURE__*/function () {
46
+ var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
47
+ return _regenerator["default"].wrap(function _callee$(_context) {
48
+ while (1) {
49
+ switch (_context.prev = _context.next) {
50
+ case 0:
51
+ _context.next = 2;
52
+ return topo.save();
53
+
54
+ case 2:
55
+ setExitFlag(true);
56
+
57
+ case 3:
58
+ case "end":
59
+ return _context.stop();
60
+ }
61
+ }
62
+ }, _callee);
63
+ }));
64
+
65
+ return function saveAndExit() {
66
+ return _ref.apply(this, arguments);
67
+ };
68
+ }();
69
+
70
+ (0, _react.useEffect)(function () {
71
+ if (!saving && exitFlag) {
72
+ topo.exitEditMode();
73
+ }
74
+ }, [exitFlag, saving]);
29
75
  return /*#__PURE__*/_react["default"].createElement("div", {
30
76
  className: (0, _classnames["default"])(_TitleBarModule["default"].titlebar, _TitleBarModule["default"].titlebarEditMode)
31
77
  }, /*#__PURE__*/_react["default"].createElement("div", {
@@ -46,6 +92,7 @@ function TopoEditorTitleBar(props) {
46
92
  }, "\u6DFB\u52A0\u8D44\u6E90"), /*#__PURE__*/_react["default"].createElement(_button["default"], {
47
93
  className: _TitleBarModule["default"].button,
48
94
  onClick: function onClick() {
95
+ setExitFlag(false);
49
96
  topo.save();
50
97
  }
51
98
  }, "\u4FDD\u5B58"), /*#__PURE__*/_react["default"].createElement(_button["default"], {
@@ -55,19 +102,19 @@ function TopoEditorTitleBar(props) {
55
102
  title: "提示",
56
103
  content: "若直接退出,图上修改的内容将不会保存!",
57
104
  onOk: function () {
58
- var _onOk = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
59
- return _regenerator["default"].wrap(function _callee$(_context) {
105
+ var _onOk = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
106
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
60
107
  while (1) {
61
- switch (_context.prev = _context.next) {
108
+ switch (_context2.prev = _context2.next) {
62
109
  case 0:
63
- topo.exitEditMode();
110
+ saveAndExit();
64
111
 
65
112
  case 1:
66
113
  case "end":
67
- return _context.stop();
114
+ return _context2.stop();
68
115
  }
69
116
  }
70
- }, _callee);
117
+ }, _callee2);
71
118
  }));
72
119
 
73
120
  function onOk() {
@@ -77,23 +124,19 @@ function TopoEditorTitleBar(props) {
77
124
  return onOk;
78
125
  }(),
79
126
  onCancel: function () {
80
- var _onCancel = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
81
- return _regenerator["default"].wrap(function _callee2$(_context2) {
127
+ var _onCancel = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
128
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
82
129
  while (1) {
83
- switch (_context2.prev = _context2.next) {
130
+ switch (_context3.prev = _context3.next) {
84
131
  case 0:
85
- _context2.next = 2;
86
- return topo.save();
87
-
88
- case 2:
89
132
  topo.exitEditMode();
90
133
 
91
- case 3:
134
+ case 1:
92
135
  case "end":
93
- return _context2.stop();
136
+ return _context3.stop();
94
137
  }
95
138
  }
96
- }, _callee2);
139
+ }, _callee3);
97
140
  }));
98
141
 
99
142
  function onCancel() {
@@ -103,7 +146,10 @@ function TopoEditorTitleBar(props) {
103
146
  return onCancel;
104
147
  }(),
105
148
  cancelProps: {
106
- children: '保存'
149
+ children: "退出"
150
+ },
151
+ okProps: {
152
+ children: "保存并退出"
107
153
  }
108
154
  });
109
155
  }