From 444306c2d0cacd153fc8028d50949c948f0f0603 Mon Sep 17 00:00:00 2001 From: Ross Healy Date: Wed, 3 Jul 2024 18:03:35 +0100 Subject: [PATCH] Blazor Server Collapsible Nav Menu with Sub Menus and JS fix positioning when page width is altered. --- Blazor_Server/Components/App.razor | 12 ++ .../Components/Layout/MainLayout.razor | 21 ++- Blazor_Server/Components/Layout/NavMenu.razor | 177 ++++++++++++++++-- .../Components/Layout/NavMenu.razor.css | 100 ++++------ 4 files changed, 230 insertions(+), 80 deletions(-) diff --git a/Blazor_Server/Components/App.razor b/Blazor_Server/Components/App.razor index 75ad4bb..7f7654a 100644 --- a/Blazor_Server/Components/App.razor +++ b/Blazor_Server/Components/App.razor @@ -8,12 +8,24 @@ + + diff --git a/Blazor_Server/Components/Layout/MainLayout.razor b/Blazor_Server/Components/Layout/MainLayout.razor index e3984e0..2207ae5 100644 --- a/Blazor_Server/Components/Layout/MainLayout.razor +++ b/Blazor_Server/Components/Layout/MainLayout.razor @@ -1,13 +1,13 @@ @inherits LayoutComponentBase
- -
- An unhandled error has occurred. - Reload - 🗙 -
\ No newline at end of file +@code +{ + private bool IconMenuActive { get; set; } = false; + private string? IconMenuCssClass => IconMenuActive ? "width: 80px;" : null; + + protected void ToggleIconMenu(bool iconMenuActive) + { + IconMenuActive = iconMenuActive; + } +} \ No newline at end of file diff --git a/Blazor_Server/Components/Layout/NavMenu.razor b/Blazor_Server/Components/Layout/NavMenu.razor index 122b9de..2226d0f 100644 --- a/Blazor_Server/Components/Layout/NavMenu.razor +++ b/Blazor_Server/Components/Layout/NavMenu.razor @@ -1,29 +1,184 @@ -