Subversion Repositories eFlore/Applications.del

Rev

Rev 220 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 220 Rev 309
Line 8... Line 8...
8
import org.tela_botanica.del.client.modeles.Observation;
8
import org.tela_botanica.del.client.modeles.Observation;
9
import org.tela_botanica.del.client.utils.MockDatasource;
9
import org.tela_botanica.del.client.utils.MockDatasource;
Line 10... Line 10...
10
 
10
 
11
import com.google.gwt.event.dom.client.ClickEvent;
11
import com.google.gwt.event.dom.client.ClickEvent;
-
 
12
import com.google.gwt.event.dom.client.ClickHandler;
-
 
13
import com.google.gwt.event.dom.client.HasClickHandlers;
12
import com.google.gwt.event.dom.client.ClickHandler;
14
import com.google.gwt.event.dom.client.HasKeyPressHandlers;
13
import com.google.gwt.event.dom.client.KeyCodes;
15
import com.google.gwt.event.dom.client.KeyCodes;
14
import com.google.gwt.event.dom.client.KeyPressEvent;
16
import com.google.gwt.event.dom.client.KeyPressEvent;
-
 
17
import com.google.gwt.event.dom.client.KeyPressHandler;
-
 
18
import com.google.gwt.user.client.ui.Button;
-
 
19
import com.google.gwt.user.client.ui.HasText;
15
import com.google.gwt.event.dom.client.KeyPressHandler;
20
import com.google.gwt.user.client.ui.HasVisibility;
-
 
21
import com.google.gwt.user.client.ui.HasWidgets;
-
 
22
import com.google.gwt.user.client.ui.IsWidget;
16
import com.google.gwt.user.client.ui.HasWidgets;
23
import com.google.gwt.user.client.ui.Label;
17
import com.google.gwt.user.client.ui.Panel;
24
import com.google.gwt.user.client.ui.Panel;
18
import com.google.gwt.user.client.ui.RootPanel;
25
import com.google.gwt.user.client.ui.RootPanel;
Line 19... Line 26...
19
import com.google.gwt.user.client.ui.TextBox;
26
import com.google.gwt.user.client.ui.TextBox;
Line -... Line 27...
-
 
27
 
-
 
