Example usage for org.apache.wicket.markup.html.form ListChoice setMaxRows

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

Introduction

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

Prototype

public final ListChoice<T> setMaxRows(int maxRows) 

Source Link

Document

Sets the maximum number of rows to display.

Usage

From source file:de.inren.frontend.log4j.ManageLoggerSettingsPanel.java

License:Apache License

private Component getTable(final String id) {
    AjaxFallbackDefaultDataTableBuilder<LoggerBean> builder = new AjaxFallbackDefaultDataTableBuilder<LoggerBean>(
            ManageLoggerSettingsPanel.this);

    Component table = builder.addDataProvider(new RepositoryDataProvider<LoggerBean>(loggerBeanRepository) {
        @Override//from  ww  w  .j av  a2s .c  o  m
        protected Page<LoggerBean> getPage(final Pageable pageable) {
            if (filterSettings == null) {
                return getRepository().findAll(pageable);
            }
            final String name = Strings.isEmpty(filterSettings.getName()) ? "%"
                    : "%" + filterSettings.getName() + "%";
            final String level = Strings.isEmpty(filterSettings.getLevel()) ? null
                    : "%" + filterSettings.getLevel() + "%";
            if (level == null) {
                return ((LoggerBeanRepository) getRepository()).findByNameLike(name, pageable);
            } else {
                return ((LoggerBeanRepository) getRepository()).findByNameLikeAndLevelLike(name, level,
                        pageable);

            }
        }

        @Override
        public long size() {
            PageRequest page = new PageRequest(0, 100);
            return getPage(page).getTotalElements();
        }

    }).addPropertyColumn("id", true).addPropertyColumn("name", true).addPropertyColumn("level", true)
            .add(new AbstractColumn<LoggerBean, String>(
                    new StringResourceModel("level.label", ManageLoggerSettingsPanel.this, null)) {

                @Override
                public void populateItem(Item<ICellPopulator<LoggerBean>> cellItem, String componentId,
                        IModel<LoggerBean> rowModel) {
                    ListChoice<String> listChoice = new ListChoice<String>(ListChoiceMarkupContainer.CHOICES_ID,
                            new PropertyModel<String>(rowModel.getObject(), "level"),
                            loggerAdminService.getLogLevels()) {
                        protected void onSelectionChanged(String level) {
                            LoggerBean lb = rowModel.getObject();
                            loggerAdminService.setLevelAndSave(lb.getName(), level);
                        };

                        @Override
                        protected boolean wantOnSelectionChangedNotifications() {
                            return true;
                        }

                    };
                    listChoice.setNullValid(true);
                    listChoice.setMaxRows(1);
                    ListChoiceMarkupContainer markup = new ListChoiceMarkupContainer(componentId, listChoice);
                    cellItem.add(markup);
                }
            }).setNumberOfRows(10).build(id);
    TableBehavior tableBehavior = new TableBehavior().bordered().condensed();
    table.add(tableBehavior);
    return table;
}

From source file:nl.mpi.lamus.web.pages.SelectWorkspacePage.java

License:Open Source License

/**
 * Create Form that will show a list of Workspaces to be opened by a
 * specific user//w  w  w.  java  2  s. c om
 *
 * @param id
 * @return created form
 */
private Form createNodeIdForm(String id) {

    boolean showPanel = true;
    Workspace defaultSelectedWs = null;
    List<Workspace> myWSList = new ArrayList<>(workspaceService.listUserWorkspaces(currentUserId));
    if (!myWSList.isEmpty()) {
        defaultSelectedWs = myWSList.iterator().next();
    } else {
        showPanel = false;
    }

    IModel<Workspace> workspaceModel;
    if (!showPanel) {
        workspaceModel = null;
    } else {
        workspaceModel = workspaceModelProvider.getWorkspaceModel(defaultSelectedWs.getWorkspaceID());
    }

    ListChoice<Workspace> listWorkspaces = new ListChoice<>("workspaceSelection", workspaceModel, myWSList,
            new ChoiceRenderer<Workspace>("workspaceSelectionDisplayString"));
    listWorkspaces.setMaxRows(5);
    listWorkspaces.setNullValid(false);
    listWorkspaces.setRequired(true);
    final Form<Workspace> openWsForm = new Form<>(id, workspaceModel);

    Button submitButton = new AjaxButton("openWorkspace") {

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {

            target.add(getFeedbackPanel());

            try {
                if (form.getModelObject() != null) {
                    Workspace openSelectedWorkspace = workspaceService.openWorkspace(currentUserId,
                            ((Workspace) form.getModelObject()).getWorkspaceID());
                    setResponsePage(pagesProvider.getWorkspacePage(openSelectedWorkspace));
                }
            } catch (WorkspaceNotFoundException | WorkspaceAccessException | IOException ex) {
                Session.get().error(ex.getMessage());
            }
        }
    };
    openWsForm.add(submitButton);
    openWsForm.add(listWorkspaces);

    // Put details/submit form in container for refresh through AJAX 
    final MarkupContainer formContainer = new WebMarkupContainer("formContainer");
    formContainer.add(openWsForm);

    if (!showPanel) {
        formContainer.setVisible(false);
        Session.get().info(getLocalizer().getString("select_workspace_no_open_workspaces", this));
    }

    // Add container to page
    add(formContainer);
    return openWsForm;

}

