Example usage for com.google.gwt.user.client.ui SuggestBox addKeyUpHandler

List of usage examples for com.google.gwt.user.client.ui SuggestBox addKeyUpHandler

Introduction

In this page you can find the example usage for com.google.gwt.user.client.ui SuggestBox addKeyUpHandler.

Prototype

public HandlerRegistration addKeyUpHandler(KeyUpHandler handler) 

Source Link

Usage

From source file:com.phideltcmu.recruiter.client.ui.popup.AdminAdd.java

License:Creative Commons License

private void fillSuggest(List<InternalUser> list, final SuggestBox suggestbox) {
    MultiWordSuggestOracle oracle = (MultiWordSuggestOracle) suggestbox.getSuggestOracle();
    // Populate the suggestion oracle
    for (InternalUser person : list) {
        oracle.add(person.getName());/*from ww  w. ja  v a  2 s. c om*/
    }

    // When a suggestion is selected, switch to that client
    suggestbox.addSelectionHandler(new SelectionHandler<SuggestOracle.Suggestion>() {
        @Override
        public void onSelection(SelectionEvent<SuggestOracle.Suggestion> suggestionSelectionEvent) {
        }
    });

    // If the user hits enter in the search box, inspect the company
    suggestbox.addKeyUpHandler(new KeyUpHandler() {
        private int keyUpCount = 0;

        @Override
        public void onKeyUp(KeyUpEvent event) {
            // Bug in GWT 2.0.3. KeyUpEvent gets fired twice...

            keyUpCount++;

            if (keyUpCount % 2 == 0) {
                return;
            }
            if (event.getNativeKeyCode() == KeyCodes.KEY_ENTER) {
                suggestbox.setFocus(false);
            }
        }
    });
    this.display();
}

From source file:de.uni_koeln.spinfo.maalr.webapp.ui.common.client.ConfigurableSearchArea.java

License:Apache License

private Widget buildOracle(final UiField field) {
    MultiWordSuggestOracle oracle = new MultiWordSuggestOracle() {

        @Override//  ww w  .j  a v a 2s . c  om
        public void requestSuggestions(final Request request, final Callback callback) {
            service.getSuggestions(field.getId(), request.getQuery(), request.getLimit(),
                    new AsyncCallback<List<String>>() {

                        @Override
                        public void onFailure(Throwable caught) {
                        }

                        @Override
                        public void onSuccess(List<String> result) {
                            Response response = new Response();
                            List<Suggestion> suggestions = new ArrayList<Suggestion>();
                            for (String string : result) {
                                suggestions.add(new MultiWordSuggestion(string, string));
                            }
                            response.setSuggestions(suggestions);
                            callback.onSuggestionsReady(request, response);
                        }
                    });

        }

    };
    final SuggestBox box = new SuggestBox(oracle);
    box.setValue(field.getInitialValue());

    box.getValueBox().addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {
            String old = oracleHistory.get(field.getId());
            if (old != null) {
                box.getValueBox().setText(old);
            }
            box.getValueBox().selectAll();
            box.showSuggestionList();
        }
    });

    box.addKeyDownHandler(new KeyDownHandler() {

        @Override
        public void onKeyDown(KeyDownEvent event) {
            if (event.getNativeKeyCode() == KeyCodes.KEY_ENTER) {
                box.getValueBox().selectAll();
                event.stopPropagation();
                event.preventDefault();
                box.setFocus(true);
                fireDelayedUpdate();
            }
        }
    });

    box.addKeyUpHandler(new KeyUpHandler() {

        @Override
        public void onKeyUp(KeyUpEvent event) {
            if (box.getValue() == null || box.getValue().trim().length() == 0) {
                currentValues.remove(field.getId());
            } else {
                currentValues.put(field.getId(), box.getValue());
            }
            oracleHistory.put(field.getId(), box.getValue());
            //fireDelayedUpdate();
        }

    });
    box.addSelectionHandler(new SelectionHandler<SuggestOracle.Suggestion>() {

        @Override
        public void onSelection(SelectionEvent<Suggestion> event) {
            String string = event.getSelectedItem().getReplacementString();
            if (box.getValue() == null || box.getValue().trim().length() == 0) {
                currentValues.remove(field.getId());
            } else {
                currentValues.put(field.getId(), string);
            }
            fireDelayedUpdate();
        }
    });
    return box;
}