Subversion Repositories eFlore/Applications.del

Rev

Rev 210 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

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