77 lines
2.2 KiB
Plaintext
77 lines
2.2 KiB
Plaintext
@model Nop.Web.Framework.Menu.AdminMenuItem
|
|
|
|
@using Nop.Core.Domain.Localization
|
|
@inject IWorkContext workContext
|
|
@inject LocalizationSettings localizationSettings
|
|
@{
|
|
var supportRtl = (await workContext.GetWorkingLanguageAsync()).Rtl && !localizationSettings.IgnoreRtlPropertyForAdminArea;
|
|
var isActive = Model.ContainsSystemName(NopHtml.GetActiveMenuItemSystemName());
|
|
}
|
|
@if (!string.IsNullOrEmpty(Model.Url))
|
|
{
|
|
<li class="nav-item">
|
|
|
|
<a href="@Model.Url" @(isActive ? Html.Raw("class=\"nav-link active\"") : Html.Raw("class=\"nav-link\"")) @(Model.OpenUrlInNewTab ? Html.Raw(" target=\"_blank\"") : null)>
|
|
@if (!string.IsNullOrEmpty(Model.IconClass))
|
|
{
|
|
<text>
|
|
<i class="nav-icon @Url.Content(Model.IconClass)"></i>
|
|
</text>
|
|
}
|
|
|
|
<p> @Model.Title</p>
|
|
|
|
</a>
|
|
</li>
|
|
}
|
|
else
|
|
{
|
|
var childNodes = Model.ChildNodes.Where(x => x.Visible).ToList();
|
|
var hasChildNodes = childNodes.Any();
|
|
var liCssClass = "";
|
|
|
|
if (hasChildNodes)
|
|
{
|
|
liCssClass = "nav-item has-treeview";
|
|
}
|
|
|
|
if (isActive)
|
|
{
|
|
if (!string.IsNullOrEmpty(liCssClass))
|
|
liCssClass += " ";
|
|
|
|
liCssClass += "menu-open";
|
|
}
|
|
|
|
<li @(!String.IsNullOrEmpty(liCssClass) ? Html.Raw("class=\"" + liCssClass + "\"") : null)>
|
|
|
|
<a href="#" @(isActive ? Html.Raw("class=\"nav-link active\"") : Html.Raw("class=\"nav-link\""))>
|
|
@if (!string.IsNullOrEmpty(Model.IconClass))
|
|
{
|
|
<text>
|
|
<i class="nav-icon @Url.Content(Model.IconClass)"></i>
|
|
</text>
|
|
}
|
|
<p>
|
|
@Model.Title
|
|
@if (supportRtl)
|
|
{
|
|
<i class="right fas fa-angle-right"></i>
|
|
}
|
|
else
|
|
{
|
|
<i class="right fas fa-angle-left "></i>
|
|
}
|
|
</p>
|
|
</a>
|
|
@if (hasChildNodes)
|
|
{
|
|
<ul class="nav nav-treeview">
|
|
@foreach (var childItem in childNodes)
|
|
{
|
|
@await Html.PartialAsync("_MenuItem", childItem)
|
|
}
|
|
</ul>
|
|
}
|
|
</li>
|
|
} |