All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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