Skip to content

CssBuilder.AddClass Method

Ed Charbeneau edited this page Jan 15, 2020 · 8 revisions

AddClass(string value)

Example

var ClassToRender = new CssBuilder("item-one")
                            .AddClass("item-two")
                            .Build();

// ClassToRender: "item-one item-two"

AddClass(string value, bool when = true)

Example

var ClassToRender = CssBuilder.Default("item-one")
                            .AddClass("item-two", when: true)
                            .AddClass("item-three", when: false)
                            .AddClass("item-four")
                            .Build();

// ClassToRender: "item-one item-two item-four"

AddClass(string value, Func when = null)

Example

Func<bool> isRendered = () => false;
var ClassToRender = CssBuilder.Default("item-one")
                            .AddClass("item-two", when: true)
                            .AddClass("item-three", when: isRendered)
                            .AddClass("item-four")
                            .Build();

// ClassToRender: "item-one item-two item-four"

AddClass(Func value, bool when = true)

Example

Using a Func<string> as a parameter ensures that the method is called only when a condition is met. This allows CssBuilder to easily chain something as complex as a dictionary lookup and ToString method call without throwing a key not found exception.

IReadOnlyDictionary<string, object> attributes = new Dictionary<string, object> { { "class", "my-custom-class-1" } };
var ClassToRender = CssBuilder.Default("item-one")
                .AddClass(()=> attributes["class"].ToString(), when: attributes.ContainsKey("class"))
                .Build();

// ClassToRender: "item-one my-custom-class-1"

AddClass(Func value, Func when = null)

Example

// contribute?

AddClass(CssBuilder builder, bool when = true)

Example

var ClassToRender = new CssBuilder("item-one")
                .AddClass("item-two", when: hasTwo)
                .AddClass(new CssBuilder("item-three")
                                .AddClass("item-foo", false)
                                .AddClass("item-sub-three"),
                                when: hasThree)
                .AddClass("item-four")
                .AddClass("item-five", when: hasFive)
                .Build();

//ClassToRender: "item-one item-three item-sub-three item-four"

AddClass(CssBuilder builder, Func when = null)

Example

// contribute?

Clone this wiki locally