@riil-frontend/component-topology 12.1.5 → 12.1.8
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/index.js +28 -28
- package/es/core/components/TopoView/topoView.js +8 -2
- package/es/core/hooks/useAlarm.js +4 -14
- package/es/core/hooks/useGraphAlarmDisplay.js +42 -26
- package/es/core/hooks/useLinkAlarmDisplay.js +58 -0
- package/es/core/models/Alarm.js +3 -3
- package/es/core/models/TopoApp.js +1 -1
- package/es/core/store/models/topoAlarm.js +7 -5
- package/es/core/utils/alarmUtil.js +11 -0
- package/es/core/utils/showGraphManageStatusUtil.js +30 -28
- package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/EventsCard.js +15 -29
- package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverview.js +52 -151
- package/es/style.js +2 -2
- package/lib/core/components/TopoView/topoView.js +8 -2
- package/lib/core/hooks/useAlarm.js +4 -14
- package/lib/core/hooks/useGraphAlarmDisplay.js +45 -28
- package/lib/core/hooks/useLinkAlarmDisplay.js +66 -0
- package/lib/core/models/Alarm.js +12 -24
- package/lib/core/models/TopoApp.js +1 -1
- package/lib/core/store/models/topoAlarm.js +13 -12
- package/lib/core/utils/alarmUtil.js +17 -0
- package/lib/core/utils/showGraphManageStatusUtil.js +33 -31
- package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/EventsCard.js +16 -29
- package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverview.js +52 -153
- package/lib/style.js +2 -2
- package/package.json +2 -2
@@ -1,6 +1,4 @@
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
2
|
-
import _Button from "@alifd/next/es/button";
|
3
|
-
import _Icon from "@alifd/next/es/icon";
|
4
2
|
import _Message from "@alifd/next/es/message";
|
5
3
|
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
6
4
|
|
@@ -277,8 +275,7 @@ export default function ResourceOverview(props) {
|
|
277
275
|
|
278
276
|
function getAddressFormat(_x3) {
|
279
277
|
return _getAddressFormat.apply(this, arguments);
|
280
|
-
}
|
281
|
-
|
278
|
+
}
|
282
279
|
|
283
280
|
function _getAddressFormat() {
|
284
281
|
_getAddressFormat = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(_ref2) {
|
@@ -324,102 +321,6 @@ export default function ResourceOverview(props) {
|
|
324
321
|
return _getAddressFormat.apply(this, arguments);
|
325
322
|
}
|
326
323
|
|
327
|
-
var columns = [{
|
328
|
-
title: '描述',
|
329
|
-
dataIndex: 'title',
|
330
|
-
key: 'title',
|
331
|
-
cell: function cell(value, index, record) {
|
332
|
-
return /*#__PURE__*/React.createElement("div", {
|
333
|
-
className: styles['alarm-title'],
|
334
|
-
title: value,
|
335
|
-
onClick: onClose
|
336
|
-
}, /*#__PURE__*/React.createElement(_Icon, {
|
337
|
-
type: record.icon,
|
338
|
-
size: "xs",
|
339
|
-
className: styles['alarm-color-icon'] + " " + record.className
|
340
|
-
}), /*#__PURE__*/React.createElement(Link, {
|
341
|
-
className: styles.link,
|
342
|
-
to: formatUrl(record.link)
|
343
|
-
}, value));
|
344
|
-
}
|
345
|
-
}, {
|
346
|
-
title: '时间',
|
347
|
-
dataIndex: 'time',
|
348
|
-
key: 'time',
|
349
|
-
width: 144,
|
350
|
-
cell: function cell(value, index, record) {
|
351
|
-
return /*#__PURE__*/React.createElement("div", {
|
352
|
-
title: moment(value).format('YYYY-MM-DD HH:mm:ss')
|
353
|
-
}, moment(value).format('YYYY-MM-DD HH:mm:ss'));
|
354
|
-
}
|
355
|
-
}, {
|
356
|
-
title: '操作',
|
357
|
-
dataIndex: 'status',
|
358
|
-
key: 'status',
|
359
|
-
width: 64,
|
360
|
-
cell: function cell(status, index, record) {
|
361
|
-
if (record.type === 'alarm') {
|
362
|
-
return status === 'toDeal' ? /*#__PURE__*/React.createElement(_Button, {
|
363
|
-
text: true,
|
364
|
-
type: "primary",
|
365
|
-
onClick: function onClick() {
|
366
|
-
return alarmRiskOperation(record.type, record.params);
|
367
|
-
}
|
368
|
-
}, "\u53D7\u7406") : /*#__PURE__*/React.createElement(_Button, {
|
369
|
-
disabled: true,
|
370
|
-
text: true,
|
371
|
-
type: "primary"
|
372
|
-
}, "\u5DF2\u53D7\u7406");
|
373
|
-
} else {
|
374
|
-
// return <Button text type="primary" onClick={() => alarmRiskOperation(record.type, record)}>受理</Button>
|
375
|
-
return '';
|
376
|
-
}
|
377
|
-
}
|
378
|
-
}]; // 告警/风险 操作 (受理)
|
379
|
-
|
380
|
-
function alarmRiskOperation(_x4, _x5) {
|
381
|
-
return _alarmRiskOperation.apply(this, arguments);
|
382
|
-
}
|
383
|
-
|
384
|
-
function _alarmRiskOperation() {
|
385
|
-
_alarmRiskOperation = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(type, params) {
|
386
|
-
var res;
|
387
|
-
return _regeneratorRuntime.wrap(function _callee4$(_context4) {
|
388
|
-
while (1) switch (_context4.prev = _context4.next) {
|
389
|
-
case 0:
|
390
|
-
if (!(type === 'alarm')) {
|
391
|
-
_context4.next = 6;
|
392
|
-
break;
|
393
|
-
}
|
394
|
-
|
395
|
-
_context4.next = 3;
|
396
|
-
return service.handleAlarm(params);
|
397
|
-
|
398
|
-
case 3:
|
399
|
-
res = _context4.sent;
|
400
|
-
|
401
|
-
_Message.success('受理成功');
|
402
|
-
|
403
|
-
refreshAlarmData(id); // if (isAppTopo) {
|
404
|
-
// const {
|
405
|
-
// displayName: ciName,
|
406
|
-
// attributeMap: modelAttributeMap,
|
407
|
-
// domain,
|
408
|
-
// } = topo.ciTyeCache.getCiType(ciType);
|
409
|
-
// initAppTopo(monitorMetricModels, modelAttributeMap, ciName, domain);
|
410
|
-
// } else {
|
411
|
-
// getAlarmRiskData(id);
|
412
|
-
// }
|
413
|
-
|
414
|
-
case 6:
|
415
|
-
case "end":
|
416
|
-
return _context4.stop();
|
417
|
-
}
|
418
|
-
}, _callee4);
|
419
|
-
}));
|
420
|
-
return _alarmRiskOperation.apply(this, arguments);
|
421
|
-
}
|
422
|
-
|
423
324
|
var elementData = {
|
424
325
|
id: id,
|
425
326
|
ciType: ciType,
|
@@ -427,36 +328,36 @@ export default function ResourceOverview(props) {
|
|
427
328
|
name: resourceData.name ? resourceData.name : resourceData.attributes.name
|
428
329
|
}; // 基本信息设置改变
|
429
330
|
|
430
|
-
function baseInfoColChange(
|
331
|
+
function baseInfoColChange(_x4) {
|
431
332
|
return _baseInfoColChange.apply(this, arguments);
|
432
333
|
} // 获取属性信息
|
433
334
|
|
434
335
|
|
435
336
|
function _baseInfoColChange() {
|
436
|
-
_baseInfoColChange = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function
|
337
|
+
_baseInfoColChange = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(col) {
|
437
338
|
var _col;
|
438
339
|
|
439
340
|
var infoData, attributeMap, _loop, _iterator, _step;
|
440
341
|
|
441
|
-
return _regeneratorRuntime.wrap(function
|
442
|
-
while (1) switch (
|
342
|
+
return _regeneratorRuntime.wrap(function _callee4$(_context5) {
|
343
|
+
while (1) switch (_context5.prev = _context5.next) {
|
443
344
|
case 0:
|
444
345
|
if ((_col = col) !== null && _col !== void 0 && _col.length) {
|
445
|
-
|
346
|
+
_context5.next = 3;
|
446
347
|
break;
|
447
348
|
}
|
448
349
|
|
449
350
|
setBaseInfo([]);
|
450
|
-
return
|
351
|
+
return _context5.abrupt("return");
|
451
352
|
|
452
353
|
case 3:
|
453
354
|
settBaseInfoInitLoading(true);
|
454
355
|
infoData = [];
|
455
|
-
|
356
|
+
_context5.next = 7;
|
456
357
|
return getAttribute(id);
|
457
358
|
|
458
359
|
case 7:
|
459
|
-
attributeMap =
|
360
|
+
attributeMap = _context5.sent;
|
460
361
|
// console.log('getAttribute', attributeMap);
|
461
362
|
col = col.filter(function (item) {
|
462
363
|
return !item.hidden;
|
@@ -464,14 +365,14 @@ export default function ResourceOverview(props) {
|
|
464
365
|
_loop = /*#__PURE__*/_regeneratorRuntime.mark(function _loop() {
|
465
366
|
var item, value, contentTitle, link, address, owned_computer_room, owned_cabinet, roomLink, node, data, _ref3, _ref3$, _item, _attributeMap, object, _object2, displayName, attr;
|
466
367
|
|
467
|
-
return _regeneratorRuntime.wrap(function _loop$(
|
468
|
-
while (1) switch (
|
368
|
+
return _regeneratorRuntime.wrap(function _loop$(_context4) {
|
369
|
+
while (1) switch (_context4.prev = _context4.next) {
|
469
370
|
case 0:
|
470
371
|
item = _step.value;
|
471
372
|
value = formatMetric(attributeMap[item.dataIndex], ciTypeMeta.attributeMap[item.dataIndex]);
|
472
373
|
contentTitle = value;
|
473
|
-
|
474
|
-
|
374
|
+
_context4.t0 = item.dataIndex;
|
375
|
+
_context4.next = _context4.t0 === 'display_name' ? 6 : _context4.t0 === 'ciName' ? 9 : _context4.t0 === 'res_address' ? 12 : _context4.t0 === 'imageName' ? 19 : 23;
|
475
376
|
break;
|
476
377
|
|
477
378
|
case 6:
|
@@ -492,19 +393,19 @@ export default function ResourceOverview(props) {
|
|
492
393
|
}
|
493
394
|
|
494
395
|
contentTitle = attributeMap.display_name || '-';
|
495
|
-
return
|
396
|
+
return _context4.abrupt("break", 24);
|
496
397
|
|
497
398
|
case 9:
|
498
399
|
value = ciTypeMeta.displayName;
|
499
400
|
contentTitle = value;
|
500
|
-
return
|
401
|
+
return _context4.abrupt("break", 24);
|
501
402
|
|
502
403
|
case 12:
|
503
|
-
|
404
|
+
_context4.next = 14;
|
504
405
|
return getAddressFormat(attributeMap);
|
505
406
|
|
506
407
|
case 14:
|
507
|
-
address =
|
408
|
+
address = _context4.sent;
|
508
409
|
owned_computer_room = attributeMap.owned_computer_room, owned_cabinet = attributeMap.owned_cabinet; // 跳转3D机房定位设备
|
509
410
|
|
510
411
|
if (owned_computer_room && owned_cabinet) {
|
@@ -523,16 +424,16 @@ export default function ResourceOverview(props) {
|
|
523
424
|
}
|
524
425
|
|
525
426
|
contentTitle = address;
|
526
|
-
return
|
427
|
+
return _context4.abrupt("break", 24);
|
527
428
|
|
528
429
|
case 19:
|
529
430
|
node = topo.getDataModel().getDataByTag(id);
|
530
431
|
value = (node === null || node === void 0 ? void 0 : node.a('customName')) || (node === null || node === void 0 ? void 0 : node.a('name')) || '-';
|
531
432
|
contentTitle = value;
|
532
|
-
return
|
433
|
+
return _context4.abrupt("break", 24);
|
533
434
|
|
534
435
|
case 23:
|
535
|
-
return
|
436
|
+
return _context4.abrupt("break", 24);
|
536
437
|
|
537
438
|
case 24:
|
538
439
|
// 拿翻译字段属性数据
|
@@ -572,7 +473,7 @@ export default function ResourceOverview(props) {
|
|
572
473
|
|
573
474
|
case 33:
|
574
475
|
case "end":
|
575
|
-
return
|
476
|
+
return _context4.stop();
|
576
477
|
}
|
577
478
|
}, _loop);
|
578
479
|
});
|
@@ -580,14 +481,14 @@ export default function ResourceOverview(props) {
|
|
580
481
|
|
581
482
|
case 11:
|
582
483
|
if ((_step = _iterator()).done) {
|
583
|
-
|
484
|
+
_context5.next = 15;
|
584
485
|
break;
|
585
486
|
}
|
586
487
|
|
587
|
-
return
|
488
|
+
return _context5.delegateYield(_loop(), "t0", 13);
|
588
489
|
|
589
490
|
case 13:
|
590
|
-
|
491
|
+
_context5.next = 11;
|
591
492
|
break;
|
592
493
|
|
593
494
|
case 15:
|
@@ -596,56 +497,56 @@ export default function ResourceOverview(props) {
|
|
596
497
|
|
597
498
|
case 17:
|
598
499
|
case "end":
|
599
|
-
return
|
500
|
+
return _context5.stop();
|
600
501
|
}
|
601
|
-
},
|
502
|
+
}, _callee4);
|
602
503
|
}));
|
603
504
|
return _baseInfoColChange.apply(this, arguments);
|
604
505
|
}
|
605
506
|
|
606
|
-
function getAttribute(
|
507
|
+
function getAttribute(_x5) {
|
607
508
|
return _getAttribute.apply(this, arguments);
|
608
509
|
} // 指标设置改变
|
609
510
|
|
610
511
|
|
611
512
|
function _getAttribute() {
|
612
|
-
_getAttribute = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function
|
513
|
+
_getAttribute = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(id) {
|
613
514
|
var _yield$resourceOvervi2, baseInfos, res, _ref4, attributes;
|
614
515
|
|
615
|
-
return _regeneratorRuntime.wrap(function
|
616
|
-
while (1) switch (
|
516
|
+
return _regeneratorRuntime.wrap(function _callee5$(_context6) {
|
517
|
+
while (1) switch (_context6.prev = _context6.next) {
|
617
518
|
case 0:
|
618
519
|
if (id) {
|
619
|
-
|
520
|
+
_context6.next = 2;
|
620
521
|
break;
|
621
522
|
}
|
622
523
|
|
623
|
-
return
|
524
|
+
return _context6.abrupt("return");
|
624
525
|
|
625
526
|
case 2:
|
626
527
|
if (!(resourceOverviewProps !== null && resourceOverviewProps !== void 0 && resourceOverviewProps.getData)) {
|
627
|
-
|
528
|
+
_context6.next = 9;
|
628
529
|
break;
|
629
530
|
}
|
630
531
|
|
631
|
-
|
532
|
+
_context6.next = 5;
|
632
533
|
return resourceOverviewProps === null || resourceOverviewProps === void 0 ? void 0 : resourceOverviewProps.getData({
|
633
534
|
id: id
|
634
535
|
});
|
635
536
|
|
636
537
|
case 5:
|
637
|
-
_yield$resourceOvervi2 =
|
538
|
+
_yield$resourceOvervi2 = _context6.sent;
|
638
539
|
baseInfos = _yield$resourceOvervi2.baseInfos;
|
639
540
|
|
640
541
|
if (!baseInfos) {
|
641
|
-
|
542
|
+
_context6.next = 9;
|
642
543
|
break;
|
643
544
|
}
|
644
545
|
|
645
|
-
return
|
546
|
+
return _context6.abrupt("return", baseInfos);
|
646
547
|
|
647
548
|
case 9:
|
648
|
-
|
549
|
+
_context6.next = 11;
|
649
550
|
return service.commonQueryCiData({
|
650
551
|
condition: "id('" + id + "')",
|
651
552
|
refAttribute: true,
|
@@ -658,31 +559,31 @@ export default function ResourceOverview(props) {
|
|
658
559
|
});
|
659
560
|
|
660
561
|
case 11:
|
661
|
-
res =
|
562
|
+
res = _context6.sent;
|
662
563
|
_ref4 = (res === null || res === void 0 ? void 0 : res.data[0]) || {}, attributes = _ref4.attributes;
|
663
|
-
return
|
564
|
+
return _context6.abrupt("return", attributes || {});
|
664
565
|
|
665
566
|
case 14:
|
666
567
|
case "end":
|
667
|
-
return
|
568
|
+
return _context6.stop();
|
668
569
|
}
|
669
|
-
},
|
570
|
+
}, _callee5);
|
670
571
|
}));
|
671
572
|
return _getAttribute.apply(this, arguments);
|
672
573
|
}
|
673
574
|
|
674
|
-
function metricColChange(
|
575
|
+
function metricColChange(_x6) {
|
675
576
|
return _metricColChange.apply(this, arguments);
|
676
577
|
}
|
677
578
|
|
678
579
|
function _metricColChange() {
|
679
|
-
_metricColChange = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function
|
580
|
+
_metricColChange = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee6(col) {
|
680
581
|
var _col2, _col3;
|
681
582
|
|
682
583
|
var codes, endTime, params, _ref6, times, metricList, metricLists;
|
683
584
|
|
684
|
-
return _regeneratorRuntime.wrap(function
|
685
|
-
while (1) switch (
|
585
|
+
return _regeneratorRuntime.wrap(function _callee6$(_context7) {
|
586
|
+
while (1) switch (_context7.prev = _context7.next) {
|
686
587
|
case 0:
|
687
588
|
// console.log('metricColChange col', col);
|
688
589
|
col = (_col2 = col) === null || _col2 === void 0 ? void 0 : _col2.filter(function (item) {
|
@@ -690,13 +591,13 @@ export default function ResourceOverview(props) {
|
|
690
591
|
});
|
691
592
|
|
692
593
|
if ((_col3 = col) !== null && _col3 !== void 0 && _col3.length) {
|
693
|
-
|
594
|
+
_context7.next = 4;
|
694
595
|
break;
|
695
596
|
}
|
696
597
|
|
697
598
|
setMetric([]); // Message.error('指标未设置')
|
698
599
|
|
699
|
-
return
|
600
|
+
return _context7.abrupt("return");
|
700
601
|
|
701
602
|
case 4:
|
702
603
|
codes = col.map(function (item) {
|
@@ -721,11 +622,11 @@ export default function ResourceOverview(props) {
|
|
721
622
|
}
|
722
623
|
|
723
624
|
setMetricInitLoading(true);
|
724
|
-
|
625
|
+
_context7.next = 11;
|
725
626
|
return service.getMetricList(params);
|
726
627
|
|
727
628
|
case 11:
|
728
|
-
metricList =
|
629
|
+
metricList = _context7.sent;
|
729
630
|
metricLists = metricList.concat(getNewMetricList());
|
730
631
|
rlog.debug('metricColChange', metricLists, monitorMetricModels);
|
731
632
|
setMetric(col.map(function (item, key) {
|
@@ -754,9 +655,9 @@ export default function ResourceOverview(props) {
|
|
754
655
|
|
755
656
|
case 17:
|
756
657
|
case "end":
|
757
|
-
return
|
658
|
+
return _context7.stop();
|
758
659
|
}
|
759
|
-
},
|
660
|
+
}, _callee6);
|
760
661
|
}));
|
761
662
|
return _metricColChange.apply(this, arguments);
|
762
663
|
}
|
package/es/style.js
CHANGED
@@ -11,14 +11,14 @@ import '@alifd/next/es/tab/style';
|
|
11
11
|
import '@alifd/next/es/table/style';
|
12
12
|
import '@riil-frontend/component-table-layout/es/style';
|
13
13
|
import '@riil-frontend/component-pager/es/style';
|
14
|
-
import '@alifd/next/es/button/style';
|
15
|
-
import '@alifd/next/es/icon/style';
|
16
14
|
import '@alifd/next/es/loading/style';
|
17
15
|
import '@alifd/next/es/divider/style';
|
18
16
|
import '@riil-frontend/component-no-data-page/es/style';
|
19
17
|
|
20
18
|
import '@alifd/next/es/overlay/style';
|
21
19
|
import '@alifd/next/es/checkbox/style';
|
20
|
+
import '@alifd/next/es/button/style';
|
21
|
+
import '@alifd/next/es/icon/style';
|
22
22
|
import '@riil-frontend/component-crucial-link-topo/es/style';
|
23
23
|
import '@alifd/next/es/switch/style';
|
24
24
|
import '@alifd/next/es/input/style';
|
@@ -178,7 +178,10 @@ var Topology = function Topology(props) {
|
|
178
178
|
});
|
179
179
|
|
180
180
|
if (onLoad) {
|
181
|
-
onLoad(
|
181
|
+
onLoad({
|
182
|
+
topo: topo,
|
183
|
+
topoData: topoData
|
184
|
+
});
|
182
185
|
}
|
183
186
|
}, [topoData]);
|
184
187
|
var handleGraphLoaded = (0, _react.useCallback)(function () {
|
@@ -218,7 +221,10 @@ var Topology = function Topology(props) {
|
|
218
221
|
}
|
219
222
|
|
220
223
|
if (onLoad) {
|
221
|
-
onLoad(
|
224
|
+
onLoad({
|
225
|
+
topo: topo,
|
226
|
+
topoData: topoData
|
227
|
+
});
|
222
228
|
}
|
223
229
|
}, [topoData]);
|
224
230
|
|
@@ -15,17 +15,7 @@ var _useGraphAlarmDisplay = _interopRequireDefault(require("./useGraphAlarmDispl
|
|
15
15
|
|
16
16
|
var _useTopoEventListener = _interopRequireDefault(require("./useTopoEventListener"));
|
17
17
|
|
18
|
-
|
19
|
-
var showAlarmStatus = ["toDeal", "dealing", "change", "woDealing"];
|
20
|
-
/**
|
21
|
-
* 告警是否在活
|
22
|
-
* @param {*} alarm
|
23
|
-
* @returns
|
24
|
-
*/
|
25
|
-
|
26
|
-
var isAlarmAlive = function isAlarmAlive(alarm) {
|
27
|
-
return showAlarmStatus.indexOf(alarm.status) >= 0;
|
28
|
-
};
|
18
|
+
var _alarmUtil = require("../utils/alarmUtil");
|
29
19
|
|
30
20
|
var handleRiskData = function handleRiskData(topo, receivedData) {
|
31
21
|
var _risks, _topo$viewProps, _topo$viewProps2;
|
@@ -35,7 +25,7 @@ var handleRiskData = function handleRiskData(topo, receivedData) {
|
|
35
25
|
// 已关闭 closed
|
36
26
|
var prevRisks = topo.store.getModelState('topoAlarm').risks;
|
37
27
|
|
38
|
-
var
|
28
|
+
var isRiskAlive = function isRiskAlive(data) {
|
39
29
|
return ['recovered', 'closed'].indexOf(data.status) === -1;
|
40
30
|
};
|
41
31
|
|
@@ -64,7 +54,7 @@ var handleRiskData = function handleRiskData(topo, receivedData) {
|
|
64
54
|
(_risks = risks).push.apply(_risks, addRisks); // 过滤掉无权限、非在活的
|
65
55
|
|
66
56
|
|
67
|
-
risks = risks.filter(
|
57
|
+
risks = risks.filter(isRiskAlive).filter(hasCiPermission).sort(function (a, b) {
|
68
58
|
return a.executeTime - b.executeTime;
|
69
59
|
});
|
70
60
|
|
@@ -149,7 +139,7 @@ function convertAlarmData(alarms) {
|
|
149
139
|
// 数据id
|
150
140
|
resourceId: resourceId,
|
151
141
|
// 是否在活
|
152
|
-
alive: isAlarmAlive(alarm)
|
142
|
+
alive: (0, _alarmUtil.isAlarmAlive)(alarm)
|
153
143
|
});
|
154
144
|
});
|
155
145
|
}
|
@@ -7,7 +7,7 @@ exports["default"] = useGraphAlarmDisplay;
|
|
7
7
|
|
8
8
|
var _react = require("react");
|
9
9
|
|
10
|
-
var
|
10
|
+
var _loglevel = _interopRequireDefault(require("loglevel"));
|
11
11
|
|
12
12
|
var _htElementUtils = require("../../utils/htElementUtils");
|
13
13
|
|
@@ -15,12 +15,17 @@ var _showGraphManageStatusUtil = require("../utils/showGraphManageStatusUtil");
|
|
15
15
|
|
16
16
|
var _useCmpLinkAlarm2 = _interopRequireDefault(require("./useCmpLinkAlarm"));
|
17
17
|
|
18
|
+
var _useLinkAlarmDisplay2 = _interopRequireDefault(require("./useLinkAlarmDisplay"));
|
19
|
+
|
20
|
+
var rlog = _loglevel["default"].getLogger('topo');
|
18
21
|
/**
|
19
22
|
* 获取ci的最高告警级别
|
20
|
-
* @param {Array} alarmList
|
21
|
-
* @param {*} risks
|
22
|
-
* @returns
|
23
|
+
* @param {Array} alarmList
|
24
|
+
* @param {*} risks
|
25
|
+
* @returns
|
23
26
|
*/
|
27
|
+
|
28
|
+
|
24
29
|
function getCiAlarmLevelMap(alarmList) {
|
25
30
|
var ciIdLevelMap = {};
|
26
31
|
alarmList.forEach(function (item) {
|
@@ -42,18 +47,13 @@ function getGraphCiElementAlarmLevels(resources, alarmList) {
|
|
42
47
|
id: id,
|
43
48
|
level: ciIdLevelMap[id]
|
44
49
|
};
|
45
|
-
}).filter(function (alarm) {
|
46
|
-
var resource = resources.find(function (item) {
|
47
|
-
return item.id === alarm.id;
|
48
|
-
});
|
49
|
-
return !!resource;
|
50
50
|
});
|
51
51
|
}
|
52
52
|
/**
|
53
53
|
* 获得关联拓扑节点告警级别
|
54
|
-
* @param {*} topo
|
55
|
-
* @param {*} relateTopoAlarm
|
56
|
-
* @returns
|
54
|
+
* @param {*} topo
|
55
|
+
* @param {*} relateTopoAlarm
|
56
|
+
* @returns
|
57
57
|
*/
|
58
58
|
|
59
59
|
|
@@ -61,7 +61,7 @@ function getRelateTopoNodeAlarmLevels(topo, relateTopoAlarm) {
|
|
61
61
|
return Object.keys(relateTopoAlarm).map(function (topoId) {
|
62
62
|
var level = relateTopoAlarm[topoId];
|
63
63
|
var relateTopoNode = topo.getDataModel().getDatas().toArray().find(function (node) {
|
64
|
-
return "" + node.a(
|
64
|
+
return "" + node.a("bindTopo") === "" + topoId;
|
65
65
|
});
|
66
66
|
|
67
67
|
if (!level || !relateTopoNode) {
|
@@ -81,25 +81,25 @@ function getRelateTopoNodeAlarmLevels(topo, relateTopoAlarm) {
|
|
81
81
|
function getGraphElementAlarmLevels(resources) {}
|
82
82
|
/**
|
83
83
|
* 告警显示到ht拓扑
|
84
|
-
*
|
85
|
-
* @param {*} options
|
84
|
+
*
|
85
|
+
* @param {*} options
|
86
86
|
*/
|
87
87
|
|
88
88
|
|
89
89
|
function useGraphAlarmDisplay(options) {
|
90
90
|
var topo = options.topo,
|
91
91
|
alarmSwitch = options.alarmSwitch;
|
92
|
-
var topoState = topo.store.useModelState(
|
92
|
+
var topoState = topo.store.useModelState("topoMod");
|
93
93
|
var graphLoaded = topoState.graphLoaded,
|
94
94
|
viewState = topoState.viewState;
|
95
|
-
var isEditMode = viewState ===
|
95
|
+
var isEditMode = viewState === "edit";
|
96
96
|
|
97
97
|
var _topo$alarm$useState = topo.alarm.useState(),
|
98
98
|
alarmList = _topo$alarm$useState.alarmList,
|
99
99
|
risks = _topo$alarm$useState.risks,
|
100
100
|
relateTopoAlarm = _topo$alarm$useState.relateTopoAlarm;
|
101
101
|
|
102
|
-
var oldResources = topo.dataModel.useCis(); //
|
102
|
+
var oldResources = topo.dataModel.useCis(); // 分级拓扑下级链路特殊处理。待迁移到业务模块
|
103
103
|
|
104
104
|
var _useCmpLinkAlarm = (0, _useCmpLinkAlarm2["default"])({
|
105
105
|
topo: topo,
|
@@ -112,10 +112,17 @@ function useGraphAlarmDisplay(options) {
|
|
112
112
|
|
113
113
|
var resources = (0, _react.useMemo)(function () {
|
114
114
|
return addCmpLinkOfflineStatusForDisplayLineColor(oldResources, cmpLinkRunStatus);
|
115
|
-
}, [oldResources, cmpLinkRunStatus]); //
|
115
|
+
}, [oldResources, cmpLinkRunStatus]); // 拓扑链路通断告警特殊处理。待迁移到业务模块
|
116
|
+
|
117
|
+
var _useLinkAlarmDisplay = (0, _useLinkAlarmDisplay2["default"])({
|
118
|
+
resources: resources,
|
119
|
+
alarmList: alarmList
|
120
|
+
}),
|
121
|
+
linkBreakAlarmLevels = _useLinkAlarmDisplay.linkBreakAlarmLevels; // ci告警级别
|
122
|
+
|
116
123
|
|
117
124
|
var cisEventLevel = (0, _react.useMemo)(function () {
|
118
|
-
var
|
125
|
+
var alarmLevels = [].concat(alarmList || [], cmpLinkAlarmLevels, linkBreakAlarmLevels, risks.map(function (item) {
|
119
126
|
var _item$resourceId;
|
120
127
|
|
121
128
|
return {
|
@@ -123,7 +130,19 @@ function useGraphAlarmDisplay(options) {
|
|
123
130
|
level: 5
|
124
131
|
};
|
125
132
|
}));
|
126
|
-
return getGraphCiElementAlarmLevels(resources,
|
133
|
+
return getGraphCiElementAlarmLevels(resources, alarmLevels) // 过滤元素不存在
|
134
|
+
.filter(function (alarm) {
|
135
|
+
var resource = resources.find(function (item) {
|
136
|
+
return item.id === alarm.id;
|
137
|
+
});
|
138
|
+
return !!resource;
|
139
|
+
}) // v1.7 过滤掉断开状态的链路,不显示告警
|
140
|
+
.filter(function (alarm) {
|
141
|
+
var resource = resources.find(function (item) {
|
142
|
+
return item.id === alarm.id;
|
143
|
+
});
|
144
|
+
return !resource.breakState;
|
145
|
+
});
|
127
146
|
}, [resources, alarmList, cmpLinkAlarmLevels, risks]);
|
128
147
|
(0, _react.useEffect)(function () {
|
129
148
|
showAlarm();
|
@@ -147,7 +166,7 @@ function useGraphAlarmDisplay(options) {
|
|
147
166
|
// 告警静默
|
148
167
|
topo.view.loadAlarm([]);
|
149
168
|
return;
|
150
|
-
} //
|
169
|
+
} // 关联拓扑告警。待迁移到业务模块
|
151
170
|
|
152
171
|
|
153
172
|
var relateTopoAlarms = getRelateTopoNodeAlarmLevels(topo, relateTopoAlarm);
|
@@ -161,19 +180,17 @@ function useGraphAlarmDisplay(options) {
|
|
161
180
|
var alarmLevel = (_elementsAlarmLevels$ = elementsAlarmLevels.find(function (item) {
|
162
181
|
return item.id === element.getTag() || item.elementId === element.getId();
|
163
182
|
})) === null || _elementsAlarmLevels$ === void 0 ? void 0 : _elementsAlarmLevels$.level;
|
164
|
-
element.a(
|
183
|
+
element.a("alarmLevel", alarmLevel);
|
165
184
|
});
|
166
|
-
|
167
|
-
_rlog["default"].debug('推送告警 => ht', {
|
185
|
+
rlog.debug("推送告警 => ht", {
|
168
186
|
alarms: elementsAlarmLevels,
|
169
187
|
relateTopoAlarmMap: relateTopoAlarm,
|
170
188
|
relateTopoAlarms: relateTopoAlarms
|
171
189
|
}); // 更新到ht拓扑
|
172
190
|
|
173
|
-
|
174
|
-
(_topo$historyManager = topo.historyManager) === null || _topo$historyManager === void 0 ? void 0 : _topo$historyManager.setDisabled(true, '推送告警');
|
191
|
+
(_topo$historyManager = topo.historyManager) === null || _topo$historyManager === void 0 ? void 0 : _topo$historyManager.setDisabled(true, "推送告警");
|
175
192
|
topo.view.loadAlarm(elementsAlarmLevels);
|
176
|
-
(_topo$historyManager2 = topo.historyManager) === null || _topo$historyManager2 === void 0 ? void 0 : _topo$historyManager2.setDisabled(false,
|
193
|
+
(_topo$historyManager2 = topo.historyManager) === null || _topo$historyManager2 === void 0 ? void 0 : _topo$historyManager2.setDisabled(false, "推送告警");
|
177
194
|
}
|
178
195
|
|
179
196
|
return function () {
|