@riil-frontend/component-topology 9.0.0-a.10 → 9.0.0-a.12
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 +17 -17
- package/es/components/VerticalIconTab/VerticalIconTab.module.scss +11 -5
- package/es/core/editor/components/BackgroundView/index.module.scss +3 -0
- package/es/core/editor/components/Sidebar/Sidebar.module.scss +7 -7
- package/es/core/editor/components/Sidebar/views/CanvasPanel/CanvasPanel.module.scss +1 -0
- package/es/core/editor/components/Sidebar/views/ComponentPanel.js +1 -1
- package/es/core/editor/components/Sidebar/views/ImagePanel/ImagePanel.js +2 -1
- package/es/core/editor/components/Sidebar/views/LinkPanel.js +1 -1
- package/es/core/editor/components/settings/core/updateElementProperty.js +6 -1
- package/es/core/editor/components/settings/propertyViews/node/data/BindIpInput.js +61 -0
- package/es/core/editor/components/settings/propertyViews/node/data/Data.js +27 -8
- package/es/core/hooks/useTopoEdit.js +133 -16
- package/es/core/models/TopoApp.js +1 -1
- package/es/core/models/utils/linkUtils.js +18 -0
- package/es/core/store/models/topoConfig.js +36 -7
- package/es/core/test/Test.js +52 -0
- package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverview.js +7 -78
- package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/hooks/useMetricPolling.js +27 -37
- package/es/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/services/index.js +57 -1
- package/es/networkTopo/services/link.js +1 -1
- package/es/networkTopo/services/topo/basic.js +4 -3
- package/es/networkTopo/services/topo/networkLink.js +45 -3
- package/es/networkTopo/utils/exitLinkUtil.js +110 -0
- package/es/utils/htElementUtils.js +43 -21
- package/lib/components/VerticalIconTab/VerticalIconTab.module.scss +11 -5
- package/lib/core/editor/components/BackgroundView/index.module.scss +3 -0
- package/lib/core/editor/components/Sidebar/Sidebar.module.scss +7 -7
- package/lib/core/editor/components/Sidebar/views/CanvasPanel/CanvasPanel.module.scss +1 -0
- package/lib/core/editor/components/Sidebar/views/ComponentPanel.js +1 -1
- package/lib/core/editor/components/Sidebar/views/ImagePanel/ImagePanel.js +2 -1
- package/lib/core/editor/components/Sidebar/views/LinkPanel.js +1 -1
- package/lib/core/editor/components/settings/core/updateElementProperty.js +6 -1
- package/lib/core/editor/components/settings/propertyViews/node/data/BindIpInput.js +74 -0
- package/lib/core/editor/components/settings/propertyViews/node/data/Data.js +28 -8
- package/lib/core/hooks/useTopoEdit.js +133 -15
- package/lib/core/models/TopoApp.js +1 -1
- package/lib/core/models/utils/linkUtils.js +21 -1
- package/lib/core/store/models/topoConfig.js +37 -7
- package/lib/core/test/Test.js +52 -0
- package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/ResourceOverview.js +6 -78
- package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/hooks/useMetricPolling.js +27 -36
- package/lib/core/viewer/components/plugins/ResourceDetail/components/ResourceOverview/components/LinkTopo/services/index.js +58 -1
- package/lib/networkTopo/services/topo/basic.js +5 -3
- package/lib/networkTopo/services/topo/networkLink.js +45 -3
- package/lib/networkTopo/utils/exitLinkUtil.js +115 -0
- package/lib/utils/htElementUtils.js +45 -21
- package/package.json +2 -2
@@ -15,7 +15,7 @@ function getElementData(element) {
|
|
15
15
|
styleMap: element.getStyleMap()
|
16
16
|
};
|
17
17
|
|
18
|
-
if (className ===
|
18
|
+
if (className === "ht.Edge") {
|
19
19
|
return _extends({}, commonData);
|
20
20
|
}
|
21
21
|
|
@@ -27,7 +27,7 @@ function getElementData(element) {
|
|
27
27
|
export function isNode(element) {
|
28
28
|
// HT为了支持区域内无节点可展开增加了站位节点,因此 节点的layer等于container_blank的过滤掉就可以了
|
29
29
|
// eslint-disable-next-line no-underscore-dangle
|
30
|
-
return element instanceof ht.Node && !isLayer(element) && element._layer !==
|
30
|
+
return element instanceof ht.Node && !isLayer(element) && element._layer !== "container_blank";
|
31
31
|
}
|
32
32
|
export function isEdge(element) {
|
33
33
|
return element instanceof ht.Edge;
|
@@ -38,7 +38,7 @@ export function isValidEdge(element) {
|
|
38
38
|
}
|
39
39
|
|
40
40
|
if (!element.getSource() || !element.getTarget()) {
|
41
|
-
rlog.error(
|
41
|
+
rlog.error("isValidEdge 连线异常:源或目的为空", element);
|
42
42
|
return false;
|
43
43
|
}
|
44
44
|
|
@@ -51,7 +51,29 @@ export function isLayer(element) {
|
|
51
51
|
return element instanceof ht.Grid;
|
52
52
|
}
|
53
53
|
export function isText(element) {
|
54
|
-
return element instanceof ht.Text && element.a(
|
54
|
+
return element instanceof ht.Text && element.a("isText");
|
55
|
+
}
|
56
|
+
export function isUniqueIp(dataModel, ip) {
|
57
|
+
console.log("isUniqueIp", ip);
|
58
|
+
var nodes = getNodes(dataModel);
|
59
|
+
var isUnique = true;
|
60
|
+
|
61
|
+
for (var i = 0; i < nodes.length; i++) {
|
62
|
+
var element = nodes[i];
|
63
|
+
var tagTxt = element.getTag();
|
64
|
+
console.log("isUniqueIp-element", tagTxt, ip);
|
65
|
+
|
66
|
+
if (tagTxt !== null && tagTxt !== void 0 && tagTxt.startsWith("ip_")) {
|
67
|
+
var ipTxt = tagTxt.replace("ip_", '');
|
68
|
+
|
69
|
+
if (ipTxt === ip) {
|
70
|
+
isUnique = false;
|
71
|
+
break;
|
72
|
+
}
|
73
|
+
}
|
74
|
+
}
|
75
|
+
|
76
|
+
return isUnique;
|
55
77
|
}
|
56
78
|
export function getElements(dataModel) {
|
57
79
|
// console.error(111, dataModel.getDatas().getArray())
|
@@ -72,7 +94,7 @@ export function getGroupDatas(dataModel) {
|
|
72
94
|
}
|
73
95
|
export function getGroupElementByTag(dataModel, tag) {
|
74
96
|
return dataModel.getDataByTag(tag) || dataModel.getDatas().toArray().filter(function (item) {
|
75
|
-
return item.a(
|
97
|
+
return item.a("tag") === tag;
|
76
98
|
})[0];
|
77
99
|
}
|
78
100
|
export function getGroupData(element) {
|
@@ -83,14 +105,14 @@ export function getGroupData(element) {
|
|
83
105
|
var parent = element.getParent();
|
84
106
|
var groupInfo = parent ? {
|
85
107
|
groupId: parent.getTag(),
|
86
|
-
groupTag: parent.a(
|
108
|
+
groupTag: parent.a("tag") // 父容器
|
87
109
|
|
88
110
|
} : {};
|
89
111
|
return _extends({
|
90
112
|
name: element.getStyleMap().label
|
91
113
|
}, element.getAttrObject(), {
|
92
114
|
id: element.getTag(),
|
93
|
-
tag: element.a(
|
115
|
+
tag: element.a("tag"),
|
94
116
|
image: element.getImage()
|
95
117
|
}, groupInfo);
|
96
118
|
}
|
@@ -104,7 +126,7 @@ export function getNodeData(element) {
|
|
104
126
|
var parent = element.getParent();
|
105
127
|
var groupInfo = parent ? {
|
106
128
|
groupId: parent.getTag(),
|
107
|
-
groupTag: parent.a(
|
129
|
+
groupTag: parent.a("tag") // 父容器
|
108
130
|
|
109
131
|
} : {};
|
110
132
|
return _extends({}, element.getAttrObject(), {
|
@@ -116,12 +138,12 @@ export function getEdges(dataModel) {
|
|
116
138
|
return getElements(dataModel).filter(isValidEdge);
|
117
139
|
}
|
118
140
|
export function isEdgeGroupExpanded(edge) {
|
119
|
-
return isEdge(edge) && edge.getEdgeGroup() && !!edge.s(
|
141
|
+
return isEdge(edge) && edge.getEdgeGroup() && !!edge.s("edge.expanded");
|
120
142
|
}
|
121
143
|
/**
|
122
144
|
* 是否连线组代理
|
123
|
-
* @param {*} edge
|
124
|
-
* @returns
|
145
|
+
* @param {*} edge
|
146
|
+
* @returns
|
125
147
|
*/
|
126
148
|
|
127
149
|
export function isEdgeGroupAgent(edge) {
|
@@ -129,9 +151,9 @@ export function isEdgeGroupAgent(edge) {
|
|
129
151
|
}
|
130
152
|
/**
|
131
153
|
* 获得两个节点间的连线列表
|
132
|
-
* @param {*} node1
|
133
|
-
* @param {*} node2
|
134
|
-
* @returns
|
154
|
+
* @param {*} node1
|
155
|
+
* @param {*} node2
|
156
|
+
* @returns
|
135
157
|
*/
|
136
158
|
|
137
159
|
export function getEdgesBetweenNodes(node1, node2) {
|
@@ -153,7 +175,7 @@ export function getEdgesBetweenNodes(node1, node2) {
|
|
153
175
|
}
|
154
176
|
/**
|
155
177
|
* 获得节点间的连线组,连线<=1时返回null
|
156
|
-
* @returns
|
178
|
+
* @returns
|
157
179
|
*/
|
158
180
|
|
159
181
|
export function getEdgeGroupByNodes(node1, node2) {
|
@@ -172,7 +194,7 @@ export function getEdgeGroupByNodes(node1, node2) {
|
|
172
194
|
}
|
173
195
|
/**
|
174
196
|
* 获得节点间的连线组,连线<=1时返回null
|
175
|
-
* @returns
|
197
|
+
* @returns
|
176
198
|
*/
|
177
199
|
|
178
200
|
export function getEdgeGroupByNodeTags(dataModel, nodeTag1, nodeTag2) {
|
@@ -180,7 +202,7 @@ export function getEdgeGroupByNodeTags(dataModel, nodeTag1, nodeTag2) {
|
|
180
202
|
var node2 = dataModel.getDataByTag(nodeTag2);
|
181
203
|
|
182
204
|
if (!node1 || !node2) {
|
183
|
-
console.warn(
|
205
|
+
console.warn("getEdgeGroupByNodes 未找到节点", {
|
184
206
|
node1: node1,
|
185
207
|
node2: node2,
|
186
208
|
nodeTag1: nodeTag1,
|
@@ -261,7 +283,7 @@ export function getGroupChildren(group) {
|
|
261
283
|
|
262
284
|
|
263
285
|
return group.getChildren().getArray().filter(function (node) {
|
264
|
-
return node._layer !==
|
286
|
+
return node._layer !== "container_blank";
|
265
287
|
});
|
266
288
|
}
|
267
289
|
/**
|
@@ -291,7 +313,7 @@ export function getGroupChildrenData(group) {
|
|
291
313
|
export function setElementRuntimeStyle(element, name, value) {
|
292
314
|
var _extends2;
|
293
315
|
|
294
|
-
var prevRuntimeStyle = element.a(
|
316
|
+
var prevRuntimeStyle = element.a("runtimeStyles") || {};
|
295
317
|
|
296
318
|
var runtimeStyle = _extends({}, prevRuntimeStyle, (_extends2 = {}, _extends2[name] = value, _extends2)); // if (prevRuntimeStyle[name] === undefined && value === undefined) {
|
297
319
|
// return
|
@@ -302,7 +324,7 @@ export function setElementRuntimeStyle(element, name, value) {
|
|
302
324
|
runtimeStyle[name] = undefined; // delete runtimeStyle[name]
|
303
325
|
}
|
304
326
|
|
305
|
-
element.a(
|
327
|
+
element.a("runtimeStyles", runtimeStyle);
|
306
328
|
}
|
307
329
|
/**
|
308
330
|
* 判断拓扑图是否存在元素
|
@@ -315,7 +337,7 @@ export function isExistedElement(htTopo, dataModel, data) {
|
|
315
337
|
|
316
338
|
|
317
339
|
var element = getElements(dataModel).find(function (item) {
|
318
|
-
return data.tag && item.a(
|
340
|
+
return data.tag && item.a("tag") === data.tag;
|
319
341
|
});
|
320
342
|
|
321
343
|
if (element) {
|
@@ -3,8 +3,8 @@
|
|
3
3
|
|
4
4
|
.tabs {
|
5
5
|
height: 100%;
|
6
|
-
|
7
|
-
}
|
6
|
+
display: flex;
|
7
|
+
}
|
8
8
|
|
9
9
|
// 导航
|
10
10
|
.nav {
|
@@ -49,17 +49,23 @@
|
|
49
49
|
|
50
50
|
// 标签页内容区
|
51
51
|
.content {
|
52
|
-
width: 260px;
|
52
|
+
// width: 260px;
|
53
53
|
height: 100%;
|
54
54
|
border-left: none !important;
|
55
|
-
border-right: 1px solid var(--tab-wrapped-border-line-color);
|
56
55
|
transition: width .1s linear;
|
56
|
+
overflow: initial !important;
|
57
57
|
|
58
58
|
:global {
|
59
59
|
.#{$css-prefix}tabs-tabpane {
|
60
|
-
|
60
|
+
position: absolute;
|
61
|
+
left: 0;
|
62
|
+
top: 0;
|
63
|
+
z-index: 1;
|
64
|
+
// width: 250px;
|
61
65
|
height: 100%;
|
62
66
|
overflow: auto;
|
67
|
+
background: #FFF;
|
68
|
+
border-right: 1px solid var(--tab-wrapped-border-line-color);
|
63
69
|
}
|
64
70
|
}
|
65
71
|
|
@@ -1,19 +1,19 @@
|
|
1
1
|
.sidebar {
|
2
2
|
// border-right: 1px solid #E6E7EB;
|
3
3
|
position: relative;
|
4
|
-
width: 60px;
|
4
|
+
// width: 60px;
|
5
5
|
|
6
6
|
.tabsContainer {
|
7
|
-
position: absolute;
|
8
|
-
|
7
|
+
// position: absolute;
|
8
|
+
// left: 0;
|
9
|
+
// top: 0;
|
10
|
+
// z-index: 1;
|
11
|
+
// width: 60px;
|
9
12
|
height: 100%;
|
10
|
-
left: 0;
|
11
|
-
top: 0;
|
12
|
-
z-index: 1;
|
13
13
|
background: #FFF;
|
14
14
|
|
15
15
|
&.expanded {
|
16
|
-
width: 320px;
|
16
|
+
// width: 320px;
|
17
17
|
}
|
18
18
|
}
|
19
19
|
}
|
@@ -5,7 +5,12 @@ exports["default"] = updateElementProperty;
|
|
5
5
|
|
6
6
|
function updateElementProperty(topo, name, value) {
|
7
7
|
// const element = topo.getDataModel().getDataById(selection[0].id);
|
8
|
-
var element = topo.getSelectionModel().getFirstData();
|
8
|
+
var element = topo.getSelectionModel().getFirstData();
|
9
|
+
console.info("updateElementProperty", topo.getSelectionModel().getSelection(), {
|
10
|
+
element: element,
|
11
|
+
name: name,
|
12
|
+
value: value
|
13
|
+
});
|
9
14
|
|
10
15
|
if (name.startsWith('attrObject.')) {
|
11
16
|
element.setAttr(name.replace('attrObject.', ''), value);
|
@@ -0,0 +1,74 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4
|
+
|
5
|
+
exports.__esModule = true;
|
6
|
+
exports["default"] = BindIpInput;
|
7
|
+
|
8
|
+
var _button = _interopRequireDefault(require("@alifd/next/lib/button"));
|
9
|
+
|
10
|
+
var _input = _interopRequireDefault(require("@alifd/next/lib/input"));
|
11
|
+
|
12
|
+
var _react = _interopRequireWildcard(require("react"));
|
13
|
+
|
14
|
+
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); }
|
15
|
+
|
16
|
+
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; }
|
17
|
+
|
18
|
+
/**
|
19
|
+
* @return {React.ReactNode | null}
|
20
|
+
*/
|
21
|
+
function BindIpInput(props) {
|
22
|
+
var _node$attrObjectIpv;
|
23
|
+
|
24
|
+
var nodeElement = props.nodeElement,
|
25
|
+
topo = props.topo,
|
26
|
+
topoEditApi = props.topoEditApi,
|
27
|
+
node = props.node,
|
28
|
+
onChange = props.onChange,
|
29
|
+
value = props.value; // const currentResId = node.tag;
|
30
|
+
|
31
|
+
console.log("nodeElement, topo, topoEditApi, node", nodeElement, topo, topoEditApi, node, value);
|
32
|
+
|
33
|
+
var _useState = (0, _react.useState)(''),
|
34
|
+
error = _useState[0],
|
35
|
+
setError = _useState[1];
|
36
|
+
|
37
|
+
var _useState2 = (0, _react.useState)((_node$attrObjectIpv = node["attrObject.ipv4"]) !== null && _node$attrObjectIpv !== void 0 ? _node$attrObjectIpv : ""),
|
38
|
+
txtValue = _useState2[0],
|
39
|
+
setTxtValue = _useState2[1];
|
40
|
+
|
41
|
+
var saveIp = function saveIp(v) {
|
42
|
+
console.log("saveIp", txtValue);
|
43
|
+
var rex = /^((25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))$/;
|
44
|
+
var reg = txtValue.match(rex);
|
45
|
+
|
46
|
+
if (reg === null) {
|
47
|
+
setError('error');
|
48
|
+
} else {
|
49
|
+
setError('');
|
50
|
+
onChange(txtValue);
|
51
|
+
topoEditApi.relateNodeIp(txtValue, nodeElement);
|
52
|
+
}
|
53
|
+
};
|
54
|
+
|
55
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
56
|
+
style: {
|
57
|
+
display: "flex"
|
58
|
+
}
|
59
|
+
}, /*#__PURE__*/_react["default"].createElement(_input["default"], {
|
60
|
+
placeholder: "\u8BF7\u8F93\u5165Ip\u5730\u5740",
|
61
|
+
name: "attrObject.ipv4",
|
62
|
+
state: error,
|
63
|
+
value: txtValue,
|
64
|
+
maxLength: 128,
|
65
|
+
onChange: setTxtValue
|
66
|
+
}), /*#__PURE__*/_react["default"].createElement(_button["default"], {
|
67
|
+
type: "primary",
|
68
|
+
text: true,
|
69
|
+
onClick: saveIp,
|
70
|
+
style: {
|
71
|
+
marginLeft: 10
|
72
|
+
}
|
73
|
+
}, "\u4FDD\u5B58"));
|
74
|
+
}
|
@@ -27,6 +27,8 @@ var _NodeRelateResourceButton = _interopRequireDefault(require("./NodeRelateReso
|
|
27
27
|
|
28
28
|
var _PlatformDisplay = _interopRequireDefault(require("./PlatformDisplay"));
|
29
29
|
|
30
|
+
var _BindIpInput = _interopRequireDefault(require("./BindIpInput"));
|
31
|
+
|
30
32
|
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); }
|
31
33
|
|
32
34
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
@@ -37,13 +39,14 @@ var CollapsePanel = _collapse["default"].Panel;
|
|
37
39
|
function parseValues(values) {
|
38
40
|
return (0, _extends2["default"])({}, values, {
|
39
41
|
"attrObject.customName": values["attrObject.customName"] || values["attrObject.name"],
|
40
|
-
"attrObject.bindTopo": values["attrObject.bindTopo"] || ""
|
41
|
-
|
42
|
+
"attrObject.bindTopo": values["attrObject.bindTopo"] || "",
|
43
|
+
// 解决切换节点时关联拓扑选项未重置
|
44
|
+
"attrObject.ipv4": values["attrObject.ipv4"] || ""
|
42
45
|
});
|
43
46
|
}
|
44
47
|
|
45
48
|
function getBindType(values) {
|
46
|
-
if (values.tag) {
|
49
|
+
if (values.tag && !values.tag.startsWith('Ip_')) {
|
47
50
|
return "resource";
|
48
51
|
}
|
49
52
|
|
@@ -62,6 +65,7 @@ function Data(props) {
|
|
62
65
|
_onChange = props.onChange,
|
63
66
|
editorProps = props.editorProps;
|
64
67
|
var bindType = getBindType(values);
|
68
|
+
console.log("node, values", node, values);
|
65
69
|
|
66
70
|
var field = _field["default"].useField({
|
67
71
|
autoUnmount: false,
|
@@ -129,7 +133,7 @@ function Data(props) {
|
|
129
133
|
}, /*#__PURE__*/_react["default"].createElement(_form["default"], {
|
130
134
|
field: field,
|
131
135
|
labelAlign: "top"
|
132
|
-
}, !values.tag && /*#__PURE__*/_react["default"].createElement(_form["default"].Item, {
|
136
|
+
}, (!values.tag || bindType === "ip") && /*#__PURE__*/_react["default"].createElement(_form["default"].Item, {
|
133
137
|
label: "\u5173\u8054\u7C7B\u578B"
|
134
138
|
}, /*#__PURE__*/_react["default"].createElement(_select["default"], {
|
135
139
|
name: "bindType",
|
@@ -143,7 +147,9 @@ function Data(props) {
|
|
143
147
|
value: "none"
|
144
148
|
}, "\u672A\u5173\u8054"), /*#__PURE__*/_react["default"].createElement(Option, {
|
145
149
|
value: "resource"
|
146
|
-
}, "\u5173\u8054\u8D44\u6E90"),
|
150
|
+
}, "\u5173\u8054\u8D44\u6E90"), /*#__PURE__*/_react["default"].createElement(Option, {
|
151
|
+
value: "ip"
|
152
|
+
}, "\u5173\u8054IP"), RelateTopoTree && /*#__PURE__*/_react["default"].createElement(Option, {
|
147
153
|
value: "topo"
|
148
154
|
}, "\u5173\u8054\u62D3\u6251"))), bindType === "resource" && /*#__PURE__*/_react["default"].createElement(_form["default"].Item, {
|
149
155
|
label: "\u5173\u8054\u8D44\u6E90"
|
@@ -157,7 +163,7 @@ function Data(props) {
|
|
157
163
|
flex: 1,
|
158
164
|
paddingRight: 16,
|
159
165
|
color: "#4D6277",
|
160
|
-
lineHeight:
|
166
|
+
lineHeight: "20px"
|
161
167
|
},
|
162
168
|
title: values.tag ? values.name : null
|
163
169
|
}, values.tag ? values.name : "—"), /*#__PURE__*/_react["default"].createElement(_NodeRelateResourceButton["default"], {
|
@@ -166,13 +172,27 @@ function Data(props) {
|
|
166
172
|
topo: topo,
|
167
173
|
topoEditApi: topoEditApi,
|
168
174
|
nodeBindResourceDrawerComponent: editorProps.nodeBindResourceDrawerComponent
|
169
|
-
}))), bindType === "
|
175
|
+
}))), bindType === "ip" && /*#__PURE__*/_react["default"].createElement(_form["default"].Item, {
|
176
|
+
label: "\u5173\u8054IP" // style={{ display: "flex" }}
|
177
|
+
,
|
178
|
+
pattern: /^((25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))\.){3}(25[0-5]|2[0-4]\d|((1\d{2})|([1-9]?\d)))$/,
|
179
|
+
patternTrigger: "onBlur",
|
180
|
+
patternMessage: "IP\u5730\u5740\u683C\u5F0F\u4E0D\u6B63\u786E"
|
181
|
+
}, /*#__PURE__*/_react["default"].createElement(_BindIpInput["default"], {
|
182
|
+
nodeElement: node,
|
183
|
+
node: values,
|
184
|
+
topo: topo,
|
185
|
+
topoEditApi: topoEditApi,
|
186
|
+
placeholder: "\u8BF7\u8F93\u5165",
|
187
|
+
name: "attrObject.ipv4",
|
188
|
+
maxLength: 128
|
189
|
+
})), bindType === "topo" && RelateTopoTree && /*#__PURE__*/_react["default"].createElement(_form["default"].Item, {
|
170
190
|
label: "\u5173\u8054\u62D3\u6251"
|
171
191
|
}, /*#__PURE__*/_react["default"].createElement(RelateTopoTree, {
|
172
192
|
name: "attrObject.bindTopo",
|
173
193
|
topo: topo,
|
174
194
|
onChange: handleBindTopoChange
|
175
|
-
})), (editorProps === null || editorProps === void 0 ? void 0 : editorProps.topoType) ===
|
195
|
+
})), (editorProps === null || editorProps === void 0 ? void 0 : editorProps.topoType) === "cmpTopo" && node.getTag() && /*#__PURE__*/_react["default"].createElement(_form["default"].Item, {
|
176
196
|
label: "\u6240\u5C5E\u5E73\u53F0"
|
177
197
|
}, /*#__PURE__*/_react["default"].createElement(_PlatformDisplay["default"], props)))));
|
178
198
|
}
|