Browse Source

Form tag helper (in proggress)

pull/272/head
yekalkan 8 years ago
parent
commit
9ca4e32462
  1. 16
      src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpDynamicformTagHelper.cs
  2. 32
      src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpDynamicformTagHelperService.cs
  3. 10
      src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpFormGroupTagHelperService.cs
  4. 13
      test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Components/Forms.cshtml
  5. 19
      test/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo/Pages/Components/Forms.cshtml.cs

16
src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpDynamicformTagHelper.cs

@ -0,0 +1,16 @@
using JetBrains.Annotations;
using Microsoft.AspNetCore.Mvc.ViewFeatures;
namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form
{
public class AbpDynamicFormTagHelper : AbpTagHelper<AbpDynamicFormTagHelper, AbpDynamicFormTagHelperService>
{
public ModelExpression Model { get; set; }
public AbpDynamicFormTagHelper(AbpDynamicFormTagHelperService tagHelperService)
: base(tagHelperService)
{
}
}
}

32
src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpDynamicformTagHelperService.cs

@ -0,0 +1,32 @@
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 Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Microsoft.AspNetCore.Razor.TagHelpers;
namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form
{
public class AbpDynamicFormTagHelperService : AbpTagHelperService<AbpDynamicFormTagHelper>
{
private readonly HtmlEncoder _htmlEncoder;
private readonly AbpInputTagHelper _abpInputTagHelper;
private readonly AbpSelectTagHelper _abpSelectTagHelper;
public AbpDynamicFormTagHelperService(HtmlEncoder htmlEncoder, AbpInputTagHelper abpInputTagHelper, AbpSelectTagHelper abpSelectTagHelper)
{
_htmlEncoder = htmlEncoder;
_abpInputTagHelper = abpInputTagHelper;
_abpSelectTagHelper = abpSelectTagHelper;
}
public override void Process(TagHelperContext context, TagHelperOutput output)
{
var model = TagHelper.Model;
}
}
}

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

@ -28,16 +28,6 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form
{
output.Attributes.AddClass("form-check");
}
//var attributes = new TagHelperAttributeList
//{
// {"Type", "Text"},
// {"Placeholder", "plcHlder"}
//};
//output.Content.AppendHtml(RenderTagHelper(attributes, _abpInputTagHelper, _htmlEncoder));
}
}

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

@ -11,6 +11,19 @@
<h4># Example</h4>
<div class="demo-with-code">
<div class="demo-area">
<abp-dynamic-form model="@Model.Person">
</abp-dynamic-form>
</div>
<div class="code-area">
<pre>
&lt;abp-dynamic-form model=&quot;Model.Person&quot; &gt;
&lt;/form&gt;
</pre>
</div>
</div>
<div class="demo-with-code">
<div class="demo-area">
<form method="post" action="#">

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

@ -42,6 +42,8 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo.Pages.Components
[DisplayName("City")]
public Cities City { get; set; }
public Person Person { get; set; }
public List<SelectListItem> Countries { get; } = new List<SelectListItem>
{
new SelectListItem { Value = "MX", Text = "Mexico" },
@ -63,4 +65,21 @@ namespace Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.Demo.Pages.Components
NewJersey,
Moscow
}
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
public Cities City { get; set; }
public Phone Phone { get; set; }
}
public class Phone
{
public string Number { get; set; }
public string Name { get; set; }
}
}
Loading…
Cancel
Save