Exemplo n.º 1
0
        public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
        {
            await base.ProcessAsync(context, output);

            var content = (await output.GetChildContentAsync()).GetContent();

            output.TagName = HtmlElements.Div;
            output.Attributes.RemoveAll(HtmlAttributes.HRef);
            ClassesToPrepend.Add(CssClasses.NhsUkGlobalAlert);

            if (context.AllAttributes.ContainsName(HtmlAttributes.HRef))
            {
                _href = context.AllAttributes[HtmlAttributes.HRef].Value.ToString();
            }

            SetAttribute(output, HtmlAttributes.IdAttribute, CssClasses.NhsUkGlobalAlert);
            output.TagMode = TagMode.StartTagAndEndTag;
            UpdateClasses(output);
            output.Content.SetHtmlContent(string.Format(
                                              "<div class=\"nhsuk-width-container\"><div class=\"nhsuk-grid-row\">" +
                                              "<div class=\"nhsuk-grid-column-full\"><div class=\"nhsuk-global-alert__content\">" +
                                              "<h2 class=\"nhsuk-global-alert__heading\"><span class=\"nhsuk-u-visually-hidden\">Alert: </span>" +
                                              "{0}</h2><p class=\"nhsuk-global-alert__message\">{1}" +
                                              " <a class=\"nhsuk-u-nowrap\" href=\"{2}\" >{3}</a></p>" +
                                              "<p class=\"nhsuk-global-alert__updated\">{4}</p></div></div></div></div>",
                                              TitleText, content, _href, LinkLabel, LastUpdated));
        }
Exemplo n.º 2
0
        public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
        {
            await base.ProcessAsync(context, output);

            output.TagName = HtmlElements.Span;

            switch (HintType)
            {
            case HintType.Checkboxes:
                ClassesToPrepend.Add(CssClasses.NhsUkHintCheckboxes);
                break;

            case HintType.Radios:
                ClassesToPrepend.Add(CssClasses.NhsUkHintRadios);
                break;

            case HintType.Standard:
                ClassesToPrepend.Add(CssClasses.NhsUkHint);
                break;

            default:
                ClassesToPrepend.Add(CssClasses.NhsUkHint);
                break;
            }

            var content = (await output.GetChildContentAsync()).GetContent();

            output.Content.SetHtmlContent(content);
            UpdateClasses(output);
        }
Exemplo n.º 3
0
        public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
        {
            await base.ProcessAsync(context, output);

            var content = (await output.GetChildContentAsync()).GetContent();

            output.TagName = HtmlElements.Div;
            output.Attributes.RemoveAll(HtmlAttributes.HRef);
            ClassesToPrepend.Add(CssClasses.NhsUkFeedbackBanner);

            if (context.AllAttributes.ContainsName(HtmlAttributes.HRef))
            {
                _href = context.AllAttributes[HtmlAttributes.HRef].Value.ToString();
            }

            SetAttribute(output, HtmlAttributes.IdAttribute, CssClasses.NhsUkFeedbackBanner);
            output.TagMode = TagMode.StartTagAndEndTag;
            UpdateClasses(output);
            output.Content.SetHtmlContent(string.Format(
                                              "<div class=\"nhsuk-width-container\"><div class=\"nhsuk-grid-row\"><div class=\"nhsuk-grid-column-full\">" +
                                              "<div class=\"nhsuk-feedback-banner__content\"><h2 class=\"nhsuk-feedback-banner__heading\">{0}</h2>" +
                                              "<p class=\"nhsuk-feedback-banner__message\">{1} <a href=\"{2}\"" +
                                              " class=\"nhsuk-u-nowrap\">{3}</a></p><button class=\"nhsuk-feedback-banner__close\" id=\"nhsuk-feedback-banner-close\"" +
                                              " type=\"button\">Close<span class=\"nhsuk-u-visually-hidden\"> feedback invite</span></button></div></div>" +
                                              "</div></div>", TitleText, content, _href, LinkLabel));
        }
