From 0867573f2f30e1092d542bc401bef1f64239bb43 Mon Sep 17 00:00:00 2001 From: Leendert de Borst Date: Wed, 7 Aug 2024 20:39:39 +0200 Subject: [PATCH] Load specific JS via isolated modules, refactor CredentialService (#142) --- .../Layout/ClickOutsideHandler.razor | 6 +- .../Widgets/CreateNewIdentityWidget.razor | 76 ++++--------------- .../Main/Pages/Credentials/AddEdit.razor | 36 ++------- .../Services/CredentialService.cs | 30 ++++++++ .../Services/KeyboardShortcutService.cs | 15 +++- .../wwwroot/css/tailwind.css | 25 +++--- .../wwwroot/index.template.html | 4 +- .../js/{cryptoInterop.js => crypto.js} | 0 src/AliasVault.Client/wwwroot/js/darkMode.js | 53 ------------- .../wwwroot/js/keyboardShortcuts.js | 42 ---------- .../js/{ => modules}/clickOutsideHandler.js | 0 .../wwwroot/js/modules/keyboardShortcuts.js | 40 ++++++++++ .../wwwroot/js/modules/newIdentityWidget.js | 25 ++++++ src/AliasVault.Client/wwwroot/js/utilities.js | 63 ++++++++++++++- .../Common/ClientPlaywrightTest.cs | 4 +- .../Tests/Client/CredentialTest.cs | 4 +- .../Tests/Client/GeneralSettingsTest.cs | 4 +- 17 files changed, 212 insertions(+), 215 deletions(-) rename src/AliasVault.Client/wwwroot/js/{cryptoInterop.js => crypto.js} (100%) delete mode 100644 src/AliasVault.Client/wwwroot/js/darkMode.js delete mode 100644 src/AliasVault.Client/wwwroot/js/keyboardShortcuts.js rename src/AliasVault.Client/wwwroot/js/{ => modules}/clickOutsideHandler.js (100%) create mode 100644 src/AliasVault.Client/wwwroot/js/modules/keyboardShortcuts.js create mode 100644 src/AliasVault.Client/wwwroot/js/modules/newIdentityWidget.js diff --git a/src/AliasVault.Client/Main/Components/Layout/ClickOutsideHandler.razor b/src/AliasVault.Client/Main/Components/Layout/ClickOutsideHandler.razor index 60644e7f1..9f0b596ad 100644 --- a/src/AliasVault.Client/Main/Components/Layout/ClickOutsideHandler.razor +++ b/src/AliasVault.Client/Main/Components/Layout/ClickOutsideHandler.razor @@ -55,7 +55,7 @@ /// public async ValueTask DisposeAsync() { - if (Module != null) + if (Module is not null) { await Module.InvokeVoidAsync("unregisterClickOutsideHandler"); await Module.DisposeAsync(); @@ -69,9 +69,9 @@ /// private async Task LoadModuleAsync() { - if (Module == null) + if (Module is null) { - Module = await JSRuntime.InvokeAsync("import", "./js/clickOutsideHandler.js"); + Module = await JSRuntime.InvokeAsync("import", "./js/modules/clickOutsideHandler.js"); ObjRef = DotNetObjectReference.Create(this); } } diff --git a/src/AliasVault.Client/Main/Components/Widgets/CreateNewIdentityWidget.razor b/src/AliasVault.Client/Main/Components/Widgets/CreateNewIdentityWidget.razor index b7e7dce11..ac13174d1 100644 --- a/src/AliasVault.Client/Main/Components/Widgets/CreateNewIdentityWidget.razor +++ b/src/AliasVault.Client/Main/Components/Widgets/CreateNewIdentityWidget.razor @@ -1,10 +1,8 @@ @using System.ComponentModel.DataAnnotations -@using AliasGenerators.Identity.Implementations -@using AliasGenerators.Identity.Models @inherits AliasVault.Client.Main.Pages.MainBase @inject IJSRuntime JSRuntime @inject CredentialService CredentialService -@implements IDisposable +@implements IAsyncDisposable