From 043556d1113022210bb5c7972a967d0b1466da2a Mon Sep 17 00:00:00 2001 From: Attila Hajdrik Date: Fri, 4 May 2018 13:38:20 -0700 Subject: [PATCH] Add support for pointer events Change oncontextmenu event from pointerevent to mouseevent (based on MDN docs) - it --- .../src/Rendering/EventForDotNet.ts | 16 +++++++++++++--- .../Components/EventHandlers.cs | 16 +++++++++++++--- 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/src/Microsoft.AspNetCore.Blazor.Browser.JS/src/Rendering/EventForDotNet.ts b/src/Microsoft.AspNetCore.Blazor.Browser.JS/src/Rendering/EventForDotNet.ts index ec20c7003d..8d273fd045 100644 --- a/src/Microsoft.AspNetCore.Blazor.Browser.JS/src/Rendering/EventForDotNet.ts +++ b/src/Microsoft.AspNetCore.Blazor.Browser.JS/src/Rendering/EventForDotNet.ts @@ -40,6 +40,7 @@ case 'keypress': return new EventForDotNet('keyboard', { Type: event.type, Key: (event as any).key }); + case 'contextmenu': case 'click': case 'mouseover': case 'mouseout': @@ -49,9 +50,6 @@ case 'dblclick': return new EventForDotNet('mouse', { Type: event.type }); - case 'contextmenu': - return new EventForDotNet('pointer', { Type: event.type }); - case 'progress': return new EventForDotNet('progress', { Type: event.type }); @@ -61,6 +59,18 @@ case 'touchstart': return new EventForDotNet('touch', { Type: event.type }); + case 'gotpointercapture': + case 'lostpointercapture': + case 'pointercancel': + case 'pointerdown': + case 'pointerenter': + case 'pointerleave': + case 'pointermove': + case 'pointerout': + case 'pointerover': + case 'pointerup': + return new EventForDotNet('pointer', { Type: event.type }); + case 'mousewheel': return new EventForDotNet('wheel', { Type: event.type }); diff --git a/src/Microsoft.AspNetCore.Blazor/Components/EventHandlers.cs b/src/Microsoft.AspNetCore.Blazor/Components/EventHandlers.cs index 6e050b6ed2..3e3c2f32c6 100644 --- a/src/Microsoft.AspNetCore.Blazor/Components/EventHandlers.cs +++ b/src/Microsoft.AspNetCore.Blazor/Components/EventHandlers.cs @@ -25,6 +25,7 @@ namespace Microsoft.AspNetCore.Blazor.Components [EventHandler("onclick", typeof(UIMouseEventArgs))] [EventHandler("ondblclick", typeof(UIMouseEventArgs))] [EventHandler("onmousewheel", typeof(UIWheelEventArgs))] + [EventHandler("oncontextmenu", typeof(UIMouseEventArgs))] // Drag events [EventHandler("ondrag", typeof(UIDragEventArgs))] @@ -40,9 +41,6 @@ namespace Microsoft.AspNetCore.Blazor.Components [EventHandler("onkeyup", typeof(UIKeyboardEventArgs))] [EventHandler("onkeypress", typeof(UIKeyboardEventArgs))] - // Pointer events - [EventHandler("oncontextmenu", typeof(UIPointerEventArgs))] - // Input events [EventHandler("onchange", typeof(UIChangeEventArgs))] [EventHandler("oninput", typeof(UIEventArgs))] @@ -67,6 +65,18 @@ namespace Microsoft.AspNetCore.Blazor.Components [EventHandler("ontouchmove", typeof(UITouchEventArgs))] [EventHandler("ontouchstart", typeof(UITouchEventArgs))] + // Pointer events + [EventHandler("gotpointercapture", typeof(UIPointerEventArgs))] + [EventHandler("lostpointercapture", typeof(UIPointerEventArgs))] + [EventHandler("pointercancel", typeof(UIPointerEventArgs))] + [EventHandler("pointerdown", typeof(UIPointerEventArgs))] + [EventHandler("pointerenter", typeof(UIPointerEventArgs))] + [EventHandler("pointerleave", typeof(UIPointerEventArgs))] + [EventHandler("pointermove", typeof(UIPointerEventArgs))] + [EventHandler("pointerout", typeof(UIPointerEventArgs))] + [EventHandler("pointerover", typeof(UIPointerEventArgs))] + [EventHandler("pointerup", typeof(UIPointerEventArgs))] + // Media events [EventHandler("oncanplay", typeof(UIEventArgs))] [EventHandler("oncanplaythrough", typeof(UIEventArgs))]