diff --git a/modules/basic-theme/src/Volo.Abp.AspNetCore.Components.Web.BasicTheme/Themes/Basic/FirstLevelNavMenuItem.razor b/modules/basic-theme/src/Volo.Abp.AspNetCore.Components.Web.BasicTheme/Themes/Basic/FirstLevelNavMenuItem.razor
index 0ccd9b93db..32de8507cb 100644
--- a/modules/basic-theme/src/Volo.Abp.AspNetCore.Components.Web.BasicTheme/Themes/Basic/FirstLevelNavMenuItem.razor
+++ b/modules/basic-theme/src/Volo.Abp.AspNetCore.Components.Web.BasicTheme/Themes/Basic/FirstLevelNavMenuItem.razor
@@ -1,61 +1,67 @@
-@using Volo.Abp.UI.Navigation
+@using Volo.Abp.UI.Navigation
@{
- var elementId = MenuItem.ElementId ?? "MenuItem_" + MenuItem.Name.Replace(".", "_");
- var cssClass = string.IsNullOrEmpty(MenuItem.CssClass) ? string.Empty : MenuItem.CssClass;
- var disabled = MenuItem.IsDisabled ? "disabled" : string.Empty;
- var url = MenuItem.Url == null ? "#" : MenuItem.Url.TrimStart('/', '~');
var customComponentType = MenuItem.GetComponentTypeOrDefault();
}
-@if (MenuItem.IsLeaf)
+
+@if (customComponentType != null && typeof(ComponentBase).IsAssignableFrom(customComponentType))
{
- if (customComponentType != null && typeof(ComponentBase).IsAssignableFrom(customComponentType))
- {
-
- }
- else if (MenuItem.Url != null)
- {
-
-
- @if (MenuItem.Icon != null)
- {
- if (MenuItem.Icon.StartsWith("fa"))
- {
-
- }
- }
- @MenuItem.DisplayName
-
-
- }
+
}
else
{
-
-
- @if (customComponentType != null && typeof(ComponentBase).IsAssignableFrom(customComponentType))
- {
-
- }
- else
- {
-
-
+ else
+ {
+ var itemUrl = item.Url == null ? "#" : item.Url.TrimStart('/', '~');
+
+ @if (item.Icon != null)
+ {
+
+ }
+
+ @item.DisplayName
+
+
+ }
+ }
+
+
}
diff --git a/modules/basic-theme/src/Volo.Abp.AspNetCore.Components.Web.BasicTheme/Themes/Basic/FirstLevelNavMenuItem.razor.cs b/modules/basic-theme/src/Volo.Abp.AspNetCore.Components.Web.BasicTheme/Themes/Basic/FirstLevelNavMenuItem.razor.cs
index 4cdd0ec8a4..ea448c3b7d 100644
--- a/modules/basic-theme/src/Volo.Abp.AspNetCore.Components.Web.BasicTheme/Themes/Basic/FirstLevelNavMenuItem.razor.cs
+++ b/modules/basic-theme/src/Volo.Abp.AspNetCore.Components.Web.BasicTheme/Themes/Basic/FirstLevelNavMenuItem.razor.cs
@@ -1,4 +1,5 @@
using System;
+using Blazorise;
using Microsoft.AspNetCore.Components;
using Microsoft.AspNetCore.Components.Routing;
using Volo.Abp.UI.Navigation;
@@ -7,31 +8,26 @@ namespace Volo.Abp.AspNetCore.Components.Web.BasicTheme.Themes.Basic;
public partial class FirstLevelNavMenuItem : IDisposable
{
- [Inject] private NavigationManager NavigationManager { get; set; }
-
[Parameter]
- public ApplicationMenuItem MenuItem { get; set; }
+ public ApplicationMenuItem MenuItem { get; set; } = default!;
+
+ private Dropdown _dropdown;
- public bool IsSubMenuOpen { get; set; }
+ [Inject]
+ private NavigationManager NavigationManager { get; set; }
protected override void OnInitialized()
{
NavigationManager.LocationChanged += OnLocationChanged;
}
- private void ToggleSubMenu()
+ protected virtual void OnLocationChanged(object sender, LocationChangedEventArgs e)
{
- IsSubMenuOpen = !IsSubMenuOpen;
+ _dropdown?.Hide();
}
- public void Dispose()
+ public virtual void Dispose()
{
NavigationManager.LocationChanged -= OnLocationChanged;
}
-
- private void OnLocationChanged(object sender, LocationChangedEventArgs e)
- {
- IsSubMenuOpen = false;
- InvokeAsync(StateHasChanged);
- }
}
diff --git a/modules/basic-theme/src/Volo.Abp.AspNetCore.Components.Web.BasicTheme/Themes/Basic/SecondLevelNavMenuItem.razor b/modules/basic-theme/src/Volo.Abp.AspNetCore.Components.Web.BasicTheme/Themes/Basic/SecondLevelNavMenuItem.razor
index 9200e83657..2e6f783556 100644
--- a/modules/basic-theme/src/Volo.Abp.AspNetCore.Components.Web.BasicTheme/Themes/Basic/SecondLevelNavMenuItem.razor
+++ b/modules/basic-theme/src/Volo.Abp.AspNetCore.Components.Web.BasicTheme/Themes/Basic/SecondLevelNavMenuItem.razor
@@ -1,55 +1,48 @@
-@using Volo.Abp.UI.Navigation
+@using Volo.Abp.UI.Navigation
@{
- var elementId = MenuItem.ElementId ?? "MenuItem_" + MenuItem.Name.Replace(".", "_");
- var cssClass = string.IsNullOrEmpty(MenuItem.CssClass) ? string.Empty : MenuItem.CssClass;
- var disabled = MenuItem.IsDisabled ? "disabled" : string.Empty;
- var url = MenuItem.Url == null ? "#" : MenuItem.Url.TrimStart('/', '~');
var customComponentType = MenuItem.GetComponentTypeOrDefault();
}
-@if (MenuItem.IsLeaf)
+
+@if (customComponentType != null && typeof(ComponentBase).IsAssignableFrom(customComponentType))
{
- if (customComponentType != null && typeof(ComponentBase).IsAssignableFrom(customComponentType))
- {
-
- }
- else if (MenuItem.Url != null)
- {
-
- @if (MenuItem.Icon != null)
- {
-
- }
-
- @MenuItem.DisplayName
-
-
- }
+
}
else
{
-
-}
\ No newline at end of file
+
+
+}
diff --git a/modules/basic-theme/src/Volo.Abp.AspNetCore.Components.Web.BasicTheme/Themes/Basic/SecondLevelNavMenuItem.razor.cs b/modules/basic-theme/src/Volo.Abp.AspNetCore.Components.Web.BasicTheme/Themes/Basic/SecondLevelNavMenuItem.razor.cs
index c736770884..b188b764ed 100644
--- a/modules/basic-theme/src/Volo.Abp.AspNetCore.Components.Web.BasicTheme/Themes/Basic/SecondLevelNavMenuItem.razor.cs
+++ b/modules/basic-theme/src/Volo.Abp.AspNetCore.Components.Web.BasicTheme/Themes/Basic/SecondLevelNavMenuItem.razor.cs
@@ -1,4 +1,5 @@
using System;
+using Blazorise;
using Microsoft.AspNetCore.Components;
using Microsoft.AspNetCore.Components.Routing;
using Volo.Abp.UI.Navigation;
@@ -7,31 +8,30 @@ namespace Volo.Abp.AspNetCore.Components.Web.BasicTheme.Themes.Basic;
public partial class SecondLevelNavMenuItem : IDisposable
{
- [Inject] private NavigationManager NavigationManager { get; set; }
+ [Parameter]
+ public ApplicationMenuItem MenuItem { get; set; } = default!;
[Parameter]
- public ApplicationMenuItem MenuItem { get; set; }
+ public Dropdown ParentDropdown { get; set; } = default!;
+
+ private Dropdown _dropdown;
- public bool IsSubMenuOpen { get; set; }
+ [Inject]
+ private NavigationManager NavigationManager { get; set; }
protected override void OnInitialized()
{
NavigationManager.LocationChanged += OnLocationChanged;
}
- private void ToggleSubMenu()
+ protected virtual void OnLocationChanged(object sender, LocationChangedEventArgs e)
{
- IsSubMenuOpen = !IsSubMenuOpen;
+ ParentDropdown?.Hide();
+ _dropdown?.Hide();
}
- public void Dispose()
+ public virtual void Dispose()
{
NavigationManager.LocationChanged -= OnLocationChanged;
}
-
- private void OnLocationChanged(object sender, LocationChangedEventArgs e)
- {
- IsSubMenuOpen = false;
- InvokeAsync(StateHasChanged);
- }
}