@riil-frontend/component-topology 12.0.1 → 12.1.0-dev.10

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 (55) hide show
  1. package/build/1.js +1 -1
  2. package/build/index.js +14 -14
  3. package/es/core/editor/components/Toolbar/widgets/EdgeColorButton/EdgeColorButton.js +2 -2
  4. package/es/core/editor/components/Toolbar/widgets/EdgeTypeButton/LineType.js +5 -15
  5. package/es/core/editor/components/Toolbar/widgets/FontFamilyWidget.js +2 -27
  6. package/es/core/editor/components/Toolbar/widgets/FontSizeWidget.js +3 -28
  7. package/es/core/editor/components/Toolbar/widgets/FontStyleButton.js +6 -52
  8. package/es/core/editor/components/Toolbar/widgets/components/FontFamilySelect.js +29 -0
  9. package/es/core/editor/components/Toolbar/widgets/components/FontSizeSelect.js +29 -0
  10. package/es/core/editor/components/Toolbar/widgets/components/FontStyleSelect.js +71 -0
  11. package/es/core/editor/components/settings/propertyViews/view/GlobalEdgeToggle.js +2 -2
  12. package/es/core/editor/hooks/useNewElementTheme.js +20 -16
  13. package/es/core/editor/utils/edgeTypeStyleUtil.js +11 -32
  14. package/es/core/hooks/usePolling.js +2 -1
  15. package/es/core/hooks/useTopoEdit.js +169 -235
  16. package/es/core/models/AttributeMetricDisplay.js +2 -1
  17. package/es/core/models/HistoryManager.js +11 -9
  18. package/es/core/models/TopoApp.js +23 -31
  19. package/es/core/models/utils/linkUtils.js +36 -28
  20. package/es/core/store/models/topoConfig.js +2 -1
  21. package/es/core/utils/edgeUtil.js +7 -10
  22. package/es/core/viewer/components/plugins/ElementDetailDrawer/hooks/useElementDetailManager.js +2 -2
  23. package/es/networkTopo/models/EdgeGroupTagTipBuilder.js +7 -7
  24. package/es/networkTopo/models/LinkDynamicStyleExecutor.js +7 -63
  25. package/es/networkTopo/utils/edgeGroupTagUtil.js +2 -2
  26. package/es/utils/clusterUtil.js +3 -3
  27. package/es/utils/htElementUtils.js +16 -84
  28. package/lib/core/editor/components/Toolbar/widgets/EdgeColorButton/EdgeColorButton.js +2 -2
  29. package/lib/core/editor/components/Toolbar/widgets/EdgeTypeButton/LineType.js +5 -14
  30. package/lib/core/editor/components/Toolbar/widgets/FontFamilyWidget.js +3 -28
  31. package/lib/core/editor/components/Toolbar/widgets/FontSizeWidget.js +3 -28
  32. package/lib/core/editor/components/Toolbar/widgets/FontStyleButton.js +6 -56
  33. package/lib/core/editor/components/Toolbar/widgets/components/FontFamilySelect.js +38 -0
  34. package/lib/core/editor/components/Toolbar/widgets/components/FontSizeSelect.js +38 -0
  35. package/lib/core/editor/components/Toolbar/widgets/components/FontStyleSelect.js +83 -0
  36. package/lib/core/editor/components/settings/propertyViews/view/GlobalEdgeToggle.js +2 -2
  37. package/lib/core/editor/hooks/useNewElementTheme.js +20 -16
  38. package/lib/core/editor/utils/edgeTypeStyleUtil.js +10 -33
  39. package/lib/core/hooks/usePolling.js +6 -5
  40. package/lib/core/hooks/useTopoEdit.js +177 -261
  41. package/lib/core/models/AttributeMetricDisplay.js +6 -6
  42. package/lib/core/models/HistoryManager.js +13 -17
  43. package/lib/core/models/TopoApp.js +22 -29
  44. package/lib/core/models/utils/linkUtils.js +36 -27
  45. package/lib/core/store/models/topoConfig.js +9 -16
  46. package/lib/core/utils/edgeUtil.js +8 -10
  47. package/lib/core/viewer/components/plugins/ElementDetailDrawer/hooks/useElementDetailManager.js +3 -2
  48. package/lib/networkTopo/models/EdgeGroupTagTipBuilder.js +6 -6
  49. package/lib/networkTopo/models/LinkDynamicStyleExecutor.js +6 -64
  50. package/lib/networkTopo/utils/edgeGroupTagUtil.js +2 -2
  51. package/lib/utils/clusterUtil.js +2 -2
  52. package/lib/utils/htElementUtils.js +19 -93
  53. package/package.json +2 -2
  54. package/es/networkTopo/models/LinkTagsTipsBuilder.js +0 -235
  55. package/lib/networkTopo/models/LinkTagsTipsBuilder.js +0 -245
@@ -4,19 +4,19 @@ import _Button from "@alifd/next/es/button";
4
4
  import _Dialog from "@alifd/next/es/dialog";
