Moving page size chooser to footer.

--HG--
branch : dev
This commit is contained in:
Andre Rodrigues
2011-03-01 13:13:48 -08:00
parent ccb838e71b
commit 445f65456a
6 changed files with 126 additions and 137 deletions

View File

@@ -8,47 +8,29 @@
@{
Style.Require("ModulesAdmin");
var pageSizes = new List<int?>() { 10, 50, 100 };
var defaultPageSize = WorkContext.CurrentSite.PageSize;
if (!pageSizes.Contains(defaultPageSize)) {
pageSizes.Add(defaultPageSize);
}
Layout.Title = T("Modules").ToString();
}
@using (Html.BeginFormAntiForgeryPost(Url.Action("Index", "Admin"))) {
<fieldset class="bulk-actions">
<input type="hidden" name="Page" value="1" />
<label for="pageSize">@T("Show:")</label>
<select id="pageSize" name="PageSize">
@Html.SelectOption((int)Model.Pager.PageSize, 0, T("All").ToString())
@foreach (int size in pageSizes.OrderBy(p => p)) {
@Html.SelectOption((int)Model.Pager.PageSize, size, size.ToString())
}
</select>
<button type="submit">@T("Apply")</button>
</fieldset>
<fieldset class="search-actions">
<input type="text" id="searchText" name="@Html.NameOf(m => m.Options.SearchText)" value="@Model.Options.SearchText" />
<button type="submit">@T("Search").ToString()</button>
</fieldset>
if (Model.Modules.Count() > 0) {
if (Model.Modules.Count() > 0) {
<ul class="contentItems">
@foreach (ModuleEntry module in Model.Modules.OrderBy(m => m.Descriptor.Name)) {
<li>@Display.ModuleEntry(ContentPart: module)</li>
}
</ul>
} else {
} else {
<p>@T("No modules available").ToString()</p>
}
}
@Display(Model.Pager)
}
@if (Model.InstallModules) {
<p id="otherActionsBar">@Html.ActionLink(T("Upload a module").ToString(), "AddModule", "PackagingServices", new { area = "Orchard.Packaging", returnUrl = HttpContext.Current.Request.RawUrl }, null)</p>
}
}

View File

