@riil-frontend/component-topology 7.0.0-dev.17 → 7.0.0-dev.19

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.
@@ -6,9 +6,9 @@ import _Collapse from "@alifd/next/es/collapse";
6
6
  import _Select from "@alifd/next/es/select";
7
7
  import _regeneratorRuntime from "@babel/runtime/regenerator";
8
8
  import React, { useEffect } from "react";
9
- import useHtElement from "../../../../../../common/hooks/useHtElement";
10
9
  import textStyles from "../../../../../../common/text.module.scss";
11
10
  import NodeRelateResourceButton from "./NodeRelateResourceButton";
11
+ import PlatformDisplay from "./PlatformDisplay";
12
12
  var Option = _Select.Option;
13
13
  var CollapsePanel = _Collapse.Panel;
14
14
 
@@ -150,5 +150,7 @@ export default function Data(props) {
150
150
  name: "attrObject.bindTopo",
151
151
  topo: topo,
152
152
  onChange: handleBindTopoChange
153
- })))));
153
+ })), (editorProps === null || editorProps === void 0 ? void 0 : editorProps.topoType) === 'cmpTopo' && node.getTag() && /*#__PURE__*/React.createElement(_Form.Item, {
154
+ label: "\u6240\u5C5E\u5E73\u53F0"
155
+ }, /*#__PURE__*/React.createElement(PlatformDisplay, props)))));
154
156
  }
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+
3
+ function PlatformDisplay(props) {
4
+ var topo = props.topo,
5
+ node = props.node;
6
+ var data = topo.dataModel.useDataById(node.getTag());
7
+ return data.isSubResource ? data.attributes.platform : '本级平台';
8
+ }
9
+
10
+ export default PlatformDisplay;
@@ -23,7 +23,7 @@ import topoFactory from "./topoFactory";
23
23
  import ElementTagTipConfig from "./tagstips/ElementTagTipConfig";
24
24
  import SelectionModel from "./SelectionModel"; // eslint-disable-next-line no-undef
25
25
 
26
- var version = typeof "7.0.0-dev.17" === 'string' ? "7.0.0-dev.17" : null;
26
+ var version = typeof "7.0.0-dev.19" === 'string' ? "7.0.0-dev.19" : null;
27
27
  console.info("\u62D3\u6251\u7248\u672C: " + version);
