@riil-frontend/component-topology 2.15.9 → 2.15.10

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.
@@ -19,7 +19,7 @@ import GraphDataModel from "./GraphDataModel";
19
19
  import { updateEdgeExpanded } from "../utils/edgeUtil";
20
20
  import PluginManager from "./PluginManager"; // eslint-disable-next-line no-undef
21
21
 
22
- var version = typeof "2.15.9" === 'string' ? "2.15.9" : null;
22
+ var version = typeof "2.15.10" === 'string' ? "2.15.10" : null;
23
23
  console.info("\u62D3\u6251\u7248\u672C: " + version);
24
24
  var topoDebug = {};
25
25
  window.topoDebug = topoDebug;
@@ -1,10 +1,11 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
- import _Message from "@alifd/next/es/message";
3
2
  import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
+ import _Message from "@alifd/next/es/message";
4
4
  import _Dialog from "@alifd/next/es/dialog";
5
5
  import _regeneratorRuntime from "@babel/runtime/regenerator";
6
6
  import rlog from '@riil-frontend/component-topology-utils/es/rlog';
7
7
  import linkService from "../../services/link";
8
+ import { getLinkPermission } from "../../utils/linPermissionUtil";
8
9
  /**
9
10
  * 删除连线
10
11
  */
@@ -26,11 +27,24 @@ export default (function (_ref) {
26
27
  });
27
28
  };
28
29
 
30
+ function checkLinkDeleteable(link) {
31
+ var _getLinkPermission = getLinkPermission(link, topo.dataModel.getNodes()),
32
+ deleteable = _getLinkPermission.deleteable;
33
+
34
+ if (deleteable) {
35
+ return deleteable;
36
+ }
37
+
38
+ _Message.notice('无删除权限');
39
+
40
+ return deleteable;
41
+ }
42
+
29
43
  var deleteLink = function deleteLink(edge) {
30
44
  var id = edge.getTag();
31
45
  var link = topo.dataModel.getDataById(id);
32
46
 
33
- if (!link || link.operation !== 'delete') {
47
+ if (!checkLinkDeleteable(link)) {
34
48
  return;
35
49
  }
36
50
 
@@ -0,0 +1,24 @@
1
+ /**
2
+ * 获得链路权限
3
+ *
4
+ * @param {*} link
5
+ * @param {*} nodes
6
+ * @returns
7
+ */
8
+ export function getLinkPermission(link, nodes) {
9
+ var source = nodes.find(function (node) {
10
+ return node.id === link.source;
11
+ });
12
+ var target = nodes.find(function (node) {
13
+ return node.id === link.target;
14
+ });
15
+ return {
16
+ readable: source.operation || target.operation,
17
+ writeable: [source, target].filter(function (node) {
18
+ return ['write', 'delete'].indexOf(node.operation) !== -1;
19
+ }).length === 2,
20
+ deleteable: [source, target].filter(function (node) {
21
+ return ['write', 'delete'].indexOf(node.operation) !== -1;
22
+ }).length >= 1
23
+ };
24
+ }
@@ -46,7 +46,7 @@ var _edgeUtil = require("../utils/edgeUtil");
46
46
  var _PluginManager = _interopRequireDefault(require("./PluginManager"));
47
47
 
48
48
  // eslint-disable-next-line no-undef
49
- var version = typeof "2.15.9" === 'string' ? "2.15.9" : null;
49
+ var version = typeof "2.15.10" === 'string' ? "2.15.10" : null;
50
50
  console.info("\u62D3\u6251\u7248\u672C: " + version);
51
51
  var topoDebug = {};
52
52
  window.topoDebug = topoDebug;
@@ -9,16 +9,18 @@ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"))
9
9
 
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
11
 
12
- var _message = _interopRequireDefault(require("@alifd/next/lib/message"));
13
-
14
12
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
15
13
 
14
+ var _message = _interopRequireDefault(require("@alifd/next/lib/message"));
15
+
16
16
  var _dialog = _interopRequireDefault(require("@alifd/next/lib/dialog"));
17
17
 
18
18
  var _rlog = _interopRequireDefault(require("@riil-frontend/component-topology-utils/es/rlog"));
19
19
 
20
20
  var _link = _interopRequireDefault(require("../../services/link"));
21
21
 
22
+ var _linPermissionUtil = require("../../utils/linPermissionUtil");
23
+
22
24
  /**
23
25
  * 删除连线
24
26
  */
@@ -39,11 +41,24 @@ var _default = function _default(_ref) {
39
41
  });
40
42
  };
41
43
 
44
+ function checkLinkDeleteable(link) {
45
+ var _getLinkPermission = (0, _linPermissionUtil.getLinkPermission)(link, topo.dataModel.getNodes()),
46
+ deleteable = _getLinkPermission.deleteable;
47
+
48
+ if (deleteable) {
49
+ return deleteable;
50
+ }
51
+
52
+ _message["default"].notice('无删除权限');
53
+
54
+ return deleteable;
55
+ }
56
+
42
57
  var deleteLink = function deleteLink(edge) {
43
58
  var id = edge.getTag();
44
59
  var link = topo.dataModel.getDataById(id);
45
60
 
46
- if (!link || link.operation !== 'delete') {
61
+ if (!checkLinkDeleteable(link)) {
47
62
  return;
48
63
  }
49
64
 
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.getLinkPermission = getLinkPermission;
5
+
6
+ /**
7
+ * 获得链路权限
8
+ *
9
+ * @param {*} link
10
+ * @param {*} nodes
11
+ * @returns
12
+ */
13
+ function getLinkPermission(link, nodes) {
14
+ var source = nodes.find(function (node) {
15
+ return node.id === link.source;
16
+ });
17
+ var target = nodes.find(function (node) {
18
+ return node.id === link.target;
19
+ });
20
+ return {
21
+ readable: source.operation || target.operation,
22
+ writeable: [source, target].filter(function (node) {
23
+ return ['write', 'delete'].indexOf(node.operation) !== -1;
24
+ }).length === 2,
25
+ deleteable: [source, target].filter(function (node) {
26
+ return ['write', 'delete'].indexOf(node.operation) !== -1;
27
+ }).length >= 1
28
+ };
29
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@riil-frontend/component-topology",
3
- "version": "2.15.9",
3
+ "version": "2.15.10",
4
4
  "description": "拓扑",
5
5
  "scripts": {
6
6
  "start": "build-scripts start",
@@ -111,6 +111,6 @@
111
111
  "access": "public"
112
112
  },
113
113
  "license": "MIT",
114
- "homepage": "https://unpkg.com/@riil-frontend/component-topology@2.15.9/build/index.html",
114
+ "homepage": "https://unpkg.com/@riil-frontend/component-topology@2.15.10/build/index.html",
115
115
  "gitHead": "2da19ffccbb7ca60a8acf396e39f542c68bb33f5"
116
116
  }