Subversion Repositories eFlore/Applications.cel

Rev

Rev 2607 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2607 Rev 2640
Line 131... Line 131...
131
						// Dans les autres cas, un appui sur entrée ne doit pas redéclencher l'autcomplétion
131
						// Dans les autres cas, un appui sur entrée ne doit pas redéclencher l'autcomplétion
132
						return;
132
						return;
133
					}
133
					}
134
				}
134
				}
Line -... Line 135...
-
 
135
				
-
 
136
				if(event.getNativeKeyCode() == KeyCodes.KEY_DOWN) {
-
 
137
					// Un appui sur flèche bas permet de demander toute la liste
-
 
138
					if(!sgd.isSuggestionListShowing()) {
-
 
139
						requeteToutesSuggestions();
-
 
140
					}
-
 
141
				}
135
				
142
				
136
				// Tout autre frappe d'un caractère "normal" déclenche le timer d'autocomplétion
143
				// Tout autre frappe d'un caractère "normal" déclenche le timer d'autocomplétion
137
				if(!KeyDownEvent.isArrow(event.getNativeKeyCode())) {
144
				if(!KeyDownEvent.isArrow(event.getNativeKeyCode())) {
138
					gererTimer();
145
					gererTimer();
139
				}
146
				}
Line 208... Line 215...
208
	
215
	
209
	public int getTempsAvantRequete(int temps) {
216
	public int getTempsAvantRequete(int temps) {
210
		return tempsAvantRequete;
217
		return tempsAvantRequete;
Line -... Line 218...
-
 
218
	}
-
 
219
	
-
 
220
	public void requeteToutesSuggestions() {
-
 
221
		// Cette méthode permet de demander l'autocomplétion même si 
-
 
222
		// la valeur saisie est vide (cas de l'appui sur flèche bas)
-
 
223
		envoyerRequeteSuggestions("*");
211
	}
224
	}
212
	
-
 
213
	public void requeteSuggestions() {
225
	
214
		
226
	public void requeteSuggestions() {
Line 215... Line 227...
215
		// Suppression des espaces et caractères inutiles
227
		// Suppression des espaces et caractères inutiles
216
		String valeur = suggestions.getValue().trim().isEmpty() ? null : suggestions.getValue().trim(); 
228
		String valeur = suggestions.getValue().trim().isEmpty() ? null : suggestions.getValue().trim(); 
217
		
229
		
218
		// ceci permet au composant qui utilise l'autocomplétion
230
		// ceci permet au composant qui utilise l'autocomplétion
219
		// d'annuler une requete et également d'éviter de faire une requête lors du vidage du champ
231
		// d'annuler une requete et également d'éviter de faire une requête lors du vidage du champ
-
 
232
		if(valeur == null) {
-
 
233
			return;
220
		if(valeur == null) {
234
		}
-
 
235
		envoyerRequeteSuggestions(valeur);
221
			return;
236
	}
222
		}
237
	
223
		
238
	private void envoyerRequeteSuggestions(final String valeur) {
224
		final String urlRequeteFmt = preTraiterUrlRequete(urlRequete, valeur);	
239
		final String urlRequeteFmt = preTraiterUrlRequete(urlRequete, valeur);	
225
		RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, urlRequeteFmt) ;
240
		RequestBuilder rb = new RequestBuilder(RequestBuilder.GET, urlRequeteFmt) ;
226
		try {		
241
		try {		
227
			rb.sendRequest(null, new RequestCallback() {
242
			rb.sendRequest(null, new RequestCallback() {
Line 228... Line 243...
228
				public void onError(final Request request, final Throwable exception) {
243
				public void onError(final Request request, final Throwable exception) {
229
					// TODO Auto-generated method stub		
244
					// TODO Auto-generated method stub		
230
				}
245
				}
231
 
246
 
232
				public void onResponseReceived(final Request request,
247
				public void onResponseReceived(final Request request,
Line 233... Line 248...
233
						final Response response) {
248
						final Response response) {
234
					surReponseRequete(urlRequeteFmt, response);
249
					surReponseRequete(valeur, response);
Line 248... Line 263...
248
	    while (it.hasNext()) {
263
	    while (it.hasNext()) {
249
	    	msu.add(possibilites.get(it.next()));
264
	    	msu.add(possibilites.get(it.next()));
250
	    }
265
	    }
Line 251... Line 266...
251
			
266
			
-
 
267
		requeteOracle.setQuery(requete);
-
 
268
		if(requete.equals("*")) {
-
 
269
			// TODO : il y a peut être une méthode plus simple
-
 
270
			// mais ceci permet d'afficher les suggestions en cas d'appui
-
 
271
			// sur bas lorsque la liste est vide
-
 
272
			msu.setDefaultSuggestionsFromText(possibilites.values());	
-
 
273
			SuggestOracle.Request rq = new SuggestOracle.Request();
-
 
274
			rq.setQuery(null);
-
 
275
			msu.requestDefaultSuggestions(rq, callBackOracle);
252
		requeteOracle.setQuery(requete);
276
		} else {
-
 
277
			msu.requestSuggestions(requeteOracle, callBackOracle);	
253
		msu.requestSuggestions(requeteOracle, callBackOracle);	
278
		}
Line 254... Line 279...
254
	}
279
	}
255
	
280
	
256
	public String getText() {
281
	public String getText() {