diff options
| author | Jake Mannens <jake@asger.xyz> | 2023-09-08 02:26:32 +1000 |
|---|---|---|
| committer | Jake Mannens <jake@asger.xyz> | 2025-08-20 01:21:04 +1000 |
| commit | 9d651759bc8757773d89356ad15dba5566e003e1 (patch) | |
| tree | e96611b11a448f0669776ed8598751c08ea42387 /Pages | |
| parent | 77b904b25aa10129e9d093ec3982642616ae7f31 (diff) | |
Added framework for routing keyboard events
Diffstat (limited to 'Pages')
| -rw-r--r-- | Pages/Component/Dialog.razor | 19 | ||||
| -rw-r--r-- | Pages/Upload.razor | 2 | ||||
| -rw-r--r-- | Pages/_Host.cshtml | 1 |
3 files changed, 19 insertions, 3 deletions
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};")}"; } diff --git a/Pages/Upload.razor b/Pages/Upload.razor index 36555da..7f7980b 100644 --- a/Pages/Upload.razor +++ b/Pages/Upload.razor @@ -29,7 +29,6 @@ dropzone.ondrop = function(e) { e.preventDefault(); fileUpload.files = e.dataTransfer.files; - console.log('lmao'); uploadForm.submit(); } @@ -38,7 +37,6 @@ } fileUpload.onchange = function(e) { - console.log('epic'); uploadForm.submit(); } </script> diff --git a/Pages/_Host.cshtml b/Pages/_Host.cshtml index 177e2df..69bced8 100644 --- a/Pages/_Host.cshtml +++ b/Pages/_Host.cshtml @@ -12,6 +12,7 @@ <link href="/styles/global.css" rel="stylesheet" /> <link href="/favicon.ico" rel="icon" /> <link href="/manifest.webmanifest" rel="manifest" /> + <script type="text/javascript" src="/js/keyboard.js"></script> <script type="text/javascript" src="/js/dialog.js"></script> <component type="typeof(HeadOutlet)" render-mode="ServerPrerendered" /> </head> |
