List of usage examples for org.apache.wicket.extensions.markup.html.form.select Select Select
public Select(final String id, final IModel<T> model)
From source file:com.evolveum.midpoint.web.component.menu.top.LocalePanel.java
License:Apache License
public LocalePanel(String id) { super(id);/* w ww .j av a2s .c om*/ setRenderBodyOnly(true); final IModel<LocaleDescriptor> model = new Model(getSelectedLocaleDescriptor()); Select<LocaleDescriptor> select = new Select<LocaleDescriptor>(ID_SELECT, model); select.add(new AjaxFormComponentUpdatingBehavior("onchange") { @Override protected void onUpdate(AjaxRequestTarget target) { changeLocale(target, model.getObject()); } }); select.setOutputMarkupId(true); add(select); SelectOptions<LocaleDescriptor> options = new SelectOptions<LocaleDescriptor>(ID_OPTIONS, AVAILABLE_LOCALES, new IOptionRenderer<LocaleDescriptor>() { @Override public String getDisplayValue(LocaleDescriptor object) { return object.getName(); } @Override public IModel<LocaleDescriptor> getModel(LocaleDescriptor value) { return new Model<LocaleDescriptor>(value); } }) { @Override protected SelectOption newOption(String text, IModel<LocaleDescriptor> model) { SelectOption option = super.newOption(" " + text, model); option.add(new AttributeModifier("data-icon", "flag-" + model.getObject().getFlag())); return option; } }; select.add(options); }
From source file:dk.frankbille.scoreboard.components.LeagueSelector.java
License:Open Source License
public LeagueSelector(String id, IModel<League> model) { super(id, model); setRenderBodyOnly(true);/*from w w w . j a v a2 s. c o m*/ final IModel<SortedMap<Boolean, Set<League>>> allLeaguesModel = new LoadableDetachableModel<SortedMap<Boolean, Set<League>>>() { @Override protected SortedMap<Boolean, Set<League>> load() { SortedMap<Boolean, Set<League>> groupedLeagues = new TreeMap<Boolean, Set<League>>( Ordering.natural().reverse()); List<League> allLeagues = scoreBoardService.getAllLeagues(); for (League league : allLeagues) { Set<League> leaguesByState = groupedLeagues.get(league.isActive()); if (leaguesByState == null) { leaguesByState = new HashSet<League>(); groupedLeagues.put(league.isActive(), leaguesByState); } leaguesByState.add(league); } return groupedLeagues; } }; IModel<List<Boolean>> leagueStatesModel = new LoadableDetachableModel<List<Boolean>>() { @Override protected List<Boolean> load() { return new ArrayList<Boolean>(allLeaguesModel.getObject().keySet()); } }; Select<League> select = new Select<League>("select", model) { }; select.add(new Select2Enabler()); select.add(AttributeAppender.replace("class", new AbstractReadOnlyModel<String>() { @Override public String getObject() { return LeagueSelector.this.getMarkupAttributes().getString("class", ""); } })); add(select); select.add(new ListView<Boolean>("leagueGroups", leagueStatesModel) { @Override protected void populateItem(ListItem<Boolean> item) { item.add(AttributeAppender.replace("label", new StringResourceModel("active.${modelObject}", new Model<Serializable>(item)))); List<League> leagueList = Ordering.usingToString() .sortedCopy(allLeaguesModel.getObject().get(item.getModelObject())); item.add(new SelectOptions<League>("leagues", leagueList, new IOptionRenderer<League>() { @Override public String getDisplayValue(League league) { return league.getName(); } @Override public IModel<League> getModel(League league) { return new Model<League>(league); } })); } }); }
From source file:dk.frankbille.scoreboard.components.RatingCalculatorSelector.java
License:Open Source License
public RatingCalculatorSelector(String id, IModel<RatingCalculatorType> model) { super(id, model); setRenderBodyOnly(true);//from www .j a v a2 s. c om Select<RatingCalculatorType> select = new Select<RatingCalculatorType>("select", model); select.add(AttributeAppender.replace("class", new AbstractReadOnlyModel<String>() { @Override public String getObject() { return RatingCalculatorSelector.this.getMarkupAttributes().getString("class", ""); } })); add(select); List<RatingCalculatorType> groupNames = Arrays.asList(RatingCalculatorType.values()); select.add(new SelectOptions<RatingCalculatorType>("selectOptions", groupNames, new IOptionRenderer<RatingCalculatorType>() { @Override public String getDisplayValue(RatingCalculatorType type) { return type.getLongName(); } @Override public IModel<RatingCalculatorType> getModel(RatingCalculatorType type) { return new Model<RatingCalculatorType>(type); } })); }
From source file:eu.esdihumboldt.hale.server.webtransform.war.pages.UploadAndTransForm.java
License:Open Source License
/** * Create a form for uploading and transforming data. * //from ww w. j av a 2 s . com * @param id the component ID * @param projectId the project ID */ public UploadAndTransForm(String id, String projectId) { super(id); this.projectId = projectId; // multi-part always needed for uploads setMultiPart(true); add(new FeedbackPanel("feedback")); // Add file input field add(file = new FileUploadField("upload")); file.add(new IValidator<List<FileUpload>>() { private static final long serialVersionUID = -5668788086384105101L; @Override public void validate(IValidatable<List<FileUpload>> validatable) { if (validatable.getValue().isEmpty()) { validatable.error(new ValidationError("No source files specified.")); } } }); // target selection Select<IOConfiguration> selectTarget = new Select<IOConfiguration>("target", new PropertyModel<IOConfiguration>(this, "target")); add(selectTarget); TransformationEnvironment env = environmentService.getEnvironment(projectId); // determine presets Collection<NamedIOConfiguration> presetList = new ArrayList<>(); for (Entry<String, ? extends IOConfiguration> entry : env.getExportPresets().entrySet()) { presetList.add(new NamedIOConfiguration(entry.getKey(), entry.getValue())); } SelectOptions<NamedIOConfiguration> presets = new SelectOptions<NamedIOConfiguration>("presets", presetList, RENDERER); selectTarget.add(presets); // determine valid exporters Collection<NamedIOConfiguration> templateList = new ArrayList<>(); for (Entry<String, ? extends IOConfiguration> entry : env.getExportTemplates().entrySet()) { presetList.add(new NamedIOConfiguration(entry.getKey(), entry.getValue())); } SelectOptions<NamedIOConfiguration> exporters = new SelectOptions<NamedIOConfiguration>("exporters", templateList, RENDERER); selectTarget.add(exporters); // initial selection if (!presetList.isEmpty()) { setTarget(presetList.iterator().next().getConfig()); } else if (!templateList.isEmpty()) { setTarget(templateList.iterator().next().getConfig()); } // panel for I/O configuration final WebMarkupContainer config = new WebMarkupContainer("config"); config.setOutputMarkupId(true); add(config); IModel<List<String>> parameterModel = new LoadableDetachableModel<List<String>>() { private static final long serialVersionUID = 1018038661733512580L; @Override protected List<String> load() { Set<String> properties = new LinkedHashSet<String>(); if (target != null && target.getProviderId() != null) { // must have properties.add(IOProvider.PARAM_CONTENT_TYPE); // what is supported IOProvider p = HeadlessIO.loadProvider(target); properties.addAll(p.getSupportedParameters()); // not allowed properties.remove(ExportProvider.PARAM_TARGET); } return new ArrayList<String>(properties); } }; ListView<String> parameterView = new ListView<String>("param", parameterModel) { private static final long serialVersionUID = -7838477347365823022L; @Override protected void populateItem(ListItem<String> item) { boolean isContentType = IOProvider.PARAM_CONTENT_TYPE.equals(item.getModelObject()); // name item.add(new Label("name", item.getModelObject())); // text field TextField<String> textField = new TextField<String>("field", new FieldFieldModel(item.getModelObject())); textField.setVisible(!isContentType); item.add(textField); // contentType select field DropDownChoice<String> contentType; if (isContentType) { IOProviderDescriptor pf = HaleIO.findIOProviderFactory(InstanceWriter.class, null, getTarget().getProviderId()); List<String> types = new ArrayList<String>(); for (IContentType type : pf.getSupportedTypes()) { types.add(type.getId()); } contentType = new DropDownChoice<String>("contentType", new FieldFieldModel(item.getModelObject()), types, new ContentTypeChoiceRenderer()); } else { contentType = new DropDownChoice<String>("contentType", new ArrayList<String>()); contentType.setVisible(false); } item.add(contentType); } }; config.add(parameterView); // update parameter panel on target selection change selectTarget.add(new AjaxFormComponentUpdatingBehavior("onchange") { private static final long serialVersionUID = 8004015871380712045L; @Override protected void onUpdate(AjaxRequestTarget target) { // update config panel target.add(config); } }); }
From source file:eu.uqasar.web.pages.qmtree.qmodels.QModelExportPage.java
License:Apache License
public QModelExportPage(PageParameters parameters) { super(parameters); final List<QModel> qmodels = treeNodeService.getAllQModels(); if (qmodels.isEmpty()) { // TODO what to show if no qmodels to export? setResponsePage(AboutPage.class); // handle no qmodel? }/*from ww w.java 2s .c o m*/ Form<?> form = new Form<Void>("form") { private static final long serialVersionUID = -5807663754036839439L; @Override protected void onSubmit() { logger.info("onSubmit start"); File file = null; String name = ""; QModel p = treeNodeService.getQModel(currentQmodel.getId()); try { switch (selected) { case "Json": { QModelJsonWriter writer = new QModelJsonWriter(); file = writer.createJsonFile(p); name = file.getName(); break; } default: { QModelXmlWriter writer = new QModelXmlWriter(); file = writer.createXmlFile(p); name = file.getName(); break; } } /* start download */ IResourceStream stream = new FileResourceStream(file); getRequestCycle().scheduleRequestHandlerAfterCurrent(new ResourceStreamRequestHandler(stream) .setContentDisposition(ContentDisposition.ATTACHMENT).setFileName(name)); logger.info("onSubmit end"); } catch (JAXBException | JsonGenerationException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }; currentQmodel = qmodels.get(0); DropDownChoice<QModel> dropDown = new DropDownChoice<>("qmodels", new PropertyModel<QModel>(this, "currentQmodel"), qmodels); form.add(dropDown); Select<String> formats = new Select<>("selector", new PropertyModel<String>(this, "selected")); form.add(formats); formats.add(new SelectOption<>("filetype1", new Model<>("Json"))); formats.add(new SelectOption<>("filetype2", new Model<>("Xml"))); add(form); }
From source file:eu.uqasar.web.pages.tree.projects.ProjectExportPage.java
License:Apache License
public ProjectExportPage(PageParameters parameters) { super(parameters); final List<Project> projects = treeNodeService.getAllProjectsOfLoggedInUser(); if (projects.isEmpty()) { // TODO what if there are no projects?! setResponsePage(AboutPage.class); }//from w w w . j a v a 2 s .com Form<?> form = new Form<Void>("form") { private static final long serialVersionUID = -5807663754036839439L; @Override protected void onSubmit() { File file; String name; if (project != null) { Project p = treeNodeService.getProject(project.getId()); try { switch (selected) { case "Json": { QProjectJsonWriter writer = new QProjectJsonWriter(); file = writer.createJsonFile(p); name = file.getName(); break; } default: { QProjectXmlWriter writer = new QProjectXmlWriter(); file = writer.createXmlFile(p); name = file.getName(); break; } } /* start download */ IResourceStream stream = new FileResourceStream(file); getRequestCycle() .scheduleRequestHandlerAfterCurrent(new ResourceStreamRequestHandler(stream) .setContentDisposition(ContentDisposition.ATTACHMENT).setFileName(name)); } catch (JAXBException | JsonGenerationException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } } }; DropDownChoice<Project> dropDown = new DropDownChoice<>("projects", new PropertyModel<Project>(this, "project"), projects); form.add(dropDown); Select<String> formats = new Select<>("selector", new PropertyModel<String>(this, "selected")); form.add(formats); formats.add(new SelectOption<>("filetype1", new Model<>("Json"))); formats.add(new SelectOption<>("filetype2", new Model<>("Xml"))); form.add(new Button("exportProject", new StringResourceModel("export.button", this, null))); add(form); }
From source file:org.apache.karaf.webconsole.osgi.log.OptionsForm.java
License:Apache License
@SuppressWarnings("serial") public OptionsForm(String id, CompoundPropertyModel<Options> model) { super(id, model); IModel<Priority> priority = model.bind("priority"); Select<Priority> select = new Select<Priority>("priority", priority); select.add(new SelectOptions<Priority>("options", Arrays.asList(Priority.values()), new IOptionRenderer<Priority>() { public String getDisplayValue(Priority object) { return object.name(); }/*from w w w . ja v a 2 s . c o m*/ public IModel<Priority> getModel(Priority value) { return Model.of(value); } })); add(select); add(new TextField<Long>("dateFrom", Long.class)); add(new TextField<Long>("dateTo", Long.class)); add(new TextField<String>("messageFragment", String.class)); add(new TextField<String>("bundleNameFragment", String.class)); add(new SubmitLink("submit")); }
From source file:org.efaps.ui.wicket.pages.company.CompanyPage.java
License:Apache License
/** * Constructor adding all Components to this Page. * * @param _modal modal window/*from w ww . j a v a 2 s . co m*/ */ public CompanyPage(final PageReference _calledByReference) { super(); this.calledByReference = _calledByReference; // set the title for the Page add2Page(new Label("pageTitle", DBProperties.getProperty("Logo.Version.Label"))); add(new LabelComponent("title", DBProperties.getProperty("org.efaps.ui.wicket.pages.company.title.Label"))); final Form<Object> form = new Form<Object>("form") { private static final long serialVersionUID = 1L; /** * Implemented only for API reason. * * @see org.apache.wicket.ajax.form.AjaxFormSubmitBehavior#onError(org.apache.wicket.ajax.AjaxRequestTarget) * @param _target */ @Override protected void onSubmit() { // nothing must be done } /** * Disable normal submit, because ajax is used. * * @see org.apache.wicket.markup.html.form.Form#onComponentTag(org.apache.wicket.markup.ComponentTag) * @param _tag */ @Override protected void onComponentTag(final ComponentTag _tag) { super.onComponentTag(_tag); _tag.put("action", ""); } }; add(form); final IOptionRenderer<CompanyObject> renderer = new IOptionRenderer<CompanyObject>() { private static final long serialVersionUID = 1L; @Override public String getDisplayValue(final CompanyObject _company) { return _company.getName(); } @Override public IModel<CompanyObject> getModel(final CompanyObject _company) { return new Model<CompanyObject>(_company); } }; CompanyObject selected = null; final List<CompanyObject> companies = new ArrayList<CompanyObject>(); try { for (final Long comp : Context.getThreadContext().getPerson().getCompanies()) { final CompanyObject compObj = new CompanyObject(Company.get(comp)); if (comp == Context.getThreadContext().getCompany().getId()) { selected = compObj; } companies.add(compObj); } } catch (final EFapsException e) { throw new RestartResponseException(new ErrorPage(e)); } Collections.sort(companies, new Comparator<CompanyObject>() { @Override public int compare(final CompanyObject _o1, final CompanyObject _o2) { return _o1.getName().compareTo(_o2.getName()); } }); @SuppressWarnings({ "rawtypes", "unchecked" }) final IModel<Collection<? extends CompanyObject>> model = new Model((Serializable) companies); final SelectOptions<CompanyObject> options = new SelectOptions<CompanyObject>("manychoices", model, renderer); final Select<CompanyObject> choices = new Select<CompanyObject>("choices", Model.of(selected)); form.add(choices); choices.add(options); final AjaxSubmitLink ajaxGoOnLink = new AjaxSubmitLink(Button.LINKID, form); this.add(new Button("submitButton", ajaxGoOnLink, DBProperties.getProperty("org.efaps.ui.wicket.pages.company.next.Label"), Button.ICON.ACCEPT.getReference())); final AjaxCloseLink ajaxCloseLink = new AjaxCloseLink(Button.LINKID); this.add(new Button("closeButton", ajaxCloseLink, DBProperties.getProperty("org.efaps.ui.wicket.pages.company.cancel.Label"), Button.ICON.CANCEL.getReference())); }
From source file:org.projectforge.plugins.teamcal.dialog.TeamCalFilterDialog.java
License:Open Source License
@SuppressWarnings("serial") private void addDefaultCalenderSelection() { final FieldsetPanel fs = gridBuilder.newFieldset(getString("plugins.teamcal.defaultCalendar")); fs.addHelpIcon(getString("plugins.teamcal.defaultCalendar.tooltip")); final IOptionRenderer<Integer> renderer = new IOptionRenderer<Integer>() { @Override//from w ww .j a v a2s . c o m public String getDisplayValue(final Integer object) { if (TIMESHEET_CALENDAR_ID.equals(object)) { return timesheetsCalendar.getTitle(); } return teamCalDao.getById(object).getTitle(); } @Override public IModel<Integer> getModel(final Integer value) { return Model.of(value); } }; // TEAMCAL SELECT defaultCalendarSelect = new Select<Integer>(fs.getSelectId(), new PropertyModel<Integer>(filter, "activeTemplateEntry.defaultCalendarId")) { /** * @see org.apache.wicket.Component#onBeforeRender() */ @Override protected void onBeforeRender() { super.onBeforeRender(); final TemplateEntry activeTemplateEntry = filter.getActiveTemplateEntry(); final List<TeamCalDO> result = new ArrayList<TeamCalDO>(); if (activeTemplateEntry != null) { for (final TeamCalDO cal : activeTemplateEntry.getCalendars()) { if (teamEventRight.hasUpdateAccess(PFUserContext.getUser(), cal) == true) { // User is allowed to insert events to this calendar: result.add(cal); } } } final List<Integer> filteredList = new ArrayList<Integer>(); filteredList.add(TIMESHEET_CALENDAR_ID); if (result != null) { final Iterator<TeamCalDO> it = result.iterator(); while (it.hasNext()) { final TeamCalDO teamCal = it.next(); filteredList.add(teamCal.getId()); } } final SelectOptions<Integer> options = new SelectOptions<Integer>(SelectPanel.OPTIONS_WICKET_ID, filteredList, renderer); this.addOrReplace(options); } }; defaultCalendarSelect.setOutputMarkupId(true); defaultCalendarSelect.add(new OnChangeAjaxBehavior() { @Override protected void onUpdate(final AjaxRequestTarget target) { final Integer value = defaultCalendarSelect.getModelObject(); filter.getActiveTemplateEntry().setDefaultCalendarId(value); } }); fs.add(defaultCalendarSelect); }
From source file:org.projectforge.web.teamcal.dialog.TeamCalFilterDialog.java
License:Open Source License
@SuppressWarnings("serial") private void addDefaultCalenderSelection() { final FieldsetPanel fs = gridBuilder.newFieldset(getString("plugins.teamcal.defaultCalendar")); fs.addHelpIcon(getString("plugins.teamcal.defaultCalendar.tooltip")); final IOptionRenderer<Integer> renderer = new IOptionRenderer<Integer>() { @Override//from w w w .j av a2 s . c o m public String getDisplayValue(final Integer object) { if (Const.TIMESHEET_CALENDAR_ID.equals(object)) { return timesheetsCalendar.getTitle(); } return teamCalDao.getById(object).getTitle(); } @Override public IModel<Integer> getModel(final Integer value) { return Model.of(value); } }; // TEAMCAL SELECT defaultCalendarSelect = new Select<Integer>(fs.getSelectId(), new PropertyModel<Integer>(filter, "activeTemplateEntry.defaultCalendarId")) { /** * @see org.apache.wicket.Component#onBeforeRender() */ @Override protected void onBeforeRender() { super.onBeforeRender(); final TemplateEntry activeTemplateEntry = filter.getActiveTemplateEntry(); final List<TeamCalDO> result = new ArrayList<TeamCalDO>(); if (activeTemplateEntry != null) { for (final TeamCalDO cal : activeTemplateEntry.getCalendars()) { if (teamEventRight.hasUpdateAccess(ThreadLocalUserContext.getUser(), cal) == true) { // User is allowed to insert events to this calendar: result.add(cal); } } } final List<Integer> filteredList = new ArrayList<Integer>(); filteredList.add(Const.TIMESHEET_CALENDAR_ID); if (result != null) { final Iterator<TeamCalDO> it = result.iterator(); while (it.hasNext()) { final TeamCalDO teamCal = it.next(); filteredList.add(teamCal.getId()); } } final SelectOptions<Integer> options = new SelectOptions<Integer>(SelectPanel.OPTIONS_WICKET_ID, filteredList, renderer); this.addOrReplace(options); } }; defaultCalendarSelect.setOutputMarkupId(true); defaultCalendarSelect.add(new OnChangeAjaxBehavior() { @Override protected void onUpdate(final AjaxRequestTarget target) { final Integer value = defaultCalendarSelect.getModelObject(); filter.getActiveTemplateEntry().setDefaultCalendarId(value); } }); fs.add(defaultCalendarSelect); }