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 <d.csapak@proxmox.com>
This commit is contained in:
Dominik Csapak 2022-02-23 12:05:06 +01:00 committed by Thomas Lamprecht
parent 4f5e2bd12b
commit da24e83f64

View File

@ -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