31 lines
1.5 KiB
Text
31 lines
1.5 KiB
Text
@model MenuHelperModel
|
|
@using System.Web.Mvc.Html
|
|
@using Kreta.Web.Menu
|
|
<span id="Menu_Menu">
|
|
<div id="mb1_menudiv" class="navbar-collapse collapse">
|
|
<ul id="mb1" class="nav navbar-nav" role="menubar">
|
|
@foreach (var node in Model.Nodes)
|
|
{
|
|
var menuLarge = node.Children.Any(menu => menu.IsClickable == false) ? "menu-large" : ""; // csoportositas
|
|
var menuwithoutarrow = node.Parent != null && node.Parent.IsRootNode && node.Children.Count == 0 ? "menuwithoutarrow" : ""; // ha főmenü elem, kattintaható és nincsenek almenüpontok
|
|
var hasChild = node.HasClickabeChild();
|
|
if ((hasChild || node.IsClickable) && node.IsVisible())
|
|
{
|
|
//HasClickabeChild csak Claim alapján ellenőríz, míg az almenüben megjelenő elemekben tételesen Visible.
|
|
//Abban az esetben, hogyha Claim alapján van benne, viszont Visible alapján üres így nem jelenik meg üresen a főmenü.
|
|
if (node.Children.Any(x => !x.IsClickable && x.Children.Any(y => y.IsVisible())) || !node.Children.Any(x => !x.IsClickable))
|
|
{
|
|
var disabledCssClass = node.IsDisabled() ? "disabledMenuItem" : string.Empty;
|
|
<li role="menuitem" tabindex="0" aria-haspopup="true" class="dropdown @menuLarge menu-icon @menuwithoutarrow @disabledCssClass" onfocus="" onblur="">
|
|
@Html.DisplayFor(m => node)
|
|
@if (hasChild)
|
|
{
|
|
@Html.DisplayFor(m => node.Children)
|
|
}
|
|
</li>
|
|
}
|
|
}
|
|
}
|
|
</ul>
|
|
</div>
|
|
</span>
|