Exemplo n.º 4
0
        public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
        {
            await base.ProcessAsync(context, output);

            output.TagName = HtmlElements.Div;

            var content = (await output.GetChildContentAsync()).GetContent();

            output.Attributes.RemoveAll(HtmlAttributes.HRef);

            ClassesToPrepend.Add(CssClasses.NhsUkBackLink);

            if (context.AllAttributes.ContainsName(HtmlAttributes.HRef))
            {
                _href = context.AllAttributes[HtmlAttributes.HRef].Value.ToString();
            }

            output.Content.SetHtmlContent(string.Format("<a class=\"nhsuk-back-link__link\" href=\"{0}\">" +
                                                        "<svg class=\"nhsuk-icon nhsuk-icon__chevron-left\" xmlns=\"http://www.w3.org/2000/svg\"" +
                                                        " viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M8.5 12c0-.3.1-.5.3-.7l5-5c.4-.4 1-.4" +
                                                        " 1.4 0s.4 1 0 1.4L10.9 12l4.3 4.3c.4.4.4 1 0 1.4s-1 .4-1.4 0l-5-5c-.2-.2-.3-.4-.3-.7z\"></path>" +
                                                        "</svg>{1}</a>", _href, content));
            output.TagMode = TagMode.StartTagAndEndTag;
            UpdateClasses(output);
        }
Exemplo n.º 5
0
        private void BuildHeroHtmlContent(string text)
        {
            if (_heroContentOnly)
            {
                ClassesToPrepend.Add(CssClasses.NhsUkHero);
                _content = string.Format(
                    "<div class=\"nhsuk-width-container nhsuk-hero--border\"><div class=\"nhsuk-grid-row\"><div class=\"nhsuk-grid-column-two-thirds\">" +
                    "<div class=\"nhsuk-hero__wrapper\"><h1 class=\"nhsuk-u-margin-bottom-3\">{0}</h1><p class=\"nhsuk-body-l nhsuk-u-margin-bottom-0\">" +
                    "{1}</p></div></div></div></div>", TitleText, text);
            }

            if (_imageOnly)
            {
                ClassesToPrepend.Add(CssClasses.NhsUkHeroImage);
                SetAttribute(_output, "style", string.Format("background-image: url('{0}');", ImageUrl));
                _content = "<div class=\"nhsuk-hero__overlay\"></div>";
            }

            if (_heroContentImage)
            {
                ClassesToPrepend.Add(CssClasses.NhsUkHeroImageContent);
                SetAttribute(_output, "style", string.Format("background-image: url('{0}');", ImageUrl));

                _content = string.Format(
                    "<div class=\"nhsuk-hero__overlay\"><div class=\"nhsuk-width-container\"><div class=\"nhsuk-grid-row\">" +
                    "<div class=\"nhsuk-grid-column-two-thirds\"><div class=\"nhsuk-hero-content\"><h1 class=\"nhsuk-u-margin-bottom-3\">" +
                    "{0}</h1><p class=\"nhsuk-body-l nhsuk-u-margin-bottom-0\">{1}</p><span class=\"nhsuk-hero__arrow\" aria-hidden=\"true\"></span>" +
                    "</div></div></div></div></div>", TitleText, text);
            }
        }
