package org.apache.wicket.examples.compref;
import java.util.ArrayList;
import org.apache.wicket.examples.WicketExamplePage;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.Check;
import org.apache.wicket.markup.html.form.CheckGroup;
import org.apache.wicket.markup.html.form.CheckGroupSelector;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.list.ListItem;
import org.apache.wicket.markup.html.list.ListView;
import org.apache.wicket.markup.html.panel.FeedbackPanel;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.PropertyModel;
@author
public class CheckGroupPage2 extends WicketExamplePage
{
public CheckGroupPage2()
{
final CheckGroup<Person> group = new CheckGroup<>("group", new ArrayList<Person>());
final CheckGroup<Person> group2 = new CheckGroup<>("group2", new ArrayList<Person>());
Form<?> form = new Form<Void>("form")
{
@Override
protected void onSubmit()
{
info("selection 1 person(s): " + group.getDefaultModelObjectAsString());
info("selection 2 person(s): " + group2.getDefaultModelObjectAsString());
}
};
add(form);
form.add(group);
group.add(group2);
group2.add(new CheckGroupSelector("groupselector", group));
group2.add(new CheckGroupSelector("groupselector2", group2));
ListView<Person> persons = new ListView<Person>("persons",
ComponentReferenceApplication.getPersons())
{
@Override
protected void populateItem(ListItem<Person> item)
{
IModel<Person> personModel = item.getModel();
item.add(new Check<>("checkbox", personModel, group));
item.add(new Check<>("checkbox2", personModel, group2));
item.add(new Label("name",
new PropertyModel<>(item.getDefaultModel(), "name")));
item.add(new Label("lastName", new PropertyModel<String>(personModel,
"lastName")));
}
};
group2.add(persons);
add(new FeedbackPanel("feedback"));
}
}