|
|
|
@ -6,9 +6,15 @@ |
|
|
|
var cssClass = string.IsNullOrEmpty(menuItem.CssClass) ? string.Empty : menuItem.CssClass; |
|
|
|
var disabled = menuItem.IsDisabled ? "disabled" : string.Empty; |
|
|
|
var url = string.IsNullOrEmpty(menuItem.Url) ? "#" : Url.IsLocalUrl(menuItem.Url) ? Url.Content(menuItem.Url.EnsureStartsWith('~')) : menuItem.Url; |
|
|
|
var customComponentType = menuItem.GetComponentTypeOrDefault(); |
|
|
|
|
|
|
|
if (menuItem.IsLeaf) |
|
|
|
{ |
|
|
|
if (menuItem.Url != null) |
|
|
|
if (customComponentType != null) |
|
|
|
{ |
|
|
|
@Component.InvokeAsync(customComponentType) |
|
|
|
} |
|
|
|
else if (menuItem.Url != null) |
|
|
|
{ |
|
|
|
<li class="nav-item @cssClass @disabled" @elementId> |
|
|
|
<a class="nav-link" href="@url" target="@menuItem.Target"> |
|
|
|
@ -28,19 +34,26 @@ |
|
|
|
{ |
|
|
|
<li class="nav-item"> |
|
|
|
<div class="dropdown"> |
|
|
|
<a class="nav-link dropdown-toggle" href="#" id="Menu_@(menuItem.Name)" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> |
|
|
|
@if (menuItem.Icon != null) |
|
|
|
{ |
|
|
|
<i class="@menuItem.Icon"></i> |
|
|
|
} |
|
|
|
@menuItem.DisplayName |
|
|
|
</a> |
|
|
|
<div class="dropdown-menu border-0 shadow-sm" aria-labelledby="Menu_@(menuItem.Name)"> |
|
|
|
@foreach (var childMenuItem in menuItem.Items) |
|
|
|
{ |
|
|
|
@await Html.PartialAsync("~/Themes/Basic/Components/Menu/_MenuItem.cshtml", childMenuItem) |
|
|
|
} |
|
|
|
</div> |
|
|
|
@if (customComponentType != null) |
|
|
|
{ |
|
|
|
@Component.InvokeAsync(customComponentType) |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
<a class="nav-link dropdown-toggle" href="#" id="Menu_@(menuItem.Name)" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> |
|
|
|
@if (menuItem.Icon != null) |
|
|
|
{ |
|
|
|
<i class="@menuItem.Icon"></i> |
|
|
|
} |
|
|
|
@menuItem.DisplayName |
|
|
|
</a> |
|
|
|
<div class="dropdown-menu border-0 shadow-sm" aria-labelledby="Menu_@(menuItem.Name)"> |
|
|
|
@foreach (var childMenuItem in menuItem.Items) |
|
|
|
{ |
|
|
|
@await Html.PartialAsync("~/Themes/Basic/Components/Menu/_MenuItem.cshtml", childMenuItem) |
|
|
|
} |
|
|
|
</div> |
|
|
|
} |
|
|
|
</div> |
|
|
|
</li> |
|
|
|
} |
|
|
|
|