Subversion Repositories eFlore/Applications.del

Rev

Rev 903 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 903 Rev 939
Line 14... Line 14...
14
import org.tela_botanica.del.client.vues.rechercheobservations.resultats.observations.ObservationVue;
14
import org.tela_botanica.del.client.vues.rechercheobservations.resultats.observations.ObservationVue;
Line 15... Line 15...
15
 
15
 
16
import com.google.gwt.event.dom.client.ClickEvent;
16
import com.google.gwt.event.dom.client.ClickEvent;
17
import com.google.gwt.event.dom.client.ClickHandler;
17
import com.google.gwt.event.dom.client.ClickHandler;
-
 
18
import com.google.gwt.event.dom.client.HasClickHandlers;
18
import com.google.gwt.event.dom.client.HasClickHandlers;
19
import com.google.gwt.user.client.Window;
19
import com.google.gwt.user.client.ui.HasWidgets;
20
import com.google.gwt.user.client.ui.HasWidgets;
20
import com.google.gwt.user.client.ui.IsWidget;
-
 
Line 21... Line 21...
21
import com.google.gwt.user.client.ui.Label;
21
import com.google.gwt.user.client.ui.IsWidget;
Line 22... Line 22...
22
 
22
 
23
public class ResultatsRechercheObservationsPresenteur extends Presenteur {
23
public class ResultatsRechercheObservationsPresenteur extends Presenteur {
24
 
24
 
25
	/**
25
	/**
26
	 * Interface vue : création des composants graphiques
26
	 * Interface vue : création des composants graphiques
-
 
27
	 * */
27
	 * */
28
	public abstract interface Vue extends IsWidget {
-
 
29
		public HasWidgets getZoneObservations();
28
	public abstract interface Vue extends IsWidget {
30
 
-
 
31
		public HasWidgets getZonePaginationHaut();
29
		public HasWidgets getZoneObservations();
32
 
-
 
33
		public HasWidgets getZonePaginationBas();
30
		public HasWidgets getZonePaginationHaut();
34
 
-
 
35
		public void startChargement();
31
		public HasWidgets getZonePaginationBas();
36
 
-
 
37
		public void stopChargement();
32
		public void startChargement();
38
 
-
 
39
		public void nettoyer();
33
		public void stopChargement();
40
 
-
 
41
		public HasClickHandlers getTriParDateAscendant();
34
		public void nettoyer();
42
 
-
 
43
		public HasClickHandlers getTriParDateDescendant();
35
		public HasClickHandlers getTriParDateAscendant();
44
 
-
 
45
		public void afficherElementsAucunResultatTrouve();
36
		public HasClickHandlers getTriParDateDescendant();
46
 
-
 
47
		public void afficherElementsResultatsTrouves();
37
		public void afficherElementsAucunResultatTrouve();
48
 
38
		public void afficherElementsResultatsTrouves();	
49
		public HasClickHandlers getLabelDate();
Line 39... Line 50...
39
		public HasClickHandlers getLabelDate();
50
 
40
		public void setModeTri(ModeTri mode);
51
		public void setModeTri(ModeTri mode);
41
	}
52
	}
42
 
53
 
43
	private Vue vue;
54
	private Vue vue;
44
	private ObservationService serviceObs;
55
	private ObservationService serviceObs;
45
	private ModeTri triCourantDate = ModeTri.TRI_DESCENDANT;
56
	private ModeTri triCourantDate = ModeTri.TRI_DESCENDANT;
-
 
57
	private CacheClient cache = CacheClient.getInstance();
-
 
58
 
46
	private CacheClient cache = CacheClient.getInstance();
59
	/**
47
	
60
	 * Constructeur de la classe
48
	/**
61
	 * 
49
	 * Constructeur de la classe 
62
	 * @param ObservationService
50
	 * @param ObservationService serviceObs le service pour récupérer les observations
63
	 *            serviceObs le service pour récupérer les observations
51
	 * @Vue Vue l'objet implémentant l'interface 
64
	 * @Vue Vue l'objet implémentant l'interface
52
	 * */
65
	 * */
53
	public ResultatsRechercheObservationsPresenteur(ObservationService serviceObs, Vue vue) {
66
	public ResultatsRechercheObservationsPresenteur(ObservationService serviceObs, Vue vue) {
Line 54... Line 67...
54
		this.vue = vue;
67
		this.vue = vue;
55
		vue.setModeTri(triCourantDate);
68
		vue.setModeTri(triCourantDate);
-
 
69
		this.serviceObs = serviceObs;
-
 
70
	}
56
		this.serviceObs = serviceObs;
71
 
57
	}
72
	/**
58
 
73
	 * Lancer l'affichage de la recherche dans le composant passé en paramètre
59
	/**
74
	 * 
60
	 * Lancer l'affichage de la recherche dans le composant passé en paramètre
75
	 * @param HasWidgets
61
	 * @param HasWidgets composite le conteneur de widgets dans lequel ajouter la vue
76
	 *            composite le conteneur de widgets dans lequel ajouter la vue
62
	 * */
77
	 * */
Line 63... Line 78...
63
	public void go(HasWidgets composite) {
78
	public void go(HasWidgets composite) {
64
		composite.add(vue.asWidget());
79
		composite.add(vue.asWidget());
65
		lancerRechercheEtCreerWidgetPagination();
80
		lancerRechercheEtCreerWidgetPagination();
66
		gererEvenements();
81
		gererEvenements();
67
	}
82
	}
68
 
83
 
69
	/**
84
	/**
70
	 * Initier un callback pour créer le widget de pagination et afficher les observations recues
85
	 * Initier un callback pour créer le widget de pagination et afficher les
71
	 * et lancer la recherche avec le service
86
	 * observations recues et lancer la recherche avec le service
72
	 * */
87
	 * */
-
 
88
	public void lancerRechercheEtCreerWidgetPagination() {
-
 
89
 
73
	public void lancerRechercheEtCreerWidgetPagination() {
90
		int debut = (cache.getPageCouranteRechercheObservations() - 1) * cache.getPasPagination();
74
		
91
		int fin = cache.getPageCouranteRechercheObservations() * cache.getPasPagination();
75
		int debut = (cache.getPageCouranteRechercheObservations() - 1) * cache.getPasPagination();
92
 
-
 
93
		ObservationsCallback callback = new ObservationsCallback() {
-
 
94
 
-
 
95
			@Override
-
 
96
			public void surRetour(ObservationServiceResultat observationsRecues) {
-
 
97
				creerWidgetPagination(observationsRecues.getNbTotalObservationsPourLaRecherche());
-
 
98
				afficherObservations(observationsRecues);
-
 
99
 
76
		int fin = cache.getPageCouranteRechercheObservations() * cache.getPasPagination();
100
			}
77
		
101
 
78
		ObservationsCallback callback = new ObservationsCallback() {
102
			@Override
79
			public void surObservationsRecues(ObservationServiceResultat observationsRecues) {
103
			public void surErreur(String messageErreur) {
80
				creerWidgetPagination(observationsRecues.getNbTotalObservationsPourLaRecherche());
104
				Window.alert(messageErreur);
81
				afficherObservations(observationsRecues);
105
 
82
			}
106
			}
83
		};
107
		};
-
 
108
 
84
		
109
		serviceObs.getObservations(cache.getInformationsRechercheObservation(), debut, fin, callback);
85
		serviceObs.getObservations(cache.getInformationsRechercheObservation(), debut, fin, callback);
110
	}
86
	}
111
 
87
	
112
	/**
88
	/**
113
	 * Créer les widgets de pagination en fonction du nombre d'observation
89
	 * Créer les widgets de pagination en fonction du nombre d'observation
114
	 * 
90
	 * @param int nbObservations le nombre d'observations à afficher
115
	 * @param int nbObservations le nombre d'observations à afficher
91
	 * */
116
	 * */
92
	private void creerWidgetPagination(int nbObservations) {
117
	private void creerWidgetPagination(int nbObservations) {
93
		vue.getZonePaginationHaut().clear();
118
		vue.getZonePaginationHaut().clear();
94
		PaginationPresenteur paginationPresenteurHaut = creerPresenteurPagination(nbObservations);
119
		PaginationPresenteur paginationPresenteurHaut = creerPresenteurPagination(nbObservations);
95
		paginationPresenteurHaut.setGroupePagination("pagination_observations");
120
		paginationPresenteurHaut.setGroupePagination("pagination_observations");
96
		paginationPresenteurHaut.go(vue.getZonePaginationHaut());
121
		paginationPresenteurHaut.go(vue.getZonePaginationHaut());
97
		
122
 
98
		vue.getZonePaginationBas().clear();
123
		vue.getZonePaginationBas().clear();
99
		PaginationPresenteur paginationPresenteurBas = creerPresenteurPagination(nbObservations);
124
		PaginationPresenteur paginationPresenteurBas = creerPresenteurPagination(nbObservations);
-
 
125
		paginationPresenteurBas.setGroupePagination("pagination_observations");
100
		paginationPresenteurBas.setGroupePagination("pagination_observations");
126
		paginationPresenteurBas.go(vue.getZonePaginationBas());
101
		paginationPresenteurBas.go(vue.getZonePaginationBas());
127
	}
102
	}
128
 
103
	
129
	/**
Line 120... Line 146...
120
			}
146
			}
Line 121... Line 147...
121
 
147
 
122
		};
148
		};
123
		return presenteur;
149
		return presenteur;
124
	}
150
	}
125
	
151
 
126
	/**
152
	/**
127
	 * Gestion des évènements de la vue recherche Observation
153
	 * Gestion des évènements de la vue recherche Observation
128
	 * */
154
	 * */
129
	protected void gererEvenements() {
155
	protected void gererEvenements() {
130
		
156
 
131
		ClickHandler surClicDate = new ClickHandler() {
157
		ClickHandler surClicDate = new ClickHandler() {
132
			/**
158
			/**
133
			 * Gestion du clic sur l'option de tri par date d'observation
159
			 * Gestion du clic sur l'option de tri par date d'observation Masque
134
			 * Masque les éléments de tri qui sont en cours et affiche les autres
160
			 * les éléments de tri qui sont en cours et affiche les autres
135
			 * */
161
			 * */
136
			public void onClick(ClickEvent event) {
162
			public void onClick(ClickEvent event) {
137
				toggleModeTri();
163
				toggleModeTri();
138
				
164
 
139
				InformationsRecherche informationsRechercheObservations = cache.getInformationsRechercheObservation();
165
				InformationsRecherche informationsRechercheObservations = cache.getInformationsRechercheObservation();
140
				informationsRechercheObservations.setTriParDate(triCourantDate);
166
				informationsRechercheObservations.setTriParDate(triCourantDate);
141
				chercherEtAfficherObservationsPageEnCours();
167
				chercherEtAfficherObservationsPageEnCours();
142
			}
168
			}
143
		};
169
		};
144
		
170
 
145
		vue.getLabelDate().addClickHandler(surClicDate);
171
		vue.getLabelDate().addClickHandler(surClicDate);
146
		vue.getTriParDateAscendant().addClickHandler(surClicDate);
172
		vue.getTriParDateAscendant().addClickHandler(surClicDate);
147
		vue.getTriParDateDescendant().addClickHandler(surClicDate);
173
		vue.getTriParDateDescendant().addClickHandler(surClicDate);
Line 154... Line 180...
154
		if (triCourantDate == ModeTri.TRI_ASCENDANT) {
180
		if (triCourantDate == ModeTri.TRI_ASCENDANT) {
155
			triCourantDate = ModeTri.TRI_DESCENDANT;
181
			triCourantDate = ModeTri.TRI_DESCENDANT;
156
		} else {
182
		} else {
157
			triCourantDate = ModeTri.TRI_ASCENDANT;
183
			triCourantDate = ModeTri.TRI_ASCENDANT;
158
		}
184
		}
159
		
185
 
160
		vue.setModeTri(triCourantDate);
186
		vue.setModeTri(triCourantDate);
161
	}
187
	}
162
	
188
 
163
	/**
189
	/**
164
	 * Initialiser les variable de début et fin et lancer le chargement des observations 
190
	 * Initialiser les variable de début et fin et lancer le chargement des
-
 
191
	 * observations
165
	 * */
192
	 * */
166
	public void chercherEtAfficherObservationsPageEnCours() {
193
	public void chercherEtAfficherObservationsPageEnCours() {
167
		int debut = (cache.getPageCouranteRechercheObservations() - 1) * cache.getPasPagination();
194
		int debut = (cache.getPageCouranteRechercheObservations() - 1) * cache.getPasPagination();
168
		int fin = (cache.getPageCouranteRechercheObservations()) * cache.getPasPagination();
195
		int fin = (cache.getPageCouranteRechercheObservations()) * cache.getPasPagination();
169
		chargerEtAfficherObservations(debut, fin);
196
		chargerEtAfficherObservations(debut, fin);
170
	}
197
	}
171
	
198
 
172
	/**
199
	/**
173
	 * Lancer le service pour charger les observations entre debut et fin et les afficher 
200
	 * Lancer le service pour charger les observations entre debut et fin et les
-
 
201
	 * afficher
-
 
202
	 * 
174
	 * @param int debut l'entier de départ de la requete
203
	 * @param int debut l'entier de départ de la requete
175
	 * @param int fin l'entier de limite de la requete
204
	 * @param int fin l'entier de limite de la requete
176
	 * */
205
	 * */
177
	public void chargerEtAfficherObservations(int debut, int fin) {
206
	public void chargerEtAfficherObservations(int debut, int fin) {
178
		vue.startChargement();
207
		vue.startChargement();
179
		vue.nettoyer();
208
		vue.nettoyer();
180
		
209
 
181
		ObservationsCallback surReceptionObservation = new ObservationsCallback() {
210
		ObservationsCallback surReceptionObservation = new ObservationsCallback() {
Line 182... Line 211...
182
 
211
 
183
			@Override
212
			@Override
184
			public void surObservationsRecues(ObservationServiceResultat observationsRecues) {
213
			public void surRetour(ObservationServiceResultat observationsRecues) {
-
 
214
				afficherObservations(observationsRecues);
-
 
215
 
-
 
216
			}
-
 
217
 
-
 
218
			@Override
-
 
219
			public void surErreur(String messageErreur) {
-
 
220
				Window.alert(messageErreur);
185
				afficherObservations(observationsRecues);
221
 
186
			}
222
			}
187
		};
223
		};
188
		serviceObs.getObservations(cache.getInformationsRechercheObservation(), debut, fin, surReceptionObservation);
224
		serviceObs.getObservations(cache.getInformationsRechercheObservation(), debut, fin, surReceptionObservation);
Line 189... Line 225...
189
	}
225
	}
190
 
226
 
-
 
227
	/**
-
 
228
	 * Parcrourir les résultats de la recherche pour initier l'affichage de
-
 
229
	 * chaque observation
191
	/**
230
	 * 
192
	 * Parcrourir les résultats de la recherche pour initier l'affichage de chaque observation
231
	 * @param ObservationServiceResultat
193
	 * @param ObservationServiceResultat resultats les résultats issus de la requête
232
	 *            resultats les résultats issus de la requête
194
	 * */
233
	 * */
Line 195... Line 234...
195
	private void afficherObservations(ObservationServiceResultat resultats) {
234
	private void afficherObservations(ObservationServiceResultat resultats) {