diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic/AbpAspNetCoreMvcUIBasicThemeModule.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic/AbpAspNetCoreMvcUIBasicThemeModule.cs
index 07f24165e3..08d04cfed2 100644
--- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic/AbpAspNetCoreMvcUIBasicThemeModule.cs
+++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic/AbpAspNetCoreMvcUIBasicThemeModule.cs
@@ -52,7 +52,9 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic
.ScriptBundles
.Add(BasicThemeBundles.Scripts.Global, bundle =>
{
- bundle.AddBaseBundles(StandardBundles.Scripts.Global);
+ bundle
+ .AddBaseBundles(StandardBundles.Scripts.Global)
+ .AddContributors(typeof(BasicThemeGlobalScriptContributor));
});
});
}
diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic/Bundling/BasicThemeGlobalScriptContributor.cs b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic/Bundling/BasicThemeGlobalScriptContributor.cs
new file mode 100644
index 0000000000..76ce8b2c05
--- /dev/null
+++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic/Bundling/BasicThemeGlobalScriptContributor.cs
@@ -0,0 +1,12 @@
+using Volo.Abp.AspNetCore.Mvc.UI.Bundling;
+
+namespace Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Bundling
+{
+ public class BasicThemeGlobalScriptContributor : BundleContributor
+ {
+ public override void ConfigureBundle(BundleConfigurationContext context)
+ {
+ context.Files.Add("/themes/basic/layout.js");
+ }
+ }
+}
\ No newline at end of file
diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic/Themes/Basic/Components/Menu/Default.cshtml b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic/Themes/Basic/Components/Menu/Default.cshtml
index 6e13ae01a0..7bfe8f1730 100644
--- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic/Themes/Basic/Components/Menu/Default.cshtml
+++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic/Themes/Basic/Components/Menu/Default.cshtml
@@ -1,6 +1,5 @@
@using Volo.Abp.UI.Navigation
@model ApplicationMenu
-
@foreach (var menuItem in Model.Items)
{
var elementId = string.IsNullOrEmpty(menuItem.ElementId) ? string.Empty : $"id=\"{menuItem.ElementId}\"";
@@ -38,47 +37,4 @@
}
-}
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic/wwwroot/themes/basic/layout.css b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic/wwwroot/themes/basic/layout.css
index ffcc7a2dae..3b5cc467fc 100644
--- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic/wwwroot/themes/basic/layout.css
+++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic/wwwroot/themes/basic/layout.css
@@ -10,3 +10,27 @@ body {
text-decoration: none;
color: #fff;
}
+
+/* Main Menu */
+
+.navbar .dropdown-submenu {
+ position: relative;
+}
+
+ .navbar .dropdown-submenu a {
+ padding: 0.25rem 1.4rem;
+ }
+
+ .navbar .dropdown-submenu a::after {
+ transform: rotate(-90deg);
+ position: absolute;
+ right: 16px;
+ top: 18px;
+ }
+
+ .navbar .dropdown-submenu .dropdown-menu {
+ top: 0;
+ left: 100%;
+ margin-left: .1rem;
+ margin-right: .1rem;
+ }
diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic/wwwroot/themes/basic/layout.js b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic/wwwroot/themes/basic/layout.js
new file mode 100644
index 0000000000..8a5b94c7c6
--- /dev/null
+++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic/wwwroot/themes/basic/layout.js
@@ -0,0 +1,16 @@
+$(function () {
+ $('.dropdown-menu a.dropdown-toggle').on('click', function (e) {
+ if (!$(this).next().hasClass('show')) {
+ $(this).parents('.dropdown-menu').first().find('.show').removeClass("show");
+ }
+
+ var $subMenu = $(this).next(".dropdown-menu");
+ $subMenu.toggleClass('show');
+
+ $(this).parents('li.nav-item.dropdown.show').on('hidden.bs.dropdown', function (e) {
+ $('.dropdown-submenu .show').removeClass("show");
+ });
+
+ return false;
+ });
+});
\ No newline at end of file
diff --git a/modules/identity/src/Volo.Abp.Identity.Web/Navigation/AbpIdentityWebMainMenuContributor.cs b/modules/identity/src/Volo.Abp.Identity.Web/Navigation/AbpIdentityWebMainMenuContributor.cs
index 0f15bd6906..22581401be 100644
--- a/modules/identity/src/Volo.Abp.Identity.Web/Navigation/AbpIdentityWebMainMenuContributor.cs
+++ b/modules/identity/src/Volo.Abp.Identity.Web/Navigation/AbpIdentityWebMainMenuContributor.cs
@@ -31,12 +31,6 @@ namespace Volo.Abp.Identity.Web.Navigation
{
identityMenuItem.AddItem(new ApplicationMenuItem(IdentityMenuNames.Users, l["Users"], url: "/Identity/Users"));
}
-
- var identityMenuItem2 = new ApplicationMenuItem("asdasd", "Dropdown", icon: "fa fa-id-card-o");
- identityMenuItem2.AddItem(new ApplicationMenuItem("qweqew", "Link 2", url: "/Identity/Users"));
- identityMenuItem2.AddItem(new ApplicationMenuItem("qweqeww", "Link 1", url: "/Identity/Roles"));
-
- identityMenuItem.AddItem(identityMenuItem2);
}
}
}
\ No newline at end of file