#19054: Enable LinkToFirstChild on second-level admin menu item

--HG--
branch : 1.x
This commit is contained in:
David Cornish@DavidCornish-PC
2012-09-24 16:48:15 +01:00
parent 165dfa9b4b
commit abd894cac8

View File

@@ -70,6 +70,8 @@
<ul class="menuItems"> <ul class="menuItems">
@foreach (var secondLevelMenuItem in secondLevelMenuItems.Where(menuItem => !menuItem.LocalNav)) { @foreach (var secondLevelMenuItem in secondLevelMenuItems.Where(menuItem => !menuItem.LocalNav)) {
string secondLevelTextHint = secondLevelMenuItem.Text.TextHint; string secondLevelTextHint = secondLevelMenuItem.Text.TextHint;
var firstOfTheThird = ((IEnumerable<dynamic>)secondLevelMenuItem).FirstOrDefault();
var secondLevelItemClassName = HasText(secondLevelTextHint) var secondLevelItemClassName = HasText(secondLevelTextHint)
? "subnavicon-" + secondLevelTextHint.HtmlClassify() ? "subnavicon-" + secondLevelTextHint.HtmlClassify()
: "subnavicon"; : "subnavicon";
@@ -82,12 +84,16 @@
} }
var secondLevelTag = Tag(secondLevelMenuItem, "li"); var secondLevelTag = Tag(secondLevelMenuItem, "li");
var secondLevelUrl = secondLevelMenuItem.Href;
if (firstOfTheThird != null && secondLevelMenuItem.LinkToFirstChild && (firstOfTheThird.RouteValues != null || HasText(firstOfTheThird.Url))) {
secondLevelUrl = firstOfTheThird.Href;
}
@secondLevelTag.StartElement @secondLevelTag.StartElement
if (HasText(secondLevelItemId)) { if (HasText(secondLevelItemId)) {
<a href="@secondLevelMenuItem.Href" class="@secondLevelItemClassName" id="@secondLevelItemId">@secondLevelMenuItem.Text</a> <a href="@secondLevelUrl" class="@secondLevelItemClassName" id="@secondLevelItemId">@secondLevelMenuItem.Text</a>
} }
else { else {
<a href="@secondLevelMenuItem.Href" class="@secondLevelItemClassName">@secondLevelMenuItem.Text</a> <a href="@secondLevelUrl" class="@secondLevelItemClassName">@secondLevelMenuItem.Text</a>
} }
@secondLevelTag.EndElement @secondLevelTag.EndElement
} }