Exemplo n.º 6
0
        private void AddWidthClasses()
        {
            if (InputWidth != InputWidth.None)
            {
                switch (InputWidth)
                {
                case InputWidth.Two:
                    ClassesToPrepend.Add(CssClasses.NhsUkInputWidth2);
                    break;

                case InputWidth.Ten:
                    ClassesToPrepend.Add(CssClasses.NhsUkInputWidth10);
                    break;

                case InputWidth.Twenty:
                    ClassesToPrepend.Add(CssClasses.NhsUkInputWidth20);
                    break;

                case InputWidth.Three:
                    ClassesToPrepend.Add(CssClasses.NhsUkInputWidth3);
                    break;

                case InputWidth.Four:
                    ClassesToPrepend.Add(CssClasses.NhsUkInputWidth4);
                    break;

                case InputWidth.Five:
                    ClassesToPrepend.Add(CssClasses.NhsUkInputWidth5);
                    break;
                }
            }
        }
        public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
        {
            await base.ProcessAsync(context, output);

            _output = output;

            _output.TagName = HtmlElements.Div;
            var content = (await output.GetChildContentAsync()).GetContent();

            _output.Attributes.RemoveAll(HtmlAttributes.IdAttribute);

            if (context.AllAttributes.ContainsName(HtmlAttributes.IdAttribute))
            {
                _id = context.AllAttributes[HtmlAttributes.IdAttribute].Value.ToString();
            }

            ClassesToPrepend.Add(CssClasses.NhsUkListPanel);

            _output.PreElement.SetHtmlContent("<li>");

            AppendContent(content);

            AppendBackToTopElement();
            output.PostElement.SetHtmlContent("</li>");
            output.TagMode = TagMode.StartTagAndEndTag;

            UpdateClasses(output);
        }
Exemplo n.º 8
0
        public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
        {
            await base.ProcessAsync(context, output);

            switch (SpanType)
            {
            case SpanType.ErrorMessage:
                ClassesToPrepend.Add(CssClasses.NhsUkErrorMessage);
                break;

            default:
                ClassesToPrepend.Add(CssClasses.NhsUkErrorMessage);
                break;
            }

            var visuallyHidden = new TagBuilder(HtmlElements.Span);

            visuallyHidden.Attributes.Add(HtmlAttributes.ClassAttribute, CssClasses.NhsUkuVisuallyHidden);
            visuallyHidden.InnerHtml.Append(ContentText.Error);
            output.PreContent.AppendHtml(visuallyHidden);

            context.AllAttributes.TryGetAttribute("asp-validation-for", out var entry);

            var content = (await output.GetChildContentAsync()).GetContent();

            if (entry == null)
            {
                output.Content.SetHtmlContent(content);
            }

            UpdateClasses(output);
        }
        public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
        {
            await base.ProcessAsync(context, output);

            output.TagName = HtmlElements.Details;

            switch (DetailsType)
            {
            case DetailsType.Standard:
                ClassesToPrepend.Add(CssClasses.NhsUkDetails);
                break;

            case DetailsType.Expander:
                ClassesToPrepend.Add(CssClasses.NhsUkExpander);
                break;

            default:
                ClassesToPrepend.Add(CssClasses.NhsUkDetails);
                break;
            }

            output.PreContent.SetHtmlContent(
                string.Format("<summary class=\"nhsuk-details__summary\">" +
                              "<span class=\"nhsuk-details__summary-text\">" +
                              "{0}</span></summary><div class=\"nhsuk-details__text\">", DisplayText));

            var content = (await output.GetChildContentAsync()).GetContent();

            output.Content.SetHtmlContent(content);
            output.PostContent.SetHtmlContent("</div>");
            UpdateClasses(output);
        }
        public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
        {
            await base.ProcessAsync(context, output);

            output.TagName = HtmlElements.Nav;
            var content = (await output.GetChildContentAsync()).GetContent();

            ClassesToPrepend.Add(CssClasses.NhsUkContentList);
            SetAttribute(output, HtmlAttributes.Role, HtmlAttributes.AttributeValues.Navigation);
            SetAttribute(output, HtmlAttributes.AriaLabelAttribute, "Pages in this guide");
            var visuallyHidden = new TagBuilder(HtmlElements.H2);

            visuallyHidden.Attributes.Add(HtmlAttributes.ClassAttribute, CssClasses.NhsUkuVisuallyHidden);
            visuallyHidden.InnerHtml.Append(ContentText.Contents);

            var contentsList = new TagBuilder(HtmlElements.Ol);

            contentsList.AddCssClass(CssClasses.NhsUkContentListList);
            contentsList.InnerHtml.AppendHtml(content);

            output.PreContent.SetHtmlContent(visuallyHidden);
            output.Content.SetHtmlContent(contentsList);
            output.TagMode = TagMode.StartTagAndEndTag;

            UpdateClasses(output);
        }
        public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
        {
            await base.ProcessAsync(context, output);

            output.TagName = HtmlElements.Div;

            var content = (await output.GetChildContentAsync()).GetContent();

            output.Attributes.RemoveAll(HtmlAttributes.HRef);

            ClassesToPrepend.Add(CssClasses.NhsUkActionLink);

            if (context.AllAttributes.ContainsName(HtmlAttributes.HRef))
            {
                _href = context.AllAttributes[HtmlAttributes.HRef].Value.ToString();
            }

            if (OpenInNewWindow)
            {
                SetAttribute(output, HtmlAttributes.Target, HtmlAttributes.AttributeValues.Blank);
            }

            output.Content.SetHtmlContent(string.Format("<a class=\"nhsuk-action-link__link\" href=\"{0}\">" +
                                                        "<svg class=\"nhsuk-icon nhsuk-icon__arrow-right-circle\" " +
                                                        "xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" " +
                                                        "aria-hidden=\"true\"><path d=\"M0 0h24v24H0z\" fill=\"none\">" +
                                                        "</path><path d=\"M12 2a10 10 0 0 0-9.95 9h11.64L9.74 7.05a1 1 0" +
                                                        " 0 1 1.41-1.41l5.66 5.65a1 1 0 0 1 0 1.42l-5.66 5.65a1 1 0 0 " +
                                                        "1-1.41 0 1 1 0 0 1 0-1.41L13.69 13H2.05A10 10 0 1 0 12 2z\" >" +
                                                        "</path ></svg ><span class=\"nhsuk-action-link__text\">{1}</span></a>",
                                                        _href, content));

            output.TagMode = TagMode.StartTagAndEndTag;
            UpdateClasses(output);
        }
