Line 1... |
Line 1... |
1 |
package org.tela_botanica.del.client.composants.formulaires;
|
1 |
package org.tela_botanica.del.client.composants.formulaires;
|
Line 2... |
Line 2... |
2 |
|
2 |
|
3 |
import com.google.gwt.event.dom.client.HasKeyPressHandlers;
|
3 |
import com.google.gwt.event.dom.client.HasKeyPressHandlers;
|
4 |
import com.google.gwt.event.dom.client.KeyPressEvent;
|
4 |
import com.google.gwt.event.dom.client.KeyPressEvent;
|
- |
|
5 |
import com.google.gwt.event.dom.client.KeyPressHandler;
|
- |
|
6 |
import com.google.gwt.event.logical.shared.HasSelectionHandlers;
|
- |
|
7 |
import com.google.gwt.event.logical.shared.SelectionEvent;
|
5 |
import com.google.gwt.event.dom.client.KeyPressHandler;
|
8 |
import com.google.gwt.event.logical.shared.SelectionHandler;
|
6 |
import com.google.gwt.http.client.Request;
|
9 |
import com.google.gwt.http.client.Request;
|
7 |
import com.google.gwt.http.client.RequestBuilder;
|
10 |
import com.google.gwt.http.client.RequestBuilder;
|
8 |
import com.google.gwt.http.client.RequestCallback;
|
11 |
import com.google.gwt.http.client.RequestCallback;
|
9 |
import com.google.gwt.http.client.RequestException;
|
12 |
import com.google.gwt.http.client.RequestException;
|
10 |
import com.google.gwt.http.client.Response;
|
13 |
import com.google.gwt.http.client.Response;
|
11 |
import com.google.gwt.http.client.URL;
|
14 |
import com.google.gwt.http.client.URL;
|
12 |
import com.google.gwt.user.client.Timer;
|
15 |
import com.google.gwt.user.client.Timer;
|
13 |
import com.google.gwt.user.client.ui.HasWidgets;
|
16 |
import com.google.gwt.user.client.ui.HasWidgets;
|
14 |
import com.google.gwt.user.client.ui.IsWidget;
|
17 |
import com.google.gwt.user.client.ui.IsWidget;
|
- |
|
18 |
import com.google.gwt.user.client.ui.SuggestOracle;
|
Line 15... |
Line 19... |
15 |
import com.google.gwt.user.client.ui.SuggestOracle;
|
19 |
import com.google.gwt.user.client.ui.SuggestOracle.Suggestion;
|
Line 16... |
Line 20... |
16 |
|
20 |
|
17 |
public abstract class AutoCompletionComboBoxPresenteur {
|
21 |
public abstract class AutoCompletionComboBoxPresenteur {
|
Line 23... |
Line 27... |
23 |
public void remplirListe(String[] suggestions);
|
27 |
public void remplirListe(String[] suggestions);
|
24 |
public void afficherSuggestions(SuggestOracle.Request request,SuggestOracle.Callback response);
|
28 |
public void afficherSuggestions(SuggestOracle.Request request,SuggestOracle.Callback response);
|
25 |
public void afficherListeDeroulante();
|
29 |
public void afficherListeDeroulante();
|
26 |
public void nettoyer();
|
30 |
public void nettoyer();
|
27 |
public void setValeur(String valeur);
|
31 |
public void setValeur(String valeur);
|
- |
|
32 |
HasSelectionHandlers<Suggestion> getSuggestBoxHasSelectionChangeHandlers();
|
28 |
}
|
33 |
}
|
29 |
private Vue autoCompletionComboBoxVue;
|
34 |
private Vue autoCompletionComboBoxVue;
|
Line 30... |
Line 35... |
30 |
|
35 |
|
31 |
SuggestOracle.Request requeteOracle;
|
36 |
SuggestOracle.Request requeteOracle;
|
Line 60... |
Line 65... |
60 |
|
65 |
|
61 |
public void onSuggestionsReady(SuggestOracle.Request request, SuggestOracle.Response response) {
|
66 |
public void onSuggestionsReady(SuggestOracle.Request request, SuggestOracle.Response response) {
|
62 |
autoCompletionComboBoxVue.afficherListeDeroulante();
|
67 |
autoCompletionComboBoxVue.afficherListeDeroulante();
|
63 |
}
|
68 |
}
|
- |
|
69 |
};
|
- |
|
70 |
|
- |
|
71 |
autoCompletionComboBoxVue.getSuggestBoxHasSelectionChangeHandlers().addSelectionHandler(new SelectionHandler<SuggestOracle.Suggestion>(){
|
- |
|
72 |
@Override
|
- |
|
73 |
public void onSelection(SelectionEvent<Suggestion> event) {
|
- |
|
74 |
surSelectionSuggestion(event.getSelectedItem().getReplacementString());
|
- |
|
75 |
}
|
64 |
};
|
76 |
});
|
Line 65... |
Line 77... |
65 |
}
|
77 |
}
|
66 |
|
78 |
|
67 |
public void gererTimer() {
|
79 |
public void gererTimer() {
|
Line 129... |
Line 141... |
129 |
autoCompletionComboBoxVue.remplirListe(valeurs);
|
141 |
autoCompletionComboBoxVue.remplirListe(valeurs);
|
130 |
requeteOracle.setQuery(requete);
|
142 |
requeteOracle.setQuery(requete);
|
131 |
autoCompletionComboBoxVue.afficherSuggestions(requeteOracle, callBackOracle);
|
143 |
autoCompletionComboBoxVue.afficherSuggestions(requeteOracle, callBackOracle);
|
132 |
}
|
144 |
}
|
Line -... |
Line 145... |
- |
|
145 |
|
- |
|
146 |
protected void surSelectionSuggestion(String suggestion) {
|
- |
|
147 |
return;
|
- |
|
148 |
}
|
133 |
|
149 |
|
134 |
/**
|
150 |
/**
|
135 |
* Permet d'intervenir sur la chaine tapée par l'utilisateur avant que celle-ci ne soit passée
|
151 |
* Permet d'intervenir sur la chaine tapée par l'utilisateur avant que celle-ci ne soit passée
|
136 |
* à la requête asynchrone pour pouvoir la formater (pour mettre en minuscule, séparer des termes)
|
152 |
* à la requête asynchrone pour pouvoir la formater (pour mettre en minuscule, séparer des termes)
|
137 |
* par défaut renvoie la chaine telle quelle, à surcharger au besoin
|
153 |
* par défaut renvoie la chaine telle quelle, à surcharger au besoin
|