List of usage examples for org.apache.wicket.markup.html.form ListChoice setMaxRows
public final ListChoice<T> setMaxRows(int maxRows)
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); }