public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output) { var errorSummaryContext = new ErrorSummaryContext(); using (context.SetScopedContextItem(typeof(ErrorSummaryContext), errorSummaryContext)) { await output.GetChildContentAsync(); } if (errorSummaryContext.Title == null && errorSummaryContext.Description == null && errorSummaryContext.Items.Count == 0) { output.SuppressOutput(); return; } var tagBuilder = _htmlGenerator.GenerateErrorSummary( DisableAutoFocus, errorSummaryContext.Title?.Content ?? new HtmlString(ComponentGenerator.ErrorSummaryDefaultTitle), errorSummaryContext.Title?.Attributes, errorSummaryContext.Description?.Content, errorSummaryContext.Description?.Attributes, output.Attributes.ToAttributeDictionary(), errorSummaryContext.Items); output.TagName = tagBuilder.TagName; output.TagMode = TagMode.StartTagAndEndTag; output.Attributes.Clear(); output.MergeAttributes(tagBuilder); output.Content.SetHtmlContent(tagBuilder.InnerHtml); }
public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output) { var errorSummaryContext = new ErrorSummaryContext(); using (context.SetScopedContextItem(typeof(ErrorSummaryContext), errorSummaryContext)) { await output.GetChildContentAsync(); } if (errorSummaryContext.Title == null) { throw new InvalidOperationException("Missing <govuk-error-summary-title> element."); } var tagBuilder = _htmlGenerator.GenerateErrorSummary( errorSummaryContext.Title?.content, errorSummaryContext.Title?.attributes, errorSummaryContext.Description?.content, errorSummaryContext.Description?.attributes, output.Attributes.ToAttributesDictionary(), errorSummaryContext.Items); output.TagName = tagBuilder.TagName; output.TagMode = TagMode.StartTagAndEndTag; output.Attributes.Clear(); output.MergeAttributes(tagBuilder); output.Content.SetHtmlContent(tagBuilder.InnerHtml); }