Subversion Repositories eFlore/Applications.cel

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
268 aurelien 1
package org.tela_botanica.client.vues.observation.filtres;
2
 
3
import org.tela_botanica.client.interfaces.Filtrable;
4
import org.tela_botanica.client.observation.ObservationMediateur;
5
 
6
import com.gwtext.client.core.EventCallback;
7
import com.gwtext.client.core.EventObject;
8
import com.gwtext.client.widgets.Button;
9
import com.gwtext.client.widgets.Panel;
10
import com.gwtext.client.widgets.event.ButtonListenerAdapter;
11
import com.gwtext.client.widgets.form.TextField;
12
 
13
public class RechercheLibreVue extends Panel implements Filtrable {
14
 
15
	private ObservationMediateur oMediateur = null;
16
 
17
	private TextField champRecherche = null;
18
 
19
	private static String titrePanneau = "Recherche libre";
20
 
21
	private String valeurRecherchee= "";
22
 
23
	private Button boutonRechercher = null;
24
 
25
	private boolean estModifie = true;
26
 
27
	private final int KEY_ENTER = 13;
28
 
29
 
30
	public RechercheLibreVue(ObservationMediateur om) {
31
		super(titrePanneau);
32
		oMediateur = om;
33
		champRecherche = new TextField();
280 aurelien 34
		champRecherche.setWidth("90%");
268 aurelien 35
		boutonRechercher = new Button("Rechercher");
36
 
37
		boutonRechercher.addListener(new ButtonListenerAdapter() {
38
 
1292 aurelien 39
			@Override
268 aurelien 40
			public void onClick(Button button, EventObject e) {
41
				valider();
42
			}
43
		});
44
 
45
		champRecherche.addKeyPressListener(new EventCallback()	{
46
 
1292 aurelien 47
    	    @Override
48
			public void execute(EventObject e) {
268 aurelien 49
 
50
	    		switch(e.getKey()) {
51
	    			case KEY_ENTER:
52
	    				valider();
53
	    			break;
54
	    		}
55
    	    }
56
		});
57
 
58
		add(champRecherche);
59
		add(boutonRechercher);
60
 
61
		setCollapsible(true);
62
		setTitleCollapse(true);
63
		setPaddings(5);
64
	}
65
 
66
 
1292 aurelien 67
	@Override
268 aurelien 68
	public boolean renvoyerEtatFiltre() {
69
		return estModifie;
70
	}
71
 
72
 
1292 aurelien 73
	@Override
268 aurelien 74
	public String renvoyerNomFiltre() {
75
		return "Taxon";
76
	}
77
 
1292 aurelien 78
	@Override
268 aurelien 79
	public String[] renvoyerValeursAFiltrer() {
80
 
320 aurelien 81
		String nom = "";
82
 
83
		if(champRecherche.getValueAsString() != null && !champRecherche.getValueAsString().trim().equals("")) {
268 aurelien 84
			valeurRecherchee = champRecherche.getValueAsString();
320 aurelien 85
			nom = "nom_taxon";
340 aurelien 86
		} else {
87
			nom = "nom_taxon";
88
			valeurRecherchee = "";
268 aurelien 89
		}
90
 
320 aurelien 91
		String[] valeurs = {nom,valeurRecherchee};
268 aurelien 92
		return valeurs;
93
	}
94
 
95
 
1292 aurelien 96
	@Override
268 aurelien 97
	public void valider() {
98
		if(champRecherche.getValueAsString() != null && champRecherche.getValueAsString() != valeurRecherchee) {
99
			estModifie = true;
100
			oMediateur.obtenirNombreObservation();
101
		} else {
102
			estModifie = false;
103
		}
104
	}
105
 
106
	public void raz() {
107
		if(champRecherche.isCreated()) {
108
			champRecherche.reset();
109
			valeurRecherchee = "";
110
		}
111
	}
683 aurelien 112
 
1292 aurelien 113
	@Override
683 aurelien 114
	public void viderFiltre() {
115
		champRecherche.setValue("");
116
		valeurRecherchee = "";
117
	}
268 aurelien 118
}