Skip to content

Commit 3b6969e

Browse files
committed
fix: 修复节点粘贴导致输入框粘贴失效
1 parent 5de3466 commit 3b6969e

File tree

1 file changed

+20
-7
lines changed

1 file changed

+20
-7
lines changed

packages/x-flow/src/XFlow.tsx

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import {
88
import '@xyflow/react/dist/style.css';
99
import { useEventListener, useMemoizedFn } from 'ahooks';
1010
import { produce, setAutoFreeze } from 'immer';
11-
import { debounce, isFunction } from 'lodash';
11+
import { debounce, get, isFunction } from 'lodash';
1212
import type { FC } from 'react';
1313
import React, {
1414
memo,
@@ -115,15 +115,28 @@ const XFlow: FC<FlowProps> = memo(props => {
115115
if ((e.key === 's' || e.key === 'S') && (e.ctrlKey || e.metaKey))
116116
e.preventDefault();
117117
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+
}
122131
}
132+
123133
}
124134
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+
}
127140
}
128141
});
129142

0 commit comments

Comments
 (0)