--HG--
branch : dev
This commit is contained in:
Sebastien Ros
2010-11-19 17:00:59 -08:00
6 changed files with 12 additions and 1 deletions

View File

@@ -27,6 +27,7 @@ namespace Orchard.Core.Contents {
var contentTypes = contentTypeDefinitions.Where(ctd => ctd.Settings.GetModel<ContentTypeSettings>().Creatable).OrderBy(ctd => ctd.DisplayName);
if (contentTypes.Count() > 0) {
builder.Add(T("New"), "-1", menu => {
menu.LinkToFirstChild(false);
foreach (var contentTypeDefinition in contentTypes) {
var ci = _contentManager.New(contentTypeDefinition.Name);
var cim = _contentManager.GetItemMetadata(ci);

View File

@@ -16,7 +16,7 @@
var firstOfTheSecond = secondLevelMenuItems.FirstOrDefault();
var sectionHeaderMarkup = firstLevelMenuItem.RouteValues != null || HasText(firstLevelMenuItem.Url)
? Html.Link(sectionHeaderText, (string)firstLevelMenuItem.Href)
: firstOfTheSecond != null
: firstOfTheSecond != null && firstLevelMenuItem.LinkToFirstChild
? Html.Link(sectionHeaderText, (string)firstOfTheSecond.Href)
: new HtmlString(string.Format("<span>{0}</span>", Html.Encode(sectionHeaderText)));

View File

@@ -41,6 +41,7 @@ namespace Orchard.UI.Navigation {
var menuItemShape = shapeFactory.MenuItem()
.Text(menuItem.Text)
.Href(menuItem.Href)
.LinkToFirstChild(menuItem.LinkToFirstChild)
.RouteValues(menuItem.RouteValues)
.Item(menuItem)
.Menu(menu)

View File

@@ -7,12 +7,14 @@ namespace Orchard.UI.Navigation {
public class MenuItem {
public MenuItem() {
Permissions = Enumerable.Empty<Permission>();
LinkToFirstChild = true;
}
public string Text { get; set; }
public string Url { get; set; }
public string Href { get; set; }
public string Position { get; set; }
public bool LinkToFirstChild { get; set; }
public RouteValueDictionary RouteValues { get; set; }
public IEnumerable<MenuItem> Items { get; set; }
public IEnumerable<Permission> Permissions { get; set; }

View File

@@ -28,6 +28,11 @@ namespace Orchard.UI.Navigation {
return this;
}
public NavigationItemBuilder LinkToFirstChild(bool value) {
_item.LinkToFirstChild = value;
return this;
}
public NavigationItemBuilder Permission(Permission permission) {
_item.Permissions = _item.Permissions.Concat(new[]{permission});
return this;

View File

@@ -73,6 +73,7 @@ namespace Orchard.UI.Navigation {
RouteValues = item.RouteValues,
Text = item.Text,
Url = item.Url,
LinkToFirstChild = item.LinkToFirstChild,
Href = item.Href
};
}
@@ -106,6 +107,7 @@ namespace Orchard.UI.Navigation {
Text = items.First().Text,
Url = items.First().Url,
Href = items.First().Href,
LinkToFirstChild = items.First().LinkToFirstChild,
RouteValues = items.First().RouteValues,
Items = Merge(items.Select(x => x.Items)).ToArray(),
Position = SelectBestPositionValue(items.Select(x => x.Position)),