5
5
  import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
6
6
  import _regeneratorRuntime from "@babel/runtime/regenerator";
7
- import React, { useCallback, useEffect, useMemo, useState } from "react";
8
- import _ from "lodash";
9
- import rlog from "@riil-frontend/component-topology-utils/es/rlog";
7
+ import React, { useCallback, useState } from "react";
8
+ import Logger from 'loglevel';
10
9
  import { TopoEvent } from "@riil-frontend/component-topology-graph";
11
10
  import { TPL_BLANK, TPL_TREE } from "../../utils/template";
12
- import { getGroupElementByTag, isEdge, isExistedElement, isGroup, isLayer, isNode, getGroupChildren } from "../../utils/htElementUtils";
11
+ import { getGroupElementByTag, isEdge, containsElement, isGroup, isLayer, isNode, getGroupChildren } from "../../utils/htElementUtils";
13
12
  import useResourceConfig from "./useResourceConfig";
14
13
  import useGroupAddResource from "./useGroupAddResource";
15
14
  import { findGroupChildren } from "../../utils/topoData";
16
15
  import { isResourceElement } from "../../utils/htElementDataUtil";
17
16
  import { isClusterHtElement, isClusterMemberHtElement } from "../../utils/clusterUtil";
18
- import { isExitLink, mergeExportLinkData } from "../models/utils/linkUtils";
17
+ import { isExitLink } from "../models/utils/linkUtils";
19
18
  import { isUniqueIp, buildIpNode } from "../../networkTopo/utils/exitLinkUtil";
19
+ var rlog = Logger.getLogger('topo');
20
20
 
21
21
  var useTopoEdit = function useTopoEdit(params) {
22
22
  var topo = params.topo,
@@ -95,10 +95,6 @@ var useTopoEdit = function useTopoEdit(params) {
95
95
  return topoDispatchers.setTopoType(TPL_TREE);
96
96
 
97
97
  case 7:
98
- // 更新配置
99
- // resourceConfig.updateConfig(config);
100
- // 更新配置对应的资源、链路
101
- // editDispatchers.fetchDataByConfig();
102
98
  topo.historyManager.endTransaction();
103
99
 
104
100
  case 8:
@@ -197,48 +193,7 @@ var useTopoEdit = function useTopoEdit(params) {
197
193
  return onOk;
198
194
  }()
199
195
  });
200
- }; // const deleteGroupFooterBtn = () => {
201
- // return (
202
- // <div>
203
- // <Button type="primary" onClick={doDeleteOnlyGroup()}>
204
- // 仅删除区域
205
- // </Button>
206
- // <Button type="primary" onClick={doDeleteOnlyGroup()}>
207
- // 确定
208
- // </Button>
209
- // </div>
210
- // );
211
- // };
212
- // const [groupDeleteVisible, setGroupDeleteVisible] = useState(false);
213
- // function doDeleteOnlyGroup(data,group) {
214
- // topo.historyManager.beginTransaction();
215
- // console.log("仅删除区域", topo.view.topoClient, data);
216
- // const children = getGroupChildren(group);
217
- // children.map((child) => {
218
- // child.setParent(null);
219
- // // var viewRect = topo.getGraphView().getViewRect();
220
- // // var nodeRect = child.getRect();
221
- // // child.setPosition(
222
- // // viewRect.x + nodeRect.width + 2,
223
- // // viewRect.y + nodeRect.height + 4
224
- // // ); // 解决集群从区域内移出时,连线位置未更新的问题
225
- // setTimeout(function () {
226
- // child.iv();
227
- // topo.historyManager.endTransaction();
228
- // }, 50);
229
- // });
230
- // topo.view.topoClient.deleteGroup(data);
231
- // topo.historyManager.endTransaction();
232
- // setGroupDeleteVisible(false);
233
- // // console.log("仅删除区域", children, group);
234
- // }
235
- // function doDelete(data) {
236
- // topo.historyManager.beginTransaction();
237
- // // FIXME 。如果命中其他的动态条件,则立即显示
238
- // topo.view.topoClient.deleteGroup(data);
239
- // setGroupDeleteVisible(false);
240
- // }
241
-
196
+ };
242
197
  /**
243
198
  * 删除容器。
244
199
  *
@@ -269,21 +224,17 @@ var useTopoEdit = function useTopoEdit(params) {
269
224
  // content: "若执行相关操作,此区域包含的内容也会一同被删除,确定删除吗?",
270
225
  content: "是否仅删除区域或将区域包含的内容一同删除?",
271
226
  footer: [/*#__PURE__*/React.createElement(_Button, {
227
+ key: "1",
272
228
  type: "normal",
273
229
  onClick: doDeleteOnlyGroup,
274
230
  style: {
275
231
  marginRight: "15px"
276
232
  }
277
233
  }, "\u4EC5\u5220\u9664\u533A\u57DF"), /*#__PURE__*/React.createElement(_Button, {
234
+ key: "2",
278
235
  type: "normal",
279
236
  onClick: doDelete
280
237
  }, "\u5168\u90E8\u5220\u9664")],
