@Override public void requestSuggestions(Request request, Callback callback) { String query = normalizeSearch(request.getQuery()); int limit = request.getLimit(); // Get candidates from search words. List<String> candidates = createCandidatesFromSearch(query); // Respect limit for number of choices. int numberTruncated = Math.max(0, candidates.size() - limit); for (int i = candidates.size() - 1; i > limit; i--) { candidates.remove(i); } // Convert candidates to suggestions. List<MultiWordSuggestion> suggestions = convertToFormattedSuggestions(query, candidates); Response response = new Response(suggestions); response.setMoreSuggestionsCount(numberTruncated); callback.onSuggestionsReady(request, response); }
@Override public void onSuccess(final Method method, final List<String> response) { final List<LoggerWordSuggestion> result = new ArrayList<>(); for (final String string : response) { result.add(new LoggerWordSuggestion(string)); } callback.onSuggestionsReady(request, new Response(result)); } });
@Override public void requestDefaultSuggestions(Request request, Callback callback) { List<RenderableSuggestion<T>> suggestions = new ArrayList<>(); for (T row : data) { suggestions.add(new RenderableSuggestion<>(row, renderer)); } callback.onSuggestionsReady(request, new Response(suggestions)); }
/** * Generate a {@link Response} based on a default request. The request query * must be null as it represents the results the oracle should return based on * no query string. * <p> * After the {@link Response} is created, it is passed into * {@link Callback#onSuggestionsReady(com.google.gwt.user.client.ui.SuggestOracle.Request, com.google.gwt.user.client.ui.SuggestOracle.Response)} * . * </p> * * @param request the request * @param callback the callback to use for the response */ public void requestDefaultSuggestions(Request request, Callback callback) { assert (request.query == null); callback.onSuggestionsReady(request, emptyResponse); }
@Override public void requestSuggestions(Request request, Callback callback) { Response resp = new Response(); if (contacts.isEmpty()) { callback.onSuggestionsReady(request, resp); return; } String text = request.getQuery(); text = text.toLowerCase(); List<UserSuggestion> list = new ArrayList<>(); for (User contact : contacts) { if (contact.getValue().toLowerCase().contains(text)) { list.add(new UserSuggestion(contact)); } } resp.setSuggestions(list); callback.onSuggestionsReady(request, resp); } }
@Override public void onStateChanged(StateChangeEvent stateChangeEvent) { super.onStateChanged(stateChangeEvent); if(stateChangeEvent.hasPropertyChanged("suggestions") || stateChangeEvent.hasPropertyChanged("triggerCount")){ SuggestOracle.Response response = new SuggestOracle.Response(getState().getSuggestions()); if(m_callback != null){ m_callback.onSuggestionsReady(m_request, response); } getState().getTriggerCount(); } if (stateChangeEvent.hasPropertyChanged("selected")) { //deduplicate the list of selected and have it change the token field background //or something } if (stateChangeEvent.hasPropertyChanged("focused")) { getWidget().setFocused(getState().getFocused()); } }
/** * Generate a {@link Response} based on a default request. The request query * must be null as it represents the results the oracle should return based on * no query string. * <p> * After the {@link Response} is created, it is passed into * {@link Callback#onSuggestionsReady(com.google.gwt.user.client.ui.SuggestOracle.Request, com.google.gwt.user.client.ui.SuggestOracle.Response)} * . * </p> * * @param request the request * @param callback the callback to use for the response */ public void requestDefaultSuggestions(Request request, Callback callback) { assert (request.query == null); callback.onSuggestionsReady(request, emptyResponse); }
@Override public void requestSuggestions(Request request, Callback callback) { String query = normalizeSearch(request.getQuery()); int limit = request.getLimit(); // Get candidates from search words. List<String> candidates = createCandidatesFromSearch(query); // Respect limit for number of choices. int numberTruncated = Math.max(0, candidates.size() - limit); for (int i = candidates.size() - 1; i > limit; i--) { candidates.remove(i); } // Convert candidates to suggestions. List<MultiWordSuggestion> suggestions = convertToFormattedSuggestions(query, candidates); Response response = new Response(suggestions); response.setMoreSuggestionsCount(numberTruncated); callback.onSuggestionsReady(request, response); }
/** * This method is called when the user clicks in the textbox, and doesn't type anything, this way * a list of pre-made suggestions is presented to the user. * */ @Override public void requestDefaultSuggestions(Request request, Callback callback) { if (defaultResponse != null) { callback.onSuggestionsReady(request, defaultResponse); } else { requestDefaultSuggestions(request, callback); } }
@Override public void onSuccess(final Method pmethod, final List<PhoneNumberData> presponse) { response.setSuggestions( AbstractPhoneNumberRestOracle.this.convertListToSuggestions(presponse)); pcallback.onSuggestionsReady(prequest, response); }
@Override public void onSuccess(final List<PhoneNumberData> presponse) { response.setSuggestions( AbstractPhoneNumberRestOracle.this.convertListToSuggestions(presponse)); pcallback.onSuggestionsReady(prequest, response); }
@Override public void onSuccess(SearchResultInfo results) { lastSuggestions = createSuggestions(results, request.getLimit()); Response response = new Response(lastSuggestions); loading.hide(); callback.onSuggestionsReady(request, response); if (searchCompletedCallbacks != null && lastSuggestions != null && lastSuggestions.size() == 1) { for (org.kuali.student.common.ui.client.mvc.Callback<IdableSuggestion> callback : searchCompletedCallbacks) { callback.exec(lastSuggestions.get(0)); } } }
@Override public void onFailure(final Method pmethod, final Throwable pexception) { GWT.log(pexception.getMessage(), pexception); pcallback.onSuggestionsReady(prequest, response); }
/** * The case when the user types letters in the textbox and this method * is called to search (case insensitive) the list of sugestions previously added. * This list is build and passed to the callback. * */ @Override public void requestSuggestions(Request request, Callback callback) { final List<Suggestion> suggestions = searchSuggestions(request.getQuery().toLowerCase(), request.getLimit()); Response response = new Response(suggestions); callback.onSuggestionsReady(request, response); }
@Override public void requestDefaultSuggestions(Request request, Callback callback) { if (defaultResponse != null) { callback.onSuggestionsReady(request, defaultResponse); } else { super.requestDefaultSuggestions(request, callback); } }
public void onSuggestionsReady(Request request, Response response) { if (textWidget.getText().equals(request.getQuery())) { currentCallback.onSuggestionsReady(request, response); pendingRequest = null; pendingCallback = null; } currentCallback = null; if (pendingCallback != null) { requestSuggestions(pendingRequest, pendingCallback); pendingRequest = null; pendingCallback = null; } }
@Override public void requestSuggestions(Request request, Callback callback) { List<RenderableSuggestion<T>> suggestions = new ArrayList<>(); String query = request.getQuery(); for (T row : data) { RenderableSuggestion<T> suggestionCandidate = new RenderableSuggestion<>(row, renderer); if (this.matcher.match(query, suggestionCandidate)) { suggestions.add(suggestionCandidate); } } callback.onSuggestionsReady(request, new Response(suggestions)); }
@Override public void requestDefaultSuggestions(Request request, Callback callback) { if (defaultResponse != null) { callback.onSuggestionsReady(request, defaultResponse); } else { super.requestDefaultSuggestions(request, callback); } }
/** * Generate a {@link Response} based on a default request. The request query * must be null as it represents the results the oracle should return based on * no query string. * <p> * After the {@link Response} is created, it is passed into * {@link Callback#onSuggestionsReady(com.google.gwt.user.client.ui.SuggestOracle.Request, com.google.gwt.user.client.ui.SuggestOracle.Response)} * . * </p> * * @param request the request * @param callback the callback to use for the response */ public void requestDefaultSuggestions(Request request, Callback callback) { assert (request.query == null); callback.onSuggestionsReady(request, emptyResponse); }
@Override public void requestDefaultSuggestions(Request request, Callback callback) { if (defaultResponse != null) { callback.onSuggestionsReady(request, defaultResponse); } else { super.requestDefaultSuggestions(request, callback); } }