28
public class RechercheObservationsPresenteur extends Presenteur {
-
 
29
 
-
 
30
	public abstract interface Vue extends IsWidget {
-
 
31
		public HasClickHandlers getRecherchePrincipaleHasClickHandler();
-
 
32
		public HasKeyPressHandlers getRecherchePrincipaleHasKeyPressHandlers();
-
 
33
		public HasText getRecherchePrincipaleHasText();
-
 
34
		public HasText getDepartement();
-
 
35
		public HasText getCommune();
-
 
36
		public HasText getTaxon();
-
 
37
		public HasText getFamille();
-
 
38
		public HasText getGenre();
-
 
39
		public HasText getTag();
-
 
40
		public HasText getMotCle();
-
 
41
		public HasText getAuteur();
-
 
42
		public HasText getDate();
-
 
43
		public HasClickHandlers getBoutonRecherche();
-
 
44
		public HasClickHandlers getBoutonRechercheAvancee();
-
 
45
		public HasClickHandlers getLienRechercheAvancee();
-
 
46
		public HasText getRecherchePrecedente();
-
 
47
		public HasWidgets getRechercheAvanceeHasWidget();
-
 
48
		public HasVisibility getRechercheAvanceeHasVisibility();
-
 
49
		public HasWidgets getZoneObservations();
-
 
50
		public HasWidgets getZonePagination();
20
 
51
	}
Line 21... Line 52...
21
public class RechercheObservationsPresenteur extends Presenteur {
52
	private Vue vue;
22
 
53
	
23
	private List<Observation> observations;
54
	private List<Observation> observations;
Line 24... Line 55...
24
 
55
 
25
	public RechercheObservationsPresenteur() {
56
	public RechercheObservationsPresenteur(Vue vue) {
26
		super(new RechercheObservationsVue());
57
		this.vue = vue;
27
	}
58
	}
28
 
59
 
29
	public void go(HasWidgets composite) {
60
	public void go(HasWidgets composite) {
Line 30... Line 61...
30
		if (composite == null) {
61
		if (composite == null) {
31
			composite = RootPanel.get();
62
			composite = RootPanel.get();
32
		}
63
		}
33
		composite.add(this.getVue());
64
		composite.add(vue.asWidget());
Line 34... Line 65...
34
		gererEvenements();
65
		gererEvenements();
Line 35... Line -...
35
 
-
 
36
		// On commence par afficher la totalité des observations
-
 
37
		chercherObservations(null);
66
 
38
		afficherObservations();
67
		// On commence par afficher la totalité des observations
Line 39... Line 68...
39
	}
68
		chercherObservations(null);
40
 
69
		afficherObservations();
41
	protected void gererEvenements() {
70
	}
42
 
71
 
43
		RechercheObservationsVue vue = (RechercheObservationsVue) getVue();
72
	protected void gererEvenements() {
44
 
73
 
45
		// Gestion du clic dans la zone de saisie
74
		// Gestion du clic dans la zone de saisie
Line 46... Line 75...
46
		vue.recherchePrincipale.addClickHandler(new ClickHandler() {
75
		vue.getRecherchePrincipaleHasClickHandler().addClickHandler(new ClickHandler() {
47
 
76
 
Line 48... Line 77...
48
			public void onClick(ClickEvent event) {
77
			public void onClick(ClickEvent event) {
49
				TextBox recherchePrincipale = (TextBox) event.getSource();
78
				HasText recherchePrincipale = (HasText) event.getSource();
50
				if (recherchePrincipale.getText().equals("Recherche libre")) {
79
				if (recherchePrincipale.getText().equals("Recherche libre")) {
51
					recherchePrincipale.setText("");
80
					recherchePrincipale.setText("");
52
				}
81
				}
Line 53... Line 82...
53
			}
82
			}
54
		});
83
		});
55
 
84
 
Line 56... Line 85...
56
		// Gestion de l'affichage de la recherche Avancée
85
		// Gestion de l'affichage de la recherche Avancée
57
		vue.lienRechercheAvancee.addClickHandler(new ClickHandler() {
86
		vue.getLienRechercheAvancee().addClickHandler(new ClickHandler() {
58
 
87
 
59
			public void onClick(ClickEvent event) {
88
			public void onClick(ClickEvent event) {
60
				Panel rechercheAvancee = ((RechercheObservationsVue) getVue()).rechercheAvancee;
89
				HasVisibility rechercheAvancee = vue.getRechercheAvanceeHasVisibility();
Line 61... Line 90...
61
				rechercheAvancee.setVisible(!rechercheAvancee.isVisible());
90
				rechercheAvancee.setVisible(!rechercheAvancee.isVisible());
62
			}
91
			}
63
		});
92
		});
64
 
93
 
65
		// Gestion de l'évènement recherche sur le clic ou sur l'appui de la
94
		// Gestion de l'évènement recherche sur le clic ou sur l'appui de la
66
		// touche Entrée
95
		// touche Entrée
Line 67... Line 96...
67
		vue.boutonRecherche.addClickHandler(new ClickHandler() {
96
		vue.getBoutonRecherche().addClickHandler(new ClickHandler() {
Line 68... Line 97...
68
 
97
 
69
			public void onClick(ClickEvent event) {
98
			public void onClick(ClickEvent event) {
70
				chercherObservations(collecterFormulaire());
99
				chercherObservations(collecterFormulaire());
71
				afficherObservations();
100
				afficherObservations();
Line 90... Line 119...
90
		});
119
		});
91
	}
120
	}
Line 92... Line 121...
92
 
121
 
93
	// Gestion de la recherche d'observations :
122
	// Gestion de la recherche d'observations :
94
	public HashMap<String, String> collecterFormulaire() {
-
 
Line 95... Line 123...
95
		RechercheObservationsVue vue = (RechercheObservationsVue) getVue();
123
	public HashMap<String, String> collecterFormulaire() {
Line 96... Line 124...
96
 
124
 
97
		HashMap<String, String> champsRecherche = new HashMap<String, String>();
125
		HashMap<String, String> champsRecherche = new HashMap<String, String>();
98
 
126
 
99
		if (!vue.recherchePrincipale.getText().equals("")) {
127
		if (!vue.getRecherchePrincipaleHasText().getText().equals("")) {
100
			champsRecherche.put("search", vue.recherchePrincipale.getText());
128
			champsRecherche.put("search", vue.getRecherchePrincipaleHasText().getText());
101
		}
129
		}
102
		if (!vue.departement.getText().equals("")) {
130
		if (!vue.getDepartement().getText().equals("")) {
103
			champsRecherche.put("dept", vue.departement.getText());
131
			champsRecherche.put("dept", vue.getDepartement().getText());
104
		}
132
		}
105
		if (!vue.commune.getText().equals("")) {
133
		if (!vue.getCommune().getText().equals("")) {
106
			champsRecherche.put("com", vue.commune.getText());
134
			champsRecherche.put("com", vue.getCommune().getText());
107
		}
135
		}
108
		if (!vue.taxon.getText().equals("")) {
136
		if (!vue.getTaxon().getText().equals("")) {
109
			champsRecherche.put("taxon", vue.taxon.getText());
137
			champsRecherche.put("taxon", vue.getTaxon().getText());
110
		}
138
		}
111
		if (!vue.famille.getText().equals("")) {
139
		if (!vue.getFamille().getText().equals("")) {
112
			champsRecherche.put("fam", vue.famille.getText());
140
			champsRecherche.put("fam", vue.getFamille().getText());
113
		}
141
		}
114
		if (!vue.genre.getText().equals("")) {
142
		if (!vue.getGenre().getText().equals("")) {
115
			champsRecherche.put("gen", vue.genre.getText());
143
			champsRecherche.put("gen", vue.getGenre().getText());
116
		}
144
		}
117
		if (!vue.tag.getText().equals("")) {
145
		if (!vue.getTag().getText().equals("")) {
118
			champsRecherche.put("tag", vue.tag.getText());
146
			champsRecherche.put("tag", vue.getTag().getText());
119
		}
147
		}
120
		if (!vue.motCle.getText().equals("")) {
148
		if (!vue.getMotCle().getText().equals("")) {
121
			champsRecherche.put("motCle", vue.motCle.getText());
149
			champsRecherche.put("motCle", vue.getMotCle().getText());
122
		}
150
		}
123
		if (!vue.auteur.getText().equals("")) {
151
		if (!vue.getAuteur().getText().equals("")) {
124
			champsRecherche.put("auteur", vue.auteur.getText());
152
			champsRecherche.put("auteur", vue.getAuteur().getText());
125
		}
153
		}
126
		if (!vue.date.getText().equals("")) {
154
		if (!vue.getDate().getText().equals("")) {
127
			champsRecherche.put("date", vue.date.getText());
155
			champsRecherche.put("date", vue.getDate().getText());
Line 128... Line 156...
128
		}
156
		}
Line 129... Line -...
129
		return champsRecherche;
-
 
130
	}
157
		return champsRecherche;
131
 
158
	}
132
	public void chercherObservations(HashMap<String, String> champsRecherche) {
159
 
133
 
160
	public void chercherObservations(HashMap<String, String> champsRecherche) {
Line 134... Line 161...
134
		RechercheObservationsVue vue = (RechercheObservationsVue) getVue();
161
 
135
		vue.rechercheAvancee.setVisible(false);
-
 
Line 136... Line 162...
136
		this.observations = MockDatasource.getInstance().getObservations(champsRecherche);
162
		vue.getRechercheAvanceeHasVisibility().setVisible(false);
137
		vue.recherchePrecedente.setText(getChaineRecherche(champsRecherche));
163
		this.observations = MockDatasource.getInstance().getObservations(champsRecherche);
138
	}
164
		vue.getRecherchePrecedente().setText(getChaineRecherche(champsRecherche));
139
 
165
	}
140
	public void afficherObservations() {
166
 
141
		RechercheObservationsVue vue = (RechercheObservationsVue) getVue();
167
	public void afficherObservations() {
Line 142... Line 168...
142
 
168
 
143
		vue.zoneObservations.clear();
169
		vue.getZoneObservations().clear();