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) { await output.GetChildContentAsync(); var prependErrorSummary = PrependErrorSummary ?? _options.PrependErrorSummaryToForms; if (!prependErrorSummary) { return; } var formErrorContext = (FormErrorContext)context.Items[typeof(FormErrorContext)]; if (formErrorContext.Errors.Count == 0) { return; } var errorItems = formErrorContext.Errors.Select(i => new ErrorSummaryItem() { Content = i.Content, Href = i.Href }); var errorSummary = _htmlGenerator.GenerateErrorSummary( ComponentGenerator.ErrorSummaryDefaultDisableAutoFocus, titleContent: new HtmlString(ComponentGenerator.ErrorSummaryDefaultTitle), titleAttributes: null, descriptionContent: null, descriptionAttributes: null, attributes: null, items: errorItems); output.PreContent.AppendHtml(errorSummary); }
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); }