List of usage examples for org.apache.wicket.extensions.ajax.markup.html.autocomplete AutoCompleteTextField AutoCompleteTextField
public AutoCompleteTextField(final String id, final IModel<T> model, final Class<T> type, final IAutoCompleteRenderer<T> renderer, final AutoCompleteSettings settings)
From source file:cz.zcu.kiv.eegdatabase.wui.ui.administration.AdminManagePersonPage.java
License:Apache License
private void addPersonField(final PersonForm form) { // added autocomplete textfield for subject AutoCompleteSettings settings = prepareAutoCompleteSettings(); AbstractAutoCompleteTextRenderer<Person> renderer = new AbstractAutoCompleteTextRenderer<Person>() { private static final long serialVersionUID = 1L; @Override// w w w.jav a 2 s . c o m protected String getTextValue(Person object) { return object.getAutoCompleteData(); } }; final AutoCompleteTextField<Person> personField = new AutoCompleteTextField<Person>("personField", new Model<Person>(), Person.class, renderer, settings) { private static final long serialVersionUID = 1L; @Override protected Iterator<Person> getChoices(String input) { List<Person> choices; List<Person> allChoices = personFacade.getAllRecords(); if (Strings.isEmpty(input)) { choices = allChoices; } else { choices = new ArrayList<Person>(10); for (Person t : allChoices) { if ((t.getAutoCompleteData() != null) && t.getAutoCompleteData().toLowerCase().contains(input.toLowerCase()) || t.getAutoCompleteData().toLowerCase().startsWith(input.toLowerCase())) { choices.add(t); } } } Collections.sort(choices); return choices.iterator(); } }; personField.setLabel(ResourceUtils.getModel("label.subjectPerson")); personField.add(new AjaxFormComponentUpdatingBehavior("onChange") { private static final long serialVersionUID = 1L; @Override protected void onUpdate(AjaxRequestTarget target) { Person person = personField.getModelObject(); if (person.getPersonId() != 0) { form.setModelObject(person); form.setVisible(true); } target.add(getFeedback(), form); } }); Form<Void> selectForm = new Form<Void>("selectForm"); add(selectForm.add(personField)); }
From source file:cz.zcu.kiv.eegdatabase.wui.ui.experiments.forms.wizard.AddExperimentScenarioForm.java
License:Apache License
private void addScenario() { // added autocomplete textfield for scenario AutoCompleteSettings settings = prepareAutoCompleteSettings(); AbstractAutoCompleteTextRenderer<Scenario> renderer = new AbstractAutoCompleteTextRenderer<Scenario>() { private static final long serialVersionUID = 1L; @Override//www . j a v a 2s.c o m protected String getTextValue(Scenario object) { return object.getTitle(); } }; final AutoCompleteTextField<Scenario> scenarioField = new AutoCompleteTextField<Scenario>("scenario", new PropertyModel<Scenario>(model.getObject(), "scenario"), Scenario.class, renderer, settings) { private static final long serialVersionUID = 1L; @Override protected Iterator<Scenario> getChoices(String input) { List<Scenario> choices; List<Scenario> allChoices = scenarioFacade.getAllRecords(); if (Strings.isEmpty(input)) { choices = allChoices; } else { choices = new ArrayList<Scenario>(10); for (Scenario t : allChoices) { if ((t.getTitle() != null) && t.getTitle().toLowerCase().contains(input.toLowerCase())) { choices.add(t); } } } Collections.sort(choices); return choices.iterator(); } }; final FeedbackPanel scenarioFeedback = createFeedbackForComponent(scenarioField, "scenarioFeedback"); //FIXME: doenst work on Experiment EDIT form (change scenario) after migration to potgres + blob type // scenarioField.add(new UniqueEntityValidator<Scenario>(scenarioFacade)); scenarioField.setRequired(true); scenarioField.setLabel(ResourceUtils.getModel("label.scenario")); add(scenarioField, scenarioFeedback); scenarioField.add(new AjaxFormComponentUpdatingBehavior("onBlur") { private static final long serialVersionUID = 1L; @Override protected void onUpdate(AjaxRequestTarget target) { prepareEndTime(); target.add(finishDate); } }); }
From source file:cz.zcu.kiv.eegdatabase.wui.ui.experiments.forms.wizard.AddExperimentScenarioForm.java
License:Apache License
private void addTestedSubject() { // added autocomplete textfield for subject AutoCompleteSettings settings = prepareAutoCompleteSettings(); AbstractAutoCompleteTextRenderer<Person> renderer = new AbstractAutoCompleteTextRenderer<Person>() { private static final long serialVersionUID = 1L; @Override/*from w w w .ja v a 2s .co m*/ protected String getTextValue(Person object) { return object.getAutoCompleteData(); } }; final AutoCompleteTextField<Person> personField = new AutoCompleteTextField<Person>( "personBySubjectPersonId", new PropertyModel<Person>(model.getObject(), "personBySubjectPersonId"), Person.class, renderer, settings) { private static final long serialVersionUID = 1L; @Override protected Iterator<Person> getChoices(String input) { List<Person> choices; List<Person> allChoices = personFacade.getAllRecords(); if (Strings.isEmpty(input)) { choices = allChoices; } else { choices = new ArrayList<Person>(10); for (Person t : allChoices) { if ((t.getFullName() != null) && t.getFullName().toLowerCase().contains(input.toLowerCase())) { choices.add(t); } } } Collections.sort(choices); return choices.iterator(); } }; personField.add(new UniqueEntityValidator<Person>(personFacade)); personField.setRequired(false); personField.setLabel(ResourceUtils.getModel("label.subjectPerson")); final FeedbackPanel personFeedback = createFeedbackForComponent(personField, "personFeedback"); add(personField, personFeedback); }
From source file:cz.zcu.kiv.eegdatabase.wui.ui.experiments.metadata.template.TemplateSharePage.java
License:Apache License
private void setupComponents() { int personId = EEGDataBaseSession.get().getLoggedUser().getPersonId(); List<Template> templatesByPerson = templateFacade.getTemplatesByPerson(personId); templateModel = new Model<Template>(); personModel = new Model<Person>(); ChoiceRenderer<Template> templateChoiceRenderer = new ChoiceRenderer<Template>("name", "templateId"); DropDownChoice<Template> templateSelection = new DropDownChoice<Template>("template-choice", templateModel, templatesByPerson, templateChoiceRenderer); // added autocomplete textfield for person AutoCompleteSettings settings = prepareAutoCompleteSettings(); AbstractAutoCompleteTextRenderer<Person> renderer = new AbstractAutoCompleteTextRenderer<Person>() { private static final long serialVersionUID = 1L; @Override// w ww.j av a 2s. c o m protected String getTextValue(Person object) { return object.getAutoCompleteData(); } }; final AutoCompleteTextField<Person> personSelection = new AutoCompleteTextField<Person>("person-choice", personModel, Person.class, renderer, settings) { private static final long serialVersionUID = 1L; @Override protected Iterator<Person> getChoices(String input) { List<Person> choices; List<Person> allChoices = personFacade.getAllRecords(); if (Strings.isEmpty(input)) { choices = allChoices; } else { choices = new ArrayList<Person>(10); for (Person t : allChoices) { if ((t.getAutoCompleteData() != null) && t.getAutoCompleteData().toLowerCase().contains(input.toLowerCase()) || t.getAutoCompleteData().toLowerCase().startsWith(input.toLowerCase())) { choices.add(t); } } } Collections.sort(choices); return choices.iterator(); } }; personSelection.setLabel(ResourceUtils.getModel("label.subjectPerson")); Form<Void> form = new Form<Void>("form"); add(form); form.add(personSelection); form.add(templateSelection); form.add(new AjaxButton("share-button", new Model<String>("Share")) { private static final long serialVersionUID = 1L; @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { Template template = templateModel.getObject(); Person person = personModel.getObject(); Template newTemplate = new Template(); newTemplate.setName(template.getName()); newTemplate.setPersonByPersonId(person); newTemplate.setTemplate(template.getTemplate()); templateFacade.create(newTemplate); templateModel.setObject(null); personModel.setObject(null); info(ResourceUtils.getString("text.template.shared", template.getName(), person.getUsername())); target.add(getFeedback()); } @Override protected void onError(AjaxRequestTarget target, Form<?> form) { target.add(getFeedback()); } }); }
From source file:cz.zcu.kiv.eegdatabase.wui.ui.lists.components.AutocompleteResearchGroupSelecForm.java
License:Apache License
public AutocompleteResearchGroupSelecForm(String id, final IModel<ResearchGroup> model, ListModel<ResearchGroup> choices, final MarkupContainer container) { super(id);// w w w .j a va2 s . co m this.setOutputMarkupPlaceholderTag(true); this.choices = choices; AutoCompleteSettings settings = prepareAutoCompleteSettings(); AbstractAutoCompleteTextRenderer<ResearchGroup> renderer = new AbstractAutoCompleteTextRenderer<ResearchGroup>() { private static final long serialVersionUID = 1L; @Override protected String getTextValue(ResearchGroup object) { return object.getTitle(); } }; final AutoCompleteTextField<ResearchGroup> groupField = new AutoCompleteTextField<ResearchGroup>( "groupField", new Model<ResearchGroup>(), ResearchGroup.class, renderer, settings) { private static final long serialVersionUID = 1L; @Override protected Iterator<ResearchGroup> getChoices(String input) { List<ResearchGroup> choices; List<ResearchGroup> allChoices = AutocompleteResearchGroupSelecForm.this.choices.getObject(); if (Strings.isEmpty(input)) { choices = allChoices; } else { choices = new ArrayList<ResearchGroup>(10); for (ResearchGroup t : allChoices) { if ((t.getTitle() != null) && t.getTitle().toLowerCase().contains(input.toLowerCase()) || t.getTitle().toLowerCase().startsWith(input.toLowerCase())) { choices.add(t); } } } Collections.sort(choices); return choices.iterator(); } }; groupField.add(new AjaxFormComponentUpdatingBehavior("onChange") { private static final long serialVersionUID = 1L; @Override protected void onUpdate(AjaxRequestTarget target) { ResearchGroup group = groupField.getModelObject(); model.setObject(group); target.add(container); } }); add(groupField); }
From source file:eu.uqasar.web.pages.admin.teams.panels.EditTeamPanel.java
License:Apache License
public EditTeamPanel(final String markupId, final StyledFeedbackPanel feedbackPanel, final Team team) { super(markupId); this.team = team; Form<Team> formEdit = new InputValidationForm<>("form.edit", Model.of(team)); nameField = new TextField<>("name", new PropertyModel<String>(this.team, "name")); InputBorder<String> serverValidationBorder = new InputBorder<>("nameValidationBorder", nameField, new StringResourceModel("label.name", this, null)); formEdit.add(serverValidationBorder); add(formEdit);//from www . j a v a2s. c o m Form<TeamMembership> formAdd = new InputValidationForm<>("form.add", Model.of(membership)); AutoCompleteSettings settings = new AutoCompleteSettings().setPreselect(true).setShowListOnFocusGain(true) .setShowListOnEmptyInput(true); AutoCompleteTextField<User> userComplete = new AutoCompleteTextField<User>("add.userName", new PropertyModel(membership, "user"), User.class, getAutocompleteRenderer(), settings) { @Override protected Iterator<User> getChoices(String input) { return getTeamableUsers(input); } @Override public <User> IConverter<User> getConverter(Class<User> type) { return (IConverter<User>) getAutocompleteConverter(); } }; DropDownChoice<Role> userRole = new DropDownChoice<>("add.userRole", new PropertyModel(membership, "role"), Arrays.asList(Role.teamAssignableRoles())); userRole.setNullValid(false); AjaxSubmitLink addMember = new AjaxSubmitLink("add.member", formAdd) { @Override protected void onError(AjaxRequestTarget target, Form<?> form) { target.add(feedbackPanel); target.add(form); } @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { TeamMembership membership = (TeamMembership) form.getModelObject(); EditTeamPanel.this.team.getMembers().add(membership); teamMembersList.setModelObject(EditTeamPanel.this.team); target.add(teamMembersList); } }; addMember.add( new Label("button.add.save", new StringResourceModel("button.add.save", this, Model.of(team)))); formAdd.add(addMember); formAdd.add(userRole); formAdd.add(userComplete); add(formAdd); teamMembersList = new InputValidationForm<>("form.list", Model.of(team)); DataView<TeamMembership> usersView = new DataView<TeamMembership>("members", getMembershipProvider(team)) { @Override protected void populateItem(Item<TeamMembership> item) { final TeamMembership team = item.getModelObject(); Check<TeamMembership> check = newDeleteCheck(item); List<Role> roles = new ArrayList<>(Arrays.asList(Role.teamAssignableRoles())); item.add(check); item.add(new Label("td.membername", new PropertyModel<>(team.getUser(), "fullName"))); DropDownChoice<Role> roleSelector = new DropDownChoice<>("td.role", new PropertyModel<Role>(team, "role"), roles); roleSelector.setNullValid(false); item.add(roleSelector); item.setOutputMarkupId(true); } }; teamMembersList.add(teamGroup = newCheckGroup()); final WebMarkupContainer usersContainer = new WebMarkupContainer("membersContainer"); teamGroup.add(usersContainer.setOutputMarkupId(true)); CheckGroupSelector checkGroupSelector = new CheckGroupSelector("memberGroupSelector", teamGroup); usersContainer.add(checkGroupSelector); usersContainer.add(usersView); usersContainer.add(deleteSelectedButton = newDeleteSelectedButton(teamGroup)); deleteSelectedButton.add(new Label("td.members.actions.batch.remove", new StringResourceModel("td.members.actions.batch.remove", this, Model.of(team)))); add(teamMembersList.setOutputMarkupId(true)); add(new Label("label.add.title", new StringResourceModel("label.add.title", this, Model.of(team)))); add(new Label("label.list.title", new StringResourceModel("label.list.title", this, Model.of(team)))); }
From source file:ontopoly.components.AssociationFieldAutoCompleteTextField.java
License:Apache License
public AssociationFieldAutoCompleteTextField(String id, IModel<Topic> model, final RoleFieldModel valueFieldModel) { super(id);//from ww w . j ava 2 s.c om AutoCompleteSettings opts = new AutoCompleteSettings(); opts.setCssClassName("ontopoly-autocompleter"); opts.setAdjustInputWidth(false); opts.setPreselect(true); this.textField = new AutoCompleteTextField<Topic>("autoComplete", model, Topic.class, new AbstractAutoCompleteRenderer<Topic>() { @Override protected String getTextValue(Topic o) { return TOPIC_CONVERTER.convertToString(o); } @Override protected void renderChoice(Topic o, Response response, String criteria) { response.write(o.getName()); } }, opts) { @Override public IConverter getConverter(Class<?> type) { if (Topic.class.equals(type)) { return new TopicConverter(); } else { return super.getConverter(type); } } @Override protected Iterator<Topic> getChoices(String input) { List<Topic> result = new ArrayList<Topic>( valueFieldModel.getRoleField().searchAllowedPlayers(input)); filterPlayers(result); Collections.sort(result, TopicComparator.INSTANCE); return result.iterator(); } @Override protected void onModelChanged() { super.onModelChanged(); Topic topic = getModelObject(); if (topic != null) { AssociationFieldAutoCompleteTextField.this.onTopicSelected(topic); } } }; add(textField); }