Subversion Repositories eFlore/Applications.del

Rev

Rev 1196 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1196 gduche 1
package org.tela_botanica.del.client.composants.formulairerechercheeflore;
2
 
3
import org.tela_botanica.del.client.cache.CacheClient;
4
import org.tela_botanica.del.client.composants.formulaires.autocompletion.AutoCompletionComboBoxPresenteur;
5
import org.tela_botanica.del.client.composants.formulaires.autocompletion.AutoCompletionComboBoxVue;
6
import org.tela_botanica.del.client.config.Config;
7
import org.tela_botanica.del.client.i18n.I18n;
8
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
9
import org.tela_botanica.del.client.navigation.evenement.comparaisoneflore.EvenementComparaisonEflore;
10
import org.tela_botanica.del.client.utils.UtilitairesAutoCompletionService;
11
 
12
import com.google.gwt.event.dom.client.ClickEvent;
13
import com.google.gwt.event.dom.client.ClickHandler;
14
import com.google.gwt.event.dom.client.KeyCodes;
15
import com.google.gwt.event.dom.client.KeyPressEvent;
16
import com.google.gwt.event.dom.client.KeyPressHandler;
17
import com.google.gwt.http.client.Response;
18
import com.google.gwt.user.client.ui.HasWidgets;
19
 
20
public class FormulaireRechercheEflorePresenteur {
21
 
22
	private FormulaireRechercheEfloreVue formulaireRechercheEfloreVue = new FormulaireRechercheEfloreVue();
23
 
24
	private AutoCompletionComboBoxPresenteur autoCompletionNomTaxonsPresenteur;
25
 
26
	public FormulaireRechercheEflorePresenteur() {
27
 
28
		creerCompletionTaxons();
29
	}
30
 
31
	public void go(HasWidgets composite) {
32
		autoCompletionNomTaxonsPresenteur.go(formulaireRechercheEfloreVue.getPropositionTaxon());
33
		composite.add(formulaireRechercheEfloreVue);
34
		gererEvenements();
35
	}
36
 
37
	private void gererEvenements() {
38
		formulaireRechercheEfloreVue.getBoutonValidationRechercheObservation().addClickHandler(new ClickHandler() {
39
 
40
			@Override
41
			public void onClick(ClickEvent event) {
42
				lancerRechercheEflore();
43
			}
44
		});
45
 
46
		autoCompletionNomTaxonsPresenteur.getAutoCompletionComboBoxVue().getSuggestBoxHasKeyPressHandlers().addKeyPressHandler(new KeyPressHandler() {
47
 
48
			@Override
49
			public void onKeyPress(KeyPressEvent event) {
50
				if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_ENTER) {
51
					lancerRechercheEflore();
52
				}
53
			}
54
		});
55
 
56
 
57
	}
58
 
59
	private void creerCompletionTaxons() {
60
		String url = new Config().getServiceBaseUrl() + "nomstaxons";
61
		 autoCompletionNomTaxonsPresenteur = new AutoCompletionComboBoxPresenteur(new AutoCompletionComboBoxVue(), url) {
62
			protected String effectuerPreTraitementChaineRequete(String requete) {
63
				requete = "?masque.nom=" + requete;
64
				return UtilitairesAutoCompletionService.effectuerPreTraitementChaineRequeteGenreEspeceSlash(requete);
65
			}
66
 
67
			@Override
68
			protected String[] parserResultatRequete(Response response) {
69
				return UtilitairesAutoCompletionService.parserResultatRetourSimple(response);
70
			}
71
		};
72
	}
73
 
74
	private void lancerRechercheEflore() {
75
		CacheClient.getInstance().setTaxonPourRechercheEflore(autoCompletionNomTaxonsPresenteur.getValeur());
76
		EvenementComparaisonEflore evenementComparaisonEflore = new EvenementComparaisonEflore(autoCompletionNomTaxonsPresenteur.getValeur());
77
		BusEvenementiel.getInstance().fireEvent(evenementComparaisonEflore);
78
	}
79
 
80
}