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 ,
@@ -121,15 +121,28 @@ const XFlow: FC<FlowProps> = memo(props => {
121
121
if ( ( e . key === 's' || e . key === 'S' ) && ( e . ctrlKey || e . metaKey ) )
122
122
e . preventDefault ( ) ;
123
123
if ( ( e . key === 'c' || e . key === 'C' ) && ( e . ctrlKey || e . metaKey ) ) {
124
- const selectedNode = nodes ?. find ( node => node . selected ) ;
125
- if ( selectedNode ) {
126
- copyNode ( selectedNode . id ) ;
127
- e . preventDefault ( ) ;
124
+ if ( openPanel ) {
125
+ } else {
126
+ const selectedNode = nodes ?. find ( node => node . selected ) ;
127
+ if ( selectedNode ) {
128
+ const nodeType :string = get ( selectedNode , 'data._nodeType' , '' ) as any
129
+ const disabledCopy = get ( settingMap , [ nodeType , 'disabledCopy' ] , false )
130
+ if ( ! disabledCopy ) {
131
+ copyNode ( selectedNode . id ) ;
132
+ e . preventDefault ( ) ;
133
+ } else {
134
+ message . warning ( '该节点在配置中已禁止被复制!' )
135
+ }
136
+ }
128
137
}
138
+
129
139
}
130
140
else if ( ( e . key === 'v' || e . key === 'V' ) && ( e . ctrlKey || e . metaKey ) ) {
131
- pasteNodeSimple ( ) ;
132
- e . preventDefault ( ) ;
141
+ if ( openPanel ) {
142
+ } else {
143
+ pasteNodeSimple ( ) ;
144
+ e . preventDefault ( ) ;
145
+ }
133
146
}
134
147
else if ( copyNodes . length > 0 ) {
135
148
// 只在有复制节点时才检查其他操作
You can’t perform that action at this time.
0 commit comments