List of usage examples for org.apache.wicket.markup.html.form CheckGroup CheckGroup
@SuppressWarnings("unchecked") public CheckGroup(String id, IModel<? extends Collection<T>> model)
From source file:com.doculibre.constellio.wicket.panels.admin.collection.AddEditCollectionPanel.java
License:Open Source License
public AddEditCollectionPanel(String id, RecordCollection collection) { super(id, false); this.collectionModel = new ReloadableEntityModel<RecordCollection>(collection); edit = collection.getId() != null;// www. j av a 2 s. c o m final Form form = getForm(); form.setModel(new CompoundPropertyModel(collectionModel)); form.add(new SetFocusBehavior(form)); TextField nameField = new RequiredTextField("name"); form.add(nameField); nameField.setEnabled(collection.getId() == null); nameField.setOutputMarkupId(true); nameField.add(new StringValidator.MaximumLengthValidator(50)); nameField.add(new PatternValidator(ConstellioNameUtils.NAME_PATTERN)); nameField.add(new DuplicateItemValidator() { @Override protected boolean isDuplicate(Object value) { RecordCollectionServices collectionServices = ConstellioSpringUtils.getRecordCollectionServices(); return collectionServices.get((String) value) != null; } }); TextField openSearchURL = new TextField("openSearchURL"); form.add(openSearchURL); final WebMarkupContainer titleContainer = new WebMarkupContainer("titleContainer"); form.add(titleContainer); titleContainer.setOutputMarkupId(true); MultiLocaleComponentHolder titleHolder = new MultiLocaleComponentHolder("title", collectionModel, new PropertyModel(collectionModel, "locales")) { @Override protected void onPopulateItem(ListItem item, IModel componentModel, Locale locale) { TextField titleLocaleField = new RequiredTextField("titleField", componentModel); item.add(titleLocaleField); titleLocaleField.setOutputMarkupId(true); titleLocaleField.add(new StringValidator.MaximumLengthValidator(255)); item.add(new LocaleNameLabel("localeName", locale, true) { @Override public boolean isVisible() { return collectionModel.getObject().getLocales().size() > 1; } }); } }; titleContainer.add(titleHolder); final WebMarkupContainer descriptionContainer = new WebMarkupContainer("descriptionContainer"); form.add(descriptionContainer); descriptionContainer.setOutputMarkupId(true); MultiLocaleComponentHolder descriptionHolder = new MultiLocaleComponentHolder("description", collectionModel, new PropertyModel(collectionModel, "locales")) { @Override protected void onPopulateItem(ListItem item, IModel componentModel, Locale locale) { TextArea descriptionLocaleField = new TextArea("descriptionLocale", componentModel); item.add(descriptionLocaleField); descriptionLocaleField.setOutputMarkupId(true); item.add(descriptionLocaleField); item.add(new LocaleNameLabel("localeName", locale, true) { @Override public boolean isVisible() { return collectionModel.getObject().getLocales().size() > 1; } }); } }; descriptionContainer.add(descriptionHolder); List<Locale> supportedLocales = ConstellioSpringUtils.getSupportedLocales(); if (collection.getId() == null) { collection.setLocales(new HashSet<Locale>(supportedLocales)); } CheckGroup localesCheckGroup = new CheckGroup("localesCheckGroup", new PropertyModel(collectionModel, "locales")); form.add(localesCheckGroup); localesCheckGroup.setOutputMarkupId(true); localesCheckGroup.add(new AjaxFormChoiceComponentUpdatingBehavior() { @Override protected void onUpdate(AjaxRequestTarget target) { target.addComponent(titleContainer); target.addComponent(descriptionContainer); } }); final Map<Locale, Check> localeChecks = new HashMap<Locale, Check>(); localesCheckGroup.add(new ListView("locales", supportedLocales) { @Override protected void populateItem(ListItem item) { final Locale locale = (Locale) item.getModelObject(); Check localeCheck = localeChecks.get(locale); if (localeCheck == null) { localeCheck = new Check("localeCheck", new Model(locale)); localeChecks.put(locale, localeCheck); } item.add(localeCheck); item.add(new LocaleNameLabel("localeName", locale)); } }); CheckBox publicCollectionCheck = new CheckBox("publicCollection"); form.add(publicCollectionCheck); }
From source file:com.doculibre.constellio.wicket.panels.admin.credentialGroup.AddEditCredentialGroupPanel.java
License:Open Source License
public AddEditCredentialGroupPanel(String id, CredentialGroup credentialGroup) { super(id, true); this.credentialGroupModel = new EntityModel<CredentialGroup>(credentialGroup); this.isCreation = credentialGroup.getId() == null; Form form = getForm();//from w w w . j a v a2 s. c o m form.setModel(new CompoundPropertyModel(credentialGroupModel)); form.add(new SetFocusBehavior(form)); nameField = new RequiredTextField("name"); nameField.add(new StringValidator.MaximumLengthValidator(255)); connectorInstancesCheckGroup = new CheckGroup("connectorInstances", new PropertyModel(credentialGroupModel, "connectorInstances")); IModel connectorInstancesModel = new LoadableDetachableModel() { @Override protected Object load() { AdminCollectionPanel adminCollectionPanel = (AdminCollectionPanel) findParent( AdminCollectionPanel.class); RecordCollection collection = adminCollectionPanel.getCollection(); return new ArrayList<ConnectorInstance>(collection.getConnectorInstances()); } }; connectorInstancesListView = new ListView("connectorInstancesListView", connectorInstancesModel) { @Override protected void populateItem(ListItem item) { ConnectorInstance connectorInstance = (ConnectorInstance) item.getModelObject(); Check check = new Check("check", new ReloadableEntityModel<ConnectorInstance>(connectorInstance)); Label label = new Label("label", connectorInstance.getDisplayName()); item.add(check); item.add(label); } }; connectorInstancesListView.setReuseItems(true); form.add(nameField); form.add(connectorInstancesCheckGroup); connectorInstancesCheckGroup.add(connectorInstancesListView); }
From source file:com.doculibre.constellio.wicket.panels.facets.FacetPanel.java
License:Open Source License
public FacetPanel(String id, final SearchableFacet searchableFacet, final FacetsDataProvider dataProvider, final FacetsDataProvider notIncludedDataProvider) { super(id, new CompoundPropertyModel(searchableFacet)); this.searchableFacet = searchableFacet; possibleValuesModel = new LoadableDetachableModel() { @Override/*from w w w. ja v a 2 s .c o m*/ protected Object load() { SimpleSearch simpleSearch = dataProvider.getSimpleSearch(); String collectionName = simpleSearch.getCollectionName(); ConstellioUser user = ConstellioSession.get().getUser(); List<FacetValue> possibleValues = new ArrayList<FacetValue>(); List<FacetValue> includedFacetPossibleValues = SolrFacetUtils.getPossibleValues(searchableFacet, dataProvider, collectionName, user); List<FacetValue> notIncludedFacetPossibleValues = SolrFacetUtils.getPossibleValues(searchableFacet, notIncludedDataProvider, collectionName, user); possibleValues.addAll(includedFacetPossibleValues); for (FacetValue notIncludedFacetPossibleValue : notIncludedFacetPossibleValues) { boolean alreadyIncluded = false; loop2: for (FacetValue possibleValue : possibleValues) { if (possibleValue.getValue().equals(notIncludedFacetPossibleValue.getValue())) { alreadyIncluded = true; break loop2; } } if (!alreadyIncluded) { possibleValues.add(notIncludedFacetPossibleValue); } } SearchedFacet searchedFacet = simpleSearch.getSearchedFacet(searchableFacet.getName()); // We already applied a value for this facet if (searchedFacet != null) { List<FacetValue> deletedValues = new ArrayList<FacetValue>(); for (FacetValue facetValue : possibleValues) { if (searchedFacet.getExcludedValues().contains(facetValue.getValue())) { // To avoid concurrent modifications deletedValues.add(facetValue); } } for (FacetValue deletedValue : deletedValues) { // Will remove this value from the possible values possibleValues.remove(deletedValue); } for (FacetValue facetValue : possibleValues) { if (searchedFacet.getIncludedValues().contains(facetValue.getValue())) { // Aura pour effet de cocher la case au chargement de la // page selectedValues.add(facetValue); } } applySort(possibleValues, simpleSearch.getFacetSort(searchableFacet.getName()), dataProvider); } return possibleValues; } }; facetForm = new StatelessForm("facetForm"); List<String> sortOptions = new ArrayList<String>(); sortOptions.add(SearchableFacet.SORT_ALPHA); sortOptions.add(SearchableFacet.SORT_NB_RESULTS); IChoiceRenderer sortChoiceRenderer = new StringResourceChoiceRenderer(this); sortField = new DropDownChoice("sort", new Model() { @Override public Object getObject() { SimpleSearch simpleSearch = dataProvider.getSimpleSearch(); return simpleSearch.getFacetSort(searchableFacet.getName()); } @Override public void setObject(final Object object) { SimpleSearch simpleSearch = dataProvider.getSimpleSearch(); simpleSearch.setFacetSort(searchableFacet.getName(), (String) object); possibleValuesModel.detach(); } }, sortOptions, sortChoiceRenderer); sortField.setVisible(!searchableFacet.isQuery() && searchableFacet.isSortable()); sortField.add(new AjaxFormComponentUpdatingBehavior("onchange") { @Override protected void onUpdate(AjaxRequestTarget target) { target.addComponent(FacetPanel.this); } }); refineButton = new Button("refineButton") { @Override public void onSubmit() { SimpleSearch simpleSearch = dataProvider.getSimpleSearch(); SimpleSearch clone = simpleSearch.clone(); for (SearchedFacet searchedFacet : clone.getSearchedFacets()) { if (searchedFacet.getSearchableFacet().equals(searchableFacet)) { List<String> includedValuesNotAlreadySelected = new ArrayList<String>(); for (String includedValue : searchedFacet.getIncludedValues()) { boolean includedValueSelected = false; for (FacetValue selectedValue : selectedValues) { if (selectedValue.getValue().equals(includedValue)) { includedValueSelected = true; break; } } if (!includedValueSelected) { includedValuesNotAlreadySelected.add(includedValue); } } for (String includedValueNotAlreadySelected : includedValuesNotAlreadySelected) { searchedFacet.getIncludedValues().remove(includedValueNotAlreadySelected); } } } for (FacetValue selectedValue : selectedValues) { clone.addSearchedFacet(searchableFacet, selectedValue); } List<SearchedFacet> deletedSearchedFacets = new ArrayList<SearchedFacet>(); for (SearchedFacet searchedFacet : clone.getSearchedFacets()) { if (searchedFacet.getIncludedValues().isEmpty() && searchedFacet.getExcludedValues().isEmpty()) { deletedSearchedFacets.add(searchedFacet); } } for (SearchedFacet deletedSearchedFacet : deletedSearchedFacets) { clone.getSearchedFacets().remove(deletedSearchedFacet); } // ConstellioSession.get().addSearchHistory(clone); clone.setPage(0); PageFactoryPlugin pageFactoryPlugin = PluginFactory.getPlugin(PageFactoryPlugin.class); setResponsePage(pageFactoryPlugin.getSearchResultsPage(), SearchResultsPage.getParameters(clone)); } @Override public boolean isVisible() { return getPossibleValues().size() > 1; } }; excludeButton = new Button("excludeButton") { @Override public void onSubmit() { SimpleSearch simpleSearch = dataProvider.getSimpleSearch(); SimpleSearch clone = simpleSearch.clone(); for (FacetValue selectedValue : selectedValues) { clone.excludeSearchedFacet(searchableFacet, selectedValue); } List<SearchedFacet> deletedSearchedFacets = new ArrayList<SearchedFacet>(); for (SearchedFacet searchedFacet : clone.getSearchedFacets()) { if (searchedFacet.getIncludedValues().isEmpty() && searchedFacet.getExcludedValues().isEmpty()) { deletedSearchedFacets.add(searchedFacet); } } for (SearchedFacet deletedSearchedFacet : deletedSearchedFacets) { clone.getSearchedFacets().remove(deletedSearchedFacet); } // ConstellioSession.get().addSearchHistory(clone); clone.setPage(0); PageFactoryPlugin pageFactoryPlugin = PluginFactory.getPlugin(PageFactoryPlugin.class); setResponsePage(pageFactoryPlugin.getSearchResultsPage(), SearchResultsPage.getParameters(clone)); } @Override public boolean isVisible() { return getPossibleValues().size() > 1 && !searchableFacet.isQuery(); } }; selectedValuesCheckGroup = new CheckGroup("selectedValuesCheckGroup", selectedValues); listViewContainer = new WebMarkupContainer("listViewContainer"); listViewContainer.setOutputMarkupId(true); possibleValuesListView = new PageableListView("possibleValues", possibleValuesModel, Integer.MAX_VALUE) { @Override protected void populateItem(ListItem item) { FacetValue possibleValue = (FacetValue) item.getModelObject(); final String value = possibleValue.getValue(); int numFound = possibleValue.getDocCount(); Check checkbox = checkboxes.get(value); if (checkbox == null) { checkbox = new Check("selectFacet", new Model(possibleValue)) { @Override public boolean isVisible() { return searchableFacet.isMultiValued() && getPossibleValues().size() > 1; } }; checkboxes.put(value, checkbox); } item.add(checkbox); SimpleSearch simpleSearch = dataProvider.getSimpleSearch(); SimpleSearch cloneAddFacet = simpleSearch.clone(); if (searchableFacet != null && !searchableFacet.isMultiValued()) { cloneAddFacet.removeSearchedFacet(searchableFacet); } cloneAddFacet.addSearchedFacet(searchableFacet, possibleValue); cloneAddFacet.setPage(0); PageFactoryPlugin pageFactoryPlugin = PluginFactory.getPlugin(PageFactoryPlugin.class); Link addFacetLink = new BookmarkablePageLink("addFacetLink", pageFactoryPlugin.getSearchResultsPage(), SearchResultsPage.getParameters(cloneAddFacet)); item.add(addFacetLink); if (!searchableFacet.isMultiValued()) { SearchedFacet searchedFacet = simpleSearch.getSearchedFacet(searchableFacet.getName()); if (searchedFacet != null && searchedFacet.getIncludedValues().contains(value)) { item.add(new StyleClassAppender("singleValuedFacetSelected")); } } SimpleSearch cloneDeleteFacet = simpleSearch.clone(); cloneDeleteFacet.excludeSearchedFacet(searchableFacet, possibleValue); Link deleteFacetLink = new BookmarkablePageLink("deleteFacetLink", pageFactoryPlugin.getSearchResultsPage(), SearchResultsPage.getParameters(cloneDeleteFacet)); item.add(deleteFacetLink); SearchedFacet facet = simpleSearch.getSearchedFacet(searchableFacet.getName()); boolean deleteFacetLinkVisible; FacetDisplayPlugin facetDisplayPlugin = PluginFactory.getPlugin(FacetDisplayPlugin.class); if (facetDisplayPlugin == null || !facetDisplayPlugin.isDisplayAllResultsLink(searchableFacet)) { deleteFacetLinkVisible = facet != null && !searchableFacet.isMultiValued() && facet.getIncludedValues().contains(value); } else { deleteFacetLinkVisible = false; } deleteFacetLink.setVisible(deleteFacetLinkVisible); RecordCollectionServices collectionServices = ConstellioSpringUtils.getRecordCollectionServices(); String collectionName = simpleSearch.getCollectionName(); RecordCollection collection = collectionServices.get(collectionName); Locale displayLocale = collection.getDisplayLocale(getLocale()); String numFoundFormatted = NumberFormatUtils.format(numFound, displayLocale); Label countLabel = new Label("count", possibleValue.getLabel(displayLocale) + " (" + numFoundFormatted + ")"); addFacetLink.add(countLabel); } }; FacetDisplayPlugin facetDisplayPlugin = PluginFactory.getPlugin(FacetDisplayPlugin.class); if (facetDisplayPlugin == null || facetDisplayPlugin.isPageable(searchableFacet)) { possibleValuesListView.setRowsPerPage(10); } int currentPage = dataProvider.getSimpleSearch().getFacetPage(searchableFacet.getName()); possibleValuesListView.setCurrentPage(currentPage); pagingNavigator = new ConstellioFacetsPagingNavigator("pagingNavigator", possibleValuesListView, dataProvider, searchableFacet.getName()); final SimpleSearch simpleSearch = dataProvider.getSimpleSearch(); SimpleSearch cloneAllResultsFacet = simpleSearch.clone(); cloneAllResultsFacet.setPage(0); cloneAllResultsFacet.removeSearchedFacet(searchableFacet); PageFactoryPlugin pageFactoryPlugin = PluginFactory.getPlugin(PageFactoryPlugin.class); allResultsLink = new BookmarkablePageLink("allResultsLink", pageFactoryPlugin.getSearchResultsPage(), SearchResultsPage.getParameters(cloneAllResultsFacet)) { @Override public boolean isVisible() { boolean visible = super.isVisible(); if (visible) { SearchedFacet searchedFacet = simpleSearch.getSearchedFacet(searchableFacet.getName()); if (searchedFacet != null) { FacetDisplayPlugin facetDisplayPlugin = PluginFactory.getPlugin(FacetDisplayPlugin.class); if (facetDisplayPlugin == null || !facetDisplayPlugin.isDisplayAllResultsLink(searchableFacet)) { visible = false; } else { visible = !searchedFacet.getExcludedValues().isEmpty() || !searchedFacet.getIncludedValues().isEmpty(); } } } return visible; } }; WebMarkupContainer multiValuedFacetOptions = new WebMarkupContainer("multiValuedFacetOptions") { @Override public boolean isVisible() { return searchableFacet.isMultiValued(); } }; WebMarkupContainer facetHeader = new WebMarkupContainer("facetHeader") { @Override public boolean isVisible() { return searchableFacet.isMultiValued() || searchableFacet.isSortable(); } }; WebMarkupContainer facetFooter = new WebMarkupContainer("facetFooter") { @Override public boolean isVisible() { return pagingNavigator.isVisible() || allResultsLink.isVisible(); } }; add(facetForm); facetForm.add(facetHeader); facetForm.add(selectedValuesCheckGroup); facetForm.add(facetFooter); facetHeader.add(sortField); facetHeader.add(multiValuedFacetOptions); multiValuedFacetOptions.add(refineButton); multiValuedFacetOptions.add(excludeButton); selectedValuesCheckGroup.add(listViewContainer); listViewContainer.add(possibleValuesListView); facetFooter.add(pagingNavigator); facetFooter.add(allResultsLink); }
From source file:com.francetelecom.clara.cloud.presentation.tools.PopulateDatasPage.java
License:Apache License
private void initComponents() { NavigationMenuFirstLevel navFirstLvl = new NavigationMenuFirstLevel(); add(navFirstLvl);//w w w.j a v a 2 s .com /* set head page title to display in browser title bar */ add(new Label("head_page_title", getString("portal.design.web.title.populatedatas"))); List<BreadcrumbsItem> breadcrumbsItems = new ArrayList<BreadcrumbsItem>(); breadcrumbsItems .add(new BreadcrumbsItem(this.getClass(), "portal.design.breadcrumbs.populatedatas", null, true)); Breadcrumbs breadcrumbs = new Breadcrumbs("breadcrumbs", breadcrumbsItems); add(breadcrumbs); FeedbackPanel feedback = new FeedbackPanel("feedback"); feedback.setOutputMarkupId(true); add(feedback); final CheckGroup<PopulateApplicationInformation> group = new CheckGroup<>("groupCheckBox", new ArrayList<PopulateApplicationInformation>()); AppSelectionForm appSelectionForm = new AppSelectionForm("appSelectionForm", group); appSelectionForm.add(group); group.add(new CheckGroupSelector("groupselector")); ListView<PopulateApplicationInformation> appListView = new ApplicationListview(); group.add(appListView); add(appSelectionForm); }
From source file:com.mycompany.CheckGroupPage.java
License:Apache License
/** * Constructor/*from www. j a v a2s . co m*/ */ public CheckGroupPage() { final CheckGroup<Person> group = new CheckGroup<Person>("group", new ArrayList<Person>()); group.setRenderBodyOnly(false); group.setOutputMarkupId(true); Form<?> form = new Form("form") { @Override protected void onSubmit() { info("selected person(s): " + group.getDefaultModelObjectAsString()); } }; form.add(new AjaxSubmitLink("testtest") { @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { List personsList = getPersons(); Collections.shuffle(personsList); target.add(group.replace(persons.setList(personsList))); } }); add(form); form.add(group); group.add(new CheckGroupSelector("groupselector")); persons = new ListView<Person>("persons", getPersons()) { /** * @see * org.apache.wicket.markup.html.list.ListView#populateItem(org.apache.wicket.markup.html.list.ListItem) */ @Override protected void populateItem(ListItem<Person> item) { item.add(new Check<Person>("checkbox", item.getModel())); item.add(new Label("name", new PropertyModel<String>(item.getDefaultModel(), "name"))); item.add(new Label("lastName", new PropertyModel<String>(item.getDefaultModel(), "lastName"))); } }; group.add(new AjaxSubmitLink("linkSubmiter") { @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { List personsList = getPersons(); Collections.shuffle(personsList); target.add(group.replace(persons.setList(personsList))); } }); persons.setReuseItems(true); persons.setOutputMarkupId(true); group.add(persons); add(new FeedbackPanel("feedback")); }
From source file:com.userweave.module.methoden.questionnaire.page.grouping.multiplepossibleanswers.MultiplePossibleAnswersGroupingPanel.java
License:Open Source License
public MultiplePossibleAnswersGroupingPanel(String id, QuestionWithMultiplePossibleAnswers question, T group, final Locale locale, GroupAddedCallback groupAddedCallback) { super(id, group, locale, groupAddedCallback); questionId = question.getId();/*w w w.j a v a 2 s . co m*/ CheckGroup answers = new CheckGroup("answers", new PropertyModel(MultiplePossibleAnswersGroupingPanel.this, "answers")); if (isOnChangeAjaxBehaviorNeeded()) { answers.add(new AjaxFormChoiceComponentUpdatingBehavior() { @Override protected void onUpdate(AjaxRequestTarget target) { MultiplePossibleAnswersGroupingPanel.this.onUpdate(target); } }); } add(answers); IModel possibleAnswersModel = new LoadableDetachableModel() { @Override protected Object load() { QuestionWithMultiplePossibleAnswers question = (QuestionWithMultiplePossibleAnswers) questionDao .findById(questionId); return question.getPossibleAnswers(); } }; answers.add(new ListView("values", possibleAnswersModel) { @Override protected void populateItem(ListItem item) { item.add(new Check("check", item.getModel())); item.add(new Label("content", new LocalizedModel((Serializable) item.getModelObject(), locale))); }; }); }
From source file:com.userweave.pages.components.twoColumnPanel.multiColumnCheckboxMultipleChoice.MultiColumnCheckboxMultipleChoice.java
License:Open Source License
@Override protected CheckGroup createGroup(String id, PropertyModel propertyModel) { return new CheckGroup(id, propertyModel); }
From source file:com.userweave.pages.configuration.study.localization.LanguageActivationPanel.java
License:Open Source License
protected void init() { User user = UserWeaveSession.get().getUser(); final boolean isAuthorized = user.getCurrentProjectRoles().hasRole(Role.PROJECT_ADMIN) || user.getCurrentProjectRoles().hasRole(Role.PROJECT_PARTICIPANT); Form form = new Form("form"); form.setVisible(isAuthorized);// www . j a va 2 s . co m CheckGroup group = new CheckGroup("group", new PropertyModel(getDefaultModel(), "supportedLocales")); group.add(new ListView("checkboxes", getAdditionalLocales()) { @Override protected void populateItem(ListItem item) { item.add(new Check("check", item.getModel())); item.add(new Label("locale", new LocaleModel(item.getModel(), getLocale()))); } }); group.add(new AjaxFormChoiceComponentUpdatingBehavior() { @Override protected void onUpdate(AjaxRequestTarget target) { Study study = getStudy(); study.getSupportedLocales().add(study.getLocale()); studyDao.save(study); onChange(target); } }); form.add(group); // dispay a list of available languages if user is visitor ListView langList = new ListView("langList", new PropertyModel(getDefaultModel(), "supportedLocales")) { @Override protected void populateItem(ListItem item) { Locale locale = (Locale) item.getModelObject(); item.add(new Label("locale", locale.getDisplayLanguage(getLocale()))); } @Override public boolean isVisible() { return !isAuthorized; } }; add(langList); add(form); }
From source file:com.userweave.pages.grouping.StudyLocalesGroupingPanel.java
License:Open Source License
public StudyLocalesGroupingPanel(String id, Study study, StudyLocalesGroup group, Locale locale, GroupAddedCallback groupAddedCallback) { super(id, group, locale, groupAddedCallback); studyId = study.getId();/* w ww . j a v a 2 s . co m*/ CheckGroup locales = new CheckGroup("locales", new PropertyModel(this, "locales")); add(locales); IModel possibleLocalesModel = new LoadableDetachableModel() { @Override protected Object load() { Study study = studyDao.findById(studyId); return study.getSupportedLocales(); } }; locales.add(new ListView("values", possibleLocalesModel) { @Override protected void populateItem(ListItem item) { item.add(new Check("check", item.getModel())); item.add(new Label("content", item.getModelObject().toString())); }; }); }
From source file:de.alpharogroup.wicket.components.examples.checkbox.CheckChoicesListViewPanel.java
License:Apache License
public CheckChoicesListViewPanel(final String id, final IModel<?> model) { super(id, model); final Form<?> form = new Form<>("form"); add(form);/*from w w w . j a v a 2s . co m*/ final CheckboxModelBean<Company> checkboxModel = new CheckboxModelBean<>(); checkboxModel.setChoices(Arrays.asList(Company.builder().name("Ferrari").build(), Company.builder().name("Lamborgini").build(), Company.builder().name("Mazerati").build(), Company.builder().name("Porsche").build())); // Tell CheckChoicesListView what properties to use for label final ChoiceRenderer<Company> renderer = new ChoiceRenderer<Company>("name"); final CheckGroup<Company> checkGroup = new CheckGroup<Company>("group", new PropertyModel<>(checkboxModel, "selectedItems")); checkGroup.add(new AjaxFormChoiceComponentUpdatingBehavior() { private static final long serialVersionUID = 1L; @Override protected void onUpdate(final AjaxRequestTarget target) { target.add(getFeedback()); info("Selected Types : " + checkboxModel.getSelectedItems()); } }); form.add(checkGroup.add(new CheckChoicesListView<Company>("choices", new ListModel<Company>(checkboxModel.getChoices()), renderer))); }