Exemplo n.º 12
0
        public override void Process(TagHelperContext context, TagHelperOutput output)
        {
            base.Process(context, output);
            _output         = output;
            _output.TagName = HtmlElements.Figure;
            ClassesToPrepend.Add(CssClasses.NhsUkImages);
            output.Attributes.RemoveAll("src");
            output.Attributes.RemoveAll("alt");

            if (context.AllAttributes.ContainsName("src"))
            {
                _src = context.AllAttributes["src"].Value.ToString();
            }

            if (context.AllAttributes.ContainsName("alt"))
            {
                _alt = context.AllAttributes["alt"].Value.ToString();
            }

            if (!string.IsNullOrWhiteSpace(Caption))
            {
                _captionHtml = string.Format("<figcaption class=\"nhsuk-image__caption\">{0}</figcaption>", Caption);
            }

            BuildHtmlContent();

            UpdateClasses(output);

            _output.TagMode = TagMode.StartTagAndEndTag;
            _output.Content.SetHtmlContent(_contentHtml);
        }
 public override void Process(TagHelperContext context, TagHelperOutput output)
 {
     base.Process(context, output);
     output.TagName = HtmlElements.Div;
     ClassesToPrepend.Add(CssClasses.NhsUkCheckboxes);
     output.TagMode = TagMode.StartTagAndEndTag;
     UpdateClasses(output);
 }
Exemplo n.º 14
0
 private void ProcessDisabled(TagHelperOutput output, TagHelperContext context)
 {
     if (context.AllAttributes.ContainsName(HtmlAttributes.Disabled))
     {
         ClassesToPrepend.Add(CssClasses.NhsUkButtonDisabled);
         SetAttribute(output, HtmlAttributes.Disabled, HtmlAttributes.AttributeValues.Disabled);
         SetAttribute(output, HtmlAttributes.AriaDisabled, HtmlAttributes.AttributeValues.True);
     }
 }
