Browse Source

basic Form-group and input tag helpers

pull/272/head
yekalkan 9 years ago
parent
commit
912b2616e4
  1. 1
      src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpFormGroupTagHelper.cs
  2. 29
      src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpFormGroupTagHelperService.cs
  3. 18
      src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpInputTagHelper.cs
  4. 17
      src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpInputTagHelperService.cs
  5. 4
      test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Components/Forms.cshtml

1
src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpFormGroupTagHelper.cs

@ -4,7 +4,6 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form
{ {
public class AbpFormGroupTagHelper : AbpTagHelper<AbpFormGroupTagHelper, AbpFormGroupTagHelperService> public class AbpFormGroupTagHelper : AbpTagHelper<AbpFormGroupTagHelper, AbpFormGroupTagHelperService>
{ {
public bool Checkbox { get; set; } public bool Checkbox { get; set; }
public AbpFormGroupTagHelper(AbpFormGroupTagHelperService tagHelperService) public AbpFormGroupTagHelper(AbpFormGroupTagHelperService tagHelperService)

29
src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpFormGroupTagHelperService.cs

@ -1,4 +1,9 @@
using System.Text; using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Text.Encodings.Web;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Razor.TagHelpers; using Microsoft.AspNetCore.Razor.TagHelpers;
using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Microsoft.AspNetCore.Razor.TagHelpers; using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Microsoft.AspNetCore.Razor.TagHelpers;
@ -6,14 +11,34 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form
{ {
public class AbpFormGroupTagHelperService : AbpTagHelperService<AbpFormGroupTagHelper> public class AbpFormGroupTagHelperService : AbpTagHelperService<AbpFormGroupTagHelper>
{ {
private readonly HtmlEncoder _htmlEncoder;
private readonly AbpInputTagHelper _abpInputTagHelper;
public AbpFormGroupTagHelperService(HtmlEncoder htmlEncoder, AbpInputTagHelper abpInputTagHelper)
{
_htmlEncoder = htmlEncoder;
_abpInputTagHelper = abpInputTagHelper;
}
public override void Process(TagHelperContext context, TagHelperOutput output) public override void Process(TagHelperContext context, TagHelperOutput output)
{ {
output.TagName = "div"; output.TagName = "div";
output.Attributes.AddClass("form-group"); output.Attributes.AddClass("form-group");
if (TagHelper.Checkbox) if (TagHelper.Checkbox)
{ {
output.Attributes.AddClass("form-check"); output.Attributes.AddClass("form-check");
} }
//var attributes = new TagHelperAttributeList
//{
// {"Type", "Text"},
// {"Placeholder", "plcHlder"}
//};
//output.Content.AppendHtml(RenderInputTagHelper(attributes, _abpInputTagHelper, _htmlEncoder));
} }
} }
} }

18
src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpInputTagHelper.cs

@ -0,0 +1,18 @@
using Microsoft.AspNetCore.Razor.TagHelpers;
using JetBrains.Annotations;
using Volo.Abp.DependencyInjection;
namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form
{
public class AbpInputTagHelper : AbpTagHelper<AbpInputTagHelper, AbpInputTagHelperService>, ITransientDependency
{
public AbpInputTagHelper(AbpInputTagHelperService tagHelperService)
: base(tagHelperService)
{
}
}
}

17
src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpInputTagHelperService.cs

@ -0,0 +1,17 @@
using System.Text;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Razor.TagHelpers;
using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Microsoft.AspNetCore.Razor.TagHelpers;
namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form
{
public class AbpInputTagHelperService : AbpTagHelperService<AbpInputTagHelper>
{
public override void Process(TagHelperContext context, TagHelperOutput output)
{
output.TagName = "input";
output.Attributes.AddClass("form-control");
output.TagMode = TagMode.SelfClosing;
}
}
}

4
test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Components/Forms.cshtml

@ -13,7 +13,7 @@
<div class="demo-with-code"> <div class="demo-with-code">
<div class="demo-area"> <div class="demo-area">
<abp-form-group> <abp-form-group>
<input type="text" class="form-control"> <abp-input type="text"/>
</abp-form-group> </abp-form-group>
<abp-form-group checkbox="true"> <abp-form-group checkbox="true">
<input type="checkbox" class="form-check-input" id="exampleCheck1"> <input type="checkbox" class="form-check-input" id="exampleCheck1">
@ -23,7 +23,7 @@
<div class="code-area"> <div class="code-area">
<pre> <pre>
&lt;abp-form-group&gt; &lt;abp-form-group&gt;
&lt;input type=&quot;text&quot; class=&quot;form-control&quot;&gt; &lt;abp-input type=&quot;text&quot;/&gt;
&lt;/abp-form-group&gt; &lt;/abp-form-group&gt;
&lt;abp-form-group checkbox=&quot;true&quot;&gt; &lt;abp-form-group checkbox=&quot;true&quot;&gt;
&lt;input type=&quot;checkbox&quot; class=&quot;form-check-input&quot; id=&quot;exampleCheck1&quot;&gt; &lt;input type=&quot;checkbox&quot; class=&quot;form-check-input&quot; id=&quot;exampleCheck1&quot;&gt;

Loading…
Cancel
Save