Browse Source

added `busy-text-is-html` attribute

pull/5331/head
Maik Stegemann 6 years ago
parent
commit
3cd00f58f6
  1. 2
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Button/AbpButtonTagHelper.cs
  2. 16
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Button/AbpButtonTagHelperService.cs
  3. 9
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/jquery/jquery-extensions.js
  4. 3
      framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Components/Buttons.cshtml

2
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Button/AbpButtonTagHelper.cs

@ -19,6 +19,8 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Button
public FontIconType IconType { get; set; } = FontIconType.FontAwesome;
public bool BusyTextIsHtml { get; set; }
public AbpButtonTagHelper(AbpButtonTagHelperService service)
: base(service)
{

16
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Button/AbpButtonTagHelperService.cs

@ -1,13 +1,14 @@
using System;
using Localization.Resources.AbpUi;
using Localization.Resources.AbpUi;
using Microsoft.AspNetCore.Razor.TagHelpers;
using Microsoft.Extensions.Localization;
using System;
namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Button
{
public class AbpButtonTagHelperService : AbpButtonTagHelperServiceBase<AbpButtonTagHelper>
{
protected const string DataBusyTextAttributeName = "data-busy-text";
protected const string DataBusyTextIsHtmlAttributeName = "data-busy-text-is-html";
protected IStringLocalizer<AbpUiResource> L { get; }
@ -22,6 +23,7 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Button
output.TagName = "button";
AddType(context, output);
AddBusyText(context, output);
AddBusyTextIsHtml(context, output);
}
protected virtual void AddType(TagHelperContext context, TagHelperOutput output)
@ -44,5 +46,15 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Button
output.Attributes.SetAttribute(DataBusyTextAttributeName, busyText);
}
protected virtual void AddBusyTextIsHtml(TagHelperContext context, TagHelperOutput output)
{
if (!TagHelper.BusyTextIsHtml)
{
return;
}
output.Attributes.SetAttribute(DataBusyTextIsHtmlAttributeName, TagHelper.BusyTextIsHtml.ToString().ToLower());
}
}
}

9
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/jquery/jquery-extensions.js

@ -35,7 +35,12 @@
//change text
if ($buttonInnerSpan.length && $button.attr('data-busy-text')) {
$button.data('buttonOriginalText', $buttonInnerSpan.html());
$buttonInnerSpan.text($button.attr('data-busy-text'));
if ($button.data('busy-text-is-html')) {
$buttonInnerSpan.html($button.attr('data-busy-text'));
} else {
$buttonInnerSpan.text($button.attr('data-busy-text'));
}
}
$button.addClass('button-busy');
@ -55,7 +60,7 @@
//restore text
if ($buttonInnerSpan.length && $button.data('buttonOriginalText')) {
$buttonInnerSpan.text($button.data('buttonOriginalText'));
$buttonInnerSpan.html($button.data('buttonOriginalText'));
}
$button.removeClass('button-busy');

3
framework/test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Components/Buttons.cshtml

@ -295,6 +295,9 @@
<li>
<b>busy-text</b>: Sets "data-busy-text" attribute. Default value is localization of "ProcessingWithThreeDot" string.
</li>
<li>
<b>busy-text-is-html</b>: Sets "data-busy-is-html" attribute. Default value is "false".
</li>
</ul>
</div>
</div>
Loading…
Cancel
Save