mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-15 19:54:57 +08:00
Adding notion of default child menu item.
--HG-- branch : dev
This commit is contained in:
@@ -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()));
|
||||
}
|
||||
}
|
||||
}
|
@@ -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) {
|
||||
|
@@ -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">
|
||||
|
@@ -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()
|
||||
|
@@ -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)
|
||||
|
@@ -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; }
|
||||
|
@@ -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 };
|
||||
|
@@ -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)
|
||||
|
Reference in New Issue
Block a user