From source file:org.jabylon.rest.ui.wicket.config.sections.VersionConfigSection.java

License:Open Source License

public VersionConfigSection(String id, IModel<ProjectVersion> model, ListModel<String> locales,
        Preferences prefs) {//ww w. j  av  a2s .c om
    super(id, model);
    IModel<String> nameProperty = new EObjectPropertyModel<String, ProjectVersion>(model,
            PropertiesPackage.Literals.RESOLVABLE__NAME);
    TextField<String> field = new RequiredTextField<String>("inputName", nameProperty);
    field.add(UniqueNameValidator.fromCollection(getBranches(model),
            PropertiesPackage.Literals.RESOLVABLE__NAME, model.getObject()));
    add(field);

    ControlGroup readOnlyGroup = new ControlGroup("readonly-group", null, nls("readonly.help"));
    CheckBox readonly = new CheckBox("readonly", new EObjectPropertyModel<Boolean, ProjectVersion>(model,
            PropertiesPackage.Literals.PROJECT_VERSION__READ_ONLY));
    readOnlyGroup.add(readonly);
    add(readOnlyGroup);

    // add(buildAddNewLink(getModel()));
    final WebMarkupContainer rowPanel = new WebMarkupContainer("rowPanel");
    rowPanel.setOutputMarkupId(true);
    add(rowPanel);
    Form<?> form = new Form<Object>("locale-form");
    form.setOutputMarkupId(true);
    rowPanel.add(form);
    final TextField<String> languageField = new TextField<String>("inputLanguage", Model.of(""));
    languageField.setOutputMarkupId(true);
    form.add(languageField);
    final TextField<String> countryField = new TextField<String>("inputCountry", Model.of(""));
    countryField.setOutputMarkupId(true);
    form.add(countryField);
    final TextField<String> variantField = new TextField<String>("inputVariant", Model.of(""));
    variantField.setOutputMarkupId(true);
    form.add(variantField);
    choiceModel = locales;
    final ListChoice<String> choice = new ListChoice<String>("children", choiceModel);
    choice.setModel(
            choiceModel.getObject().isEmpty() ? Model.of("") : Model.of(choiceModel.getObject().get(0)));
    choice.setMaxRows(15);

    choice.add(new AjaxFormComponentUpdatingBehavior("onchange") {

        private static final long serialVersionUID = 1L;

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            target.add(languageField);
            target.add(countryField);
            target.add(variantField);

            String localeString = choice.getModelObject();
            if (localeString == null || TEMPLATE_ID.equals(localeString)) {
                languageField.setModelObject("");
                countryField.setModelObject("");
                variantField.setModelObject("");
            } else {
                Locale locale = (Locale) PropertiesFactory.eINSTANCE
                        .createFromString(PropertiesPackage.Literals.LOCALE, localeString);
                languageField.setModelObject(locale.getLanguage());
                countryField.setModelObject(locale.getCountry());
                variantField.setModelObject(locale.getVariant());
            }

        }
    });
    choice.setChoiceRenderer(new IChoiceRenderer<String>() {

        private static final long serialVersionUID = 1L;

        @Override
        public Object getDisplayValue(String object) {
            if (TEMPLATE_ID.equals(object))
                return "Template";

            Locale locale = (Locale) PropertiesFactory.eINSTANCE
                    .createFromString(PropertiesPackage.Literals.LOCALE, object);
            String displayName = locale == null ? "Template" : locale.getDisplayName(getSession().getLocale());
            return displayName;
        }

        @Override
        public String getIdValue(String locale, int index) {
            if (locale == null)
                return TEMPLATE_ID;
            return locale.toString();
        }

    });

    rowPanel.add(choice);

    AjaxSubmitLink addLink = new AjaxSubmitLink("addLocale", form) {

        private static final long serialVersionUID = 1L;

        @Override
        public void onSubmit(AjaxRequestTarget target, Form<?> form) {
            //                ProjectLocale newLocale = PropertiesFactory.eINSTANCE.createProjectLocale();
            Locale locale = new Locale(safeGet(languageField.getModelObject()),
                    safeGet(countryField.getModelObject()), safeGet(variantField.getModelObject()));
            //make sure to avoid duplicates
            if (!choiceModel.getObject().contains(locale.toString()))
                choiceModel.getObject().add(locale.toString());
            choice.setModelObject(locale.toString());
            //                newLocale.setLocale(locale);
            //                PropertyResourceUtil.addNewLocale(newLocale, getModelObject());
            if (target != null)
                target.add(rowPanel);
        }
    };
    //        addLink.setDefaultFormProcessing(false);
    form.add(addLink);

    AjaxSubmitLink removeLink = new AjaxSubmitLink("removeLocale", form) {

        private static final long serialVersionUID = 1L;

        @Override
        public void onSubmit(AjaxRequestTarget target, Form<?> form) {
            choiceModel.getObject().remove(choice.getModelObject());
            //                provider.getObject().remove(choice.getModelObject());
            if (target != null)
                target.add(rowPanel);
        }
    };
    //        removeLink.setDefaultFormProcessing(false);
    form.add(removeLink);
}