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