From 3bbdc7730054de2ff5b1c6ab02ec01dd061b2f05 Mon Sep 17 00:00:00 2001 From: Nick O'Leary Date: Mon, 20 Oct 2025 13:15:37 +0100 Subject: [PATCH] Fix up space-to-pan event handling --- .../@node-red/editor-client/src/js/ui/view.js | 162 ++++++++++-------- 1 file changed, 94 insertions(+), 68 deletions(-) diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/view.js b/packages/node_modules/@node-red/editor-client/src/js/ui/view.js index 5ac2bdb76..baf605e0d 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/view.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/view.js @@ -398,8 +398,9 @@ RED.view = (function() { lasso.remove(); lasso = null; } - } else if (mouse_mode === RED.state.PANNING && d3.event.buttons !== 4) { - resetMouseVars(); + } else if (mouse_mode === RED.state.PANNING) { + // ensure the cursor is set to grab when re-entering the canvas while panning + outer.style('cursor', 'grabbing'); } else if (slicePath) { if (d3.event.buttons !== 2) { slicePath.remove(); @@ -597,9 +598,9 @@ RED.view = (function() { } d3.event.preventDefault(); }); - - - const handleAltToggle = (event) => { + + const handleChartKeyboardEvents = (event) => { + // Handle Alt toggle for pulling nodes out of groups if (mouse_mode === RED.state.MOVING_ACTIVE && event.key === 'Alt' && groupAddParentGroup) { RED.nodes.group(groupAddParentGroup).dirty = true for (let n = 0; n