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);
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        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);
 }