public override void Process(TagHelperContext context, TagHelperOutput output) { base.Process(context, output); output.TagName = HtmlElements.Table; ClassesToPrepend.Add(Responsive ? CssClasses.NhsUkTableResponsive : CssClasses.NhsUkTable); UpdateClasses(output); if (!string.IsNullOrWhiteSpace(Caption)) { output.PreContent.SetHtmlContent($"<caption class=\"nhsuk-table__caption\">{Caption}</caption>"); } if (IsWithPanel) { output.PreElement.AppendHtml("<div class=\"nhsuk-table__panel-with-heading-tab\">" + $"<h3 class=\"nhsuk-table__heading-tab\">{TitleText}</h3>"); output.PostElement.AppendHtml("</div>"); } }
public override void Process(TagHelperContext context, TagHelperOutput output) { base.Process(context, output); _tagHelperOutput = output; _tagHelperOutput.TagName = HtmlElements.Div; switch (GridColumnType) { case GridColumnWidth.OneThird: ClassesToPrepend.Add(CssClasses.NhsUkGridOneThird); break; case GridColumnWidth.OneQuarter: ClassesToPrepend.Add(CssClasses.NhsUkGridOneQuarter); break; case GridColumnWidth.OneHalf: ClassesToPrepend.Add(CssClasses.NhsUkGridOneHalf); break; case GridColumnWidth.TwoThirds: ClassesToPrepend.Add(CssClasses.NhsUkGridTwoThirds); break; case GridColumnWidth.ThreeQuarters: ClassesToPrepend.Add(CssClasses.NhsUkGridThreeQuarters); break; case GridColumnWidth.Full: ClassesToPrepend.Add(CssClasses.NhsUkGridFull); break; default: ClassesToPrepend.Add(CssClasses.NhsUkGridFull); break; } _tagHelperOutput.TagMode = TagMode.StartTagAndEndTag; UpdateClasses(output); }
public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output) { await base.ProcessAsync(context, output); _output = output; _context = context; _output.TagName = HtmlElements.Div; switch (PanelType) { case PanelType.Standard: ClassesToPrepend.Add(CssClasses.NhsUkPanel); break; case PanelType.Grey: ClassesToPrepend.Add(CssClasses.NhsUkPanelGrey); break; case PanelType.WithLabel: ClassesToPrepend.Add(CssClasses.NhsUkPanelLabel); _output.PreContent.SetHtmlContent(string.Format("<h3 class=\"nhsuk-panel-with-label__label\">{0}</h3>", Label)); break; default: ClassesToPrepend.Add(CssClasses.NhsUkPanel); break; } UpdateClasses(output); if (_context.Items.ContainsKey("ParentColumnWidth")) { SetPrePostElementHtmlContent(); } var htmlContent = (await output.GetChildContentAsync()).GetContent(); output.Content.SetHtmlContent(htmlContent); }
public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output) { await base.ProcessAsync(context, output); output.Attributes.RemoveAll(HtmlAttributes.HRef); if (context.AllAttributes.ContainsName(HtmlAttributes.HRef)) { _href = context.AllAttributes[HtmlAttributes.HRef].Value.ToString(); } output.TagName = HtmlElements.Dd; ClassesToPrepend.Add(CssClasses.NhsUkSummaryListRowActions); UpdateClasses(output); var content = (await output.GetChildContentAsync()).GetContent(); output.Content.SetHtmlContent(string.Format("<a href=\"{0}\">{1}<span class=\"nhsuk-u-visually-hidden\">" + "{2}</span></a>", _href, content, VisuallyHiddenText)); output.TagMode = TagMode.StartTagAndEndTag; }
public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output) { await base.ProcessAsync(context, output); output.TagName = HtmlElements.Div; var content = (await output.GetChildContentAsync()).GetContent(); SetAttribute(output, HtmlAttributes.AriaLabelByAttribute, TitleId); ClassesToPrepend.Add(CssClasses.NhsUkErrorSummary); var errorSummaryTitle = new TagBuilder(HtmlElements.H2); errorSummaryTitle.AddCssClass(CssClasses.NhsUkErrorSummaryTitle); errorSummaryTitle.Attributes.Add(HtmlAttributes.IdAttribute, TitleId); errorSummaryTitle.InnerHtml.Append(TitleText); var errorSummaryBody = new TagBuilder(HtmlElements.Div); errorSummaryBody.AddCssClass(CssClasses.NhsUkErrorSummaryBody); var errorSummaryDescription = new TagBuilder(HtmlElements.P); errorSummaryDescription.InnerHtml.Append(DescriptionText); var errorSummaryList = new TagBuilder(HtmlElements.Ul); errorSummaryList.AddCssClass(CssClasses.NhsUkErrorSummaryList); errorSummaryList.InnerHtml.AppendHtml(content); errorSummaryBody.InnerHtml.AppendHtml(errorSummaryDescription); errorSummaryBody.InnerHtml.AppendHtml(errorSummaryList); output.PreContent.AppendHtml(errorSummaryTitle); output.Content.AppendHtml(errorSummaryBody); output.TagMode = TagMode.StartTagAndEndTag; UpdateClasses(output); }
public override void Process(TagHelperContext context, TagHelperOutput output) { base.Process(context, output); output.TagName = HtmlElements.Div; switch (ContainerWidth) { case ContainerWidth.Standard: ClassesToPrepend.Add(CssClasses.NhsUkWidthContainer); break; case ContainerWidth.Fluid: ClassesToPrepend.Add(CssClasses.NhsUkWidthContainerFluid); break; default: ClassesToPrepend.Add(CssClasses.NhsUkWidthContainer); break; } output.TagMode = TagMode.StartTagAndEndTag; UpdateClasses(output); }
public override void Process(TagHelperContext context, TagHelperOutput output) { base.Process(context, output); output.TagName = HtmlElements.Div; switch (FormGroupType) { case FormGroupType.Standard: ClassesToPrepend.Add(CssClasses.NhsUkFormGroup); break; case FormGroupType.Error: ClassesToPrepend.Add(CssClasses.NhsUkFormGroupError); break; default: ClassesToPrepend.Add(CssClasses.NhsUkFormGroup); break; } output.TagMode = TagMode.StartTagAndEndTag; UpdateClasses(output); }
public override void Process(TagHelperContext context, TagHelperOutput output) { base.Process(context, output); output.TagName = HtmlElements.Div; switch (RadiosType) { case RadiosType.Inline: ClassesToPrepend.Add(CssClasses.NhsUkRadiosInline); break; case RadiosType.Standard: ClassesToPrepend.Add(CssClasses.NhsUkRadios); break; default: ClassesToPrepend.Add(CssClasses.NhsUkRadios); break; } output.TagMode = TagMode.StartTagAndEndTag; UpdateClasses(output); }
public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output) { await base.ProcessAsync(context, output); switch (AnchorType) { case AnchorType.Button: ClassesToPrepend.Add(CssClasses.NhsUkButton); SetAttribute(output, HtmlAttributes.Role, HtmlElements.Button); SetAttribute(output, HtmlAttributes.Draggable, HtmlAttributes.AttributeValues.False); ProcessDisabled(output, context); break; case AnchorType.SkipLink: ClassesToPrepend.Add(CssClasses.NhsUkSkipLink); break; default: ClassesToPrepend.Add(CssClasses.NhsUkSkipLink); break; } UpdateClasses(output); }
public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output) { await base.ProcessAsync(context, output); output.TagName = HtmlElements.Header; SetAttribute(output, HtmlAttributes.Role, HtmlAttributes.AttributeValues.Banner); switch (HeaderType) { case HeaderType.Standard: ClassesToPrepend.Add(CssClasses.NhsUkHeader); if (!string.IsNullOrWhiteSpace(ServiceName)) { _serviceNameElement = string.Format("<span class=\"nhsuk-header__service-name\">{0}</span>", ServiceName); _headerlink = CssClasses.NhsUkHeaderLinkService; } break; case HeaderType.Transactional: ClassesToPrepend.Add(CssClasses.NhsUkHeaderTransactional); if (!ShowNav && !ShowSearch) { if (!string.IsNullOrWhiteSpace(ServiceName)) { var nameLength = ServiceName.Length; var transactionalServiceClass = nameLength > 22 ? CssClasses.NhsUkTransactionalServiceNameLong : CssClasses.NhsUkTransactionalServiceName; _transactionalServiceElement = BuildTransactionalServiceElement(transactionalServiceClass); } } break; default: ClassesToPrepend.Add(CssClasses.NhsUkHeader); if (!string.IsNullOrWhiteSpace(ServiceName)) { _serviceNameElement = string.Format("<span class=\"nhsuk-header__service-name\">{0}</span>", ServiceName); _headerlink = CssClasses.NhsUkHeaderLinkService; } break; } var widthContainer = new TagBuilder(HtmlElements.Div); widthContainer.AddCssClass(CssClasses.NhsUkWidthContainerHeader); var headerLogo = BuildHeaderLogo(); if (HeaderType == HeaderType.Standard) { if (ShowNav || ShowSearch) { _headerContent = new TagBuilder(HtmlElements.Div); _headerContent.AddCssClass(CssClasses.NhsUkHeaderContent); _headerContent.Attributes.Add(HtmlAttributes.IdAttribute, HtmlAttributes.AttributeValues.ContentHeader); if (ShowNav) { _contentMenuElement = BuildHeaderContentMenuElement(ShowSearch ? CssClasses.NhsUkHeaderMenu : CssClasses.NhsUkHeaderMenuOnly); } if (ShowSearch) { _contentSearchElement = BuildHeaderContentSearchElement(); } _headerContent.InnerHtml.AppendHtml(_contentMenuElement); _headerContent.InnerHtml.AppendHtml(_contentSearchElement); } } widthContainer.InnerHtml.AppendHtml(headerLogo); widthContainer.InnerHtml.AppendHtml(_headerContent); widthContainer.InnerHtml.AppendHtml(_transactionalServiceElement); UpdateClasses(output); output.PreContent.AppendHtml(widthContainer); output.TagMode = TagMode.StartTagAndEndTag; }
private void ProcessButtonTypeStandard(TagHelperOutput output) { ClassesToPrepend.Add(CssClasses.NhsUkButton); SetAttribute(output, HtmlAttributes.Type, HtmlAttributes.AttributeValues.Submit); }