Exemplo n.º 15
0
        public override void Process(TagHelperContext context, TagHelperOutput output)
        {
            base.Process(context, output);
            output.TagName = IsOrdered ? HtmlElements.Ol : HtmlElements.Ul;

            ClassesToPrepend.Add(CssClasses.NhsUkList);
            output.TagMode = TagMode.StartTagAndEndTag;
            UpdateClasses(output);
        }
        public override void Process(TagHelperContext context, TagHelperOutput output)
        {
            base.Process(context, output);
            output.TagName = HtmlElements.Dl;

            ClassesToPrepend.Add(IsWithoutBorder ? CssClasses.NhsUkSummaryListWithoutBorder : CssClasses.NhsUkSummaryList);

            UpdateClasses(output);
        }
        public override void Process(TagHelperContext context, TagHelperOutput output)
        {
            base.Process(context, output);
            output.TagName = HtmlElements.Main;

            ClassesToPrepend.Add(CssClasses.NhsUkMainWrapper);
            SetAttribute(output, HtmlAttributes.IdAttribute, HtmlAttributes.AttributeValues.MainContent);
            output.TagMode = TagMode.StartTagAndEndTag;
            UpdateClasses(output);
        }
Exemplo n.º 18
0
        public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
        {
            await base.ProcessAsync(context, output);

            output.TagName = HtmlElements.Dd;
            ClassesToPrepend.Add(CssClasses.NhsUkSummaryListRowValue);
            UpdateClasses(output);

            var content = (await output.GetChildContentAsync()).GetContent();

            output.Content.SetHtmlContent(content);

            output.TagMode = TagMode.StartTagAndEndTag;
        }
Exemplo n.º 19
0
        public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
        {
            await base.ProcessAsync(context, output);

            var labelWrapperOpening = string.Format("<{0} class=\"{1}\">", HtmlElements.H1, CssClasses.NhsLabelWrapper);
            var labelWrapperClosing = string.Format("</{0}", HtmlElements.H1);

            switch (LabelType)
            {
            case LabelType.Bold:
                ClassesToPrepend.Add(CssClasses.NhsUkLabelBold);
                break;

            case LabelType.Medium:
                ClassesToPrepend.Add(CssClasses.NhsUkLabelMedium);
                break;

            case LabelType.Large:
                ClassesToPrepend.Add(CssClasses.NhsUkLabelLarge);
                break;

            case LabelType.Checkboxes:
                ClassesToPrepend.Add(CssClasses.NhsUkLabelCheckboxes);
                break;

            case LabelType.Radios:
                ClassesToPrepend.Add(CssClasses.NhsUkLabelRadios);
                break;

            case LabelType.PageHeading:
                output.PreElement.SetHtmlContent(labelWrapperOpening);
                ClassesToPrepend.Add(CssClasses.NhsUkLabelPageHeader);
                output.PostElement.SetHtmlContent(labelWrapperClosing);
                break;

            case LabelType.Standard:
                ClassesToPrepend.Add(CssClasses.NhsUkLabel);
                break;

            case LabelType.Date:
                ClassesToPrepend.Add(CssClasses.NhsUkLabelDate);
                break;

            default:
                ClassesToPrepend.Add(CssClasses.NhsUkLabel);
                break;
            }

            UpdateClasses(output);
        }
        public override void Process(TagHelperContext context, TagHelperOutput output)
        {
            base.Process(context, output);

            output.TagName = HtmlElements.Div;

            ClassesToPrepend.Add(CssClasses.NhsUkReviewDate);


            UpdateClasses(output);

            output.Content.SetHtmlContent(string.Format("<p class=\"nhsuk-body-s\">Page last reviewed: {0} <br>" +
                                                        "Next review due: {1}</p>", LastReview, NextReview));
        }
