From c5c1b375ec097f7cc2bda25794ffb9288cc51f4f Mon Sep 17 00:00:00 2001 From: Ryan Nowak Date: Tue, 5 Jun 2018 08:19:39 -0700 Subject: [PATCH] Add more properties --- .../src/Rendering/EventForDotNet.ts | 21 ++++++++++++++++++- .../UIEventArgs.cs | 19 +++++++++++++++++ 2 files changed, 39 insertions(+), 1 deletion(-) 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 985017a908..fde7fdc1a2 100644 --- a/src/Microsoft.AspNetCore.Blazor.Browser.JS/src/Rendering/EventForDotNet.ts +++ b/src/Microsoft.AspNetCore.Blazor.Browser.JS/src/Rendering/EventForDotNet.ts @@ -47,12 +47,14 @@ export class EventForDotNet { case 'dblclick': return new EventForDotNet('mouse', parseMouseEvent(event)); + case 'error': + return new EventForDotNet('error', parseErrorEvent(event)); + case 'loadstart': case 'timeout': case 'abort': case 'load': case 'loadend': - case 'error': case 'progress': return new EventForDotNet('progress', parseProgressEvent(event)); @@ -114,6 +116,16 @@ function parseWheelEvent(event: WheelEvent) { }; } +function parseErrorEvent(event: ErrorEvent) { + return { + type: event.type, + message: event.message, + filename: event.filename, + lineno: event.lineno, + colno: event.colno + } +} + function parseProgressEvent(event: ProgressEvent) { return { type: event.type, @@ -249,6 +261,13 @@ interface UIDataTransferItem { } interface UIErrorEventArgs extends UIEventArgs { + message: string; + filename: string; + lineno: number; + colno: number; + + // omitting 'error' here since we'd have to serialize it, and it's not clear we will want to + // do that. https://developer.mozilla.org/en-US/docs/Web/API/ErrorEvent } interface UIFocusEventArgs extends UIEventArgs { diff --git a/src/Microsoft.AspNetCore.Blazor/UIEventArgs.cs b/src/Microsoft.AspNetCore.Blazor/UIEventArgs.cs index c0b2435d4c..f66541ecda 100644 --- a/src/Microsoft.AspNetCore.Blazor/UIEventArgs.cs +++ b/src/Microsoft.AspNetCore.Blazor/UIEventArgs.cs @@ -170,6 +170,25 @@ namespace Microsoft.AspNetCore.Blazor /// public class UIErrorEventArgs : UIEventArgs { + /// + /// Gets a a human-readable error message describing the problem. + /// + public string Message { get; set; } + + /// + /// Gets the name of the script file in which the error occurred. + /// + public string Filename { get; set; } + + /// + /// Gets the line number of the script file on which the error occurred. + /// + public int Lineno { get; set; } + + /// + /// Gets the column number of the script file on which the error occurred. + /// + public int Colno { get; set; } } ///