From 9d651759bc8757773d89356ad15dba5566e003e1 Mon Sep 17 00:00:00 2001 From: Jake Mannens Date: Fri, 8 Sep 2023 02:26:32 +1000 Subject: Added framework for routing keyboard events --- Pages/Component/Dialog.razor | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'Pages/Component/Dialog.razor') diff --git a/Pages/Component/Dialog.razor b/Pages/Component/Dialog.razor index dbfec49..673ec2f 100644 --- a/Pages/Component/Dialog.razor +++ b/Pages/Component/Dialog.razor @@ -48,6 +48,23 @@ public void Show() => Visible = true; public void Hide() => Visible = false; + protected override async void OnAfterRender(bool firstRender) { + if(firstRender) { + await jsRuntime.InvokeVoidAsync("dialogAddObjectReference", new object[] { + dialogDiv, + DotNetObjectReference.Create(this) + }); + } + } + + [JSInvokable("KeyHandler")] + public void KeyHandler(string key) { + if(key == "Escape") { + Hide(); + return; + } + } + private string heightStyle => - $"{(height is null ? "" : $"max-height:{height};")}"; + $"{(height is null ? "" : $"max-height:{height};")}"; } -- cgit v1.3