Browse Source

Create ScriptTagHelper.cs

pull/19876/head
Salih 2 years ago
parent
commit
46241bcbe5
  1. 33
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bundling/Volo/Abp/AspNetCore/Mvc/UI/Bundling/TagHelpers/ScriptTagHelper.cs

33
framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bundling/Volo/Abp/AspNetCore/Mvc/UI/Bundling/TagHelpers/ScriptTagHelper.cs

@ -0,0 +1,33 @@
using System;
using System.Linq;
using Microsoft.AspNetCore.Razor.TagHelpers;
using Microsoft.Extensions.Options;
using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers;
namespace Volo.Abp.AspNetCore.Mvc.UI.Bundling.TagHelpers;
[HtmlTargetElement("script")]
public class ScriptTagHelper : AbpTagHelper
{
protected AbpBundlingOptions Options { get; }
[HtmlAttributeName("src")]
public string Src { get; set; } = default!;
public ScriptTagHelper(IOptions<AbpBundlingOptions> options)
{
Options = options.Value;
}
public override void Process(TagHelperContext context, TagHelperOutput output)
{
if (Options.DeferScriptsByDefault)
{
output.Attributes.Add("defer", "");
}
if (!Src.IsNullOrWhiteSpace() && Options.DeferScripts.Any(x => Src.Equals(x, StringComparison.OrdinalIgnoreCase)))
{
output.Attributes.Add("defer", "");
}
}
}
Loading…
Cancel
Save