protected override void OnStart(TextWriter writer) { // Change to a div if no link was provided, otherwise wrap in a div string href = GetAttribute("href"); if (string.IsNullOrWhiteSpace(href)) { TagName = "div"; } else { // Copy media CSS classes to the wrapping div _wrapper = GetHelper().Div().Component; foreach(string mediaClass in CssClasses.Where(x => x.StartsWith("media-")).ToList()) { _wrapper.AddCss(mediaClass); CssClasses.Remove(mediaClass); } _wrapper.Start(writer); } base.OnStart(writer); _image = GetHelper().Image(Src, Alt).AddCss(Css.MediaObject).Component; _image.Start(writer); }
protected override void OnStart(TextWriter writer) { Prepare(writer); if(Checked) { MergeAttribute("checked", "checked"); } // Add the description as child content if (!string.IsNullOrEmpty(Description)) { AddChild(GetHelper().Content(" " + Description)); } else if (Inline && !SuppressLabelWrapper) { // Add a space if we're inline without a description // This counters the problem of non-labeled checked controls when inline not positioning properly // From Bootstrap docs: "Currently only works on non-inline checkboxes and radios." AddChild(GetHelper().Content(" ")); } // See if we're in a horizontal form or form group Form form = GetComponent<Form>(); FormGroup formGroup = GetComponent<FormGroup>(); bool horizontal = form != null && form.Horizontal && (formGroup == null || !formGroup.Horizontal.HasValue || formGroup.Horizontal.Value); // Add the wrapper if (!Inline) { ComponentBuilder<BootstrapConfig, Element> builder = GetHelper().Element("div").AddCss(GetAttribute("type")); // Hack to make manual padding adjustments if we're horizontal if(horizontal) { builder.AddStyle("padding-top", "0"); } _wrapper = builder.Component; _wrapper.Start(writer); } // Add the label wrapper if (!SuppressLabelWrapper) { ComponentBuilder<BootstrapConfig, Element> labelBuilder = GetHelper().Element("label").AddCss(Inline ? GetAttribute("type") + "-inline" : GetAttribute("type")); // Another hack for manual padding adjustments if inline and horizontal if(Inline && horizontal) { labelBuilder.AddStyle("padding-top", "0"); } _label = labelBuilder.Component; _label.Start(writer); } base.OnStart(writer); }
protected override void OnStart(TextWriter writer) { // Create the list item wrapper _listItem = this.GetHelper().Element("li").Component; if (Active) { _listItem.AddCss(Css.Active); } _listItem.Start(writer); base.OnStart(Active ? new SuppressOutputWriter() : writer); }
protected override void OnStart(TextWriter writer) { // Create the list item wrapper _listItem = GetHelper().Element("li").Component; if (Disabled) { _listItem.AddCss(Css.Disabled); } _listItem.ToggleCss(Alignment); _listItem.Start(writer); base.OnStart(writer); }
protected override void OnStart(TextWriter writer) { _listItem = GetHelper().Element("li").Component; _listItem.MergeAttribute("role", "presentation"); if(Disabled) { _listItem.AddCss(Css.Disabled); } if (Active) { _listItem.AddCss(Css.Active); } _listItem.Start(writer); base.OnStart(writer); }
protected override void OnStart(TextWriter writer) { // Check if we're in a navbar, and if so, make sure we're in a navbar nav if (GetComponent<Navbar>() != null && GetComponent<NavbarNav>() == null) { GetHelper().NavbarNav().Component.Start(writer); } // Create the list item wrapper _listItem = GetHelper().Element("li").Component; if (Active) { _listItem.AddCss(Css.Active); } if (Disabled) { _listItem.AddCss(Css.Disabled); } _listItem.Start(writer); base.OnStart(writer); }
protected override void OnStart(TextWriter writer) { _wrapper = GetHelper().Element("div").AddCss(Css.PageHeader).Component; _wrapper.Start(writer); base.OnStart(writer); }