mirror of https://github.com/abpframework/abp.git
committed by
GitHub
4 changed files with 111 additions and 116 deletions
@ -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(); |
var customComponentType = MenuItem.GetComponentTypeOrDefault(); |
||||
} |
} |
||||
@if (MenuItem.IsLeaf) |
|
||||
|
@if (customComponentType != null && typeof(ComponentBase).IsAssignableFrom(customComponentType)) |
||||
{ |
{ |
||||
if (customComponentType != null && typeof(ComponentBase).IsAssignableFrom(customComponentType)) |
<DynamicComponent Type="@customComponentType" /> |
||||
{ |
|
||||
<DynamicComponent Type="@customComponentType" /> |
|
||||
} |
|
||||
else if (MenuItem.Url != null) |
|
||||
{ |
|
||||
<li class="nav-item @cssClass @disabled" id="@elementId"> |
|
||||
<a class="nav-link" href="@url" target="@MenuItem.Target"> |
|
||||
@if (MenuItem.Icon != null) |
|
||||
{ |
|
||||
if (MenuItem.Icon.StartsWith("fa")) |
|
||||
{ |
|
||||
<i class="@MenuItem.Icon me-1"></i> |
|
||||
} |
|
||||
} |
|
||||
@MenuItem.DisplayName |
|
||||
</a> |
|
||||
</li> |
|
||||
} |
|
||||
} |
} |
||||
else |
else |
||||
{ |
{ |
||||
<li class="nav-item"> |
<Dropdown @ref="_dropdown" |
||||
<div class="dropdown"> |
Class="@(string.IsNullOrEmpty(MenuItem.CssClass) ? string.Empty : MenuItem.CssClass)" |
||||
@if (customComponentType != null && typeof(ComponentBase).IsAssignableFrom(customComponentType)) |
ElementId="@(MenuItem.ElementId ?? "MenuItem_" + MenuItem.Name.Replace(".", "_"))" |
||||
{ |
Disabled="MenuItem.IsDisabled"> |
||||
<DynamicComponent Type="@customComponentType" /> |
<DropdownToggle ToggleIconVisible="false"> |
||||
} |
<ChildContent> |
||||
else |
@if (MenuItem.Url != null) |
||||
{ |
{ |
||||
<a class="nav-link dropdown-toggle" @onclick="ToggleSubMenu" id="Menu_@(MenuItem.Name)" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> |
var url = MenuItem.Url == null ? "#" : MenuItem.Url.TrimStart('/', '~'); |
||||
@if (MenuItem.Icon != null) |
<a class="text-white text-decoration-none" href="@url" target="@MenuItem.Target"> |
||||
{ |
@if (MenuItem.Icon != null && MenuItem.Icon.StartsWith("fa")) |
||||
if (MenuItem.Icon.StartsWith("fa")) |
|
||||
{ |
{ |
||||
<i class="@MenuItem.Icon me-1"></i> |
<i class="@MenuItem.Icon me-1"></i> |
||||
} |
} |
||||
} |
@MenuItem.DisplayName |
||||
@MenuItem.DisplayName |
</a> |
||||
</a> |
} |
||||
} |
else |
||||
|
|
||||
<div class="dropdown-menu border-0 shadow-sm @(IsSubMenuOpen ? "show" : "")" aria-labelledby="Menu_@(MenuItem.Name)"> |
|
||||
@foreach (var childMenuItem in MenuItem.Items) |
|
||||
{ |
{ |
||||
<SecondLevelNavMenuItem MenuItem="childMenuItem" /> |
<a class="text-white text-decoration-none dropdown-toggle"> |
||||
|
@if (MenuItem.Icon != null) |
||||
|
{ |
||||
|
if (MenuItem.Icon.StartsWith("fa")) |
||||
|
{ |
||||
|
<i class="@MenuItem.Icon me-1"></i> |
||||
|
} |
||||
|
} |
||||
|
@MenuItem.DisplayName |
||||
|
</a> |
||||
|
} |
||||
|
</ChildContent> |
||||
|
</DropdownToggle> |
||||
|
<DropdownMenu> |
||||
|
@foreach (var item in MenuItem.Items) |
||||
|
{ |
||||
|
if (item.Items.Any()) |
||||
|
{ |
||||
|
<SecondLevelNavMenuItem MenuItem="item" ParentDropdown="_dropdown" /> |
||||
} |
} |
||||
</div> |
else |
||||
</div> |
{ |
||||
</li> |
var itemUrl = item.Url == null ? "#" : item.Url.TrimStart('/', '~'); |
||||
|
<a class="text-black text-decoration-none" href="@itemUrl"> |
||||
|
@if (item.Icon != null) |
||||
|
{ |
||||
|
<i class="@item.Icon me-1"></i> |
||||
|
} |
||||
|
<span> |
||||
|
@item.DisplayName |
||||
|
</span> |
||||
|
</a> |
||||
|
} |
||||
|
} |
||||
|
</DropdownMenu> |
||||
|
</Dropdown> |
||||
} |
} |
||||
|
|||||
@ -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(); |
var customComponentType = MenuItem.GetComponentTypeOrDefault(); |
||||
} |
} |
||||
@if (MenuItem.IsLeaf) |
|
||||
|
@if (customComponentType != null && typeof(ComponentBase).IsAssignableFrom(customComponentType)) |
||||
{ |
{ |
||||
if (customComponentType != null && typeof(ComponentBase).IsAssignableFrom(customComponentType)) |
<DynamicComponent Type="@customComponentType" /> |
||||
{ |
|
||||
<DynamicComponent Type="@customComponentType" /> |
|
||||
} |
|
||||
else if (MenuItem.Url != null) |
|
||||
{ |
|
||||
<a class="dropdown-item @cssClass @disabled" href="@url" target="@MenuItem.Target" id="@elementId"> |
|
||||
@if (MenuItem.Icon != null) |
|
||||
{ |
|
||||
<i class="@MenuItem.Icon me-1"></i> |
|
||||
} |
|
||||
<span> |
|
||||
@MenuItem.DisplayName |
|
||||
</span> |
|
||||
</a> |
|
||||
} |
|
||||
} |
} |
||||
else |
else |
||||
{ |
{ |
||||
<div class="dropdown-submenu"> |
<Dropdown @ref="_dropdown" |
||||
@if (customComponentType != null && typeof(ComponentBase).IsAssignableFrom(customComponentType)) |
Class="@(string.IsNullOrEmpty(MenuItem.CssClass) ? string.Empty : MenuItem.CssClass)" |
||||
{ |
ElementId="@(MenuItem.ElementId ?? "MenuItem_" + MenuItem.Name.Replace(".", "_"))" |
||||
<DynamicComponent Type="@customComponentType" /> |
Disabled="MenuItem.IsDisabled"> |
||||
} |
<DropdownToggle Class="me-3"> |
||||
else |
<ChildContent> |
||||
{ |
@if (MenuItem.Icon != null && MenuItem.Icon.StartsWith("fa")) |
||||
<a role="button" @onclick="ToggleSubMenu" class="btn dropdown-toggle" data-toggle="dropdown" |
|
||||
aria-haspopup="true" aria-expanded="false"> |
|
||||
@if (MenuItem.Icon != null) |
|
||||
{ |
{ |
||||
<i class="@MenuItem.Icon me-1"></i> |
<i class="@MenuItem.Icon me-1"></i> |
||||
} |
} |
||||
<span> |
@MenuItem.DisplayName |
||||
@MenuItem.DisplayName |
</ChildContent> |
||||
</span> |
</DropdownToggle> |
||||
</a> |
<DropdownMenu> |
||||
} |
@foreach (var item in MenuItem.Items) |
||||
<div class="dropdown-menu border-0 shadow-sm @(IsSubMenuOpen ? "show" : "")"> |
|
||||
@foreach (var childMenuItem in MenuItem.Items) |
|
||||
{ |
{ |
||||
<SecondLevelNavMenuItem MenuItem="@childMenuItem"/> |
if (item.Items.Any()) |
||||
|
{ |
||||
|
<SecondLevelNavMenuItem MenuItem="item" ParentDropdown="_dropdown"/> |
||||
|
} |
||||
|
else |
||||
|
{ |
||||
|
var itemUrl = item.Url == null ? "#" : item.Url.TrimStart('/', '~'); |
||||
|
<a class="text-black text-decoration-none" href="@itemUrl"> |
||||
|
@if (item.Icon != null) |
||||
|
{ |
||||
|
<i class="@item.Icon me-1"></i> |
||||
|
} |
||||
|
<span> |
||||
|
@item.DisplayName |
||||
|
</span> |
||||
|
</a> |
||||
|
} |
||||
} |
} |
||||
</div> |
</DropdownMenu> |
||||
</div> |
</Dropdown> |
||||
} |
} |
||||
|
|||||
Loading…
Reference in new issue