#19457: Allowing draft elements to be added to the navigation

If the resulting MenuItemLink is empty, don't display it in the navigation

Work Item: 19457

--HG--
branch : 1.x
This commit is contained in:
Sebastien Ros
2013-05-24 15:57:02 -07:00
parent bc14041c7f
commit 6cbb51787f
2 changed files with 29 additions and 23 deletions

View File

@@ -3,29 +3,35 @@
var items = Enumerable.Cast<dynamic>((System.Collections.IEnumerable)Model);
}
@{
if (!HasText(Model.Text)) {
@DisplayChildren(Model)
} else {
if((bool)Model.Selected) {
Model.Classes.Add("current");
}
if(items.Any()) {
Model.Classes.Add("dropdown");
}
var tag = Tag(Model, "li");
@tag.StartElement
@* morphing the shape to keep Model untouched*@
Model.Metadata.Alternates.Clear();
Model.Metadata.Type = "MenuItemLink";
@Display(Model)
if (items.Any()) {
<ul>
if (!HasText(Model.Text)) {
@DisplayChildren(Model)
</ul>
}
@tag.EndElement
else {
if ((bool) Model.Selected) {
Model.Classes.Add("current");
}
if (items.Any()) {
Model.Classes.Add("dropdown");
}
@* morphing the shape to keep Model untouched*@
Model.Metadata.Alternates.Clear();
Model.Metadata.Type = "MenuItemLink";
@* render the menu item only if it has some content *@
var renderedMenuItemLink = Display(Model);
if (HasText(renderedMenuItemLink)) {
var tag = Tag(Model, "li");
@tag.StartElement
@renderedMenuItemLink
@tag.EndElement
}
if (items.Any()) {
<ul>
@DisplayChildren(Model)
</ul>
}
}
}