Example usage for org.apache.wicket.extensions.markup.html.form.select Select Select

List of usage examples for org.apache.wicket.extensions.markup.html.form.select Select Select

Introduction

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

Prototype

public Select(final String id, final IModel<T> model) 

Source Link

Usage

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("&nbsp;" + 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);
}