133,6 → 133,13 |
} |
} |
|
if(event.getNativeKeyCode() == KeyCodes.KEY_DOWN) { |
// Un appui sur flèche bas permet de demander toute la liste |
if(!sgd.isSuggestionListShowing()) { |
requeteToutesSuggestions(); |
} |
} |
|
// Tout autre frappe d'un caractère "normal" déclenche le timer d'autocomplétion |
if(!KeyDownEvent.isArrow(event.getNativeKeyCode())) { |
gererTimer(); |
210,8 → 217,13 |
return tempsAvantRequete; |
} |
|
public void requeteToutesSuggestions() { |
// Cette méthode permet de demander l'autocomplétion même si |
// la valeur saisie est vide (cas de l'appui sur flèche bas) |
envoyerRequeteSuggestions("*"); |
} |
|
public void requeteSuggestions() { |
|
// Suppression des espaces et caractères inutiles |
String valeur = suggestions.getValue().trim().isEmpty() ? null : suggestions.getValue().trim(); |
|
220,7 → 232,10 |
if(valeur == null) { |
return; |
} |
|
envoyerRequeteSuggestions(valeur); |
} |
|
private void envoyerRequeteSuggestions(final String valeur) { |
final String urlRequeteFmt = preTraiterUrlRequete(urlRequete, valeur); |
RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, urlRequeteFmt) ; |
try { |
231,7 → 246,7 |
|
public void onResponseReceived(final Request request, |
final Response response) { |
surReponseRequete(urlRequeteFmt, response); |
surReponseRequete(valeur, response); |
} |
}) ; |
|
250,7 → 265,17 |
} |
|
requeteOracle.setQuery(requete); |
msu.requestSuggestions(requeteOracle, callBackOracle); |
if(requete.equals("*")) { |
// TODO : il y a peut être une méthode plus simple |
// mais ceci permet d'afficher les suggestions en cas d'appui |
// sur bas lorsque la liste est vide |
msu.setDefaultSuggestionsFromText(possibilites.values()); |
SuggestOracle.Request rq = new SuggestOracle.Request(); |
rq.setQuery(null); |
msu.requestDefaultSuggestions(rq, callBackOracle); |
} else { |
msu.requestSuggestions(requeteOracle, callBackOracle); |
} |
} |
|
public String getText() { |