Example usage for org.apache.wicket.extensions.ajax.markup.html.autocomplete StringAutoCompleteRenderer StringAutoCompleteRenderer

List of usage examples for org.apache.wicket.extensions.ajax.markup.html.autocomplete StringAutoCompleteRenderer StringAutoCompleteRenderer

Introduction

In this page you can find the example usage for org.apache.wicket.extensions.ajax.markup.html.autocomplete StringAutoCompleteRenderer StringAutoCompleteRenderer.

Prototype

StringAutoCompleteRenderer

Source Link

Usage

From source file:de.codepitbull.behavior.HomePage.java

License:Apache License

public HomePage(final PageParameters parameters) {
    final List<String> choices = new ArrayList<String>();
    final IModel<String> input = Model.of("");
    add(new Label("roundtrips", new PropertyModel<Integer>(this, "roundtrips"))
            .add(new AjaxSelfUpdatingTimerBehavior(Duration.ONE_SECOND) {
                @Override/*from   ww  w.  j ava 2  s  .  co m*/
                protected void onPostProcessTarget(AjaxRequestTarget target) {
                    roundtrips++;
                }
            }));
    add(new Form("inputForm") {
        @Override
        protected void onSubmit() {
            super.onSubmit();
            choices.add(input.getObject());
        }
    }.add(new TextField<String>("autocomplete", input)
            .add(new AutoCompleteBehavior<Object>(new StringAutoCompleteRenderer()) {
                @Override
                protected Iterator<Object> getChoices(String input) {
                    List<Object> ret = new ArrayList<Object>();
                    for (String choice : choices) {
                        if (choice.startsWith(input)) {
                            ret.add(choice);
                        }
                    }
                    return ret.iterator();
                }
            })));
}

From source file:de.codepitbull.events.HomePage.java

License:Apache License

public HomePage(final PageParameters parameters) {
    final IModel<String> input = Model.of("");

    add(new Label("inhalt", new PropertyModel<Integer>(choices, "size")) {
        @Override/*from   w  w w .j  ava 2 s  .  c  o m*/
        public void onEvent(IEvent<?> event) {
            //Verwendung des Ajax-Default-Events zum Updaten
            if (event.getPayload() instanceof AjaxRequestTarget) {
                ((AjaxRequestTarget) event.getPayload()).add(this);
            }
        }
    }.setOutputMarkupId(true));
    add(new Form("inputForm") {
        @Override
        protected void onSubmit() {
            super.onSubmit();
            //Neuese Element hinzufgen
            choices.add(input.getObject());
        }
    }.add(new TextField<String>("autocomplete", input)
            .add(new AutoCompleteBehavior<Object>(new StringAutoCompleteRenderer()) {
                @Override
                protected Iterator<Object> getChoices(String input) {
                    List<Object> ret = new ArrayList<Object>();
                    for (String choice : choices) {
                        if (choice.startsWith(input)) {
                            ret.add(choice);
                        }
                    }
                    return ret.iterator();
                }
            })));
    add(new ResetEventLink("resetLink"));
}