@@ -3,18 +3,12 @@
@using System.Linq;
@{
Style.Require("PackagingAdmin");
var pageSizes = new List<int?>() { 10, 50, 100 };
var defaultPageSize = WorkContext.CurrentSite.PageSize;
if (!pageSizes.Contains(defaultPageSize)) {
pageSizes.Add(defaultPageSize);
}
Style.Require("PackagingAdmin");
Layout.Title = T("Modules").ToString();
}
@using (Html.BeginFormAntiForgeryPost(Url.Action("Modules", "Gallery")) ) {
@using (Html.BeginFormAntiForgeryPost(Url.Action("Modules", "Gallery"))) {
<fieldset class="bulk-actions">
<label for="filterResults" class="bulk-filter">@T("Feed:")</label>
<select id="sourceId" name="sourceId">
@@ -32,14 +26,7 @@
@Html.SelectOption(Model.Options.Order, PackagingExtensionsOrder.Ratings, T("Ratings").ToString())
@Html.SelectOption(Model.Options.Order, PackagingExtensionsOrder.Alphanumeric, T("Alphanumeric").ToString())
</select>
<input type="hidden" name="Page" value="1" />
<label for="pageSize">@T("Show:")</label>
<select id="pageSize" name="PageSize">
@Html.SelectOption((int)Model.Pager.PageSize, 0, T("All").ToString())
@foreach (int size in pageSizes.OrderBy(p => p)) {
@Html.SelectOption((int)Model.Pager.PageSize, size, size.ToString())
}
</select>
<button type="submit">@T("Apply")</button>
</fieldset>
@@ -54,10 +41,10 @@
@foreach (var item in Model.Extensions) {
<li>
@{
string iconUrl = @item.IconUrl;
if (string.IsNullOrWhiteSpace(iconUrl)) {
iconUrl = Href("../../Content/Images/ModuleDefaultIcon.png");
}
string iconUrl = @item.IconUrl;
if (string.IsNullOrWhiteSpace(iconUrl)) {
iconUrl = Href("../../Content/Images/ModuleDefaultIcon.png");
}
}
<div class="iconThumbnail">

View File

@@ -5,12 +5,6 @@
@{
Style.Require("PackagingAdmin");
var pageSizes = new List<int?>() { 10, 50, 100 };
var defaultPageSize = WorkContext.CurrentSite.PageSize;
if (!pageSizes.Contains(defaultPageSize)) {
pageSizes.Add(defaultPageSize);
}
Layout.Title = T("Themes").ToString();
}
@@ -32,14 +26,7 @@
@Html.SelectOption(Model.Options.Order, PackagingExtensionsOrder.Ratings, T("Ratings").ToString())
@Html.SelectOption(Model.Options.Order, PackagingExtensionsOrder.Alphanumeric, T("Alphanumeric").ToString())
</select>
<input type="hidden" name="Page" value="1" />
<label for="pageSize">@T("Show:")</label>
<select id="pageSize" name="PageSize">
@Html.SelectOption((int)Model.Pager.PageSize, 0, T("All").ToString())
@foreach (int size in pageSizes.OrderBy(p => p)) {
@Html.SelectOption((int)Model.Pager.PageSize, size, size.ToString())
}
</select>
<button type="submit">@T("Apply")</button>
</fieldset>

View File

@@ -5,12 +5,6 @@
@{
var userIndex = 0;
var pageSizes = new List<int?>() { 10, 50, 100 };
var defaultPageSize = WorkContext.CurrentSite.PageSize;
if(!pageSizes.Contains(defaultPageSize)) {
pageSizes.Add(defaultPageSize);
}
Layout.Title = T("Manage Users").ToString();
}
@@ -43,17 +37,10 @@
@Html.SelectOption(Model.Options.Order, UsersOrder.Name, T("Name").ToString())
@Html.SelectOption(Model.Options.Order, UsersOrder.Email, T("Email").ToString())
</select>
<input type="hidden" name="Page" value="1" />
<label for="pageSize">@T("Show:")</label>
<select id="pageSize" name="PageSize">
@Html.SelectOption((int)Model.Pager.PageSize, 0, T("All").ToString())
@foreach (int size in pageSizes.OrderBy(p => p)) {
@Html.SelectOption((int)Model.Pager.PageSize, size, size.ToString())
}
<select>
<button type="submit" name="submit.Filter" value="@T("Filter")">@T("Filter")</button>
</fieldset>
<fieldset>
<fieldset>
<table class="items">
<thead>
<tr>
@@ -96,6 +83,8 @@
userIndex++;
}
</table>
@Display(Model.Pager)
</fieldset>
}

View File

@@ -952,9 +952,21 @@ table.items th, table.items td {
/* Pager
***************************************************************/
.pager-footer {
width: 500px;
margin-left: auto;
margin-right: auto;
}
.page-size-options {
float: left;
padding-right: 40px;
margin-left: auto;
}
.page-size-options select {
margin-top: 10px;
}
.pager { list-style: none; padding: 0; margin: 12px 0 0 0;}
.pager li
{
.pager li {
float: left;
padding: 0 0 0 0;
margin:0 6px 0 0;

View File

@@ -1,5 +1,5 @@
@{
var window = 7; // number of simultaneously displayed pages
var window = 7; // number of simultaneously displayed pages
var nextText = HasText(Model.NextText) ? Model.NextText : T(">").Text;
var previousText = HasText(Model.PreviousText) ? Model.PreviousText : T("<").Text;
@@ -18,79 +18,111 @@
routeData.Remove("id");
}
var totalPageCount = (int) Math.Ceiling((double) Model.TotalItemCount / Model.PageSize);
var firstPage = Math.Max(1, (int)Model.Page - (window/2));
var lastPage = Math.Min(totalPageCount, (int)Model.Page + (window/2));
var totalPageCount = (int)Math.Ceiling((double)Model.TotalItemCount / Model.PageSize);
var firstPage = Math.Max(1, (int)Model.Page - (window / 2));
var lastPage = Math.Min(totalPageCount, (int)Model.Page + (window / 2));
Model.Classes.Add("pager");
Model.Classes.Add("group");
var tag = Tag(Model, "ul");
if(Model.RouteData != null) {
foreach(var rd in Model.RouteData.Values) {
if (Model.RouteData != null) {
foreach (var rd in Model.RouteData.Values) {
routeData[rd.Key] = rd.Value;
}
}
}
}
var pageSizes = new List<int?>() { 10, 50, 100 };
var defaultPageSize = WorkContext.CurrentSite.PageSize;
if (!pageSizes.Contains(defaultPageSize)) {
pageSizes.Add(defaultPageSize);
}
}
@if (Model.TotalItemCount > 1) {
<span class="page-results">@T("Showing items {0} - {1} of {2}", (Model.Page-1)*(int)Model.PageSize + 1, Model.PageSize == 0 ? Model.TotalItemCount : Math.Min(Model.TotalItemCount, (Model.Page)*(int)Model.PageSize), Model.TotalItemCount)</span>
}
<div class="pager-footer">
@if (totalPageCount > 1) {
routeData["pageSize"] = Model.PageSize;
@tag.StartElement
// first
if(firstPage > 1) {
if (routeData.ContainsKey("page")) {
routeData.Remove("page");
@if (totalPageCount > 1) {
<div class="page-size-options">
<input type="hidden" name="Page" value="1" />
<label for="pageSize">@T("Show:")</label>
<select id="pageSize" name="PageSize">
@Html.SelectOption((int)Model.PageSize, 0, T("All").ToString())
@foreach (int size in pageSizes.OrderBy(p => p)) {
@Html.SelectOption((int)Model.PageSize, size, size.ToString())
}
</select>
<button type="submit">@T("Apply")</button>
</div>
}
<li class="page-first">
@Html.ActionLink(T("<<").Text, (string)routeData["action"], (string)routeData["controller"], routeData, null)
</li>
}
// previous page
if(Model.Page > 1) {
if (Model.Page == 2 && routeData.ContainsKey("page")) {
routeData.Remove("page");
<span class="page-results">@T("Showing items {0} - {1} of {2}", (Model.Page - 1) * (int)Model.PageSize + 1, Model.PageSize == 0 ? Model.TotalItemCount : Math.Min(Model.TotalItemCount, (Model.Page) * (int)Model.PageSize), Model.TotalItemCount)</span>
@if (totalPageCount > 1) {
routeData["pageSize"] = Model.PageSize;
@tag.StartElement
// first
if (firstPage > 1) {
if (routeData.ContainsKey("page")) {
routeData.Remove("page");
}
<li class="page-first">
@Html.ActionLink(T("<<").Text, (string)routeData["action"], (string)routeData["controller"], routeData, null)
</li>
}
// previous page
if (Model.Page > 1) {
if (Model.Page == 2 && routeData.ContainsKey("page")) {
routeData.Remove("page");
} else {
routeData["page"] = Model.Page - 1;
}
<li class="page-previous">
@Html.ActionLink((string)previousText, (string)routeData["action"], (string)routeData["controller"], routeData, null)
</li>
}
// page numbers
for (var p = firstPage; p <= lastPage; p++) {
<li class="page-@p">
@if (p == Model.Page) {
<span>@p</span>
} else {
if (p == 1) {
routeData.Remove("page");
} else {
routeData["page"] = p;
}
@Html.ActionLink(p.ToString(), (string)routeData["action"], (string)routeData["controller"], routeData, null)
}
</li>
}
// next page
if (Model.Page < totalPageCount) {
routeData["page"] = Model.Page + 1;
<li class="page-next">
@Html.ActionLink((string)nextText, (string)routeData["action"], (string)routeData["controller"], routeData, null)
</li>
}
// last page
if (lastPage < totalPageCount) {
routeData["page"] = totalPageCount;
<li class="page-last">
@Html.ActionLink(T(">>").Text, (string)routeData["action"], (string)routeData["controller"], routeData, null)
</li>
}
@tag.EndElement
}
else {
routeData["page"] = Model.Page - 1;
}
<li class="page-previous">
@Html.ActionLink((string)previousText, (string)routeData["action"], (string)routeData["controller"], routeData, null)
</li>
}
// page numbers
for (var p = firstPage; p <= lastPage; p++) {
<li class="page-@p">
@if (p == Model.Page) {
<span>@p</span>
}
else {
if (p == 1) {
routeData.Remove("page");
}
else {
routeData["page"] = p;
}
@Html.ActionLink(p.ToString(), (string)routeData["action"], (string)routeData["controller"], routeData, null)
}
</li>
}
// next page
if(Model.Page < totalPageCount) {
routeData["page"] = Model.Page + 1;
<li class="page-next">
@Html.ActionLink((string)nextText, (string)routeData["action"], (string)routeData["controller"], routeData, null)
</li>
}
// last page
if(lastPage < totalPageCount) {
routeData["page"] = totalPageCount;
<li class="page-last">
@Html.ActionLink(T(">>").Text, (string)routeData["action"], (string)routeData["controller"], routeData, null)
</li>
}
@tag.EndElement
</div>
}