package org.nocket.test.widgets.choices; import java.util.Collection; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.ajax.markup.html.form.AjaxButton; import org.apache.wicket.markup.html.form.Form; import org.apache.wicket.markup.html.form.ListMultipleChoice; import org.apache.wicket.model.CompoundPropertyModel; import org.apache.wicket.model.IModel; import org.apache.wicket.model.Model; import org.apache.wicket.model.PropertyModel; import org.nocket.component.form.BeanValidationForm; import org.nocket.component.select.DMDDropDownChoice; import org.nocket.component.select.DMDListMultipleChoice; import org.nocket.test.page.BrowserTestsPage; @SuppressWarnings("serial") public class ChoicesTestsPage extends BrowserTestsPage { public ChoicesTestsPage() { this(Model.of(new ChoicesTestsPageModel())); } public ChoicesTestsPage(IModel<ChoicesTestsPageModel> model) { super(model); final BeanValidationForm<ChoicesTestsPageModel> form = new BeanValidationForm<ChoicesTestsPageModel>("form", new CompoundPropertyModel<ChoicesTestsPageModel>(model)); final DMDListMultipleChoice<DayListItem> dmdListMultipleChoice = new DMDListMultipleChoice<DayListItem>( "multi.days", new PropertyModel<Collection<DayListItem>>(model.getObject(), "multiDays"), model.getObject().getAllDays(), new DayListItem.ChoiceRenderer()); dmdListMultipleChoice.setOutputMarkupId(true); form.add(dmdListMultipleChoice); final DMDDropDownChoice<DayListItem> dmdDropDownChoice = new DMDDropDownChoice<DayListItem>( "one.day", new PropertyModel<DayListItem>(model.getObject(), "oneDay"), model.getObject().getAllDays(), new DayListItem.ChoiceRenderer()); dmdDropDownChoice.setOutputMarkupId(true); form.add(dmdDropDownChoice); final ListMultipleChoice<DayListItem> listMultipleChoice = new ListMultipleChoice<DayListItem>( "multiDaysClassic", model.getObject().getAllDays()); listMultipleChoice.setOutputMarkupId(true); form.add(listMultipleChoice); form.add(new AjaxButton("checkit") { @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { dmdListMultipleChoice.setEnabled(!dmdListMultipleChoice.isEnabled()); dmdDropDownChoice.setEnabled(!dmdDropDownChoice.isEnabled()); listMultipleChoice.setEnabled(!listMultipleChoice.isEnabled()); target.add(dmdListMultipleChoice); target.add(dmdDropDownChoice); target.add(listMultipleChoice); } }); form.setOutputMarkupId(true); add(form); } }