From ea5cc1f53cb15ae10fe4f63d60152b7fd674197c Mon Sep 17 00:00:00 2001 From: Nick O'Leary Date: Thu, 4 Dec 2025 14:35:22 +0000 Subject: [PATCH] Fix touchmove event handling for panning workspace --- .../@node-red/editor-client/src/js/ui/view.js | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 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 4aa9bc128..09c1779ef 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 @@ -2150,24 +2150,27 @@ RED.view = (function() { function startPanning () { } - window.addEventListener('mousemove', function (event) { + window.addEventListener('mousemove', windowMouseMove) + window.addEventListener('touchmove', windowMouseMove) + + function windowMouseMove (event) { if (mouse_mode === RED.state.PANNING) { - var pos = [event.pageX, event.pageY]; - // if (d3.event.touches) { - // var touch0 = d3.event.touches.item(0); - // pos = [touch0.pageX, touch0.pageY]; - // } - var deltaPos = [ + let pos = [event.pageX, event.pageY] + if (event.touches) { + let touch0 = event.touches.item(0) + pos = [touch0.pageX, touch0.pageY] + } + const deltaPos = [ mouse_position[0]-pos[0], mouse_position[1]-pos[1] - ]; - + ] chart.scrollLeft(scroll_position[0]+deltaPos[0]) chart.scrollTop(scroll_position[1]+deltaPos[1]) RED.events.emit("view:navigate"); return } - }) + } + function canvasMouseMove() { var i; var node;