Example usage for org.apache.wicket.markup.html.form CheckGroup CheckGroup

List of usage examples for org.apache.wicket.markup.html.form CheckGroup CheckGroup

Introduction

In this page you can find the example usage for org.apache.wicket.markup.html.form CheckGroup CheckGroup.

Prototype

@SuppressWarnings("unchecked")
public CheckGroup(String id, IModel<? extends Collection<T>> model) 

Source Link

Usage

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)));
}