ronds-metadata 1.3.24 → 1.3.25

Sign up to get free protection for your applications and to get access to all the features.
@@ -6,6 +6,7 @@ interface Props {
6
6
  onZoomOut: () => void;
7
7
  onFitContent: () => void;
8
8
  onRealContent: () => void;
9
+ onToggleSelectionEnabled: () => void;
9
10
  }
10
11
  export declare const GraphHandler: React.FC<Props>;
11
12
  export {};
@@ -1,12 +1,13 @@
1
1
  import "antd/es/popover/style";
2
2
  import _Popover from "antd/es/popover";
3
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
4
  /*
4
5
  * @Author: wangxian
5
6
  * @Date: 2022-05-27 14:21:23
6
- * @LastEditTime: 2022-05-30 09:45:54
7
+ * @LastEditTime: 2023-11-29 15:54:57
7
8
  */
8
9
  import React from 'react';
9
- import { CompressOutlined, OneToOneOutlined, ZoomInOutlined, ZoomOutOutlined } from '@ant-design/icons';
10
+ import { CompressOutlined, GatewayOutlined, OneToOneOutlined, ZoomInOutlined, ZoomOutOutlined } from '@ant-design/icons';
10
11
  import classNames from 'classnames';
11
12
  import './index.less';
12
13
  import { tr } from '../../../../framework/locale';
