mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2026-02-09 09:16:41 +08:00
#20182 : Admin Content browser ""Show: All" displays pager.
Work Item: 20182
This commit is contained in:
@@ -120,6 +120,8 @@ namespace Orchard.Core.Contents.Controllers {
|
||||
model.Options.Cultures = _cultureManager.ListCultures();
|
||||
|
||||
var maxPagedCount = _siteService.GetSiteSettings().MaxPagedCount;
|
||||
if (maxPagedCount > 0 && pager.PageSize > maxPagedCount)
|
||||
pager.PageSize = maxPagedCount;
|
||||
var pagerShape = Shape.Pager(pager).TotalItemCount(maxPagedCount > 0 ? maxPagedCount : query.Count());
|
||||
var pageOfContentItems = query.Slice(pager.GetStartIndex(), pager.PageSize).ToList();
|
||||
|
||||
|
||||
@@ -449,14 +449,12 @@ namespace Orchard.Core.Shapes {
|
||||
currentPage = 1;
|
||||
|
||||
var pageSize = PageSize;
|
||||
if (pageSize < 1)
|
||||
pageSize = _workContext.Value.CurrentSite.PageSize;
|
||||
|
||||
|
||||
var numberOfPagesToShow = Quantity ?? 0;
|
||||
if (Quantity == null || Quantity < 0)
|
||||
numberOfPagesToShow = 7;
|
||||
|
||||
var totalPageCount = (int)Math.Ceiling(TotalItemCount / pageSize);
|
||||
var totalPageCount = pageSize > 0 ? (int)Math.Ceiling(TotalItemCount / pageSize) : 1;
|
||||
|
||||
var firstText = FirstText ?? T("<<");
|
||||
var previousText = PreviousText ?? T("<");
|
||||
@@ -529,7 +527,7 @@ namespace Orchard.Core.Shapes {
|
||||
}
|
||||
|
||||
// page numbers
|
||||
if (numberOfPagesToShow > 0) {
|
||||
if (numberOfPagesToShow > 0 && lastPage > 1) {
|
||||
for (var p = firstPage; p <= lastPage; p++) {
|
||||
if (p == currentPage) {
|
||||
Shape.Add(New.Pager_CurrentPage(Value: p, RouteValues: new RouteValueDictionary(routeData), Pager: Shape));
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
routeData.Remove("id");
|
||||
}
|
||||
|
||||
var totalPageCount = (int)Math.Ceiling((double)Model.TotalItemCount / Model.PageSize);
|
||||
var totalPageCount = Model.PageSize > 0 ? (int)Math.Ceiling((double)Model.TotalItemCount / Model.PageSize) : 1;
|
||||
|
||||
Model.Metadata.Type = "Pager_Links";
|
||||
IHtmlString pagerLinks = Display(Model);
|
||||
@@ -32,8 +32,14 @@
|
||||
}
|
||||
|
||||
var pageSizes = new List<int?> { 10, 50, 100 };
|
||||
var maxPageSize = WorkContext.CurrentSite.MaxPageSize;
|
||||
var defaultPageSize = WorkContext.CurrentSite.PageSize;
|
||||
if (!pageSizes.Contains(defaultPageSize)) {
|
||||
if (maxPageSize > 0 && defaultPageSize > maxPageSize) {
|
||||
defaultPageSize = maxPageSize;
|
||||
pageSizes.RemoveAll(x => x > maxPageSize);
|
||||
}
|
||||
|
||||
if (defaultPageSize > 0 && !pageSizes.Contains(defaultPageSize)) {
|
||||
pageSizes.Add(defaultPageSize);
|
||||
}
|
||||
}
|
||||
@@ -46,7 +52,14 @@
|
||||
|
||||
@pageSizeTag.StartElement
|
||||
|
||||
@{ routeData["pageSize"] = 0; }
|
||||
@{
|
||||
var pageId = String.IsNullOrEmpty(Model.PagerId) ? "page" : Model.PagerId;
|
||||
var nPage = Math.Max(1, Convert.ToInt32(routeData[pageId]));
|
||||
var firstItem = (nPage - 1)*Model.PageSize + 1;
|
||||
|
||||
routeData["pageSize"] = 0;
|
||||
routeData[pageId] = 1;
|
||||
}
|
||||
|
||||
@if ((int)Model.PageSize == 0) {
|
||||
<li class="selected"><span>@T("All").ToString()</span></li>
|
||||
@@ -57,6 +70,8 @@
|
||||
@foreach (int size in pageSizes.OrderBy(p => p)) {
|
||||
routeData["pageSize"] = size;
|
||||
|
||||
routeData[pageId] = size > 0 ? Math.Ceiling((double) firstItem/size) : 1;
|
||||
|
||||
if ((int)Model.PageSize == size) {
|
||||
<li class="selected"><span>@size.ToString()</span></li>
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user