package de.flower.rmt.ui.markup.html.form;
import de.flower.rmt.model.db.entity.Team;
import de.flower.rmt.service.ITeamManager;
import de.flower.rmt.ui.markup.html.form.field.DropDownChoicePanel;
import org.apache.wicket.markup.html.form.IChoiceRenderer;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.LoadableDetachableModel;
import org.apache.wicket.spring.injection.annot.SpringBean;
import java.util.List;
/**
* @author flowerrrr
*/
public class TeamDropDownChoicePanel extends DropDownChoicePanel<Team> {
@SpringBean
private ITeamManager teamManager;
public TeamDropDownChoicePanel(String id) {
super(id);
setChoices(getEntityChoices());
setChoiceRenderer(new IChoiceRenderer<Team>() {
@Override
public Object getDisplayValue(Team entity) {
return entity.getName();
}
@Override
public String getIdValue(Team entity, int index) {
return entity.getId().toString();
}
});
}
private IModel<List<Team>> getEntityChoices() {
return new LoadableDetachableModel<List<Team>>() {
@Override
protected List<Team> load() {
return teamManager.findAll();
}
};
}
}