package de.flower.rmt.ui.panel;
import de.flower.common.ui.panel.BasePanel;
import de.flower.common.util.Check;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.link.AbstractLink;
import org.apache.wicket.markup.html.list.ListItem;
import org.apache.wicket.markup.html.list.ListView;
import org.apache.wicket.model.ResourceModel;
import java.util.ArrayList;
import java.util.List;
/**
* @author flowerrrr
*/
public class DropDownMenuPanel extends BasePanel {
public final static String LINK_ID = "link";
private List<AbstractLink> links = new ArrayList<AbstractLink>();
public DropDownMenuPanel() {
ListView<AbstractLink> list = new ListView<AbstractLink>("linkList", links) {
@Override
public boolean isVisible() {
return !links.isEmpty();
}
@Override
protected void populateItem(final ListItem<AbstractLink> item) {
item.add(item.getModelObject());
}
};
add(list);
}
/**
* Adds a link that has already set its label.
* @param link
*/
public void addLink(final AbstractLink link) {
Check.isEqual(link.getId(), LINK_ID);
links.add(link);
}
/**
* Adds a link with a label.
*
* @param link
* @param labelKey
*/
public void addLink(final AbstractLink link, final String labelKey) {
Check.isEqual(link.getId(), LINK_ID);
Label label = new Label("label", new ResourceModel(labelKey));
link.add(label);
links.add(link);
}
}