Merge pull request #4862 from bcakmakoglu/fix/arrow-move

fix(react): prevent default scrolling behavior when node is moved with arrow keypress
This commit is contained in:
Moritz Klack
2024-12-04 10:36:32 +01:00
committed by GitHub
3 changed files with 10 additions and 0 deletions
+5
View File
@@ -0,0 +1,5 @@
---
'@xyflow/react': patch
---
Prevent default scrolling behavior when nodes or a selection is moved with an arrow key press.
@@ -138,6 +138,9 @@ export function NodeWrapper<NodeType extends Node>({
nodeRef,
});
} else if (isDraggable && node.selected && Object.prototype.hasOwnProperty.call(arrowKeyDiffs, event.key)) {
// prevent default scrolling behavior on arrow key press when node is moved
event.preventDefault();
store.setState({
ariaLiveMessage: `Moved selected node ${event.key
.replace('Arrow', '')
@@ -68,6 +68,8 @@ export function NodesSelection<NodeType extends Node>({
const onKeyDown = (event: KeyboardEvent) => {
if (Object.prototype.hasOwnProperty.call(arrowKeyDiffs, event.key)) {
event.preventDefault();
moveSelectedNodes({
direction: arrowKeyDiffs[event.key],
factor: event.shiftKey ? 4 : 1,