Checkbox elements

A CheckboxFormElement writes a <input type="checkbox"> tag to the output.

Element and builder

The ViewElement implementation for a checkbox element is a CheckboxFormElement. A builder can be created via the BootstrapViewElements.bootstrap.builders#checkbox factory methods.

Thymeleaf model writer

A CheckboxFormElementWriter writes <input> tags to the Thymeleaf model. Based on the configuration of the CheckboxFormElement that should be written, child elements will be added or attributes will be provided to the tag. If it holds text or child elements, a label will be added.

Examples

Creating a checkbox

import static com.foreach.across.modules.bootstrapui.ui.factories.BootstrapViewElements.bootstrap;

bootstrap.builders.checkbox()
                   .build();

Providing a label

import static com.foreach.across.modules.bootstrapui.ui.factories.BootstrapViewElements.bootstrap;

bootstrap.builders.checkbox()
                   .label( "John" ) (1)
                   .build()
1 A label for a checkbox button can also be provided using the text method on the OptionFormElementBuilder. The value set via the label method always takes precedence over the text value.

Not wrapping a checkbox

Checkbox elements are wrapped inside a div by default. By specifying the wrapped property on a CheckboxFormElement, this behaviour can be prevented. If a checkbox element is not wrapped, it will be rendered within the label if one is present.

import static com.foreach.across.modules.bootstrapui.ui.factories.BootstrapViewElements.bootstrap;

bootstrap.builders.checkbox()
                   .label( "John" )
                   .wrapped( false )
                   .build()

Child elements

import static com.foreach.across.modules.bootstrapui.ui.factories.BootstrapViewElements.bootstrap;

bootstrap.builders.checkbox()
                   .label( "John" )
                   .add( IconSet.iconSet( FONT_AWESOME_SOLID_ICON_SET ).icon( "user" ) )
                   .build()

Multi checkbox

import static com.foreach.across.modules.bootstrapui.ui.factories.BootstrapViewElements.bootstrap;

bootstrap.builders.checkboxList()
    .label( "John" )
    .add( bootstrap.builders.option.option().text( "" ).value( 0 ) )
	.add( bootstrap.builders.option.option().text( "option 1" ).value( 1 ) )
	.build()