Subversion Repositories eFlore/Applications.del

Rev

Go to most recent revision | Details | 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;
1886 mathias 10
import org.tela_botanica.del.client.utils.InfosNomPourAutocompletion;
1196 gduche 11
import org.tela_botanica.del.client.utils.UtilitairesAutoCompletionService;
12
 
13
import com.google.gwt.event.dom.client.ClickEvent;
14
import com.google.gwt.event.dom.client.ClickHandler;
15
import com.google.gwt.event.dom.client.KeyCodes;
16
import com.google.gwt.event.dom.client.KeyPressEvent;
17
import com.google.gwt.event.dom.client.KeyPressHandler;
18
import com.google.gwt.http.client.Response;
19
import com.google.gwt.user.client.ui.HasWidgets;
20
 
21
public class FormulaireRechercheEflorePresenteur {
22
 
23
	private FormulaireRechercheEfloreVue formulaireRechercheEfloreVue = new FormulaireRechercheEfloreVue();
24
 
25
	private AutoCompletionComboBoxPresenteur autoCompletionNomTaxonsPresenteur;
26
 
27
	public FormulaireRechercheEflorePresenteur() {
28
 
29
		creerCompletionTaxons();
30
	}
31
 
32
	public void go(HasWidgets composite) {
33
		autoCompletionNomTaxonsPresenteur.go(formulaireRechercheEfloreVue.getPropositionTaxon());
34
		composite.add(formulaireRechercheEfloreVue);
35
		gererEvenements();
36
	}
37
 
38
	private void gererEvenements() {
39
		formulaireRechercheEfloreVue.getBoutonValidationRechercheObservation().addClickHandler(new ClickHandler() {
40
 
41
			@Override
42
			public void onClick(ClickEvent event) {
43
				lancerRechercheEflore();
44
			}
45
		});
46
 
47
		autoCompletionNomTaxonsPresenteur.getAutoCompletionComboBoxVue().getSuggestBoxHasKeyPressHandlers().addKeyPressHandler(new KeyPressHandler() {
48
 
49
			@Override
50
			public void onKeyPress(KeyPressEvent event) {
51
				if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_ENTER) {
52
					lancerRechercheEflore();
53
				}
54
			}
55
		});
56
 
57
 
58
	}
59
 
60
	private void creerCompletionTaxons() {
61
		String url = new Config().getServiceBaseUrl() + "nomstaxons";
62
		 autoCompletionNomTaxonsPresenteur = new AutoCompletionComboBoxPresenteur(new AutoCompletionComboBoxVue(), url) {
63
			protected String effectuerPreTraitementChaineRequete(String requete) {
64
				requete = "?masque.nom=" + requete;
65
				return UtilitairesAutoCompletionService.effectuerPreTraitementChaineRequeteGenreEspeceSlash(requete);
66
			}
67
 
68
			@Override
1886 mathias 69
			protected InfosNomPourAutocompletion[] parserResultatRequete(Response response) {
1196 gduche 70
				return UtilitairesAutoCompletionService.parserResultatRetourSimple(response);
71
			}
72
		};
73
	}
74
 
75
	private void lancerRechercheEflore() {
76
		CacheClient.getInstance().setTaxonPourRechercheEflore(autoCompletionNomTaxonsPresenteur.getValeur());
77
		EvenementComparaisonEflore evenementComparaisonEflore = new EvenementComparaisonEflore(autoCompletionNomTaxonsPresenteur.getValeur());
78
		BusEvenementiel.getInstance().fireEvent(evenementComparaisonEflore);
79
	}
80
 
81
}