Exemplo n.º 21
0
        public override void Process(TagHelperContext context, TagHelperOutput output)
        {
            base.Process(context, output);
            _output         = output;
            _context        = context;
            _output.TagName = HtmlElements.Div;
            _output.Attributes.RemoveAll(HtmlAttributes.HRef);
            if (_context.AllAttributes.ContainsName(HtmlAttributes.HRef))
            {
                _href = _context.AllAttributes[HtmlAttributes.HRef].Value.ToString();
            }

            switch (PromoSize)
            {
            case PromoSize.Standard:
                ClassesToPrepend.Add(CssClasses.NhsUkPromo);
                break;

            case PromoSize.Small:
                ClassesToPrepend.Add(CssClasses.NhsUkPromoSmall);
                break;

            default:
                ClassesToPrepend.Add(CssClasses.NhsUkPromo);
                break;
            }

            UpdateClasses(_output);

            if (context.Items.ContainsKey("ParentColumnWidth"))
            {
                SetPrePostElementHtmlContent();
            }

            if (!string.IsNullOrWhiteSpace(ImageUrl))
            {
                _imageElement = string.Format("<img class=\"nhsuk-promo__img\" src=\"{0}\" alt=\"\">", ImageUrl);
            }

            if (!string.IsNullOrWhiteSpace(DescriptionText))
            {
                _descriptionElement = string.Format("<p class=\"nhsuk-promo__description\">{0}</p>", DescriptionText);
            }

            _output.Content.SetHtmlContent(string.Format("<a class=\"nhsuk-promo__link-wrapper\" href=\"{0}\">" + "{1}" +
                                                         "<div class=\"nhsuk-promo__content\"><h3 class=\"nhsuk-promo__heading\">" +
                                                         "{2}</h3>{3}" +
                                                         "</div></a>", _href, _imageElement, TitleText, _descriptionElement));
        }
        public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
        {
            await base.ProcessAsync(context, output);

            output.TagName = HtmlElements.Div;
            ClassesToPrepend.Add(CssClasses.NhsUkWarningCallout);

            output.PreContent.SetHtmlContent(string.Format("<h3 class=\"nhsuk-warning-callout__label\">{0}</h3>", TitleText));

            var content = (await output.GetChildContentAsync()).GetContent();

            output.Content.SetHtmlContent(content);

            UpdateClasses(output);
        }
        public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
        {
            await base.ProcessAsync(context, output);

            _output         = output;
            _context        = context;
            _output.TagName = HtmlElements.Div;
            _output.Attributes.RemoveAll(HtmlAttributes.HRef);
            if (_context.AllAttributes.ContainsName(HtmlAttributes.HRef))
            {
                _href = _context.AllAttributes[HtmlAttributes.HRef].Value.ToString();
            }

            switch (CardType)
            {
            case CardType.Clickable:
                ClassesToPrepend.Add(CssClasses.NhsUkCardClickable);
                _heading = $"<a class=\"nhsuk-card__link\" href=\"{_href}\">{HeadingText}</a>";
                break;

            default:
                _heading = HeadingText;
                ClassesToPrepend.Add(CssClasses.NhsUkCard);
                break;
            }
            _heading = $"<h3 class=\"nhsuk-card__heading\">{_heading}</h3>";

            UpdateClasses(output);

            if (!string.IsNullOrWhiteSpace(ImageUrl))
            {
                _imageElement = $"<img class=\"nhsuk-card__img\" src=\"{ImageUrl}\" alt=\"\">";
            }

            _output.PreContent.SetHtmlContent($"{_imageElement}<div class=\"nhsuk-card__content\">{_heading}" +
                                              $"<p class=\"nhsuk-card__description\">");
            _output.PostContent.SetHtmlContent("</p></div>");

            if (_context.Items.ContainsKey("ParentColumnWidth"))
            {
                SetPrePostElementHtmlContent();
            }

            var htmlContent = (await output.GetChildContentAsync()).GetContent();

            output.Content.SetHtmlContent(htmlContent);
        }
