protected override void BootstrapProcess(TagHelperContext context, TagHelperOutput output) { output.TagName = "button"; output.AddCssClass("close"); output.MergeAttribute("type", "button"); output.AddAriaAttribute("label", Text); output.Content.SetHtmlContent("<span aria-hidden=\"true\">×</span>"); output.TagMode = TagMode.StartTagAndEndTag; }
protected override void BootstrapProcess(TagHelperContext context, TagHelperOutput output) { output.AddCssClass("btn"); output.AddCssClass("btn-" + (Context ?? ButtonContext.Default).ToString().ToLower()); if (context.HasContextItem <InputGroupTagHelper>()) { this.Size = BootstrapTagHelpers.Size.Default; if (!context.HasContextItem <AddonTagHelper>()) { output.PreElement.PrependHtml("<span class=\"input-group-btn\">"); output.PostElement.AppendHtml("</span>"); } } if (WrapInButtonGroup || !output.TagName.Equals("a", StringComparison.CurrentCultureIgnoreCase) && ButtonGroupJustified) { if (Size.HasValue && Size.Value != BootstrapTagHelpers.Size.Default) { output.PreElement.SetHtmlContent( $"<div class=\"btn-group btn-group-{Size.Value.GetDescription()}\" role=\"group\">"); } else { output.PreElement.SetHtmlContent( $"<div class=\"btn-group\" role=\"group\">"); } output.PostElement.SetHtmlContent("</div>"); } else if (Size.HasValue && Size.Value != BootstrapTagHelpers.Size.Default) { output.AddCssClass("btn-" + Size.Value.GetDescription()); } if (BlockStyle) { output.AddCssClass("btn-block"); } if (Pressed) { output.AddAriaAttribute("pressed", "true"); output.AddCssClass("active"); } if (Disabled) { if (output.TagName == "a") { output.AddCssClass("disabled"); if (context.AllAttributes.ContainsName("href")) { output.Attributes.RemoveAll("href"); output.Attributes.Add("data-href", context.AllAttributes["href"].Value); } } output.MergeAttribute("role", "button"); } }
protected override void RenderProcess(TagHelperContext context, TagHelperOutput output) { output.AddCssClass("btn"); // Role if (output.TagName == "a") { output.MergeAttribute("role", "button"); } // Color if (this.Color != Color.None) { output.AddCssClass(this.IsOutline ? $"btn-outline-{this.Color.GetColorInfo().Name}" : $"btn-{this.Color.GetColorInfo().Name}"); } // Size if (this.Size != Size.Default) { output.AddCssClass($"btn-{this.Size.GetEnumInfo().Name}"); } // Block if (this.IsBlock) { output.AddCssClass("btn-block"); } // Active if (this.IsActive) { output.AddCssClass("active"); } // Disable if (this.IsDisabled) { if (output.TagName == "a") { output.AddCssClass("disabled"); output.AddAriaAttribute("disabled", "true"); } else { output.MergeAttribute("disabled", "disabled"); } } }