
org.nasdanika.html.bootstrap.impl.ContainerImpl Maven / Gradle / Ivy
package org.nasdanika.html.bootstrap.impl;
import org.nasdanika.html.Tag;
import org.nasdanika.html.bootstrap.BootstrapFactory;
import org.nasdanika.html.bootstrap.Container;
import org.nasdanika.html.bootstrap.Breakpoint;
import org.nasdanika.html.bootstrap.Size;
public class ContainerImpl extends WrappingBootstrapElementImpl implements Container {
public ContainerImpl(BootstrapFactory factory, Tag htmlElement, boolean fluid) {
super(factory, htmlElement);
htmlElement
.addClassConditional(!fluid, "container")
.addClassConditional(fluid, "container-fluid");
}
class RowImpl extends DivWrappingBootstrapElementImpl implements Row {
protected RowImpl(BootstrapFactory factory) {
super(factory, true);
htmlElement.addClass("row");
}
class ColImpl extends DivWrappingBootstrapElementImpl implements Col {
protected ColImpl(BootstrapFactory factory, Object... content) {
super(factory, true);
htmlElement.addClass("col");
htmlElement.content(content);
}
@Override
public Col content(Object... content) {
htmlElement.content(content);
return this;
}
@Override
public boolean isEmpty() {
return htmlElement.isEmpty();
}
@Override
public Col width(Breakpoint breakpoint, Size width) {
htmlElement.removeClass("col");
htmlElement.addClass(breakpoint.size("col", width));
return this;
}
}
@Override
public Col col(Object... content) {
Col ret = new ColImpl(getFactory(), content);
htmlElement.content(ret.toHTMLElement());
return ret;
}
}
@Override
public Row row() {
Row ret = new RowImpl(getFactory());
htmlElement.content(ret.toHTMLElement());
return ret;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy