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 IAutoCompleteRenderer<T> renderer)
From source file:com.evolveum.midpoint.web.component.form.multivalue.MultiValueAutoCompleteTextPanel.java
License:Apache License
private void initLayout(final boolean inputEnabled) { WebMarkupContainer placeholderContainer = new WebMarkupContainer(ID_PLACEHOLDER_CONTAINER); placeholderContainer.setOutputMarkupPlaceholderTag(true); placeholderContainer.setOutputMarkupPlaceholderTag(true); placeholderContainer.add(new VisibleEnableBehaviour() { @Override//from ww w. j a v a 2 s. c o m public boolean isVisible() { return getModel().getObject().isEmpty(); } }); add(placeholderContainer); AjaxLink placeholderAdd = new AjaxLink(ID_PLACEHOLDER_ADD) { @Override public void onClick(AjaxRequestTarget target) { addValuePerformed(target); } }; placeholderAdd.add(new AttributeAppender("class", new AbstractReadOnlyModel<String>() { @Override public String getObject() { if (buttonsDisabled()) { return " " + CSS_DISABLED; } return ""; } })); placeholderAdd.setOutputMarkupId(true); placeholderAdd.setOutputMarkupPlaceholderTag(true); placeholderContainer.add(placeholderAdd); ListView repeater = new ListView<T>(ID_REPEATER, getModel()) { @Override protected void populateItem(final ListItem<T> item) { AutoCompleteSettings autoCompleteSettings = new AutoCompleteSettings(); autoCompleteSettings.setShowListOnEmptyInput(true); AutoCompleteTextField<String> autoCompleteEditor = new AutoCompleteTextField<String>(ID_TEXT, createTextModel(item.getModel()), autoCompleteSettings) { @Override protected Iterator<String> getChoices(String input) { return createAutoCompleteObjectList(input); } }; autoCompleteEditor.add(createAutoCompleteValidator()); autoCompleteEditor.add(new AjaxFormComponentUpdatingBehavior("onchange") { @Override protected void onUpdate(AjaxRequestTarget target) { } }); item.add(autoCompleteEditor); autoCompleteEditor.add(AttributeAppender.replace("placeholder", createEmptyItemPlaceholder())); if (!inputEnabled) { autoCompleteEditor.add(new AttributeModifier("disabled", "disabled")); } item.add(autoCompleteEditor); WebMarkupContainer buttonGroup = new WebMarkupContainer(ID_BUTTON_GROUP); item.add(buttonGroup); initButtons(buttonGroup, item); } }; repeater.setOutputMarkupId(true); repeater.setOutputMarkupPlaceholderTag(true); repeater.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { return !getModel().getObject().isEmpty(); } }); add(repeater); }
From source file:com.evolveum.midpoint.web.component.input.AutoCompleteTextPanel.java
License:Apache License
public AutoCompleteTextPanel(String id, IModel<T> model, Class clazz) { super(id);/*w ww .j a v a 2 s. com*/ AutoCompleteSettings autoCompleteSettings = new AutoCompleteSettings(); autoCompleteSettings.setShowListOnEmptyInput(true); final AutoCompleteTextField<T> input = new AutoCompleteTextField<T>(ID_INPUT, model, autoCompleteSettings) { @Override protected Iterator<T> getChoices(String input) { return getIterator(input); } }; input.setType(clazz); add(input); }
From source file:com.evolveum.midpoint.web.component.search.TextPopupPanel.java
License:Apache License
private TextField initTextField() { IModel data = new PropertyModel(getModel(), SearchValue.F_VALUE); if (lookup == null) { return new TextField(ID_TEXT_INPUT, data); }/*from w ww. ja va2 s.co m*/ AutoCompleteSettings settings = new AutoCompleteSettings(); settings.setShowListOnEmptyInput(true); return new AutoCompleteTextField(ID_TEXT_INPUT, data, settings) { @Override protected Iterator getChoices(String input) { return prepareAutoCompleteList(input).iterator(); } }; }
From source file:com.evolveum.midpoint.web.page.admin.server.handlers.ResourceRelatedHandlerPanel.java
License:Apache License
private void initLayout() { final VisibleEnableBehaviour visibleIfEdit = new VisibleEnableBehaviour() { @Override/*from w ww . j a v a 2 s. co m*/ public boolean isVisible() { return parentPage.isEdit(); } }; final VisibleEnableBehaviour visibleIfView = new VisibleEnableBehaviour() { @Override public boolean isVisible() { return !parentPage.isEdit(); } }; final VisibleEnableBehaviour enabledIfEdit = new VisibleEnableBehaviour() { @Override public boolean isEnabled() { return parentPage.isEdit(); } }; final VisibleEnableBehaviour visibleForResourceCoordinates = new VisibleEnableBehaviour() { @Override public boolean isVisible() { return getTaskDto().configuresResourceCoordinates(); } }; final WebMarkupContainer resourceRefContainer = new WebMarkupContainer(ID_RESOURCE_REF_CONTAINER); resourceRefContainer.add(visibleForResourceCoordinates); resourceRefContainer.setOutputMarkupId(true); add(resourceRefContainer); final DropDownChoice<TaskAddResourcesDto> resourceRef = new DropDownChoice<>(ID_RESOURCE_REF, new PropertyModel<TaskAddResourcesDto>(getModel(), ResourceRelatedHandlerDto.F_RESOURCE_REFERENCE), new AbstractReadOnlyModel<List<TaskAddResourcesDto>>() { @Override public List<TaskAddResourcesDto> getObject() { return createResourceList(); } }, new ChoiceableChoiceRenderer<TaskAddResourcesDto>()); resourceRef.setOutputMarkupId(true); resourceRef.add(enabledIfEdit); resourceRef.add(new AjaxFormComponentUpdatingBehavior("change") { @Override protected void onUpdate(AjaxRequestTarget target) { Task task = parentPage.createSimpleTask(OPERATION_LOAD_RESOURCE); OperationResult result = task.getResult(); List<QName> objectClassList = new ArrayList<>(); TaskAddResourcesDto resourcesDto = getModelObject().getResourceRef(); if (resourcesDto != null) { PrismObject<ResourceType> resource = WebModelServiceUtils.loadObject(ResourceType.class, resourcesDto.getOid(), parentPage, task, result); try { ResourceSchema schema = RefinedResourceSchema.getResourceSchema(resource, parentPage.getPrismContext()); schema.getObjectClassDefinitions(); for (Definition def : schema.getDefinitions()) { objectClassList.add(def.getTypeName()); } getModelObject().setObjectClassList(objectClassList); } catch (Exception e) { LoggingUtils.logUnexpectedException(LOGGER, "Couldn't load object class list from resource.", e); error("Couldn't load object class list from resource."); } } target.add(resourceRefContainer); } }); resourceRefContainer.add(resourceRef); WebMarkupContainer kindContainer = new WebMarkupContainer(ID_KIND_CONTAINER); kindContainer.add(visibleForResourceCoordinates); add(kindContainer); final DropDownChoice kind = new DropDownChoice<>(ID_KIND, new PropertyModel<ShadowKindType>(getModel(), ResourceRelatedHandlerDto.F_KIND), WebComponentUtil.createReadonlyModelFromEnum(ShadowKindType.class), new EnumChoiceRenderer<ShadowKindType>()); kind.setOutputMarkupId(true); kind.setNullValid(true); kindContainer.add(kind); WebMarkupContainer intentContainer = new WebMarkupContainer(ID_INTENT_CONTAINER); intentContainer.add(visibleForResourceCoordinates); add(intentContainer); final TextField<String> intent = new TextField<>(ID_INTENT, new PropertyModel<String>(getModel(), ResourceRelatedHandlerDto.F_INTENT)); intentContainer.add(intent); intent.setOutputMarkupId(true); intent.add(enabledIfEdit); WebMarkupContainer objectClassContainer = new WebMarkupContainer(ID_OBJECT_CLASS_CONTAINER); objectClassContainer.add(visibleForResourceCoordinates); add(objectClassContainer); AutoCompleteSettings autoCompleteSettings = new AutoCompleteSettings(); autoCompleteSettings.setShowListOnEmptyInput(true); final AutoCompleteTextField<String> objectClass = new AutoCompleteTextField<String>(ID_OBJECT_CLASS, new PropertyModel<String>(getModel(), ResourceRelatedHandlerDto.F_OBJECT_CLASS), autoCompleteSettings) { @Override protected Iterator<String> getChoices(String input) { return prepareObjectClassChoiceList(input); } }; objectClass.add(enabledIfEdit); objectClassContainer.add(objectClass); WebMarkupContainer optionsContainer = new WebMarkupContainer(ID_OPTIONS_CONTAINER); optionsContainer.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { return getTaskDto().configuresDryRun(); } }); add(optionsContainer); WebMarkupContainer dryRunContainer = new WebMarkupContainer(ID_DRY_RUN_CONTAINER); dryRunContainer.add(new VisibleEnableBehaviour() { @Override public boolean isVisible() { return getTaskDto().configuresDryRun(); } }); optionsContainer.add(dryRunContainer); CheckBox dryRun = new CheckBox(ID_DRY_RUN, new PropertyModel<Boolean>(getModel(), ResourceRelatedHandlerDto.F_DRY_RUN)); dryRun.add(enabledIfEdit); dryRunContainer.add(dryRun); }
From source file:io.ucoin.ucoinj.web.pages.home.HomePage.java
License:Open Source License
public HomePage(final PageParameters parameters) { super(parameters); setUseGlobalFeedback(false);//ww w . j a va 2s . c o m form = new Form<HomePage>("searchForm"); form.setOutputMarkupId(true); add(form); // FeedbackPanel final FeedbackPanel feedback = new JQueryFeedbackPanel("feedback"); feedback.setOutputMarkupId(true); form.add(feedback); IAutoCompleteRenderer autoCompleteRenderer = new IAutoCompleteRenderer<String>() { private static final long serialVersionUID = 1L; public void renderHeader(Response response) { response.write("<ul>"); } public void render(String choice, Response response, String criteria) { response.write("<li textvalue=\"" + choice + "\""); response.write(">"); // Put the substring after the criteria in bold if (choice.startsWith(criteria) && choice.length() > criteria.length()) { choice = criteria + "<b>" + choice.substring(criteria.length()) + "</b>"; } response.write(choice); response.write("</li>"); } public void renderFooter(Response response, int count) { response.write("</ul>"); } }; // Search text searchTextField = new AutoCompleteTextField<String>("searchText", new PropertyModel<String>(this, "searchQuery"), autoCompleteRenderer) { private static final long serialVersionUID = 1L; @Override protected Iterator<String> getChoices(String input) { return doSuggestions(input).iterator(); } }; searchTextField.add(new AjaxFormComponentUpdatingBehavior("keyup") { @Override protected void onUpdate(AjaxRequestTarget target) { // do search searchTextField.updateModel(); } @Override protected void onError(AjaxRequestTarget target, RuntimeException e) { // Here the Component's model object will remain unchanged, // so that it doesn't hold invalid input } }); searchTextField.setRequired(true); form.add(searchTextField); // Submit button { Button searchButton = new AjaxButton("searchButton") { @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { // do search doSearch(target, searchQuery); // Force to hide autocomplete choices target.appendJavaScript("$('div.wicket-aa-container').hide();" + "$('#" + searchTextField.getMarkupId() + "').attr('autocomplete', 'off');"); } }; searchButton.setDefaultFormProcessing(false); searchButton.setOutputMarkupId(true); form.add(searchButton); form.setDefaultButton(searchButton); } //form.add(new AjaxFormValidatingBehavior("keyup", Duration.ONE_SECOND)); // Search result { // Parent container resultParent = new WebMarkupContainer("resultParent"); resultParent.setOutputMarkupId(true); resultParent.setOutputMarkupPlaceholderTag(true); resultParent.setVisible(false); add(resultParent); // History items { resultListView = new ListView<SearchResult>("resultItems", new ListModel<SearchResult>()) { protected void populateItem(ListItem<SearchResult> item) { SearchResult result = item.getModelObject(); // link PageParameters pageParameters = new PageParameters(); pageParameters.add(CurrencyPage.CURRENCY_PARAMETER, result.getId()); BookmarkablePageLink link = new BookmarkablePageLink("openCurrencyLink", CurrencyPage.class, pageParameters); item.add(link); // Currency name Label label = new Label("currencyName", result.getValue()); label.setEscapeModelStrings(false); label.setOutputMarkupPlaceholderTag(false); link.add(label); } }; resultListView.setReuseItems(true); resultListView.setOutputMarkupId(true); resultParent.add(resultListView); } } }
From source file:org.apache.syncope.client.console.wicket.markup.html.form.AjaxTextFieldPanel.java
License:Apache License
public AjaxTextFieldPanel(final String id, final String name, final IModel<String> model, final boolean enableOnChange) { super(id, name, model); questionMarkJexlHelp = Constants.getJEXLPopover(this, TooltipConfig.Placement.right); add(questionMarkJexlHelp.setVisible(false)); final AutoCompleteSettings settings = new AutoCompleteSettings(); settings.setShowCompleteListOnFocusGain(true); settings.setShowListOnEmptyInput(true); field = new AutoCompleteTextField<String>("textField", model, settings) { private static final long serialVersionUID = -6648767303091874219L; @Override// www. j a v a 2 s . co m protected Iterator<String> getChoices(final String input) { return AjaxTextFieldPanel.this.getChoices(input); } @Override protected AutoCompleteBehavior<String> newAutoCompleteBehavior( final IAutoCompleteRenderer<String> renderer, final AutoCompleteSettings settings) { return new IndicatorAutoCompleteBehavior<String>(renderer, settings) { private static final long serialVersionUID = 1070808433195962931L; @Override protected Iterator<String> getChoices(final String input) { return AjaxTextFieldPanel.this.getChoices(input); } }; } }; add(field.setLabel(new ResourceModel(name, name)).setOutputMarkupId(true)); if (enableOnChange && !isReadOnly()) { field.add(new IndicatorAjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) { private static final long serialVersionUID = -1107858522700306810L; @Override protected void onUpdate(final AjaxRequestTarget target) { // nothing to do } }); } }
From source file:org.apache.syncope.console.wicket.markup.html.form.AjaxTextFieldPanel.java
License:Apache License
public AjaxTextFieldPanel(final String id, final String name, final IModel<String> model) { super(id, model); final AutoCompleteSettings settings = new AutoCompleteSettings(); settings.setShowCompleteListOnFocusGain(true); settings.setShowListOnEmptyInput(true); field = new AutoCompleteTextField<String>("textField", model, settings) { private static final long serialVersionUID = -6648767303091874219L; @Override/*from w w w . j av a2s . c o m*/ protected Iterator<String> getChoices(final String input) { final Pattern pattern = Pattern.compile(".*" + Pattern.quote(input) + ".*", Pattern.CASE_INSENSITIVE); final List<String> result = new ArrayList<String>(); for (String choice : choices) { if (pattern.matcher(choice).matches()) { result.add(choice); } } return result.iterator(); } }; add(field.setLabel(new Model<String>(name)).setOutputMarkupId(true)); if (!isReadOnly()) { field.add(new AjaxFormComponentUpdatingBehavior(Constants.ON_CHANGE) { private static final long serialVersionUID = -1107858522700306810L; @Override protected void onUpdate(final AjaxRequestTarget target) { // nothing to do } }); } }
From source file:org.geoserver.web.netcdf.GHRSSTExtensionPanel.java
License:Open Source License
AutoCompleteTextField<String> getAutocompleter(String id, IModel<String> model, List<String> choices) {
AutoCompleteSettings settings = new AutoCompleteSettings();
settings.setShowCompleteListOnFocusGain(true);
settings.setShowListOnEmptyInput(true);
return new AutoCompleteTextField<String>(id, model, settings) {
@Override/* ww w .j a v a 2s . c o m*/
protected Iterator<String> getChoices(String input) {
if (input == null || input.trim().length() == 0) {
return choices.iterator();
}
String reference = input.trim().toLowerCase();
return choices.stream().filter(c -> c.toLowerCase().contains(reference)).iterator();
}
};
}
From source file:org.hippoecm.frontend.plugins.console.menu.open.OpenDialog.java
License:Apache License
private AutoCompleteTextField<String> makeValueField(final PropertyModel<String> value) { return new AutoCompleteTextField<String>(WICKET_ELEMENT_ID, value, getAutoCompleteSettings()) { private static final long serialVersionUID = 1L; @Override/* ww w .j av a 2 s . c o m*/ protected Iterator<String> getChoices(String input) { Collection<String> result = new TreeSet<>(); addMatchingNodes(input, result); return result.iterator(); } @Override public void renderHead(final IHeaderResponse response) { super.renderHead(response); String script = "document.getElementById('" + getMarkupId() + "').focus(); " + "document.getElementById('" + getMarkupId() + "').select();"; response.render(OnDomReadyHeaderItem.forScript(script)); response.render(CssHeaderItem.forReference(new CssResourceReference( DefaultCssAutoCompleteTextField.class, "DefaultCssAutoCompleteTextField.css"))); } }; }