Exemplo n.º 24
0
        public override void Process(TagHelperContext context, TagHelperOutput output)
        {
            base.Process(context, output);

            switch (InputType)
            {
            case InputType.Checkboxes:
                ClassesToPrepend.Add(CssClasses.NhsUkInputCheckboxes);
                SetAttribute(output, HtmlAttributes.Type, HtmlAttributes.AttributeValues.Checkbox);
                break;

            case InputType.Radios:
                ClassesToPrepend.Add(CssClasses.NhsUkInputRadios);
                SetAttribute(output, HtmlAttributes.Type, HtmlAttributes.AttributeValues.Radio);
                break;

            case InputType.Standard:
                ClassesToPrepend.Add(CssClasses.NhsUkInput);
                SetAttribute(output, HtmlAttributes.Type, HtmlAttributes.AttributeValues.Text);
                break;

            case InputType.Date:
                ClassesToPrepend.Add(CssClasses.NhsUkInputDate);
                SetAttribute(output, HtmlAttributes.Type, HtmlAttributes.AttributeValues.Number);
                SetAttribute(output, "pattern", "[0-9]*");
                break;

            case InputType.Number:
                ClassesToPrepend.Add(CssClasses.NhsUkInput);
                SetAttribute(output, HtmlAttributes.Type, HtmlAttributes.AttributeValues.Number);
                break;

            default:
                ClassesToPrepend.Add(CssClasses.NhsUkInput);
                SetAttribute(output, HtmlAttributes.Type, HtmlAttributes.AttributeValues.Text);
                break;
            }

            if (IsErrorInput)
            {
                ClassesToPrepend.Add(CssClasses.NhsUkInputErrorMessage);
            }

            AddWidthClasses();
            UpdateClasses(output);
        }
Exemplo n.º 25
0
        public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
        {
            await base.ProcessAsync(context, output);

            var content = (await output.GetChildContentAsync()).GetContent();

            output.TagName = HtmlElements.Nav;
            ClassesToPrepend.Add(CssClasses.NhsUkBreadCrumb);
            SetAttribute(output, HtmlAttributes.AriaLabelAttribute, HtmlAttributes.AttributeValues.Breadcrumb);
            var widthContainer = new TagBuilder(HtmlElements.Div);

            widthContainer.AddCssClass(CssClasses.NhsUkWidthContainer);
            widthContainer.InnerHtml.AppendHtml(content);
            output.Content.SetHtmlContent(widthContainer);

            output.TagMode = TagMode.StartTagAndEndTag;
            UpdateClasses(output);
        }
