From 3e5f3f6281fee1e11ddf3745848b5be282064e28 Mon Sep 17 00:00:00 2001 From: Dan Walmsley Date: Sun, 28 Nov 2021 21:25:47 +0000 Subject: [PATCH] hide and show inputbox. --- samples/ControlCatalog.Web/wwwroot/index.html | 8 ++++++++ src/Web/Avalonia.Blazor/AvaloniaView.razor.cs | 20 ++++++++++++++++--- 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/samples/ControlCatalog.Web/wwwroot/index.html b/samples/ControlCatalog.Web/wwwroot/index.html index d7f5ba744d..a253e71406 100644 --- a/samples/ControlCatalog.Web/wwwroot/index.html +++ b/samples/ControlCatalog.Web/wwwroot/index.html @@ -38,6 +38,14 @@ setCursor = (kind) => { document.getElementById("inputBox").style.cursor = kind; }; + + hideInput = () => { + document.getElementById('inputBox').style.display = 'none'; + }; + + showInput = () => { + document.getElementById('inputBox').style.display = 'block'; + }; diff --git a/src/Web/Avalonia.Blazor/AvaloniaView.razor.cs b/src/Web/Avalonia.Blazor/AvaloniaView.razor.cs index 97c1c3977f..d2111c3f35 100644 --- a/src/Web/Avalonia.Blazor/AvaloniaView.razor.cs +++ b/src/Web/Avalonia.Blazor/AvaloniaView.razor.cs @@ -165,6 +165,7 @@ namespace Avalonia.Blazor { Avalonia.Threading.Dispatcher.UIThread.Post(async () => { + await Js.InvokeVoidAsync("hideInput"); await Js.InvokeVoidAsync("setCursor", "default"); Console.WriteLine("starting html canvas setup"); @@ -256,22 +257,35 @@ namespace Avalonia.Blazor public void SetActive(bool active) { - Console.WriteLine("focus input box."); + Console.WriteLine($"focus input box. {active}"); + Js.InvokeVoidAsync("clearInput"); - Js.InvokeVoidAsync("focusInput"); + + if (active) + { + Js.InvokeVoidAsync("showInput"); + Js.InvokeVoidAsync("focusInput"); + } + else + { + Js.InvokeVoidAsync("hideInput"); + } } public void SetCursorRect(Rect rect) { + Console.WriteLine("SetCursorRect"); } public void SetOptions(TextInputOptionsQueryEventArgs options) { + Console.WriteLine("SetOptions"); } public void Reset() { + Console.WriteLine("reset"); Js.InvokeVoidAsync("clearInput"); } } -} \ No newline at end of file +}