From da24e83f64607af940af187d8a3d63ced50c2a6f Mon Sep 17 00:00:00 2001 From: Dominik Csapak Date: Wed, 23 Feb 2022 12:05:06 +0100 Subject: [PATCH] fix drag&drop for pointerType 'pen' some devices (e.g. vms via novnc, and some laptops) get the pointerType 'pen' under chromium. the DragZone handler tries to ignore touch input for that by checking for "=== 'mouse'" which does not include 'pen' so override that to handle it when the pointerType !== 'touch' Signed-off-by: Dominik Csapak --- src/Toolkit.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/Toolkit.js b/src/Toolkit.js index 6fd6738..fd13b26 100644 --- a/src/Toolkit.js +++ b/src/Toolkit.js @@ -685,6 +685,19 @@ Ext.define('Proxmox.Component', { clearPropertiesOnDestroy: false, }); +// Fix drag&drop for vms and desktops that detect 'pen' pointerType +Ext.define('Proxmox.view.DragZone', { + override: 'Ext.view.DragZone', + + onItemMouseDown: function(view, record, item, index, e) { + // Ignore touchstart. + // For touch events, we use longpress. + if (e.pointerType !== 'touch') { + this.onTriggerGesture(view, record, item, index, e); + } + }, +}); + // force alert boxes to be rendered with an Error Icon // since Ext.Msg is an object and not a prototype, we need to override it // after the framework has been initiated -- 2.39.2