@riil-frontend/component-topology 5.0.7 → 5.0.9
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 +2 -2
- package/build/2.js +1 -1
- package/build/index.css +1 -1
- package/build/index.js +19 -19
- package/es/core/components/titlebar/TitleBar.module.scss +1 -1
- package/es/core/hooks/useTopoEdit.js +22 -18
- package/es/core/models/TopoApp.js +1 -1
- package/es/core/viewer/components/titlebar/widgets/AlarmListShowButton.js +37 -5
- package/es/core/viewer/components/titlebar/widgets/AlarmListShowButton.module.scss +5 -0
- package/es/utils/topoData.js +14 -0
- package/lib/core/components/titlebar/TitleBar.module.scss +1 -1
- package/lib/core/hooks/useTopoEdit.js +24 -18
- package/lib/core/models/TopoApp.js +1 -1
- package/lib/core/viewer/components/titlebar/widgets/AlarmListShowButton.js +38 -5
- package/lib/core/viewer/components/titlebar/widgets/AlarmListShowButton.module.scss +5 -0
- package/lib/utils/topoData.js +20 -3
- package/package.json +2 -2
|
@@ -457,6 +457,20 @@ var useTopoEdit = function useTopoEdit(params) {
|
|
|
457
457
|
});
|
|
458
458
|
return newLinkElements;
|
|
459
459
|
}
|
|
460
|
+
/**
|
|
461
|
+
* 获得未存在的元素
|
|
462
|
+
* @param {Array} elements
|
|
463
|
+
* @returns
|
|
464
|
+
*/
|
|
465
|
+
|
|
466
|
+
|
|
467
|
+
function findUNExistedElements(elements) {
|
|
468
|
+
var dm = topo.getDataModel();
|
|
469
|
+
var newLinkElements = elements.filter(function (element) {
|
|
470
|
+
return !isExistedElement(topo.getHtTopo(), dm, element);
|
|
471
|
+
});
|
|
472
|
+
return newLinkElements;
|
|
473
|
+
}
|
|
460
474
|
/**
|
|
461
475
|
* 关联容器的资源
|
|
462
476
|
*/
|
|
@@ -599,7 +613,7 @@ var useTopoEdit = function useTopoEdit(params) {
|
|
|
599
613
|
|
|
600
614
|
function _addLayerResources() {
|
|
601
615
|
_addLayerResources = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee15(group, newResourceIds) {
|
|
602
|
-
var _yield$editDispatcher4, elements,
|
|
616
|
+
var _yield$editDispatcher4, elements, newElements;
|
|
603
617
|
|
|
604
618
|
return _regeneratorRuntime.wrap(function _callee15$(_context15) {
|
|
605
619
|
while (1) {
|
|
@@ -617,24 +631,14 @@ var useTopoEdit = function useTopoEdit(params) {
|
|
|
617
631
|
case 5:
|
|
618
632
|
_yield$editDispatcher4 = _context15.sent;
|
|
619
633
|
elements = _yield$editDispatcher4.elements;
|
|
620
|
-
//
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
}),
|
|
628
|
-
lines: elements.filter(function (ele) {
|
|
629
|
-
return ele.type === 'link';
|
|
630
|
-
})
|
|
631
|
-
}; // 添加到分层
|
|
632
|
-
|
|
633
|
-
_context15.next = 10;
|
|
634
|
-
return topo.updateElements(data);
|
|
634
|
+
// 2022-11-10 修复 添加资源后分层重新布局问题,仅布局新增资源。替换api topo.updateElements(data)
|
|
635
|
+
newElements = findUNExistedElements(elements);
|
|
636
|
+
rlog.debug('添加分层资源', {
|
|
637
|
+
layer: group,
|
|
638
|
+
newElements: newElements
|
|
639
|
+
});
|
|
640
|
+
topo.getHtTopo().addElements(newElements); // 临时放这里,仅拓扑中心有
|
|
635
641
|
|
|
636
|
-
case 10:
|
|
637
|
-
// 临时放这里,仅拓扑中心有
|
|
638
642
|
if (topo.linkDynamicStyleExecutor) {
|
|
639
643
|
topo.linkDynamicStyleExecutor.execute();
|
|
640
644
|
}
|
|
@@ -21,7 +21,7 @@ import PluginManager from "./PluginManager";
|
|
|
21
21
|
import topoFactory from "./topoFactory";
|
|
22
22
|
import ElementTagTipConfig from "./tagstips/ElementTagTipConfig"; // eslint-disable-next-line no-undef
|
|
23
23
|
|
|
24
|
-
var version = typeof "5.0.
|
|
24
|
+
var version = typeof "5.0.9" === 'string' ? "5.0.9" : null;
|
|
25
25
|
console.info("\u62D3\u6251\u7248\u672C: " + version);
|
|
26
26
|
/**
|
|
27
27
|
* 拓扑显示和编辑
|
|
@@ -4,6 +4,7 @@ import _Icon from "@alifd/next/es/icon";
|
|
|
4
4
|
import _Overlay from "@alifd/next/es/overlay";
|
|
5
5
|
import React, { useEffect, useRef, useState } from "react";
|
|
6
6
|
import AlarmListPanel from "../../../../components/AlarmListPanel";
|
|
7
|
+
import styles from "./AlarmListShowButton.module.scss";
|
|
7
8
|
var Popup = _Overlay.Popup;
|
|
8
9
|
/**
|
|
9
10
|
* 元素拖拽开关
|
|
@@ -14,8 +15,7 @@ var Popup = _Overlay.Popup;
|
|
|
14
15
|
export default function AlarmListShowButton(props) {
|
|
15
16
|
var topo = props.topo,
|
|
16
17
|
style = props.style,
|
|
17
|
-
|
|
18
|
-
offSetLeft = _props$offSetLeft === void 0 ? 112 : _props$offSetLeft,
|
|
18
|
+
offSetLeft = props.offSetLeft,
|
|
19
19
|
alarmPanelIsOpen = props.alarmPanelIsOpen,
|
|
20
20
|
alarmData = props.alarmData; // const { AlarmListPanel } = viewerProps;
|
|
21
21
|
|
|
@@ -39,6 +39,33 @@ export default function AlarmListShowButton(props) {
|
|
|
39
39
|
setVisible(false);
|
|
40
40
|
};
|
|
41
41
|
|
|
42
|
+
if (offSetLeft) {
|
|
43
|
+
// FIXME 临时兼容业务拓扑
|
|
44
|
+
return /*#__PURE__*/React.createElement(Popup, {
|
|
45
|
+
trigger: /*#__PURE__*/React.createElement(_Button, {
|
|
46
|
+
style: style,
|
|
47
|
+
ref: alarmBtn,
|
|
48
|
+
title: "\u544A\u8B66"
|
|
49
|
+
}, /*#__PURE__*/React.createElement(_Icon, {
|
|
50
|
+
type: "warning"
|
|
51
|
+
})),
|
|
52
|
+
cache: true,
|
|
53
|
+
defaultVisible: true,
|
|
54
|
+
canCloseByOutSideClick: false,
|
|
55
|
+
canCloseByTrigger: false,
|
|
56
|
+
visible: visible,
|
|
57
|
+
onVisibleChange: onVisibleChange,
|
|
58
|
+
offset: [offSetLeft, 5],
|
|
59
|
+
triggerType: "click",
|
|
60
|
+
safeNode: function safeNode() {
|
|
61
|
+
return alarmBtn;
|
|
62
|
+
}
|
|
63
|
+
}, /*#__PURE__*/React.createElement(AlarmListPanel, _extends({}, props, {
|
|
64
|
+
alarmData: alarmData,
|
|
65
|
+
onClose: onClose
|
|
66
|
+
})));
|
|
67
|
+
}
|
|
68
|
+
|
|
42
69
|
return /*#__PURE__*/React.createElement(Popup, {
|
|
43
70
|
trigger: /*#__PURE__*/React.createElement(_Button, {
|
|
44
71
|
style: style,
|
|
@@ -52,12 +79,17 @@ export default function AlarmListShowButton(props) {
|
|
|
52
79
|
canCloseByOutSideClick: false,
|
|
53
80
|
canCloseByTrigger: false,
|
|
54
81
|
visible: visible,
|
|
55
|
-
onVisibleChange: onVisibleChange,
|
|
56
|
-
|
|
82
|
+
onVisibleChange: onVisibleChange // offset={[0, 5]}
|
|
83
|
+
,
|
|
57
84
|
triggerType: "click",
|
|
58
85
|
safeNode: function safeNode() {
|
|
59
86
|
return alarmBtn;
|
|
60
|
-
}
|
|
87
|
+
},
|
|
88
|
+
align: false,
|
|
89
|
+
container: function container(trigger) {
|
|
90
|
+
return trigger.parentNode.parentNode.parentNode.parentNode;
|
|
91
|
+
},
|
|
92
|
+
className: styles.popup
|
|
61
93
|
}, /*#__PURE__*/React.createElement(AlarmListPanel, _extends({}, props, {
|
|
62
94
|
alarmData: alarmData,
|
|
63
95
|
onClose: onClose
|
package/es/utils/topoData.js
CHANGED
|
@@ -726,6 +726,20 @@ export var combSaveTopoData = function combSaveTopoData(_ref4) {
|
|
|
726
726
|
extraConfig: extraConfig
|
|
727
727
|
};
|
|
728
728
|
};
|
|
729
|
+
export function transtormElementsToMap(elements) {
|
|
730
|
+
var data = {
|
|
731
|
+
groups: elements.filter(function (ele) {
|
|
732
|
+
return ele.type === 'group';
|
|
733
|
+
}),
|
|
734
|
+
nodes: elements.filter(function (ele) {
|
|
735
|
+
return ele.type === 'node';
|
|
736
|
+
}),
|
|
737
|
+
lines: elements.filter(function (ele) {
|
|
738
|
+
return ele.type === 'link';
|
|
739
|
+
})
|
|
740
|
+
};
|
|
741
|
+
return data;
|
|
742
|
+
}
|
|
729
743
|
/**
|
|
730
744
|
* 从拓扑数据中获取区域的子区域、子节点
|
|
731
745
|
* @param {*} elements
|
|
@@ -487,6 +487,20 @@ var useTopoEdit = function useTopoEdit(params) {
|
|
|
487
487
|
});
|
|
488
488
|
return newLinkElements;
|
|
489
489
|
}
|
|
490
|
+
/**
|
|
491
|
+
* 获得未存在的元素
|
|
492
|
+
* @param {Array} elements
|
|
493
|
+
* @returns
|
|
494
|
+
*/
|
|
495
|
+
|
|
496
|
+
|
|
497
|
+
function findUNExistedElements(elements) {
|
|
498
|
+
var dm = topo.getDataModel();
|
|
499
|
+
var newLinkElements = elements.filter(function (element) {
|
|
500
|
+
return !(0, _htElementUtils.isExistedElement)(topo.getHtTopo(), dm, element);
|
|
501
|
+
});
|
|
502
|
+
return newLinkElements;
|
|
503
|
+
}
|
|
490
504
|
/**
|
|
491
505
|
* 关联容器的资源
|
|
492
506
|
*/
|
|
@@ -631,7 +645,7 @@ var useTopoEdit = function useTopoEdit(params) {
|
|
|
631
645
|
|
|
632
646
|
function _addLayerResources() {
|
|
633
647
|
_addLayerResources = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee15(group, newResourceIds) {
|
|
634
|
-
var _yield$editDispatcher4, elements,
|
|
648
|
+
var _yield$editDispatcher4, elements, newElements;
|
|
635
649
|
|
|
636
650
|
return _regenerator["default"].wrap(function _callee15$(_context15) {
|
|
637
651
|
while (1) {
|
|
@@ -649,24 +663,16 @@ var useTopoEdit = function useTopoEdit(params) {
|
|
|
649
663
|
case 5:
|
|
650
664
|
_yield$editDispatcher4 = _context15.sent;
|
|
651
665
|
elements = _yield$editDispatcher4.elements;
|
|
652
|
-
//
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
return ele.type === 'link';
|
|
662
|
-
})
|
|
663
|
-
}; // 添加到分层
|
|
664
|
-
|
|
665
|
-
_context15.next = 10;
|
|
666
|
-
return topo.updateElements(data);
|
|
666
|
+
// 2022-11-10 修复 添加资源后分层重新布局问题,仅布局新增资源。替换api topo.updateElements(data)
|
|
667
|
+
newElements = findUNExistedElements(elements);
|
|
668
|
+
|
|
669
|
+
_rlog["default"].debug('添加分层资源', {
|
|
670
|
+
layer: group,
|
|
671
|
+
newElements: newElements
|
|
672
|
+
});
|
|
673
|
+
|
|
674
|
+
topo.getHtTopo().addElements(newElements); // 临时放这里,仅拓扑中心有
|
|
667
675
|
|
|
668
|
-
case 10:
|
|
669
|
-
// 临时放这里,仅拓扑中心有
|
|
670
676
|
if (topo.linkDynamicStyleExecutor) {
|
|
671
677
|
topo.linkDynamicStyleExecutor.execute();
|
|
672
678
|
}
|
|
@@ -50,7 +50,7 @@ var _topoFactory = _interopRequireDefault(require("./topoFactory"));
|
|
|
50
50
|
var _ElementTagTipConfig = _interopRequireDefault(require("./tagstips/ElementTagTipConfig"));
|
|
51
51
|
|
|
52
52
|
// eslint-disable-next-line no-undef
|
|
53
|
-
var version = typeof "5.0.
|
|
53
|
+
var version = typeof "5.0.9" === 'string' ? "5.0.9" : null;
|
|
54
54
|
console.info("\u62D3\u6251\u7248\u672C: " + version);
|
|
55
55
|
/**
|
|
56
56
|
* 拓扑显示和编辑
|
|
@@ -17,6 +17,8 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
17
17
|
|
|
18
18
|
var _AlarmListPanel = _interopRequireDefault(require("../../../../components/AlarmListPanel"));
|
|
19
19
|
|
|
20
|
+
var _AlarmListShowButtonModule = _interopRequireDefault(require("./AlarmListShowButton.module.scss"));
|
|
21
|
+
|
|
20
22
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
21
23
|
|
|
22
24
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -31,8 +33,7 @@ var Popup = _overlay["default"].Popup;
|
|
|
31
33
|
function AlarmListShowButton(props) {
|
|
32
34
|
var topo = props.topo,
|
|
33
35
|
style = props.style,
|
|
34
|
-
|
|
35
|
-
offSetLeft = _props$offSetLeft === void 0 ? 112 : _props$offSetLeft,
|
|
36
|
+
offSetLeft = props.offSetLeft,
|
|
36
37
|
alarmPanelIsOpen = props.alarmPanelIsOpen,
|
|
37
38
|
alarmData = props.alarmData; // const { AlarmListPanel } = viewerProps;
|
|
38
39
|
|
|
@@ -56,6 +57,33 @@ function AlarmListShowButton(props) {
|
|
|
56
57
|
setVisible(false);
|
|
57
58
|
};
|
|
58
59
|
|
|
60
|
+
if (offSetLeft) {
|
|
61
|
+
// FIXME 临时兼容业务拓扑
|
|
62
|
+
return /*#__PURE__*/_react["default"].createElement(Popup, {
|
|
63
|
+
trigger: /*#__PURE__*/_react["default"].createElement(_button["default"], {
|
|
64
|
+
style: style,
|
|
65
|
+
ref: alarmBtn,
|
|
66
|
+
title: "\u544A\u8B66"
|
|
67
|
+
}, /*#__PURE__*/_react["default"].createElement(_icon["default"], {
|
|
68
|
+
type: "warning"
|
|
69
|
+
})),
|
|
70
|
+
cache: true,
|
|
71
|
+
defaultVisible: true,
|
|
72
|
+
canCloseByOutSideClick: false,
|
|
73
|
+
canCloseByTrigger: false,
|
|
74
|
+
visible: visible,
|
|
75
|
+
onVisibleChange: onVisibleChange,
|
|
76
|
+
offset: [offSetLeft, 5],
|
|
77
|
+
triggerType: "click",
|
|
78
|
+
safeNode: function safeNode() {
|
|
79
|
+
return alarmBtn;
|
|
80
|
+
}
|
|
81
|
+
}, /*#__PURE__*/_react["default"].createElement(_AlarmListPanel["default"], (0, _extends2["default"])({}, props, {
|
|
82
|
+
alarmData: alarmData,
|
|
83
|
+
onClose: onClose
|
|
84
|
+
})));
|
|
85
|
+
}
|
|
86
|
+
|
|
59
87
|
return /*#__PURE__*/_react["default"].createElement(Popup, {
|
|
60
88
|
trigger: /*#__PURE__*/_react["default"].createElement(_button["default"], {
|
|
61
89
|
style: style,
|
|
@@ -69,12 +97,17 @@ function AlarmListShowButton(props) {
|
|
|
69
97
|
canCloseByOutSideClick: false,
|
|
70
98
|
canCloseByTrigger: false,
|
|
71
99
|
visible: visible,
|
|
72
|
-
onVisibleChange: onVisibleChange,
|
|
73
|
-
|
|
100
|
+
onVisibleChange: onVisibleChange // offset={[0, 5]}
|
|
101
|
+
,
|
|
74
102
|
triggerType: "click",
|
|
75
103
|
safeNode: function safeNode() {
|
|
76
104
|
return alarmBtn;
|
|
77
|
-
}
|
|
105
|
+
},
|
|
106
|
+
align: false,
|
|
107
|
+
container: function container(trigger) {
|
|
108
|
+
return trigger.parentNode.parentNode.parentNode.parentNode;
|
|
109
|
+
},
|
|
110
|
+
className: _AlarmListShowButtonModule["default"].popup
|
|
78
111
|
}, /*#__PURE__*/_react["default"].createElement(_AlarmListPanel["default"], (0, _extends2["default"])({}, props, {
|
|
79
112
|
alarmData: alarmData,
|
|
80
113
|
onClose: onClose
|
package/lib/utils/topoData.js
CHANGED
|
@@ -15,7 +15,9 @@ exports.getCiTypesFromCiElements = getCiTypesFromCiElements;
|
|
|
15
15
|
exports.getLinksBetweenTwoNodes = getLinksBetweenTwoNodes;
|
|
16
16
|
exports.getMonitorTemplateCodes = getMonitorTemplateCodes;
|
|
17
17
|
exports.parseTopoData = parseTopoData;
|
|
18
|
-
exports.
|
|
18
|
+
exports.sortList = void 0;
|
|
19
|
+
exports.transtormElementsToMap = transtormElementsToMap;
|
|
20
|
+
exports.updateCiDoc = exports.updateAllCiDoc = void 0;
|
|
19
21
|
|
|
20
22
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
21
23
|
|
|
@@ -790,6 +792,23 @@ var combSaveTopoData = function combSaveTopoData(_ref4) {
|
|
|
790
792
|
extraConfig: extraConfig
|
|
791
793
|
};
|
|
792
794
|
};
|
|
795
|
+
|
|
796
|
+
exports.combSaveTopoData = combSaveTopoData;
|
|
797
|
+
|
|
798
|
+
function transtormElementsToMap(elements) {
|
|
799
|
+
var data = {
|
|
800
|
+
groups: elements.filter(function (ele) {
|
|
801
|
+
return ele.type === 'group';
|
|
802
|
+
}),
|
|
803
|
+
nodes: elements.filter(function (ele) {
|
|
804
|
+
return ele.type === 'node';
|
|
805
|
+
}),
|
|
806
|
+
lines: elements.filter(function (ele) {
|
|
807
|
+
return ele.type === 'link';
|
|
808
|
+
})
|
|
809
|
+
};
|
|
810
|
+
return data;
|
|
811
|
+
}
|
|
793
812
|
/**
|
|
794
813
|
* 从拓扑数据中获取区域的子区域、子节点
|
|
795
814
|
* @param {*} elements
|
|
@@ -798,8 +817,6 @@ var combSaveTopoData = function combSaveTopoData(_ref4) {
|
|
|
798
817
|
*/
|
|
799
818
|
|
|
800
819
|
|
|
801
|
-
exports.combSaveTopoData = combSaveTopoData;
|
|
802
|
-
|
|
803
820
|
function findGroupChildren(elements, group) {
|
|
804
821
|
var id = group.id,
|
|
805
822
|
tag = group.tag;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@riil-frontend/component-topology",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.9",
|
|
4
4
|
"description": "拓扑",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"start": "build-scripts start",
|
|
@@ -115,6 +115,6 @@
|
|
|
115
115
|
"access": "public"
|
|
116
116
|
},
|
|
117
117
|
"license": "MIT",
|
|
118
|
-
"homepage": "https://unpkg.com/@riil-frontend/component-topology@5.0.
|
|
118
|
+
"homepage": "https://unpkg.com/@riil-frontend/component-topology@5.0.9/build/index.html",
|
|
119
119
|
"gitHead": "2da19ffccbb7ca60a8acf396e39f542c68bb33f5"
|
|
120
120
|
}
|