Adding notion of default child menu item.

--HG--
branch : dev
This commit is contained in:
Andre Rodrigues
2011-02-22 11:14:32 -08:00
parent c07a806c20
commit 083691a37c
8 changed files with 28 additions and 15 deletions

View File

@@ -11,10 +11,10 @@ namespace Orchard.Modules {
public void GetNavigation(NavigationBuilder builder) {
builder.AddImageSet("modules")
.Add(T("Modules"), "20", menu => menu
.Add(T("Installed"), "1", item => item.Action("Index", "Admin", new { area = "Orchard.Modules" })
.Permission(StandardPermissions.SiteOwner).LocalNav())
.Add(T("Features"), "0", item => item.Action("Features", "Admin", new { area = "Orchard.Modules" })
.Permission(Permissions.ManageFeatures).LocalNav()));
.Permission(Permissions.ManageFeatures).LocalNav())
.Add(T("Installed"), "1", item => item.Action("Index", "Admin", new { area = "Orchard.Modules" })
.Permission(StandardPermissions.SiteOwner).LocalNav().Default()));
}
}
}

View File

@@ -33,7 +33,7 @@
}
@if (Model.Entries.Count() <= 0) {
<p>No package updates available.</p>
<p>@T("No module updates available.").ToString()</p>
} else {
<ul class="contentItems">
@foreach (var module in Model.Entries) {

View File

@@ -33,21 +33,21 @@
}
@if (Model.Entries.Count() <= 0) {
<p>No package updates available.</p>
<p>@T("No theme updates available.").ToString()</p>
} else {
<ul class="contentItems theme">
@foreach (var theme in Model.Entries) {
<li>
@{
string extensionClass = "iconThumbnail";
string iconUrl = @theme.NewVersionToInstall.IconUrl;
if (!string.IsNullOrWhiteSpace(@theme.NewVersionToInstall.FirstScreenshot)) {
iconUrl = @theme.NewVersionToInstall.FirstScreenshot;
extensionClass = "screenshotThumbnail";
} else if (string.IsNullOrWhiteSpace(iconUrl)) {
iconUrl = Href("../../Content/Images/imagePlaceholder.png");
extensionClass = "screenshotThumbnail";
}
string extensionClass = "iconThumbnail";
string iconUrl = @theme.NewVersionToInstall.IconUrl;
if (!string.IsNullOrWhiteSpace(@theme.NewVersionToInstall.FirstScreenshot)) {
iconUrl = @theme.NewVersionToInstall.FirstScreenshot;
extensionClass = "screenshotThumbnail";
} else if (string.IsNullOrWhiteSpace(iconUrl)) {
iconUrl = Href("../../Content/Images/imagePlaceholder.png");
extensionClass = "screenshotThumbnail";
}
}
<div class="@extensionClass">

View File

@@ -18,7 +18,10 @@
string sectionHeaderText = firstLevelMenuItem.Text;
string sectionHeaderTextHint = firstLevelMenuItem.TextHint;
var firstOfTheSecond = secondLevelMenuItems.FirstOrDefault();
var firstOfTheSecond = secondLevelMenuItems.FirstOrDefault(menuItem => menuItem.Default);
if (firstOfTheSecond == null) {
firstOfTheSecond = secondLevelMenuItems.FirstOrDefault();
}
var itemClassName = HasText(sectionHeaderTextHint)
? "navicon-" + sectionHeaderTextHint.HtmlClassify()

View File

@@ -192,6 +192,7 @@ namespace Orchard.UI.Navigation {
.Href(menuItem.Href)
.LinkToFirstChild(menuItem.LinkToFirstChild)
.LocalNav(menuItem.LocalNav)
.Default(menuItem.Default)
.Selected(menuItem.Selected)
.RouteValues(menuItem.RouteValues)
.Item(menuItem)
@@ -215,6 +216,7 @@ namespace Orchard.UI.Navigation {
.Href(menuItem.Href)
.LinkToFirstChild(menuItem.LinkToFirstChild)
.LocalNav(menuItem.LocalNav)
.Default(menuItem.Default)
.Selected(menuItem.Selected)
.RouteValues(menuItem.RouteValues)
.Item(menuItem)

View File

@@ -18,6 +18,7 @@ namespace Orchard.UI.Navigation {
public string Position { get; set; }
public bool LinkToFirstChild { get; set; }
public bool LocalNav { get; set; }
public bool Default { get; set; }
public bool Selected { get; set; }
public RouteValueDictionary RouteValues { get; set; }
public IEnumerable<MenuItem> Items { get; set; }

View File

@@ -50,6 +50,11 @@ namespace Orchard.UI.Navigation {
return this;
}
public NavigationItemBuilder Default(bool value = true) {
_item.Default = value;
return this;
}
public new IEnumerable<MenuItem> Build() {
_item.Items = base.Build();
return new[] { _item };

View File

@@ -73,6 +73,7 @@ namespace Orchard.UI.Navigation {
Position = item.Position,
RouteValues = item.RouteValues,
LocalNav = item.LocalNav,
Default = item.Default,
Text = item.Text,
TextHint = item.TextHint,
IdHint = item.IdHint,
@@ -126,6 +127,7 @@ namespace Orchard.UI.Navigation {
LinkToFirstChild = items.First().LinkToFirstChild,
RouteValues = items.First().RouteValues,
LocalNav = items.Any(x => x.LocalNav),
Default = items.First().Default,
Items = Merge(items.Select(x => x.Items)).ToArray(),
Position = SelectBestPositionValue(items.Select(x => x.Position)),
Permissions = items.SelectMany(x => x.Permissions)