File tree Expand file tree Collapse file tree 1 file changed +20
-7
lines changed Expand file tree Collapse file tree 1 file changed +20
-7
lines changed Original file line number Diff line number Diff line change 8
8
import '@xyflow/react/dist/style.css' ;
9
9
import { useEventListener , useMemoizedFn } from 'ahooks' ;
10
10
import { produce , setAutoFreeze } from 'immer' ;
11
- import { debounce , isFunction } from 'lodash' ;
11
+ import { debounce , get , isFunction } from 'lodash' ;
12
12
import type { FC } from 'react' ;
13
13
import React , {
14
14
memo ,
@@ -115,15 +115,28 @@ const XFlow: FC<FlowProps> = memo(props => {
115
115
if ( ( e . key === 's' || e . key === 'S' ) && ( e . ctrlKey || e . metaKey ) )
116
116
e . preventDefault ( ) ;
117
117
if ( ( e . key === 'c' || e . key === 'C' ) && ( e . ctrlKey || e . metaKey ) ) {
118
- const selectedNode = nodes ?. find ( node => node . selected ) ;
119
- if ( selectedNode ) {
120
- copyNode ( selectedNode . id ) ;
121
- e . preventDefault ( ) ;
118
+ if ( openPanel ) {
119
+ } else {
120
+ const selectedNode = nodes ?. find ( node => node . selected ) ;
121
+ if ( selectedNode ) {
122
+ const nodeType :string = get ( selectedNode , 'data._nodeType' , '' ) as any
123
+ const disabledCopy = get ( settingMap , [ nodeType , 'disabledCopy' ] , false )
124
+ if ( ! disabledCopy ) {
125
+ copyNode ( selectedNode . id ) ;
126
+ e . preventDefault ( ) ;
127
+ } else {
128
+ message . warning ( '该节点在配置中已禁止被复制!' )
129
+ }
130
+ }
122
131
}
132
+
123
133
}
124
134
else if ( ( e . key === 'v' || e . key === 'V' ) && ( e . ctrlKey || e . metaKey ) ) {
125
- pasteNodeSimple ( ) ;
126
- e . preventDefault ( ) ;
135
+ if ( openPanel ) {
136
+ } else {
137
+ pasteNodeSimple ( ) ;
138
+ e . preventDefault ( ) ;
139
+ }
127
140
}
128
141
} ) ;
129
142
You can’t perform that action at this time.
0 commit comments