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

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

Introduction

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

Prototype

public Check(String id, CheckGroup<T> group) 

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;//from   w w  w  . j  a  v a 2  s. co  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. ja  v a  2  s.  c om
    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  ww . ja  v  a2 s  . co 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.mycompany.CheckGroupPage.java

License:Apache License

/**
 * Constructor//from   w  w  w  . j  a  va 2  s  .  c om
 */
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  .  com*/

    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.CheckBoxColumn.java

License:Open Source License

public CheckBoxColumn(String id, final IModel model, IChoiceRenderer renderer) {
    super(id);/*from   w  w  w  .  j a va  2s .c o  m*/

    Check check = new Check("check", new Model<Serializable>() {
        private static final long serialVersionUID = 1L;

        @Override
        public Serializable getObject() {
            return (Serializable) model.getObject();
        }
    });

    check.setOutputMarkupId(true);

    add(check);

    Label label = new Label("label", RadioChoiceColumnPanel.getLabel(this, model, renderer));

    label.add(new AttributeModifier("for", true, new Model(check.getMarkupId())));

    add(label);
}

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);/*from   w  w w.  j  av  a 2s  .c o  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();/*from w  ww .  ja  va 2s  .  com*/

    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.form.checkbox.CheckGroupSelectorPanel.java

License:Apache License

/**
 * Factory method for creating the new {@link ListView} for the choices. This method is invoked
 * in the constructor from the derived classes and can be overridden so users can provide their
 * own version of the new {@link ListView} for the choices.
 *
 * @param id/*from w ww  .  j av  a2 s .co  m*/
 *            the id
 * @param model
 *            the model
 * @return the new {@link ListView} for the choices.
 */
protected ListView<T> newChoices(final String id, final IModel<CheckboxModelBean<T>> model) {
    final ListView<T> choices = new ListView<T>("choices", model.getObject().getChoices()) {
        /** The serialVersionUID. */
        private static final long serialVersionUID = 1L;

        /**
         * {@inheritDoc}
         */
        @Override
        protected void populateItem(final ListItem<T> item) {
            item.add(new Check<>("checkbox", item.getModel()));
            item.add(new Label("label", new PropertyModel<String>(item.getDefaultModel(),
                    model.getObject().getLabelPropertyExpression())));
        }
    };
    choices.setReuseItems(true);
    return choices;
}

From source file:de.alpharogroup.wicket.components.form.CheckChoicesListView.java

License:Apache License

/**
 * Factory method for create a new {@link Check}. This method is invoked in the constructor from
 * the derived classes and can be overridden so users can provide their own version of a new
 * {@link Check}./*from  w w  w .  j a v a2  s.co  m*/
 *
 * @param id
 *            the id
 * @param model
 *            the model
 * @param index
 *            the index
 * @return the new {@link Check}.
 */
protected Check<T> newCheck(final String id, final IModel<T> model, final int index) {
    final Check<T> check = new Check<T>(id, model) {

        /**
         * The serialVersionUID.
         */
        private static final long serialVersionUID = 1L;

        /**
         * {@inheritDoc}
         */
        @Override
        public IModel<String> getLabel() {
            return Model.of(getChoiceLabel(getModelObject()));
        }

        /**
         * {@inheritDoc}
         */
        @Override
        protected boolean getStatelessHint() {
            return true;
        }

        /**
         * {@inheritDoc}
         */
        @Override
        public String getValue() {
            return getChoiceValue(getModelObject(), index);
        }
    };
    return check;
}