
org.nasdanika.html.bootstrap.impl.DropdownMenu Maven / Gradle / Ivy
package org.nasdanika.html.bootstrap.impl;
import org.nasdanika.html.Form;
import org.nasdanika.html.HTMLElement;
import org.nasdanika.html.Tag;
import org.nasdanika.html.TagName;
import org.nasdanika.html.bootstrap.BootstrapElement;
import org.nasdanika.html.bootstrap.BootstrapFactory;
import org.nasdanika.html.bootstrap.Dropdown;
/**
* Handles dropdown menu container
* @author Pavel Vlasov
*
*/
public class DropdownMenu extends DivWrappingBootstrapElementImpl implements Dropdown {
private BootstrapElement, ?> toggle;
public DropdownMenu(BootstrapFactory factory, BootstrapElement,?> toggle) {
super(factory);
htmlElement.addClass("dropdown-menu");
this.toggle = toggle;
}
@Override
public Dropdown item(HTMLElement> item, boolean active, boolean disabled) {
item
.addClass("dropdown-item")
.addClassConditional(active, "active")
.addClassConditional(disabled, "disabled");
htmlElement.content(item);
return this;
}
@Override
public Tag header(Object... content) {
Tag ret = getFactory().getHTMLFactory().tag(TagName.h6, content).addClass("dropdown-header");
htmlElement.content(ret);
return ret;
}
@Override
public Tag divider() {
Tag ret = getFactory().getHTMLFactory().div().addClass("dropdown-divider");
htmlElement.content(ret);
return ret;
}
@Override
public Dropdown form(Form form) {
htmlElement.content(form);
return this;
}
@Override
public BootstrapElement, ?> getToggle() {
return toggle;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy