diff --git a/src/Web/Avalonia.Web.Blazor/AvaloniaView.razor b/src/Web/Avalonia.Web.Blazor/AvaloniaView.razor index 0d91fc61a8..584c77a62c 100644 --- a/src/Web/Avalonia.Web.Blazor/AvaloniaView.razor +++ b/src/Web/Avalonia.Web.Blazor/AvaloniaView.razor @@ -1,4 +1,8 @@ 
? AdditionalAttributes { get; set; } - protected override async Task OnAfterRenderAsync(bool firstRender) + protected override void OnAfterRender(bool firstRender) { if (firstRender) { @@ -290,8 +347,6 @@ namespace Avalonia.Web.Blazor public void SetActive(bool active) { - Console.WriteLine($"focus input box. {active}"); - _inputHelper.Clear(); if (active) @@ -307,18 +362,14 @@ namespace Avalonia.Web.Blazor public void SetCursorRect(Rect rect) { - Console.WriteLine("SetCursorRect"); } public void SetOptions(TextInputOptionsQueryEventArgs options) { - Console.WriteLine("SetOptions"); } public void Reset() { - Console.WriteLine("reset"); - _inputHelper.Clear(); } } diff --git a/src/Web/Avalonia.Web.Blazor/Interop/InputHelperInterop.cs b/src/Web/Avalonia.Web.Blazor/Interop/InputHelperInterop.cs index 71d76a5b17..6d71e0c48f 100644 --- a/src/Web/Avalonia.Web.Blazor/Interop/InputHelperInterop.cs +++ b/src/Web/Avalonia.Web.Blazor/Interop/InputHelperInterop.cs @@ -7,7 +7,6 @@ namespace Avalonia.Web.Blazor.Interop internal class InputHelperInterop : JSModuleInterop { private const string JsFilename = "./_content/Avalonia.Web.Blazor/InputHelper.js"; - private const string InitSymbol = "InputHelper.init"; private const string ClearSymbol = "InputHelper.clear"; private const string FocusSymbol = "InputHelper.focus"; private const string SetCursorSymbol = "InputHelper.setCursor"; diff --git a/src/Web/Avalonia.Web.Blazor/RazorViewTopLevelImpl.cs b/src/Web/Avalonia.Web.Blazor/RazorViewTopLevelImpl.cs index 9a264c0698..04afe150b6 100644 --- a/src/Web/Avalonia.Web.Blazor/RazorViewTopLevelImpl.cs +++ b/src/Web/Avalonia.Web.Blazor/RazorViewTopLevelImpl.cs @@ -18,10 +18,12 @@ namespace Avalonia.Web.Blazor private IInputRoot? _inputRoot; private Stopwatch _sw = Stopwatch.StartNew(); private readonly ITextInputMethodImpl _textInputMethod; + private readonly TouchDevice _touchDevice; public RazorViewTopLevelImpl(ITextInputMethodImpl textInputMethod) { _textInputMethod = textInputMethod; + _touchDevice = new TouchDevice(); } public ulong Timestamp => (ulong)_sw.ElapsedMilliseconds; @@ -57,6 +59,14 @@ namespace Avalonia.Web.Blazor } } + public void RawTouchEvent(RawPointerEventType type, Point p, RawInputModifiers modifiers, long touchPointId) + { + if (_inputRoot is { }) + { + Input.Invoke(new RawTouchEventArgs(_touchDevice, Timestamp, _inputRoot, type, p, modifiers, touchPointId)); + } + } + public void RawMouseEvent(RawPointerEventType type, Point p, RawInputModifiers modifiers) { if (_inputRoot is { })