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:
@@ -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,
|
nodeRef,
|
||||||
});
|
});
|
||||||
} else if (isDraggable && node.selected && Object.prototype.hasOwnProperty.call(arrowKeyDiffs, event.key)) {
|
} 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({
|
store.setState({
|
||||||
ariaLiveMessage: `Moved selected node ${event.key
|
ariaLiveMessage: `Moved selected node ${event.key
|
||||||
.replace('Arrow', '')
|
.replace('Arrow', '')
|
||||||
|
|||||||
@@ -68,6 +68,8 @@ export function NodesSelection<NodeType extends Node>({
|
|||||||
|
|
||||||
const onKeyDown = (event: KeyboardEvent) => {
|
const onKeyDown = (event: KeyboardEvent) => {
|
||||||
if (Object.prototype.hasOwnProperty.call(arrowKeyDiffs, event.key)) {
|
if (Object.prototype.hasOwnProperty.call(arrowKeyDiffs, event.key)) {
|
||||||
|
event.preventDefault();
|
||||||
|
|
||||||
moveSelectedNodes({
|
moveSelectedNodes({
|
||||||
direction: arrowKeyDiffs[event.key],
|
direction: arrowKeyDiffs[event.key],
|
||||||
factor: event.shiftKey ? 4 : 1,
|
factor: event.shiftKey ? 4 : 1,
|
||||||
|
|||||||
Reference in New Issue
Block a user