Skip to content

Commit a5f3df7

Browse files
authored
Merge pull request #1684 from jile1997/fix
fix: 修复节点粘贴导致输入框粘贴失效
2 parents 895fc34 + 3b6969e commit a5f3df7

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,
@@ -121,15 +121,28 @@ const XFlow: FC<FlowProps> = memo(props => {
121121
if ((e.key === 's' || e.key === 'S') && (e.ctrlKey || e.metaKey))
122122
e.preventDefault();
123123
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+
}
128137
}
138+
129139
}
130140
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+
}
133146
}
134147
else if (copyNodes.length > 0) {
135148
// 只在有复制节点时才检查其他操作

0 commit comments

Comments
 (0)