Exemplo n.º 26
0
        public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
        {
            await base.ProcessAsync(context, output);

            output.TagName = HtmlElements.Nav;
            var content = (await output.GetChildContentAsync()).GetContent();

            ClassesToPrepend.Add(CssClasses.NhsUkNavAz);
            UpdateClasses(output);
            SetAttribute(output, HtmlAttributes.Role, HtmlAttributes.AttributeValues.Navigation);
            SetAttribute(output, HtmlAttributes.AriaLabelAttribute, "A to Z Navigation");
            SetAttribute(output, HtmlAttributes.IdAttribute, CssClasses.NhsUkNavAz);

            output.PreContent.SetHtmlContent("<ol class=\"nhsuk-nav-a-z__list\" role=\"list\">");
            output.Content.SetHtmlContent(content);
            output.PostContent.SetHtmlContent("</ol>");
            output.TagMode = TagMode.StartTagAndEndTag;
        }
        public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
        {
            await base.ProcessAsync(context, output);

            var content = (await output.GetChildContentAsync()).GetContent();

            output.TagName = HtmlElements.Legend;

            switch (LegendSize)
            {
            case LegendSize.XLarge:
                ClassesToPrepend.Add(CssClasses.NhsUkFieldsetLegendPageHeading);
                break;

            case LegendSize.Large:
                ClassesToPrepend.Add(CssClasses.NhsUkFieldsetLegendLarge);
                break;

            case LegendSize.Standard:
                ClassesToPrepend.Add(CssClasses.NhsUkFieldsetLegend);
                break;

            default:
                ClassesToPrepend.Add(CssClasses.NhsUkFieldsetLegend);
                break;
            }

            if (IsPageHeading)
            {
                var heading = new TagBuilder(HtmlElements.H1);
                heading.AddCssClass(CssClasses.NhsUkFieldsetHeading);
                heading.InnerHtml.AppendHtml(content);
                output.Content.SetHtmlContent(heading);
            }

            else
            {
                output.Content.SetHtmlContent(content);
            }

            output.TagMode = TagMode.StartTagAndEndTag;
            UpdateClasses(output);
        }
        public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
        {
            await base.ProcessAsync(context, output);

            output.TagName = HtmlElements.Div;
            ClassesToPrepend.Add(CssClasses.NhsUkInsetText);

            var visuallyHidden = new TagBuilder(HtmlElements.Span);

            visuallyHidden.Attributes.Add(HtmlAttributes.ClassAttribute, CssClasses.NhsUkuVisuallyHidden);
            visuallyHidden.InnerHtml.Append("Information: ");
            output.PreContent.AppendHtml(visuallyHidden);

            var content = (await output.GetChildContentAsync()).GetContent();

            output.Content.SetHtmlContent(content);

            UpdateClasses(output);
        }
        public override void Process(TagHelperContext context, TagHelperOutput output)
        {
            base.Process(context, output);
            _output         = output;
            _output.TagName = HtmlElements.Nav;
            ClassesToPrepend.Add(CssClasses.NhsUkPagination);
            SetAttribute(output, HtmlAttributes.Role, HtmlAttributes.AttributeValues.Navigation);
            SetAttribute(output, HtmlAttributes.AriaLabelAttribute, "Pagination");
            _output.PreContent.SetHtmlContent("<ul class=\"nhsuk-list nhsuk-pagination__list\">");

            BuildPreviousPageContent();
            BuildNextPageContent();

            UpdateClasses(output);

            _output.Content.AppendHtml(_prevContent);
            _output.Content.AppendHtml(_nextContent);
            _output.PostContent.SetHtmlContent("</ul>");
            _output.TagMode = TagMode.StartTagAndEndTag;
        }
        public override async Task ProcessAsync(TagHelperContext context, TagHelperOutput output)
        {
            await base.ProcessAsync(context, output);

            output.TagName = HtmlElements.Div;

            switch (CareCardType)
            {
            case CareCardType.NonUrgent:
                ClassesToPrepend.Add(CssClasses.NhsUkCareCardNonUrgent);
                _visuallyHiddenText = ContentText.CareCardNonUrgentHiddenText;
                break;

            case CareCardType.Urgent:
                ClassesToPrepend.Add(CssClasses.NhsUkCareCardUrgent);
                _visuallyHiddenText = ContentText.CareCardUrgentHiddenText;
                break;

            case CareCardType.Immediate:
                ClassesToPrepend.Add(CssClasses.NhsUkCareCardImmediate);
                _visuallyHiddenText = ContentText.CareCardImmediateHiddenText;
                break;

            default:
                ClassesToPrepend.Add(CssClasses.NhsUkCareCardNonUrgent);
                _visuallyHiddenText = ContentText.CareCardNonUrgentHiddenText;
                break;
            }

            output.PreContent.SetHtmlContent(
                string.Format("<div class=\"nhsuk-card--care__heading-container\"><h3 class=\"nhsuk-card--care__heading\">" +
                              "<span role =\"text\"><span class=\"nhsuk-u-visually-hidden\">{0}:</span>{1}:</span></h3>" +
                              "<span class=\"nhsuk-card--care__arrow\" aria-hidden=\"true\"></span></div>" +
                              "<div class=\"nhsuk-card__content\">", _visuallyHiddenText, CareCardHeading));

            var content = (await output.GetChildContentAsync()).GetContent();

            output.Content.SetHtmlContent(content);
            output.PostContent.SetHtmlContent("</div>");
            UpdateClasses(output);
        }