Browse Source

dynamicFormTagHelper add Column attribute

pull/16111/head
blackWinds 4 years ago
parent
commit
13d2bfb4d2
  1. 3
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpDynamicformTagHelper.cs
  2. 18
      framework/src/Volo.Abp.AspNetCore.Mvc.UI.Bootstrap/TagHelpers/Form/AbpDynamicformTagHelperService.cs

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

@ -12,6 +12,9 @@ public class AbpDynamicFormTagHelper : AbpTagHelper<AbpDynamicFormTagHelper, Abp
[HtmlAttributeName("abp-model")] [HtmlAttributeName("abp-model")]
public ModelExpression Model { get; set; } public ModelExpression Model { get; set; }
[HtmlAttributeName("abp-column")]
public int Column { get; set; }
public bool? SubmitButton { get; set; } public bool? SubmitButton { get; set; }
public bool? RequiredSymbols { get; set; } = true; public bool? RequiredSymbols { get; set; } = true;

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

@ -97,11 +97,15 @@ public class AbpDynamicFormTagHelperService : AbpTagHelperService<AbpDynamicForm
{ {
var contentBuilder = new StringBuilder(""); var contentBuilder = new StringBuilder("");
contentBuilder.AppendLine("<div class=\"row\">");
foreach (var item in items.OrderBy(o => o.Order)) foreach (var item in items.OrderBy(o => o.Order))
{ {
contentBuilder.AppendLine(item.HtmlContent); contentBuilder.AppendLine(SetColumn(item.HtmlContent));
} }
contentBuilder.AppendLine("</div>");
var content = childContent.GetContent(); var content = childContent.GetContent();
if (content.Contains(AbpFormContentPlaceHolder)) if (content.Contains(AbpFormContentPlaceHolder))
{ {
@ -115,6 +119,18 @@ public class AbpDynamicFormTagHelperService : AbpTagHelperService<AbpDynamicForm
output.Content.SetHtmlContent(content); output.Content.SetHtmlContent(content);
} }
protected virtual string SetColumn(string htmlContent)
{
if (TagHelper.Column < 2 || TagHelper.Column > 6)
{
return htmlContent;
}
var col_class = $"col-12 col-sm-" + (12 / TagHelper.Column);
return $"<div class=\"{col_class}\">{htmlContent}</div>";
}
protected virtual async Task SetSubmitButton(TagHelperContext context, TagHelperOutput output) protected virtual async Task SetSubmitButton(TagHelperContext context, TagHelperOutput output)
{ {
if (!TagHelper.SubmitButton ?? true) if (!TagHelper.SubmitButton ?? true)

Loading…
Cancel
Save