281
- // okProps: {
282
- // children: "仅删除区域",
283
- // type: "normal",
284
- // className: "next-btn-normal",
285
- // },
286
- // cancelProps: { children: "全部删除" },
287
238
  messageProps: {
288
239
  type: "warning"
289
240
  }
@@ -294,13 +245,7 @@ var useTopoEdit = function useTopoEdit(params) {
294
245
  console.log("仅删除区域", topo.view.topoClient, data);
295
246
  var children = getGroupChildren(group);
296
247
  children.map(function (child) {
297
- child.setParent(null); // var viewRect = topo.getGraphView().getViewRect();
298
- // var nodeRect = child.getRect();
299
- // child.setPosition(
300
- // viewRect.x + nodeRect.width + 2,
301
- // viewRect.y + nodeRect.height + 4
302
- // ); // 解决集群从区域内移出时,连线位置未更新的问题
303
-
248
+ child.setParent(null);
304
249
  setTimeout(function () {
305
250
  child.iv();
306
251
  topo.historyManager.endTransaction();
@@ -319,10 +264,6 @@ var useTopoEdit = function useTopoEdit(params) {
319
264
  }
320
265
  };
321
266
 
322
- var deleteNode = function deleteNode(node) {
323
- emitEvent(TopoEvent.EVENT_TRIGGER_DELETE, node);
324
- };
325
-
326
267
  var handleDeleteNode = function handleDeleteNode(element) {
327
268
  var _topo$options$editor;
328
269
 
@@ -339,46 +280,32 @@ var useTopoEdit = function useTopoEdit(params) {
339
280
  if (typeof onNodeDelete === "function") {
340
281
  onNodeDelete(data);
341
282
  } else {
342
- deleteNode(data);
283
+ emitEvent(TopoEvent.EVENT_TRIGGER_DELETE, node);
343
284
  }
344
285
  }
345
286
  }; // 删除关联在节点上的出口链路
346
287
 
347
288
 
348
- var deleteExLink = /*#__PURE__*/function () {
349
- var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(node) {
350
- var _node$getEdges$toArra, _node$getEdges;
289
+ var deleteExLink = function deleteExLink(node) {
290
+ var _node$getEdges$toArra, _node$getEdges;
351
291
 
352
- var edges;
353
- return _regeneratorRuntime.wrap(function _callee4$(_context4) {
354
- while (1) switch (_context4.prev = _context4.next) {
355
- case 0:
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 : [];
292
+ rlog.debug("删除关联在节点上的出口链路", {
293
+ node: node
294
+ });
295
+ var 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 : [];
358
296
 
359
- if (edges.length > 0) {
360
- edges.map(function (edge) {
361
- if (edge.getTag()) {
362
- var link = topo.dataModel.getDataById(edge.getTag());
297
+ if (edges.length > 0) {
298
+ edges.map(function (edge) {
299
+ if (edge.getTag()) {
300
+ var link = topo.dataModel.getDataById(edge.getTag());
363
301
 
364
- if (link && isExitLink(link)) {
365
- topo.getGraphView().dm().remove(edge);
366
- }
367
- }
368
- });
369
- }
370
-
371
- case 2:
372
- case "end":
373
- return _context4.stop();
302
+ if (link && isExitLink(link)) {
303
+ topo.getGraphView().dm().remove(edge);
304
+ }
374
305
  }
375
- }, _callee4);
376
- }));
377
-
378
- return function deleteExLink(_x3) {
379
- return _ref4.apply(this, arguments);
380
- };
381
- }();
306
+ });
307
+ }
308
+ };
382
309
 
383
310
  var onDeleteElement = function onDeleteElement(data) {
384
311
  var dtype = data.dtype;
@@ -429,7 +356,7 @@ var useTopoEdit = function useTopoEdit(params) {
429
356
  function findUNExistedLinkElements(elements) {
430
357
  var dm = topo.getDataModel();
431
358
  var newLinkElements = elements.filter(function (element) {
432
- return (element.type === "link" || element.type === "linkGroup") && !isExistedElement(topo.getHtTopo(), dm, element);
359
+ return (element.type === "link" || element.type === "linkGroup") && !containsElement(dm, element);
433
360
  });
434
361
  return newLinkElements;
435
362
  }
@@ -443,7 +370,7 @@ var useTopoEdit = function useTopoEdit(params) {
443
370
  function findUNExistedElements(elements) {
444
371
  var dm = topo.getDataModel();
445
372
  var newLinkElements = elements.filter(function (element) {
446
- return !isExistedElement(topo.getHtTopo(), dm, element);
373
+ return !containsElement(dm, element);
447
374
  });
448
375
  return newLinkElements;
449
376
  }
@@ -452,29 +379,29 @@ var useTopoEdit = function useTopoEdit(params) {
452
379
  */
453
380
 
454
381
 
455
- function bindGroupResources(_x4, _x5) {
382
+ function bindGroupResources(_x3, _x4) {
456
383
  return _bindGroupResources.apply(this, arguments);
457
384
  }
458
385
 
459
386
  function _bindGroupResources() {
460
- _bindGroupResources = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee10(group, resources) {
387
+ _bindGroupResources = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee9(group, resources) {
461
388
  var id, tag, _yield$editDispatcher2, elements, nodeElements, newLinkElements, updateElements;
462
389
 
463
- return _regeneratorRuntime.wrap(function _callee10$(_context10) {
464
- while (1) switch (_context10.prev = _context10.next) {
390
+ return _regeneratorRuntime.wrap(function _callee9$(_context9) {
391
+ while (1) switch (_context9.prev = _context9.next) {
465
392
  case 0:
466
393
  id = group.id, tag = group.tag;
467
394
  rlog.debug("bindGroupResources--id, tag", id, tag);
468
395
  topo.historyManager.beginTransaction();
469
- _context10.next = 5;
396
+ _context9.next = 5;
470
397
  return resourceConfig.updateGroupResources(group, resources);
471
398
 
472
399
  case 5:
473
- _context10.next = 7;
400
+ _context9.next = 7;
474
401
  return editDispatchers.fetchDataByConfig();
475
402
 
476
403
  case 7:
477
- _yield$editDispatcher2 = _context10.sent;
404
+ _yield$editDispatcher2 = _context9.sent;
478
405
  elements = _yield$editDispatcher2.elements;
479
406
  // 区域里的子区域及子区域的节点、新增的链路
480
407
  nodeElements = findGroupChildren(elements, group);
@@ -493,14 +420,14 @@ var useTopoEdit = function useTopoEdit(params) {
493
420
 
494
421
  case 14:
495
422
  case "end":
496
- return _context10.stop();
423
+ return _context9.stop();
497
424
  }
498
- }, _callee10);
425
+ }, _callee9);
499
426
  }));
500
427
  return _bindGroupResources.apply(this, arguments);
501
428
  }
502
429
 
503
- function addGroupResources(_x6, _x7) {
430
+ function addGroupResources(_x5, _x6) {
504
431
  return _addGroupResources.apply(this, arguments);
505
432
  }
506
433
  /**
@@ -509,10 +436,10 @@ var useTopoEdit = function useTopoEdit(params) {
509
436
 
510
437
 
511
438
  function _addGroupResources() {
512
- _addGroupResources = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee11(group, newResourceIds) {
439
+ _addGroupResources = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee10(group, newResourceIds) {
513
440
  var groupConfig, resources, groupData;
514
- return _regeneratorRuntime.wrap(function _callee11$(_context11) {
515
- while (1) switch (_context11.prev = _context11.next) {
441
+ return _regeneratorRuntime.wrap(function _callee10$(_context10) {
442
+ while (1) switch (_context10.prev = _context10.next) {
516
443
  case 0:
517
444
  groupConfig = resourceConfig.getGroupConfigByElement(group);
518
445
  resources = {
@@ -522,19 +449,19 @@ var useTopoEdit = function useTopoEdit(params) {
522
449
  id: group.getTag(),
523
450
  tag: group.a("tag")
524
451
  };
525
- _context11.next = 5;
452
+ _context10.next = 5;
526
453
  return bindGroupResources(groupData, resources);
527
454
 
528
455
  case 5:
529
456
  case "end":
530
- return _context11.stop();
457
+ return _context10.stop();
531
458
  }
532
- }, _callee11);
459
+ }, _callee10);
533
460
  }));
534
461
  return _addGroupResources.apply(this, arguments);
535
462
  }
536
463
 
537
- function bindViewResources(_x8) {
464
+ function bindViewResources(_x7) {
538
465
  return _bindViewResources.apply(this, arguments);
539
466
  }
540
467
  /**
@@ -546,24 +473,24 @@ var useTopoEdit = function useTopoEdit(params) {
546
473
 
547
474
 
548
475
  function _bindViewResources() {
549
- _bindViewResources = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee12(data) {
476
+ _bindViewResources = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee11(data) {
550
477
  var config, result, _elements;
551
478
 
552
- return _regeneratorRuntime.wrap(function _callee12$(_context12) {
553
- while (1) switch (_context12.prev = _context12.next) {
479
+ return _regeneratorRuntime.wrap(function _callee11$(_context11) {
480
+ while (1) switch (_context11.prev = _context11.next) {
554
481
  case 0:
555
482
  // console.log("关联视图的资源", data);
556
483
  config = resourceConfig.getConfig();
557
484
  config.resources = data;
558
- _context12.next = 4;
485
+ _context11.next = 4;
559
486
  return resourceConfig.updateConfig(config);
560
487
 
561
488
  case 4:
562
- _context12.next = 6;
489
+ _context11.next = 6;
563
490
  return editDispatchers.fetchDataByConfig();
564
491
 
565
492
  case 6:
566
- result = _context12.sent;
493
+ result = _context11.sent;
567
494
  console.log("fetchDataByConfig", result);
568
495
 
569
496
  if (result) {
@@ -577,35 +504,35 @@ var useTopoEdit = function useTopoEdit(params) {
577
504
 
578
505
  case 9:
579
506
  case "end":
580
- return _context12.stop();
507
+ return _context11.stop();
581
508
  }
582
- }, _callee12);
509
+ }, _callee11);
583
510
  }));
584
511
  return _bindViewResources.apply(this, arguments);
585
512
  }
586
513
 
587
- function addLayerResources(_x9, _x10) {
514
+ function addLayerResources(_x8, _x9) {
588
515
  return _addLayerResources.apply(this, arguments);
589
516
  }
590
517
 
591
518
  function _addLayerResources() {
592
- _addLayerResources = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee13(group, newResourceIds) {
519
+ _addLayerResources = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee12(group, newResourceIds) {
593
520
  var _yield$editDispatcher3, elements, newElements;
594
521
 
595
- return _regeneratorRuntime.wrap(function _callee13$(_context13) {
596
- while (1) switch (_context13.prev = _context13.next) {
522
+ return _regeneratorRuntime.wrap(function _callee12$(_context12) {
523
+ while (1) switch (_context12.prev = _context12.next) {
597
524
  case 0:
598
525
  topo.historyManager.beginTransaction(); // 构造新的配置
599
526
 
600
- _context13.next = 3;
527
+ _context12.next = 3;
601
528
  return resourceConfig.addLayerStaticResources(group, newResourceIds);
602
529
 
603
530
  case 3:
604
- _context13.next = 5;
531
+ _context12.next = 5;
605
532
  return editDispatchers.fetchDataByConfig();
606
533
 
607
534
  case 5:
608
- _yield$editDispatcher3 = _context13.sent;
535
+ _yield$editDispatcher3 = _context12.sent;
609
536
  elements = _yield$editDispatcher3.elements;
610
537
  // 2022-11-10 修复 添加资源后分层重新布局问题,仅布局新增资源。替换api topo.updateElements(data)
611
538
  newElements = findUNExistedElements(elements);
@@ -628,32 +555,32 @@ var useTopoEdit = function useTopoEdit(params) {
628
555
 
629
556
  case 14:
630
557
  case "end":
631
- return _context13.stop();
558
+ return _context12.stop();
632
559
  }
633
- }, _callee13);
560
+ }, _callee12);
634
561
  }));
635
562
  return _addLayerResources.apply(this, arguments);
636
563
  }
637
564
 
638
- function addResourceToFirstLayer(_x11) {
565
+ function addResourceToFirstLayer(_x10) {
639
566
  return _addResourceToFirstLayer.apply(this, arguments);
640
567
  }
641
568
 
642
569
  function _addResourceToFirstLayer() {
643
- _addResourceToFirstLayer = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee14(data) {
570
+ _addResourceToFirstLayer = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee13(data) {
644
571
  var group;
645
- return _regeneratorRuntime.wrap(function _callee14$(_context14) {
646
- while (1) switch (_context14.prev = _context14.next) {
572
+ return _regeneratorRuntime.wrap(function _callee13$(_context13) {
573
+ while (1) switch (_context13.prev = _context13.next) {
647
574
  case 0:
648
575
  group = resourceConfig.getGroups()[0];
649
- _context14.next = 3;
576
+ _context13.next = 3;
650
577
  return addLayerResources(group, data);
651
578
 
652
579
  case 3:
653
580
  case "end":
654
- return _context14.stop();
581
+ return _context13.stop();
655
582
  }
656
- }, _callee14);
583
+ }, _callee13);
657
584
  }));
658
585
  return _addResourceToFirstLayer.apply(this, arguments);
659
586
  }
@@ -685,27 +612,27 @@ var useTopoEdit = function useTopoEdit(params) {
685
612
 
686
613
 
687
614
  var onSaveComboRes = /*#__PURE__*/function () {
688
- var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(data) {
689
- return _regeneratorRuntime.wrap(function _callee5$(_context5) {
690
- while (1) switch (_context5.prev = _context5.next) {
615
+ var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(data) {
616
+ return _regeneratorRuntime.wrap(function _callee4$(_context4) {
617
+ while (1) switch (_context4.prev = _context4.next) {
691
618
  case 0:
692
619
  rlog.debug("关联资源-----onSaveComboRes", data);
693
620
  topo.historyManager.beginTransaction();
694
621
 
695
622
  if (!(getAddResourceType() === "addToFirstLayer")) {
696
- _context5.next = 7;
623
+ _context4.next = 7;
697
624
  break;
698
625
  }
699
626
 
700
- _context5.next = 5;
627
+ _context4.next = 5;
701
628
  return addResourceToFirstLayer(data);
702
629
 
703
630
  case 5:
704
- _context5.next = 9;
631
+ _context4.next = 9;
705
632
  break;
706
633
 
707
634
  case 7:
708
- _context5.next = 9;
635
+ _context4.next = 9;
709
636
  return bindViewResources(data);
710
637
 
711
638
  case 9:
@@ -717,22 +644,22 @@ var useTopoEdit = function useTopoEdit(params) {
717
644
 
718
645
  case 12:
719
646
  case "end":
720
- return _context5.stop();
647
+ return _context4.stop();
721
648
  }
722
- }, _callee5);
649
+ }, _callee4);
723
650
  }));
724
651
 
725
- return function onSaveComboRes(_x12) {
726
- return _ref5.apply(this, arguments);
652
+ return function onSaveComboRes(_x11) {
653
+ return _ref4.apply(this, arguments);
727
654
  };
728
655
  }();
729
656
 
730
657
  var onSaveTopo = /*#__PURE__*/function () {
731
- var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee7(data) {
658
+ var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6(data) {
732
659
  var id, config, serialize, _config$layout, template, layout, saveConfig;
733
660
 
734
- return _regeneratorRuntime.wrap(function _callee7$(_context7) {
735
- while (1) switch (_context7.prev = _context7.next) {
661
+ return _regeneratorRuntime.wrap(function _callee6$(_context6) {
662
+ while (1) switch (_context6.prev = _context6.next) {
736
663
  case 0:
737
664
  id = data.id, config = data.config, serialize = data.serialize;
738
665
  _config$layout = config === null || config === void 0 ? void 0 : config.layout, template = _config$layout.type, layout = _config$layout.layout;
@@ -740,11 +667,11 @@ var useTopoEdit = function useTopoEdit(params) {
740
667
  if (onSave) {
741
668
  // 自定义保存
742
669
  saveConfig = /*#__PURE__*/function () {
743
- var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6() {
744
- return _regeneratorRuntime.wrap(function _callee6$(_context6) {
745
- while (1) switch (_context6.prev = _context6.next) {
670
+ var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5() {
671
+ return _regeneratorRuntime.wrap(function _callee5$(_context5) {
672
+ while (1) switch (_context5.prev = _context5.next) {
746
673
  case 0:
747
- _context6.next = 2;
674
+ _context5.next = 2;
748
675
  return editDispatchers.saveTopo({
749
676
  id: id,
750
677
  layout: layout,
@@ -753,13 +680,13 @@ var useTopoEdit = function useTopoEdit(params) {
753
680
 
754
681
  case 2:
755
682
  case "end":
756
- return _context6.stop();
683
+ return _context5.stop();
757
684
  }
758
- }, _callee6);
685
+ }, _callee5);
759
686
  }));
760
687
 
761
688
  return function saveConfig() {
762
- return _ref7.apply(this, arguments);
689
+ return _ref6.apply(this, arguments);
763
690
  };
764
691
  }();
765
692
 
@@ -772,13 +699,13 @@ var useTopoEdit = function useTopoEdit(params) {
772
699
 
773
700
  case 3:
774
701
  case "end":
775
- return _context7.stop();
702
+ return _context6.stop();
776
703
  }
777
- }, _callee7);
704
+ }, _callee6);
778
705
  }));
779
706
 
780
- return function onSaveTopo(_x13) {
781
- return _ref6.apply(this, arguments);
707
+ return function onSaveTopo(_x12) {
708
+ return _ref5.apply(this, arguments);
782
709
  };
783
710
  }();
784
711
 
@@ -804,11 +731,11 @@ var useTopoEdit = function useTopoEdit(params) {
804
731
 
805
732
 
806
733
  var bindNodeResource = /*#__PURE__*/function () {
807
- var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee9(params) {
734
+ var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee8(params) {
808
735
  var id, oldResId, newResId, node, parentGroupElement, htTopo, config, groupId, groupTag, _yield$editDispatcher, elements, newData, doBind, _doBind, replaceOrAddRes;
809
736
 
810
- return _regeneratorRuntime.wrap(function _callee9$(_context9) {
811
- while (1) switch (_context9.prev = _context9.next) {
737
+ return _regeneratorRuntime.wrap(function _callee8$(_context8) {
738
+ while (1) switch (_context8.prev = _context8.next) {
812
739
  case 0:
813
740
  replaceOrAddRes = function _replaceOrAddRes(resources, oldResId, newResId) {
814
741
  return _extends({}, resources, {
@@ -819,10 +746,10 @@ var useTopoEdit = function useTopoEdit(params) {
819
746
  };
820
747
 
821
748
  _doBind = function _doBind3() {
822
- _doBind = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee8() {
749
+ _doBind = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee7() {
823
750
  var dm, newLinkElements, createElementsData, groupChildren, newGroupChildren, existedGroupChildren, groupElement, newElement, sm;
824
- return _regeneratorRuntime.wrap(function _callee8$(_context8) {
825
- while (1) switch (_context8.prev = _context8.next) {
751
+ return _regeneratorRuntime.wrap(function _callee7$(_context7) {
752
+ while (1) switch (_context7.prev = _context7.next) {
826
753
  case 0:
827
754
  dm = htTopo.getGraphView().dm(); // 移除旧节点。先删除后创建,解决ip节点替换ping资源后链路丢失问题
828
755
 
@@ -875,7 +802,7 @@ var useTopoEdit = function useTopoEdit(params) {
875
802
  htTopo.createElements(createElementsData);
876
803
  }
877
804
 
878
- rlog.debug("批量创建元素", createElementsData); // 恢复图标、大小、位置
805
+ rlog.debug("批量创建元素", createElementsData); // 恢复图标、大小、位置、父区域
879
806
 
880
807
  newElement = dm.getDataByTag(newData.id);
881
808
 
@@ -883,21 +810,18 @@ var useTopoEdit = function useTopoEdit(params) {
883
810
  newElement.setSize(node.getSize());
884
811
  newElement.setPosition(node.getPosition());
885
812
  newElement.setImage(node.getImage());
813
+ newElement.setParent(parentGroupElement);
886
814
  } // 选中
887
815
 
888
816
 
889
817
  sm = htTopo.getGraphView().sm();
890
- sm.setSelection([newElement]); // 临时放这里,仅拓扑中心有
818
+ sm.setSelection([newElement]);
891
819
 
892
- if (topo.linkDynamicStyleExecutor) {
893
- topo.linkDynamicStyleExecutor.execute();
894
- }
895
-
896
- case 11:
820
+ case 10:
897
821
  case "end":
898
- return _context8.stop();
822
+ return _context7.stop();
899
823
  }
900
- }, _callee8);
824
+ }, _callee7);
901
825
  }));
902
826
  return _doBind.apply(this, arguments);
903
827
  };
@@ -937,48 +861,55 @@ var useTopoEdit = function useTopoEdit(params) {
937
861
  config.resources = replaceOrAddRes(config.resources, oldResId, newResId);
938
862
  }
939
863
 
940
- _context9.next = 13;
864
+ _context8.next = 13;
941
865
  return resourceConfig.updateConfig(config);
942
866
 
943
867
  case 13:
944
- _context9.next = 15;
868
+ _context8.next = 15;
945
869
  return editDispatchers.fetchDataByConfig();
946
870
 
947
871
  case 15:
948
- _yield$editDispatcher = _context9.sent;
872
+ _yield$editDispatcher = _context8.sent;
949
873
  elements = _yield$editDispatcher.elements;
950
874
  newData = elements.find(function (item) {
951
875
  return item.id === newResId;
952
876
  });
953
877
 
954
- if (newData) {
955
- _context9.next = 23;
878
+ if (!newData) {
879
+ _context8.next = 25;
956
880
  break;
957
881
  }
958
882
 
959
- topo.historyManager.endTransaction();
883
+ _context8.next = 21;
884
+ return doBind();
960
885
 
961
- _Message.error("关联资源失败");
886
+ case 21:
887
+ topo.historyManager.endTransaction(); // 临时放这里,仅拓扑中心有
962
888
 
963
- rlog.error("关联资源失败");
964
- return _context9.abrupt("return", false);
889
+ if (topo.linkDynamicStyleExecutor) {
890
+ topo.linkDynamicStyleExecutor.execute();
891
+ }
965
892
 
966
- case 23:
967
- _context9.next = 25;
968
- return doBind();
893
+ _context8.next = 29;
894
+ break;
969
895
 
970
896
  case 25:
971
897
  topo.historyManager.endTransaction();
972
898
 
973
- case 26:
899
+ _Message.error("关联资源失败");
900
+
901
+ rlog.error("关联资源失败");
902
+ return _context8.abrupt("return", false);
903
+
904
+ case 29:
974
905
  case "end":
975
- return _context9.stop();
906
+ return _context8.stop();
976
907
  }
977
- }, _callee9);
908
+ }, _callee8);
978
909
  }));
979
910
 
980
- return function bindNodeResource(_x14) {
981
- return _ref8.apply(this, arguments);
911
+ return function bindNodeResource(_x13) {
912
+ return _ref7.apply(this, arguments);
982
913
  };
983
914
  }();
984
915
  /**
@@ -986,93 +917,96 @@ var useTopoEdit = function useTopoEdit(params) {
986
917
  */
987
918
 
988
919
 
989
- function relateNodeIp(_x15, _x16) {
920
+ function relateNodeIp(_x14, _x15, _x16) {
990
921
  return _relateNodeIp.apply(this, arguments);
991
922
  }
992
923
 
993
924
  function _relateNodeIp() {
994
- _relateNodeIp = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee15(txtValue, nodeElement) {
995
- var dm, isUnique, ipNodeData, configObj, configData, _elements2, newLinkElements, newLink, newLinkGroup, createElementsData, _htTopo;
925
+ _relateNodeIp = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee14(txtValue, nodeElement, disableHistory) {
926
+ var dm, isUnique, ipNodeData, configObj, configData, elements, newLinkElements, newLink, newLinkGroup, createElementsData, _htTopo;
996
927
 
997
- return _regeneratorRuntime.wrap(function _callee15$(_context15) {
998
- while (1) switch (_context15.prev = _context15.next) {
928
+ return _regeneratorRuntime.wrap(function _callee14$(_context14) {
929
+ while (1) switch (_context14.prev = _context14.next) {
999
930
  case 0:
931
+ if (disableHistory === void 0) {
932
+ disableHistory = false;
933
+ }
934
+
1000
935
  if (txtValue) {
1001
- _context15.next = 2;
936
+ _context14.next = 3;
1002
937
  break;
1003
938
  }
1004
939
 
1005
- return _context15.abrupt("return");
940
+ return _context14.abrupt("return");
1006
941
 
1007
- case 2:
1008
- // if (txtValue === nodeElement.a('bindIp')) {
1009
- // return;
1010
- // }
942
+ case 3:
1011
943
  // 根据配置查询拓扑数据
1012
944
  dm = topo.getDataModel(); // 执行唯一性验证
1013
945
 
1014
- isUnique = isUniqueIp(dm, txtValue, nodeElement); // 获取关联链路
946
+ isUnique = isUniqueIp(dm, txtValue, nodeElement);
1015
947
 
1016
- if (!isUnique) {
1017
- _context15.next = 24;
948
+ if (isUnique) {
949
+ _context14.next = 7;
1018
950
  break;
1019
951
  }
1020
952
 
1021
- ipNodeData = buildIpNode(txtValue);
1022
- _context15.next = 8;
1023
- return deleteExLink(nodeElement);
953
+ return _context14.abrupt("return");
1024
954
 
1025
- case 8:
955
+ case 7:
956
+ disableHistory && topo.historyManager.setDisabled(true, '关联IP: 删除关联出口链路、节点绑定IP'); // 删除关联出口链路
957
+
958
+ deleteExLink(nodeElement); // 节点绑定IP
959
+
960
+ ipNodeData = buildIpNode(txtValue);
1026
961
  nodeElement.a(ipNodeData);
1027
962
  nodeElement.setName(txtValue);
1028
- nodeElement.setTag("ip:" + txtValue); // 获取配置
963
+ nodeElement.setTag("ip:" + txtValue);
964
+ disableHistory && topo.historyManager.setDisabled(false, '关联IP: 删除关联出口链路、节点绑定IP'); // 获取配置
1029
965
 
1030
966
  configObj = topo.resourceConfig.getConfig();
1031
- _context15.next = 14;
967
+ _context14.next = 17;
1032
968
  return resourceConfig.updateConfig(configObj);
1033
969
 
1034
- case 14:
1035
- _context15.next = 16;
970
+ case 17:
971
+ _context14.next = 19;
1036
972
  return editDispatchers.fetchDataByConfig();
1037
973
 
1038
- case 16:
1039
- configData = _context15.sent;
1040
- // console.log("configData",configObj, configData);
1041
- _elements2 = configData.elements;
1042
- newLinkElements = findUNExistedLinkElements(_elements2); // console.log("configData", configData, newLinkElements);
1043
-
974
+ case 19:
975
+ configData = _context14.sent;
976
+ elements = configData.elements;
977
+ newLinkElements = findUNExistedLinkElements(elements);
1044
978
  newLink = newLinkElements.filter(function (item) {
1045
979
  return item.type === "link";
1046
980
  });
1047
981
  newLinkGroup = newLinkElements.filter(function (item) {
1048
982
  return item.type === "linkGroup";
1049
- }); // const newData = elements.find((item) => item.id === `ip:${txtValue}`);
1050
- // console.log("newData",newLinkElements, newLink);
1051
-
983
+ });
1052
984
  createElementsData = {
1053
985
  groups: [],
1054
986
  nodes: [],
1055
987
  links: newLink,
1056
988
  linkGroups: newLinkGroup
1057
989
  };
1058
- console.log("createElementsData", createElementsData);
990
+ rlog.debug("createElementsData", createElementsData);
1059
991
 
1060
992
  if ([].concat(newLink, newLinkGroup).length > 0) {
1061
993
  _htTopo = topo.getHtTopo();
994
+ disableHistory && topo.historyManager.setDisabled(true, '关联IP: 创建链路');
1062
995
 
1063
- _htTopo.createElements(createElementsData); // 临时放这里,仅拓扑中心有
996
+ _htTopo.createElements(createElementsData);
1064
997
 
998
+ disableHistory && topo.historyManager.setDisabled(false, '关联IP: 创建链路'); // 临时放这里,仅拓扑中心有
1065
999
 
1066
1000
  if (topo.linkDynamicStyleExecutor) {
1067
1001
  topo.linkDynamicStyleExecutor.execute();
1068
1002
  }
1069
1003
  }
1070
1004
 
1071
- case 24:
1005
+ case 27:
1072
1006
  case "end":
1073
- return _context15.stop();
1007
+ return _context14.stop();
1074
1008
  }
1075
- }, _callee15);
1009
+ }, _callee14);
1076
1010
  }));
1077
1011
  return _relateNodeIp.apply(this, arguments);
1078
1012
  }