From e1ba32eb74dc88e887550f9aae52b92d0daf6009 Mon Sep 17 00:00:00 2001 From: yekalkan Date: Mon, 28 May 2018 15:40:23 +0300 Subject: [PATCH] Paginator tag helper examples & improvements --- .../Pagination/AbpPaginationTagHelper.cs | 2 + .../AbpPaginationTagHelperService.cs | 29 +- .../Localization/Resources/AbpUi/en.json | 5 +- .../Logs/logs.txt | 1546 +++++++++++++++++ .../Pages/Components/Paginator.cshtml | 22 + .../Pages/Components/Paginator.cshtml.cs | 26 + .../Pages/Index.cshtml | 1 + 7 files changed, 1619 insertions(+), 12 deletions(-) create mode 100644 test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Components/Paginator.cshtml create mode 100644 test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Components/Paginator.cshtml.cs diff --git a/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Pagination/AbpPaginationTagHelper.cs b/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Pagination/AbpPaginationTagHelper.cs index e3fe2fde74..2e6f7cd743 100644 --- a/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Pagination/AbpPaginationTagHelper.cs +++ b/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Pagination/AbpPaginationTagHelper.cs @@ -9,6 +9,8 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Pagination { public PagerModel Model { get; set; } + public bool? ShowInfo { get; set; } + [HtmlAttributeNotBound] [ViewContext] public ViewContext ViewContext { get; set; } diff --git a/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Pagination/AbpPaginationTagHelperService.cs b/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Pagination/AbpPaginationTagHelperService.cs index 8bebde7231..9b2d789c29 100644 --- a/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Pagination/AbpPaginationTagHelperService.cs +++ b/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Pagination/AbpPaginationTagHelperService.cs @@ -1,8 +1,10 @@ using System.Text; using System.Text.Encodings.Web; +using Localization.Resources.AbpUi; using Microsoft.AspNetCore.Mvc.TagHelpers; using Microsoft.AspNetCore.Mvc.ViewFeatures; using Microsoft.AspNetCore.Razor.TagHelpers; +using Microsoft.Extensions.Localization; namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Pagination { @@ -10,11 +12,13 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Pagination { private readonly IHtmlGenerator _generator; private readonly HtmlEncoder _encoder; + private readonly IStringLocalizer _localizer; - public AbpPaginationTagHelperService(IHtmlGenerator generator, HtmlEncoder encoder) + public AbpPaginationTagHelperService(IHtmlGenerator generator, HtmlEncoder encoder, IStringLocalizer localizer) { _generator = generator; _encoder = encoder; + _localizer = localizer; } public override void Process(TagHelperContext context, TagHelperOutput output) @@ -29,11 +33,11 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Pagination var html = new StringBuilder(""); - html.AppendLine(GetOpeningTags(context,output)); - html.AppendLine(GetPreviousButton(context,output)); - html.AppendLine(GetPages(context,output)); - html.AppendLine(GetNextButton(context,output)); - html.AppendLine(GetClosingTags(context,output)); + html.AppendLine(GetOpeningTags(context, output)); + html.AppendLine(GetPreviousButton(context, output)); + html.AppendLine(GetPages(context, output)); + html.AppendLine(GetNextButton(context, output)); + html.AppendLine(GetClosingTags(context, output)); output.Content.SetHtmlContent(html.ToString()); } @@ -84,7 +88,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Pagination protected virtual string GetPreviousButton(TagHelperContext context, TagHelperOutput output) { - var content = "Previous Button"; + var content = "PagerPrevious"; var currentPage = TagHelper.Model.CurrentPage == 1 ? TagHelper.Model.CurrentPage.ToString() : (TagHelper.Model.CurrentPage - 1).ToString(); @@ -96,7 +100,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Pagination protected virtual string GetNextButton(TagHelperContext context, TagHelperOutput output) { - var content = "Next Button"; + var content = "PagerNext"; var currentPage = (TagHelper.Model.CurrentPage + 1).ToString(); return "
  • = TagHelper.Model.TotalPageCount ? "disabled" : "") + "\">\r\n" + @@ -123,7 +127,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Pagination var tagHelperOutput = GetInnerTagHelper(attributeList, context, anchorTagHelper, "a", TagMode.StartTagAndEndTag); - tagHelperOutput.Content.SetHtmlContent(content); + tagHelperOutput.Content.SetHtmlContent(_localizer[content]); var renderedHtml = RenderTagHelperOutput(tagHelperOutput, _encoder); @@ -132,10 +136,13 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Pagination protected virtual string GetOpeningTags(TagHelperContext context, TagHelperOutput output) { + var pagerInfo = (TagHelper.ShowInfo ?? false) ? + "
    " + _localizer["PagerInfo", TagHelper.Model.ShowingFrom, TagHelper.Model.ShowingTo, TagHelper.Model.TotalItemsCount] + "
    \r\n" + : ""; + return "
    \r\n" + - // "
    @L[\"PagerInfo\", Model.ShowingFrom, Model.ShowingTo, Model.TotalItemsCount]
    \r\n" + <<<<<<<<< No localization for now! - "
    " + TagHelper.Model.ShowingFrom + " " + TagHelper.Model.ShowingTo + " " + TagHelper.Model.TotalItemsCount + " @L[\"PagerInfo\", Model.ShowingFrom, Model.ShowingTo, Model.TotalItemsCount]
    \r\n" + + pagerInfo + "
    \r\n" + "