@@ -15,7 +16,12 @@ export var GraphHandler = function GraphHandler(props) {
15
16
  onZoomIn = props.onZoomIn,
16
17
  onZoomOut = props.onZoomOut,
17
18
  onFitContent = props.onFitContent,
18
- onRealContent = props.onRealContent;
19
+ onRealContent = props.onRealContent,
20
+ onToggleSelectionEnabled = props.onToggleSelectionEnabled;
21
+ var _React$useState = React.useState(false),
22
+ _React$useState2 = _slicedToArray(_React$useState, 2),
23
+ isSelectionEnabled = _React$useState2[0],
24
+ setSelectionEnabled = _React$useState2[1];
19
25
  return /*#__PURE__*/React.createElement("ul", {
20
26
  className: classNames('handler', className)
21
27
  }, /*#__PURE__*/React.createElement(_Popover, {
@@ -32,7 +38,17 @@ export var GraphHandler = function GraphHandler(props) {
32
38
  }, /*#__PURE__*/React.createElement("li", {
33
39
  onClick: onZoomOut,
34
40
  className: "item"
35
- }, /*#__PURE__*/React.createElement(ZoomOutOutlined, null))), /*#__PURE__*/React.createElement(_Popover, {
41
+ }, /*#__PURE__*/React.createElement(ZoomOutOutlined, null))), onToggleSelectionEnabled && /*#__PURE__*/React.createElement(_Popover, {
42
+ overlayClassName: "popover",
43
+ content: tr('框选'),
44
+ placement: "left"
45
+ }, /*#__PURE__*/React.createElement("li", {
46
+ onClick: function onClick() {
47
+ onToggleSelectionEnabled();
48
+ setSelectionEnabled(!isSelectionEnabled);
49
+ },
50
+ className: "item ".concat(isSelectionEnabled && 'tools-selected')
51
+ }, /*#__PURE__*/React.createElement(GatewayOutlined, null))), /*#__PURE__*/React.createElement(_Popover, {
36
52
  overlayClassName: "popover",
37
53
  content: tr('实际尺寸'),
38
54
  placement: "left"
@@ -23,6 +23,11 @@
23
23
  background-color: #e0e0e0;
24
24
  }
25
25
  }
26
+
27
+ .tools-selected {
28
+ color: #000;
29
+ background-color: #e0e0e0;
30
+ }
26
31
  }
27
32
 
28
33
  .popover {
@@ -5,7 +5,7 @@ import _createSuper from "@babel/runtime/helpers/esm/createSuper";
5
5
  /*
6
6
  * @Author: wangxian
7
7
  * @Date: 2022-05-24 09:18:34
8
- * @LastEditTime: 2023-07-03 16:20:13
8
+ * @LastEditTime: 2023-11-29 15:45:34
9
9
  */
10
10
  import { Shape, Edge } from '@antv/x6';
11
11
  import './edge.less';
@@ -40,7 +40,7 @@ DPEdge.config({
40
40
  connector: {
41
41
  name: 'pai'
42
42
  },
43
- zIndex: 2,
43
+ zIndex: 1,
44
44
  attrs: {
45
45
  line: {
46
46
  stroke: '#808080',
@@ -68,6 +68,8 @@ declare class DPGraph extends GraphCore<BaseNode, BaseEdge> {
68
68
  edges: DPEdge[];
69
69
  }): void;
70
70
  onContextMenu(data: ContextMenuInfo): any;
71
+ onAddCopyCells(nodes: DPNode[], edges: DPEdge[]): void;
72
+ onCopyNodes(args: any[]): void;
71
73
  updateNodeNameById(id: string, name: string): void;
72
74
  clearContextMenuInfo: () => void;
73
75
  clearGraphCells: () => void;
@@ -1,3 +1,6 @@
1
+ import "antd/es/message/style";
2
+ import _message from "antd/es/message";
3
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
1
4
  import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
2
5
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
3
6
  import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
@@ -13,7 +16,7 @@ import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
13
16
  /*
14
17
  * @Author: wangxian
15
18
  * @Date: 2022-05-24 14:31:01
16
- * @LastEditTime: 2023-09-21 15:45:12
19
+ * @LastEditTime: 2023-12-01 08:07:32
17
20
  */
18
21
  import _regeneratorRuntime from "@babel/runtime/regenerator";
19
22
  import produce from 'immer';
@@ -27,9 +30,10 @@ import { GraphCore } from '../../framework/graph';
27
30
  import NodeElement from './comps/NodeElement';
28
31
  import { DPEdge } from './comps/shape/edge';
29
32
  import { DPNode } from './comps/shape/node';
30
- import { formatGraphData, formatNodeInfoToNodeMeta } from './utils';
31
- import { deepClone } from '../../utils';
33
+ import { formatGraphData, formatNodeInfoToNodeMeta, formattedEdgesToEdgeMeta } from './utils';
34
+ import { deepClone, guid } from '../../utils';
32
35
  import { MetadataService } from '../../framework/metadata/MetadataService';
36
+ import { tr } from '../../framework/locale';
33
37
  var DPGraph = /*#__PURE__*/function (_GraphCore) {
34
38
  _inherits(DPGraph, _GraphCore);
35
39
  var _super = _createSuper(DPGraph);
@@ -40,13 +44,16 @@ var DPGraph = /*#__PURE__*/function (_GraphCore) {
40
44
  history: true,
41
45
  frozen: true,
42
46
  grid: true,
47
+ snapline: true,
43
48
  selecting: {
44
49
  enabled: true,
45
50
  rubberband: false,
46
- multiple: true,
47
- strict: true,
48
- showNodeSelectionBox: false,
49
- selectNodeOnMoved: false
51
+ multiple: false,
52
+ strict: false,
53
+ showNodeSelectionBox: true,
54
+ showEdgeSelectionBox: true,
55
+ selectNodeOnMoved: false,
56
+ multipleSelectionModifiers: 'ctrl'
50
57
  },
51
58
  keyboard: {
52
59
  enabled: true
@@ -129,6 +136,10 @@ var DPGraph = /*#__PURE__*/function (_GraphCore) {
129
136
  pageBreak: false,
130
137
  pannable: true
131
138
  },
139
+ clipboard: {
140
+ enabled: true,
141
+ useLocalStorage: true
142
+ },
132
143
  highlighting: {
133
144
  nodeAvailable: {
134
145
  name: 'className',
@@ -720,6 +731,78 @@ var DPGraph = /*#__PURE__*/function (_GraphCore) {
720
731
  value: function onContextMenu(data) {
721
732
  this.factory$.contextMenuInfo.next(data);
722
733
  }
734
+ }, {
735
+ key: "onAddCopyCells",
736
+ value: function onAddCopyCells(nodes, edges) {
737
+ var _this2 = this,
738
+ _this$graph;
739
+ var cells = [];
740
+ var randomId = guid().substring(0, 4);
741
+ nodes.map(function (cell) {
742
+ var _node = cell.getData();
743
+ _node = _objectSpread(_objectSpread({}, _node), {}, {
744
+ id: "".concat(_node.id, "_copy_").concat(randomId),
745
+ x: _node.x + 30,
746
+ y: _node.y + 30
747
+ });
748
+ _this2.updateDPGraph([_node]);
749
+ var newNode = formatNodeInfoToNodeMeta(_node);
750
+ _this2.addNode(newNode);
751
+ });
752
+ edges.map(function (cell) {
753
+ var _edge = cell.getData();
754
+ _edge = _objectSpread(_objectSpread({}, _edge), {}, {
755
+ source: "".concat(_edge.source, "_copy_").concat(randomId),
756
+ target: "".concat(_edge.target, "_copy_").concat(randomId)
757
+ });
758
+ _this2.updateDPGraph([], [_edge]);
759
+ var newEdge = formattedEdgesToEdgeMeta(_edge);
760
+ _this2.addEdge(newEdge);
761
+ });
762
+ (_this$graph = this.graph) === null || _this$graph === void 0 ? void 0 : _this$graph.cleanClipboard();
763
+ // 回显选中复制的之后的节点
764
+ nodes.map(function (cell) {
765
+ var _this2$graph;
766
+ var _node = cell.getData();
767
+ var _cell = (_this2$graph = _this2.graph) === null || _this2$graph === void 0 ? void 0 : _this2$graph.getCellById("".concat(_node.id, "_copy_").concat(randomId));
768
+ cells.push(_cell);
769
+ });
770
+ this.graph.cleanSelection();
771
+ this.graph.select(cells);
772
+ }
773
+ }, {
774
+ key: "onCopyNodes",
775
+ value: function onCopyNodes(args) {
776
+ var _args11 = _slicedToArray(args, 2),
777
+ action = _args11[1];
778
+ var selectedCells = this.graph.getSelectedCells();
779
+ switch (action) {
780
+ case 'command+c':
781
+ case 'ctrl+c':
782
+ this.graph.copy(selectedCells, {
783
+ useLocalStorage: true
784
+ });
785
+ _message.success(tr('复制成功'));
786
+ break;
787
+ case 'command+v':
788
+ case 'ctrl+v':
789
+ if (this.graph.isClipboardEmpty()) {
790
+ _message.info(tr('剪切板为空,不可粘贴'));
791
+ } else {
792
+ var clipboardCells = this.graph.getCellsInClipboard();
793
+ var selectedNodes = clipboardCells.filter(function (cell) {
794
+ return cell.isNode();
795
+ });
796
+ var selectedEdges = clipboardCells.filter(function (cell) {
797
+ return cell.isEdge();
798
+ });
799
+ this.onAddCopyCells(selectedNodes, selectedEdges);
800
+ _message.success(tr('粘贴成功'));
801
+ }
802
+ break;
803
+ default:
804
+ }
805
+ }
723
806
  // 通过id更新名称
724
807
  }, {
725
808
  key: "updateNodeNameById",
@@ -751,7 +834,7 @@ var DPGraph = /*#__PURE__*/function (_GraphCore) {
751
834
  key: "onMoveNodes",
752
835
  value: function () {
753
836
  var _onMoveNodes = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee11(movedNodes) {
754
- var _this2 = this;
837
+ var _this3 = this;
755
838
  var targetNodes, newPos, oldGraph, newGraph;
756
839
  return _regeneratorRuntime.wrap(function _callee11$(_context11) {
757
840
  while (1) switch (_context11.prev = _context11.next) {
@@ -767,7 +850,7 @@ var DPGraph = /*#__PURE__*/function (_GraphCore) {
767
850
  var x = current.x,
768
851
  y = current.y;
769
852
  var id = node.id;
770
- _this2.updateNodeById(id, function (node) {
853
+ _this3.updateNodeById(id, function (node) {
771
854
  node.setData({
772
855
  x: x,
773
856
  y: y
@@ -15,6 +15,10 @@ interface IDynamicPortsProps {
15
15
  * 更新节点名称
16
16
  */
17
17
  isUpdateNodeName?: boolean;
18
+ /**
19
+ * 是否支持框选
20
+ */
21
+ isSelection?: boolean;
18
22
  /**
19
23
  * 图更新事件
20
24
  */
@@ -3,7 +3,7 @@ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
3
  /*
4
4
  * @Author: wangxian
5
5
  * @Date: 2022-05-16 18:53:31
6
- * @LastEditTime: 2023-09-15 16:12:26
6
+ * @LastEditTime: 2023-11-30 10:25:51
7
7
  */
8
8
  import React from 'react';
9
9
  import { filter } from 'rxjs';
@@ -18,6 +18,7 @@ import ContextMenu from './comps/ContextMenu';
18
18
  import { GraphHandler } from './comps/GraphHandler';
19
19
  var DynamicPorts = function DynamicPorts(props) {
20
20
  var defaultValue = props.defaultValue,
21
+ isSelection = props.isSelection,
21
22
  _props$dispose = props.dispose,
22
23
  dispose = _props$dispose === void 0 ? true : _props$dispose,
23
24
  isUpdateNodeName = props.isUpdateNodeName,
@@ -82,6 +83,12 @@ var DynamicPorts = function DynamicPorts(props) {
82
83
  firstLoadRef.current = false;
83
84
  }
84
85
  }, [defaultValue]);
86
+ React.useEffect(function () {
87
+ if (isSelection && dpGraph) {
88
+ var _dpGraphRef$current3, _dpGraphRef$current3$;
89
+ dpGraphRef.current.isGraphReady() && ((_dpGraphRef$current3 = dpGraphRef.current) === null || _dpGraphRef$current3 === void 0 ? void 0 : (_dpGraphRef$current3$ = _dpGraphRef$current3.graph) === null || _dpGraphRef$current3$ === void 0 ? void 0 : _dpGraphRef$current3$.enableMultipleSelection());
90
+ }
91
+ }, [isSelection, dpGraph]);
85
92
  React.useEffect(function () {
86
93
  if (dpGraph) {
87
94
  dpGraphRef.current.factory$.isUpdateNodeName.next(isUpdateNodeName);
@@ -130,6 +137,9 @@ var DynamicPorts = function DynamicPorts(props) {
130
137
  case 'real':
131
138
  dpGraphRef.current.zoomGraphRealSize();
132
139
  break;
140
+ case 'selection':
141
+ dpGraphRef.current.toggleSelectionEnabled();
142
+ break;
133
143
  default:
134
144
  }
135
145
  }
@@ -151,7 +161,8 @@ var DynamicPorts = function DynamicPorts(props) {
151
161
  onZoomIn: onHandleSideToolbar('in'),
152
162
  onZoomOut: onHandleSideToolbar('out'),
153
163
  onFitContent: onHandleSideToolbar('fit'),
154
- onRealContent: onHandleSideToolbar('real')
164
+ onRealContent: onHandleSideToolbar('real'),
165
+ onToggleSelectionEnabled: isSelection ? onHandleSideToolbar('selection') : undefined
155
166
  }), /*#__PURE__*/React.createElement("div", {
156
167
  style: {
157
168
  height: '100%',
@@ -39,6 +39,42 @@ export declare function formatNodeInfoToNodeMeta(nodeData: NDPGraph.Node, inputP
39
39
  outPorts: NDPGraph.OutPort[];
40
40
  param?: NDPGraph.Param;
41
41
  };
42
+ export declare function formattedEdgesToEdgeMeta(edge: NDPGraph.Edge): {
43
+ data: {
44
+ source: string;
45
+ target: string;
46
+ outPortId: string;
47
+ inPortId: string;
48
+ color?: string;
49
+ };
50
+ sourceAnchor: string;
51
+ source: {
52
+ cell: string;
53
+ port: string;
54
+ anchor: {
55
+ name: string;
56
+ };
57
+ };
58
+ target: {
59
+ cell: string;
60
+ port: string;
61
+ anchor: {
62
+ name: string;
63
+ };
64
+ };
65
+ label: string;
66
+ zIndex: number;
67
+ attrs: {
68
+ line: {
69
+ strokeDasharray: string;
70
+ targetMarker: string;
71
+ stroke: string;
72
+ };
73
+ };
74
+ outPortId: string;
75
+ inPortId: string;
76
+ color?: string;
77
+ };
42
78
  /**
43
79
  * 将暴露给接口的图信息转换可渲染的结图结构信息
44
80
  * @returns
@@ -3,7 +3,7 @@ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
3
3
  /*
4
4
  * @Author: wangxian
5
5
  * @Date: 2022-05-24 16:40:49
6
- * @LastEditTime: 2023-07-03 16:31:06
6
+ * @LastEditTime: 2023-11-30 14:07:43
7
7
  */
8
8
  import { sortBy } from 'lodash-es';
9
9
  import { NODE_HEIGHT, NODE_WIDTH } from './constant';
@@ -73,6 +73,40 @@ export function formatNodeInfoToNodeMeta(nodeData) {
73
73
  zIndex: 10
74
74
  });
75
75
  }
76
+ export function formattedEdgesToEdgeMeta(edge) {
77
+ var source = edge.source,
78
+ outPortId = edge.outPortId,
79
+ target = edge.target,
80
+ inPortId = edge.inPortId,
81
+ color = edge.color;
82
+ return _objectSpread(_objectSpread({}, edge), {}, {
83
+ data: _objectSpread({}, edge),
84
+ sourceAnchor: 'bottom',
85
+ source: {
86
+ cell: source.toString(),
87
+ port: outPortId.toString(),
88
+ anchor: {
89
+ name: 'bottom'
90
+ }
91
+ },
92
+ target: {
93
+ cell: target.toString(),
94
+ port: inPortId.toString(),
95
+ anchor: {
96
+ name: 'center'
97
+ }
98
+ },
99
+ label: '',
100
+ zIndex: 9,
101
+ attrs: {
102
+ line: {
103
+ strokeDasharray: '',
104
+ targetMarker: '',
105
+ stroke: color || '#808080'
106
+ }
107
+ }
108
+ });
109
+ }
76
110
  /**
77
111
  * 将暴露给接口的图信息转换可渲染的结图结构信息
78
112
  * @returns
@@ -84,38 +118,7 @@ export function formatGraphData(graphData) {
84
118
  edges = _graphData$edges === void 0 ? [] : _graphData$edges;
85
119
  // 格式化边
86
120
  var formattedEdges = edges.map(function (edge) {
87
- var source = edge.source,
88
- outPortId = edge.outPortId,
89
- target = edge.target,
90
- inPortId = edge.inPortId,
91
- color = edge.color;
92
- return _objectSpread(_objectSpread({}, edge), {}, {
93
- data: _objectSpread({}, edge),
94
- sourceAnchor: 'bottom',
95
- source: {
96
- cell: source.toString(),
97
- port: outPortId.toString(),
98
- anchor: {
99
- name: 'bottom'
100
- }
101
- },
102
- target: {
103
- cell: target.toString(),
104
- port: inPortId.toString(),
105
- anchor: {
106
- name: 'center'
107
- }
108
- },
109
- label: '',
110
- zIndex: 1,
111
- attrs: {
112
- line: {
113
- strokeDasharray: '',
114
- targetMarker: '',
115
- stroke: color || '#808080'
116
- }
117
- }
118
- });
121
+ return formattedEdgesToEdgeMeta(edge);
119
122
  });
120
123
  // 记录所有已连线的输入桩
121
124
  var inputPortConnectedMap = formattedEdges.reduce(function (acc, edge) {
@@ -5,7 +5,7 @@ import _Input from "antd/es/input";
5
5
  /*
6
6
  * @Author: wangxian
7
7
  * @Date: 2022-03-04 14:53:50
8
- * @LastEditTime: 2022-09-29 16:44:52
8
+ * @LastEditTime: 2023-12-04 14:28:37
9
9
  */
10
10
  import React from 'react';
11
11
  import { EditableContext } from '../interface';
@@ -38,6 +38,7 @@ function Index(props) {
38
38
  }
39
39
  }, /*#__PURE__*/React.createElement(_Input, {
40
40
  ref: inputRef,
41
+ title: props === null || props === void 0 ? void 0 : props.record[dataIndex],
41
42
  size: "small",
42
43
  disabled: editConfig.type === 'edit' ? disabled : false
43
44
  }));
@@ -49,8 +49,10 @@ export declare class GraphCore<N extends Node<Node.Properties> = Node<Node.Prope
49
49
  validateContextMenu(data: ContextMenuInfo): boolean;
50
50
  onContextMenu(data: ContextMenuInfo): any;
51
51
  zoom: (factor: number | 'fit' | 'real') => void;
52
+ toggleSelectionEnabled: (enabled?: boolean) => void;
52
53
  onMoveNodeStart(args: any): void;
53
54
  onMoveNodes(args: any[]): void;
55
+ onCopyNodes(args: any[]): void;
54
56
  addNode: (nodeMeta: any) => N;
55
57
  getNodes: () => N[];
56
58
  addEdge: (edgeMeta: any) => E;
@@ -6,7 +6,7 @@ var _excluded = ["wrapper", "container", "nodes", "edges"];
6
6
  /*
7
7
  * @Author: wangxian
8
8
  * @Date: 2022-05-24 13:55:44
9
- * @LastEditTime: 2023-09-20 08:04:16
9
+ * @LastEditTime: 2023-11-30 14:12:37
10
10
  */
11
11
  import { Graph } from '@antv/x6';
12
12
  import { debounceTime, fromEventPattern, map, merge, scan, tap } from 'rxjs';
@@ -52,6 +52,20 @@ export var GraphCore = /*#__PURE__*/function () {
52
52
  (_this$graph4 = _this.graph) === null || _this$graph4 === void 0 ? void 0 : _this$graph4.centerContent();
53
53
  }
54
54
  };
55
+ // 切换可框选模式
56
+ this.toggleSelectionEnabled = function (enabled) {
57
+ var graph = _this.graph;
58
+ if (graph) {
59
+ var needEnableRubberBand = typeof enabled === 'undefined' ? !graph.isRubberbandEnabled() : enabled;
60
+ if (needEnableRubberBand) {
61
+ graph.enableRubberband();
62
+ graph.disablePanning();
63
+ } else {
64
+ graph.disableRubberband();
65
+ graph.enablePanning();
66
+ }
67
+ }
68
+ };
55
69
  /* 以下为主动触发的方法 */
56
70
  this.addNode = function (nodeMeta) {
57
71
  var _this$nodeMetas;
@@ -324,6 +338,14 @@ export var GraphCore = /*#__PURE__*/function () {
324
338
  })).subscribe(function (movedNodes) {
325
339
  _this2.onMoveNodes(movedNodes);
326
340
  });
341
+ // 处理节点复制事件
342
+ this.factorySub.copyNode = fromEventPattern(function (handler) {
343
+ _this2.graph.bindKey(['command+c', 'ctrl+c', 'command+v', 'ctrl+v'], handler);
344
+ }, function () {
345
+ _this2.graph.unbindKey(['command+c', 'ctrl+c', 'command+v', 'ctrl+v']);
346
+ }).subscribe(function (args) {
347
+ _this2.onCopyNodes(args);
348
+ });
327
349
  }
328
350
  // 渲染
329
351
  }, {
@@ -340,8 +362,7 @@ export var GraphCore = /*#__PURE__*/function () {
340
362
  var height = wrapper.clientHeight;
341
363
  var graph = new Graph(_objectSpread(_objectSpread({}, options), {}, {
342
364
  width: width,
343
- height: height,
344
- snapline: true
365
+ height: height
345
366
  }));
346
367
  this.graph = graph;
347
368
  nodeMetas.forEach(function (nodeMeta) {
@@ -424,15 +445,21 @@ export var GraphCore = /*#__PURE__*/function () {
424
445
  value: function onMoveNodes(args) {
425
446
  if (process.env.NODE_ENV === 'development') {}
426
447
  }
448
+ }, {
449
+ key: "onCopyNodes",
450
+ value: function onCopyNodes(args) {
451
+ if (process.env.NODE_ENV === 'development') {}
452
+ }
427
453
  }, {
428
454
  key: "dispose",
429
455
  value:
430
456
  // 注销
431
457
  function dispose() {
432
- var _this$factorySub$conn, _this$factorySub$move, _this$factorySub$sele;
458
+ var _this$factorySub$conn, _this$factorySub$move, _this$factorySub$sele, _this$factorySub$copy;
433
459
  (_this$factorySub$conn = this.factorySub.connectNode) === null || _this$factorySub$conn === void 0 ? void 0 : _this$factorySub$conn.unsubscribe();
434
460
  (_this$factorySub$move = this.factorySub.moveNodes) === null || _this$factorySub$move === void 0 ? void 0 : _this$factorySub$move.unsubscribe();
435
461
  (_this$factorySub$sele = this.factorySub.selectNode) === null || _this$factorySub$sele === void 0 ? void 0 : _this$factorySub$sele.unsubscribe();
462
+ (_this$factorySub$copy = this.factorySub.copyNode) === null || _this$factorySub$copy === void 0 ? void 0 : _this$factorySub$copy.unsubscribe();
436
463
  // ! 这一步要注意放在图的事件订阅都取消了之后
437
464
  if (this.wrapper) {
438
465
  var _this$graph11;
@@ -3,10 +3,10 @@
3
3
  height: 100%;
4
4
  }
5
5
 
6
- .x6-widget-selection-inner {
7
- border: none !important;
8
- box-shadow: none !important;
9
- }
6
+ // .x6-widget-selection-inner {
7
+ // border: none !important;
8
+ // box-shadow: none !important;
9
+ // }
10
10
 
11
11
  .x6-widget-selection-box {
12
12
  border: none !important;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "public": true,
3
3
  "name": "ronds-metadata",
4
- "version": "1.3.24",
4
+ "version": "1.3.25",
5
5
  "scripts": {
6
6
  "start": "dumi dev",
7
7
  "docs:build": "dumi build",