28
28
  /**
29
29
  * 拓扑显示和编辑
@@ -9,7 +9,10 @@ export default function LinkDataTab(props) {
9
9
 
10
10
  var topo = props.topo,
11
11
  edge = props.edge,
12
- link = props.link;
12
+ link = props.link,
13
+ source = props.source,
14
+ target = props.target,
15
+ editorProps = props.editorProps;
13
16
 
14
17
  var _topo$store$useModel = topo.store.useModel("topoConfig"),
15
18
  editState = _topo$store$useModel[0],
@@ -26,8 +29,11 @@ export default function LinkDataTab(props) {
26
29
  className: styles.panelFullHeight
27
30
  }, /*#__PURE__*/React.createElement(LindInfoPreview, {
28
31
  className: styles.lindInfoPreview,
32
+ topo: topo,
29
33
  data: link,
30
- topo: topo
34
+ source: source,
35
+ target: target,
36
+ isCmpTopo: (editorProps === null || editorProps === void 0 ? void 0 : editorProps.topoType) === 'cmpTopo'
31
37
  }), /*#__PURE__*/React.createElement("div", {
32
38
  className: styles.footer
33
39
  }, /*#__PURE__*/React.createElement(_Button, {
@@ -4,14 +4,10 @@ import React from 'react';
4
4
  import Data from "./Data";
5
5
  export default function LinkPropertyView(props) {
6
6
  var edge = props.edge,
7
- topo = props.topo; // 无权限不显示数据页签
8
-
9
- var _topo$store$useModelS = topo.store.useModelState('topoMod').data,
10
- links = _topo$store$useModelS.links,
11
- linkGroups = _topo$store$useModelS.linkGroups;
12
- var link = [].concat(links, linkGroups).find(function (item) {
13
- return item.id === edge.getTag();
14
- });
7
+ topo = props.topo;
8
+ var link = topo.dataModel.useDataById(edge.getTag());
9
+ var source = topo.dataModel.useDataById(link.source);
10
+ var target = topo.dataModel.useDataById(link.target); // 无权限不显示数据页签
15
11
 
16
12
  if (link) {
17
13
  var readable = link.permission.readable;
@@ -26,6 +22,8 @@ export default function LinkPropertyView(props) {
26
22
  }
27
23
 
28
24
  return /*#__PURE__*/React.createElement(Data, _extends({}, props, {
29
- link: link
25
+ link: link,
26
+ source: source,
27
+ target: target
30
28
  }));
31
29
  }
@@ -1,3 +1,4 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
1
2
  import _Box from "@alifd/next/es/box";
2
3
  import _Collapse from "@alifd/next/es/collapse";
3
4
  import React, { useEffect } from "react";
@@ -5,9 +6,40 @@ import styles from "./LinkInfoPreview.module.scss";
5
6
  import { formatMetric } from "../../../../../../core/models/attributeFormatter";
6
7
  import rlog from "@riil-frontend/component-topology-utils/es/rlog";
7
8
  var CollapsePanel = _Collapse.Panel;
9
+
10
+ function Item(props) {
11
+ return /*#__PURE__*/React.createElement(_Box, {
12
+ key: props.name,
13
+ direction: "row",
14
+ spacing: 8,
15
+ className: styles.row
16
+ }, /*#__PURE__*/React.createElement(_Box, {
17
+ className: styles.label
18
+ }, props.label), /*#__PURE__*/React.createElement(_Box, {
19
+ className: props.name === "use" ? styles.uselabelValue : styles.labelValue,
20
+ flex: 1
21
+ }, props.content));
22
+ }
23
+
8
24
  export default function LindInfoPreview(props) {
9
25
  var topo = props.topo,
10
- data = props.data;
26
+ data = props.data,
27
+ isCmpTopo = props.isCmpTopo,
28
+ target = props.target;
29
+ var cmpFields = [];
30
+ var cmpFieldsSource = []; // 分级拓扑逻辑
31
+
32
+ if (isCmpTopo && target.id.indexOf("sub") >= 0) {
33
+ cmpFields.push({
34
+ label: "所属平台",
35
+ content: target.attributes.platform
36
+ });
37
+ cmpFieldsSource.push({
38
+ label: "所属平台",
39
+ content: '本级平台'
40
+ });
41
+ }
42
+
11
43
  var fields = [{
12
44
  label: "链路名称",
13
45
  name: "display_name"
@@ -23,7 +55,7 @@ export default function LindInfoPreview(props) {
23
55
  }, {
24
56
  label: "源端IP",
25
57
  name: "network_link.source_ipv4"
26
- }, {
58
+ }].concat(cmpFieldsSource, [{
27
59
  label: "目的节点名称",
28
60
  name: "network_link.destination_device_id"
29
61
  }, {
@@ -35,7 +67,7 @@ export default function LindInfoPreview(props) {
35
67
  }, {
36
68
  label: "目的端IP",
37
69
  name: "network_link.destination_ipv4"
38
- }, {
70
+ }], cmpFields, [{
39
71
  label: "取值端口",
40
72
  name: "network_link.value_port"
41
73
  }, {
@@ -44,7 +76,7 @@ export default function LindInfoPreview(props) {
44
76
  }, {
45
77
  label: "用途",
46
78
  name: "use"
47
- }];
79
+ }]);
48
80
 
49
81
  var getValue = function getValue(name) {
50
82
  var value; // console.log('LindInfoPreview-getValue',data,name)
@@ -69,18 +101,12 @@ export default function LindInfoPreview(props) {
69
101
  return value;
70
102
  };
71
103
 
72
- return fields.map(function (field) {
73
- return /*#__PURE__*/React.createElement(_Box, {
74
- key: field.name,
75
- direction: "row",
76
- spacing: 8,
77
- className: styles.row
78
- }, /*#__PURE__*/React.createElement(_Box, {
79
- className: styles.label
80
- }, field.label), /*#__PURE__*/React.createElement(_Box, {
81
- className: field.name === "use" ? styles.uselabelValue : styles.labelValue,
82
- flex: 1
83
- }, getValue(field.name)));
104
+ return fields.map(function (field, index) {
105
+ return /*#__PURE__*/React.createElement(Item, _extends({
106
+ key: index
107
+ }, field, {
108
+ content: field.content || getValue(field.name)
109
+ }));
84
110
  }); // <Collapse
85
111
  // defaultExpandedKeys={["相关资源"]}
86
112
  // style={{ border: "none" }}
@@ -32,6 +32,11 @@ export default (function (_ref) {
32
32
 
33
33
  if (deleteable) {
34
34
  return deleteable;
35
+ } // 分级管理 下级链路禁用删除
36
+
37
+
38
+ if (link.isSubResource) {
39
+ return false;
35
40
  }
36
41
 
37
42
  _Message.notice('无删除权限');
@@ -21,12 +21,12 @@ var _select = _interopRequireDefault(require("@alifd/next/lib/select"));
21
21
 
22
22
  var _react = _interopRequireWildcard(require("react"));
23
23
 
24
- var _useHtElement = _interopRequireDefault(require("../../../../../../common/hooks/useHtElement"));
25
-
26
24
  var _textModule = _interopRequireDefault(require("../../../../../../common/text.module.scss"));
27
25
 
28
26
  var _NodeRelateResourceButton = _interopRequireDefault(require("./NodeRelateResourceButton"));
29
27
 
28
+ var _PlatformDisplay = _interopRequireDefault(require("./PlatformDisplay"));
29
+
30
30
  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
31
 
32
32
  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; }
@@ -172,5 +172,7 @@ function Data(props) {
172
172
  name: "attrObject.bindTopo",
173
173
  topo: topo,
174
174
  onChange: handleBindTopoChange
175
- })))));
175
+ })), (editorProps === null || editorProps === void 0 ? void 0 : editorProps.topoType) === 'cmpTopo' && node.getTag() && /*#__PURE__*/_react["default"].createElement(_form["default"].Item, {
176
+ label: "\u6240\u5C5E\u5E73\u53F0"
177
+ }, /*#__PURE__*/_react["default"].createElement(_PlatformDisplay["default"], props)))));
176
178
  }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports["default"] = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ function PlatformDisplay(props) {
11
+ var topo = props.topo,
12
+ node = props.node;
13
+ var data = topo.dataModel.useDataById(node.getTag());
14
+ return data.isSubResource ? data.attributes.platform : '本级平台';
15
+ }
16
+
17
+ var _default = PlatformDisplay;
18
+ exports["default"] = _default;
@@ -54,7 +54,7 @@ var _ElementTagTipConfig = _interopRequireDefault(require("./tagstips/ElementTag
54
54
  var _SelectionModel = _interopRequireDefault(require("./SelectionModel"));
55
55
 
56
56
  // eslint-disable-next-line no-undef
57
- var version = typeof "7.0.0-dev.17" === 'string' ? "7.0.0-dev.17" : null;
57
+ var version = typeof "7.0.0-dev.19" === 'string' ? "7.0.0-dev.19" : null;
58
58
  console.info("\u62D3\u6251\u7248\u672C: " + version);
59
59
  /**
60
60
  * 拓扑显示和编辑
@@ -24,7 +24,10 @@ function LinkDataTab(props) {
24
24
 
25
25
  var topo = props.topo,
26
26
  edge = props.edge,
27
- link = props.link;
27
+ link = props.link,
28
+ source = props.source,
29
+ target = props.target,
30
+ editorProps = props.editorProps;
28
31
 
29
32
  var _topo$store$useModel = topo.store.useModel("topoConfig"),
30
33
  editState = _topo$store$useModel[0],
@@ -41,8 +44,11 @@ function LinkDataTab(props) {
41
44
  className: _LinkInfoPreviewModule["default"].panelFullHeight
42
45
  }, /*#__PURE__*/_react["default"].createElement(_LinkInfoPreview["default"], {
43
46
  className: _LinkInfoPreviewModule["default"].lindInfoPreview,
47
+ topo: topo,
44
48
  data: link,
45
- topo: topo
49
+ source: source,
50
+ target: target,
51
+ isCmpTopo: (editorProps === null || editorProps === void 0 ? void 0 : editorProps.topoType) === 'cmpTopo'
46
52
  }), /*#__PURE__*/_react["default"].createElement("div", {
47
53
  className: _LinkInfoPreviewModule["default"].footer
48
54
  }, /*#__PURE__*/_react["default"].createElement(_button["default"], {
@@ -15,14 +15,10 @@ var _Data = _interopRequireDefault(require("./Data"));
15
15
 
16
16
  function LinkPropertyView(props) {
17
17
  var edge = props.edge,
18
- topo = props.topo; // 无权限不显示数据页签
19
-
20
- var _topo$store$useModelS = topo.store.useModelState('topoMod').data,
21
- links = _topo$store$useModelS.links,
22
- linkGroups = _topo$store$useModelS.linkGroups;
23
- var link = [].concat(links, linkGroups).find(function (item) {
24
- return item.id === edge.getTag();
25
- });
18
+ topo = props.topo;
19
+ var link = topo.dataModel.useDataById(edge.getTag());
20
+ var source = topo.dataModel.useDataById(link.source);
21
+ var target = topo.dataModel.useDataById(link.target); // 无权限不显示数据页签
26
22
 
27
23
  if (link) {
28
24
  var readable = link.permission.readable;
@@ -37,6 +33,8 @@ function LinkPropertyView(props) {
37
33
  }
38
34
 
39
35
  return /*#__PURE__*/_react["default"].createElement(_Data["default"], (0, _extends2["default"])({}, props, {
40
- link: link
36
+ link: link,
37
+ source: source,
38
+ target: target
41
39
  }));
42
40
  }
@@ -5,6 +5,8 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  exports.__esModule = true;
6
6
  exports["default"] = LindInfoPreview;
7
7
 
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+
8
10
  var _box = _interopRequireDefault(require("@alifd/next/lib/box"));
9
11
 
10
12
  var _collapse = _interopRequireDefault(require("@alifd/next/lib/collapse"));
@@ -23,9 +25,39 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
23
25
 
24
26
  var CollapsePanel = _collapse["default"].Panel;
25
27
 
28
+ function Item(props) {
29
+ return /*#__PURE__*/_react["default"].createElement(_box["default"], {
30
+ key: props.name,
31
+ direction: "row",
32
+ spacing: 8,
33
+ className: _LinkInfoPreviewModule["default"].row
34
+ }, /*#__PURE__*/_react["default"].createElement(_box["default"], {
35
+ className: _LinkInfoPreviewModule["default"].label
36
+ }, props.label), /*#__PURE__*/_react["default"].createElement(_box["default"], {
37
+ className: props.name === "use" ? _LinkInfoPreviewModule["default"].uselabelValue : _LinkInfoPreviewModule["default"].labelValue,
38
+ flex: 1
39
+ }, props.content));
40
+ }
41
+
26
42
  function LindInfoPreview(props) {
27
43
  var topo = props.topo,
28
- data = props.data;
44
+ data = props.data,
45
+ isCmpTopo = props.isCmpTopo,
46
+ target = props.target;
47
+ var cmpFields = [];
48
+ var cmpFieldsSource = []; // 分级拓扑逻辑
49
+
50
+ if (isCmpTopo && target.id.indexOf("sub") >= 0) {
51
+ cmpFields.push({
52
+ label: "所属平台",
53
+ content: target.attributes.platform
54
+ });
55
+ cmpFieldsSource.push({
56
+ label: "所属平台",
57
+ content: '本级平台'
58
+ });
59
+ }
60
+
29
61
  var fields = [{
30
62
  label: "链路名称",
31
63
  name: "display_name"
@@ -41,7 +73,7 @@ function LindInfoPreview(props) {
41
73
  }, {
42
74
  label: "源端IP",
43
75
  name: "network_link.source_ipv4"
44
- }, {
76
+ }].concat(cmpFieldsSource, [{
45
77
  label: "目的节点名称",
46
78
  name: "network_link.destination_device_id"
47
79
  }, {
@@ -53,7 +85,7 @@ function LindInfoPreview(props) {
53
85
  }, {
54
86
  label: "目的端IP",
55
87
  name: "network_link.destination_ipv4"
56
- }, {
88
+ }], cmpFields, [{
57
89
  label: "取值端口",
58
90
  name: "network_link.value_port"
59
91
  }, {
@@ -62,7 +94,7 @@ function LindInfoPreview(props) {
62
94
  }, {
63
95
  label: "用途",
64
96
  name: "use"
65
- }];
97
+ }]);
66
98
 
67
99
  var getValue = function getValue(name) {
68
100
  var value; // console.log('LindInfoPreview-getValue',data,name)
@@ -87,18 +119,12 @@ function LindInfoPreview(props) {
87
119
  return value;
88
120
  };
89
121
 
90
- return fields.map(function (field) {
91
- return /*#__PURE__*/_react["default"].createElement(_box["default"], {
92
- key: field.name,
93
- direction: "row",
94
- spacing: 8,
95
- className: _LinkInfoPreviewModule["default"].row
96
- }, /*#__PURE__*/_react["default"].createElement(_box["default"], {
97
- className: _LinkInfoPreviewModule["default"].label
98
- }, field.label), /*#__PURE__*/_react["default"].createElement(_box["default"], {
99
- className: field.name === "use" ? _LinkInfoPreviewModule["default"].uselabelValue : _LinkInfoPreviewModule["default"].labelValue,
100
- flex: 1
101
- }, getValue(field.name)));
122
+ return fields.map(function (field, index) {
123
+ return /*#__PURE__*/_react["default"].createElement(Item, (0, _extends2["default"])({
124
+ key: index
125
+ }, field, {
126
+ content: field.content || getValue(field.name)
127
+ }));
102
128
  }); // <Collapse
103
129
  // defaultExpandedKeys={["相关资源"]}
104
130
  // style={{ border: "none" }}
@@ -46,6 +46,11 @@ var _default = function _default(_ref) {
46
46
 
47
47
  if (deleteable) {
48
48
  return deleteable;
49
+ } // 分级管理 下级链路禁用删除
50
+
51
+
52
+ if (link.isSubResource) {
53
+ return false;
49
54
  }
50
55
 
51
56
  _message["default"].notice('无删除权限');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@riil-frontend/component-topology",
3
- "version": "7.0.0-dev.17",
3
+ "version": "7.0.0-dev.19",
4
4
  "description": "拓扑",
5
5
  "scripts": {
6
6
  "start": "build-scripts start",
@@ -60,7 +60,7 @@
60
60
  "@formily/next-components": "1.3.13",
61
61
  "@iceworks/spec": "^1.0.0",
62
62
  "@riil-frontend/component-action-tree": "^1.0.13",
63
- "@riil-frontend/component-common-res-list": "^1.0.13",
63
+ "@riil-frontend/component-common-res-list": "^1.0.26",
64
64
  "@riil-frontend/component-condition-res-list": "^1.0.18",
65
65
  "@riil-frontend/component-crucial-link-topo": "0.1.0",
66
66
  "@riil-frontend/component-extra-title": "^1.0.3",
@@ -116,6 +116,6 @@
116
116
  "access": "public"
117
117
  },
118
118
  "license": "MIT",
119
- "homepage": "https://unpkg.com/@riil-frontend/component-topology@7.0.0-dev.17/build/index.html",
119
+ "homepage": "https://unpkg.com/@riil-frontend/component-topology@7.0.0-dev.19/build/index.html",
120
120
  "gitHead": "2da19ffccbb7ca60a8acf396e39f542c68bb33f5"
121
121
  }