diff --git a/src/Orchard.Web/Modules/Orchard.Users/Views/Admin/Index.cshtml b/src/Orchard.Web/Modules/Orchard.Users/Views/Admin/Index.cshtml index e455bf52b..a4aeb1bb0 100644 --- a/src/Orchard.Web/Modules/Orchard.Users/Views/Admin/Index.cshtml +++ b/src/Orchard.Web/Modules/Orchard.Users/Views/Admin/Index.cshtml @@ -82,7 +82,6 @@ userIndex++; } - @T.Plural("No user found", "{1} users found", (int)Model.Pager.TotalItemCount + 1, (int)Model.Pager.TotalItemCount) @Display(Model.Pager) } \ No newline at end of file diff --git a/src/Orchard.Web/Themes/TheAdmin/Views/Pager.cshtml b/src/Orchard.Web/Themes/TheAdmin/Views/Pager.cshtml index b8cb600b1..85fb7e744 100644 --- a/src/Orchard.Web/Themes/TheAdmin/Views/Pager.cshtml +++ b/src/Orchard.Web/Themes/TheAdmin/Views/Pager.cshtml @@ -1,4 +1,5 @@ @{ + 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,13 +19,25 @@ } 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"); } +@T("Showing items {0} - {1} of {2}", (Model.Page-1)*(int)Model.PageSize + 1, Math.Min(Model.TotalItemCount, (Model.Page)*(int)Model.PageSize), Model.TotalItemCount) @if (totalPageCount > 1) { @tag.StartElement + // first + if(firstPage > 1) { + if (routeData.ContainsKey("page")) { + routeData.Remove("page"); + } +
  • + @Html.ActionLink(T("<<").Text, (string)routeData["action"], (string)routeData["controller"], routeData, null) +
  • + } // previous page if(Model.Page > 1) { if (Model.Page == 2 && routeData.ContainsKey("page")) { @@ -38,7 +51,7 @@ } // page numbers - for (var p = 1; p <= totalPageCount; p++) { + for (var p = firstPage; p <= lastPage; p++) {
  • @if (p == Model.Page) { @p @@ -61,5 +74,12 @@ @Html.ActionLink((string)nextText, (string)routeData["action"], (string)routeData["controller"], routeData, null)
  • } + // last page + if(lastPage < totalPageCount) { + routeData["page"] = totalPageCount; +
  • + @Html.ActionLink(T(">>").Text, (string)routeData["action"], (string)routeData["controller"], routeData, null) +
  • + } @tag.EndElement } \ No newline at end of file