();
- logger?.Log(LogLevel.Information, "Loaded ABP modules:");
+ logger?.Log(LogLevel.Debug, "Loaded ABP modules:");
AddModuleAndDependenciesRecursively(moduleTypes, startupModuleType, logger);
return moduleTypes;
}
@@ -72,7 +72,7 @@ public static class AbpModuleHelper
}
moduleTypes.Add(moduleType);
- logger?.Log(LogLevel.Information, $"{new string(' ', depth * 2)}- {moduleType.FullName}");
+ logger?.Log(LogLevel.Debug, $"{new string(' ', depth * 2)}- {moduleType.FullName}");
foreach (var dependedModuleType in FindDependedModuleTypes(moduleType))
{
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);
- }
}
diff --git a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/index.js b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/index.js
index c41e6e996d..33f0f3b539 100644
--- a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/index.js
+++ b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/index.js
@@ -49,15 +49,10 @@ var doc = doc || {};
return;
}
for(var i = 0; i < lazyLiElements.length; i++){
- var $li = $(lazyLiElements[i]);
- if($li.has("ul").length === 0){
- var $a = $li.find("a");
- var node = doc.lazyExpandableNavigation.findNode($a.text(), $a.attr("href"), doc.project.navigation);
- node.items.forEach(item => {
- doc.lazyExpandableNavigation.renderNodeAsHtml($li, item, true);
- })
- }
+ doc.lazyExpandableNavigation.load(lazyLiElements[i]);
+
+ var $li = $(lazyLiElements[i]);
var childLazyLiElements = $li.find("li.lazy-expand");
if(childLazyLiElements.length > 0){
doc.lazyExpandableNavigation.isAllLoaded = false;
@@ -68,6 +63,23 @@ var doc = doc || {};
}
doc.lazyExpandableNavigation.isAllLoaded = true;
+ },
+ load : function(lazyLiEment){
+ var $li = $(lazyLiEment);
+
+ if($li.has("ul").length > 0){
+ return;
+ }
+
+ var $a = $li.find("a");
+ var text = $a.contents().filter(function() { return this.nodeType === 3 }).text();
+ var node = doc.lazyExpandableNavigation.findNode(text, $a.attr("href") , doc.project.navigation);
+ if(!node || !node.items){
+ return;
+ }
+ node.items.forEach(item => {
+ doc.lazyExpandableNavigation.renderNodeAsHtml($li, item, true);
+ })
}
}
@@ -370,17 +382,7 @@ var doc = doc || {};
}
});
$("li .lazy-expand").on('click', function(){
- var $this = $(this);
- if($this.has("ul").length > 0){
- return;
- }
-
- var $a = $this.find("a");
- var node = doc.lazyExpandableNavigation.findNode($a.text(), $a.attr("href") , doc.project.navigation);
- node.items.forEach(item => {
- doc.lazyExpandableNavigation.renderNodeAsHtml($this, item, true);
- })
-
+ doc.lazyExpandableNavigation.load(this);
initLazyExpandNavigation();
});
}
diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/MyCompanyName.MyProjectName.Blazor.Server.Mongo.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/MyCompanyName.MyProjectName.Blazor.Server.Mongo.csproj
index 90003189c1..89756bac0d 100644
--- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/MyCompanyName.MyProjectName.Blazor.Server.Mongo.csproj
+++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server.Mongo/MyCompanyName.MyProjectName.Blazor.Server.Mongo.csproj
@@ -8,8 +8,8 @@
-
-
+
+
diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj
index 1ec0a9e256..2bef783ba9 100644
--- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj
+++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj
@@ -8,8 +8,8 @@
-
-
+
+
diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Client/MyCompanyName.MyProjectName.Blazor.WebAssembly.Client.csproj b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Client/MyCompanyName.MyProjectName.Blazor.WebAssembly.Client.csproj
index ec6b540a0b..55bf1f166d 100644
--- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Client/MyCompanyName.MyProjectName.Blazor.WebAssembly.Client.csproj
+++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Client/MyCompanyName.MyProjectName.Blazor.WebAssembly.Client.csproj
@@ -9,8 +9,8 @@
-
-
+
+
diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Client/MyCompanyName.MyProjectName.Blazor.Client.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Client/MyCompanyName.MyProjectName.Blazor.Client.csproj
index 47ef773a62..bb5cf8f778 100644
--- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Client/MyCompanyName.MyProjectName.Blazor.Client.csproj
+++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Client/MyCompanyName.MyProjectName.Blazor.Client.csproj
@@ -12,8 +12,8 @@
-
-
+
+
diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyCompanyName.MyProjectName.Blazor.Server.Tiered.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyCompanyName.MyProjectName.Blazor.Server.Tiered.csproj
index 8d57516f1b..d8dc546969 100644
--- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyCompanyName.MyProjectName.Blazor.Server.Tiered.csproj
+++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server.Tiered/MyCompanyName.MyProjectName.Blazor.Server.Tiered.csproj
@@ -14,8 +14,8 @@
-
-
+
+
diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj
index 233cc474f4..e3a56d7f7b 100644
--- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj
+++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.Server/MyCompanyName.MyProjectName.Blazor.Server.csproj
@@ -15,8 +15,8 @@
-
-
+
+
diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Client/MyCompanyName.MyProjectName.Blazor.WebApp.Client.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Client/MyCompanyName.MyProjectName.Blazor.WebApp.Client.csproj
index db97961869..1ec24f6acb 100644
--- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Client/MyCompanyName.MyProjectName.Blazor.WebApp.Client.csproj
+++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Client/MyCompanyName.MyProjectName.Blazor.WebApp.Client.csproj
@@ -13,8 +13,8 @@
-
-
+
+
diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.Client/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.Client.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.Client/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.Client.csproj
index 8faf21b2d3..5b328c3811 100644
--- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.Client/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.Client.csproj
+++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.Client/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.Client.csproj
@@ -13,8 +13,8 @@
-
-
+
+
diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.csproj
index 0fa42f9051..404a43492e 100644
--- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.csproj
+++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.csproj
@@ -16,8 +16,8 @@
-
-
+
+
diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp/MyCompanyName.MyProjectName.Blazor.WebApp.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp/MyCompanyName.MyProjectName.Blazor.WebApp.csproj
index a98c87cdda..da4524f154 100644
--- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp/MyCompanyName.MyProjectName.Blazor.WebApp.csproj
+++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp/MyCompanyName.MyProjectName.Blazor.WebApp.csproj
@@ -16,8 +16,8 @@
-
-
+
+
diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Host.Client/MyCompanyName.MyProjectName.Blazor.Host.Client.csproj b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Host.Client/MyCompanyName.MyProjectName.Blazor.Host.Client.csproj
index 518bf4589b..ad77d7fe27 100644
--- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Host.Client/MyCompanyName.MyProjectName.Blazor.Host.Client.csproj
+++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Host.Client/MyCompanyName.MyProjectName.Blazor.Host.Client.csproj
@@ -10,8 +10,8 @@
-
-
+
+
diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/MyCompanyName.MyProjectName.Blazor.Server.Host.csproj b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/MyCompanyName.MyProjectName.Blazor.Server.Host.csproj
index 2298178199..1ff26dcb6d 100644
--- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/MyCompanyName.MyProjectName.Blazor.Server.Host.csproj
+++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/MyCompanyName.MyProjectName.Blazor.Server.Host.csproj
@@ -13,8 +13,8 @@
-
-
+
+