Subversion Repositories eFlore/Applications.del

Rev

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

Rev 814 Rev 939
Line 1... Line 1...
1
package org.tela_botanica.del.client.vues.rechercheimages.resultats;
1
package org.tela_botanica.del.client.vues.rechercheimages.resultats;
Line 2... Line 2...
2
 
2
 
-
 
3
import java.util.List;
3
import java.util.List;
4
 
4
import org.tela_botanica.del.client.cache.CacheClient;
5
import org.tela_botanica.del.client.cache.CacheClient;
5
import org.tela_botanica.del.client.composants.pagination.PaginationPresenteur;
6
import org.tela_botanica.del.client.composants.pagination.PaginationPresenteur;
6
import org.tela_botanica.del.client.composants.pagination.PaginationVue;
7
import org.tela_botanica.del.client.composants.pagination.PaginationVue;
7
import org.tela_botanica.del.client.modeles.Image;
8
import org.tela_botanica.del.client.modeles.Image;
Line 18... Line 19...
18
import org.tela_botanica.del.client.services.rest.ProtocoleServiceConcret;
19
import org.tela_botanica.del.client.services.rest.ProtocoleServiceConcret;
19
import org.tela_botanica.del.client.services.rest.async.ImagesParTaxonCallback;
20
import org.tela_botanica.del.client.services.rest.async.ImagesParTaxonCallback;
20
import org.tela_botanica.del.client.services.rest.async.ProtocolesCallback;
21
import org.tela_botanica.del.client.services.rest.async.ProtocolesCallback;
21
import org.tela_botanica.del.client.vues.rechercheimages.resultats.images.ImagePresenteur;
22
import org.tela_botanica.del.client.vues.rechercheimages.resultats.images.ImagePresenteur;
22
import org.tela_botanica.del.client.vues.rechercheimages.resultats.images.ImageVue;
23
import org.tela_botanica.del.client.vues.rechercheimages.resultats.images.ImageVue;
-
 
24
 
23
import com.google.gwt.event.dom.client.ChangeEvent;
25
import com.google.gwt.event.dom.client.ChangeEvent;
24
import com.google.gwt.event.dom.client.ChangeHandler;
26
import com.google.gwt.event.dom.client.ChangeHandler;
25
import com.google.gwt.event.dom.client.ClickEvent;
27
import com.google.gwt.event.dom.client.ClickEvent;
26
import com.google.gwt.event.dom.client.ClickHandler;
28
import com.google.gwt.event.dom.client.ClickHandler;
27
import com.google.gwt.event.dom.client.HasChangeHandlers;
29
import com.google.gwt.event.dom.client.HasChangeHandlers;
28
import com.google.gwt.event.dom.client.HasClickHandlers;
30
import com.google.gwt.event.dom.client.HasClickHandlers;
-
 
31
import com.google.gwt.user.client.Window;
29
import com.google.gwt.user.client.ui.HTMLPanel;
32
import com.google.gwt.user.client.ui.HTMLPanel;
30
import com.google.gwt.user.client.ui.HasWidgets;
33
import com.google.gwt.user.client.ui.HasWidgets;
31
import com.google.gwt.user.client.ui.IsWidget;
34
import com.google.gwt.user.client.ui.IsWidget;
32
import com.google.gwt.user.client.ui.ListBox;
35
import com.google.gwt.user.client.ui.ListBox;
Line 91... Line 94...
91
 
94
 
Line 92... Line 95...
92
		public void afficherDateAscendant();
95
		public void afficherDateAscendant();
93
 
96
 
-
 
97
		public void afficherDateDescendant();
94
		public void afficherDateDescendant();
98
	}
95
	}
99
 
96
	private Vue vue;
100
	private Vue vue;
97
	private ImageService imageService;
101
	private ImageService imageService;
98
	private final ProtocoleService protocoleService = new ProtocoleServiceConcret();
102
	private final ProtocoleService protocoleService = new ProtocoleServiceConcret();
Line 111... Line 115...
111
		rechercherImagesEtCreerWidgetPagination();
115
		rechercherImagesEtCreerWidgetPagination();
112
		gererEvenements();
116
		gererEvenements();
113
		chargerProtocoles();
117
		chargerProtocoles();
114
		vue.masquerVoteDescendant();
118
		vue.masquerVoteDescendant();
115
		vue.masquerVoteAscendant();
119
		vue.masquerVoteAscendant();
116
		//vue.masquerDateDescendant();
120
		// vue.masquerDateDescendant();
117
		vue.masquerDateAscendant();
121
		vue.masquerDateAscendant();
118
	}
122
	}
Line 119... Line 123...
119
 
123
 
120
	public void gererEvenements() {
124
	public void gererEvenements() {
121
		vue.getListeProtocoles().addChangeHandler(new ChangeHandler() {
125
		vue.getListeProtocoles().addChangeHandler(new ChangeHandler() {
122
			@Override
126
			@Override
123
			public void onChange(ChangeEvent event) {
127
			public void onChange(ChangeEvent event) {
124
				surChangementProtocole();
128
				surChangementProtocole();
125
			}
129
			}
126
		});
130
		});
127
		
131
 
128
		ClickHandler surClicTriVote = new ClickHandler() {
132
		ClickHandler surClicTriVote = new ClickHandler() {
129
			@Override
133
			@Override
130
			public void onClick(ClickEvent event) {
134
			public void onClick(ClickEvent event) {
131
				surClicTriVote();
135
				surClicTriVote();
132
			}
136
			}
133
		};
137
		};
134
		
138
 
135
		vue.getLabelVote().addClickHandler(surClicTriVote);
139
		vue.getLabelVote().addClickHandler(surClicTriVote);
136
		vue.getTriParNbVotesAscendant().addClickHandler(surClicTriVote);
140
		vue.getTriParNbVotesAscendant().addClickHandler(surClicTriVote);
137
		vue.getTriParNbVotesDescendant().addClickHandler(surClicTriVote);
141
		vue.getTriParNbVotesDescendant().addClickHandler(surClicTriVote);
138
		
142
 
139
		ClickHandler surClicTriDate = new ClickHandler() {
143
		ClickHandler surClicTriDate = new ClickHandler() {
140
			@Override
144
			@Override
141
			public void onClick(ClickEvent event) {
145
			public void onClick(ClickEvent event) {
142
				surClicTriDate();
146
				surClicTriDate();
143
			}
147
			}
144
		};
148
		};
145
		
149
 
146
		vue.getLabelDate().addClickHandler(surClicTriDate);
150
		vue.getLabelDate().addClickHandler(surClicTriDate);
147
		vue.getTriParDateAscendant().addClickHandler(surClicTriDate);
151
		vue.getTriParDateAscendant().addClickHandler(surClicTriDate);
148
		vue.getTriParDateDescendant().addClickHandler(surClicTriDate);
152
		vue.getTriParDateDescendant().addClickHandler(surClicTriDate);
149
		
153
 
150
		BusEvenementiel.getInstance().addHandler(EvenementChangementProtocole.TYPE, new GestionnaireEvenementChangementProtocole() {
154
		BusEvenementiel.getInstance().addHandler(EvenementChangementProtocole.TYPE, new GestionnaireEvenementChangementProtocole() {
151
			@Override
155
			@Override
152
			public void onChangementProtocole(EvenementChangementProtocole event) {
156
			public void onChangementProtocole(EvenementChangementProtocole event) {
153
				InformationsRecherche informationsRechercheImages = CacheClient.getInstance().getInformationsRechercheImage();
157
				InformationsRecherche informationsRechercheImages = CacheClient.getInstance().getInformationsRechercheImage();
Line 210... Line 214...
210
	}
214
	}
Line 211... Line 215...
211
 
215
 
212
	private void chargerProtocoles() {
216
	private void chargerProtocoles() {
213
		// test pour ne pas charger les protocoles déjà chargés
217
		// test pour ne pas charger les protocoles déjà chargés
214
		// TODO: faire un systeme de cache gérés par les web service eux même
218
		// TODO: faire un systeme de cache gérés par les web service eux même
215
		if(CacheClient.getInstance().getListeProtocoles() == null) {
219
		if (CacheClient.getInstance().getListeProtocoles() == null) {
-
 
220
			protocoleService.getProtocoles(new ProtocolesCallback() {
216
			protocoleService.getProtocoles(new ProtocolesCallback() {
221
 
217
				@Override
222
				@Override
218
				public void surProtocolesRecus(ProtocoleServiceResultat protocolesRecus) {
223
				public void surRetour(ProtocoleServiceResultat protocolesRecus) {
219
					protocoles = protocolesRecus.getProtocoles();
224
					protocoles = protocolesRecus.getProtocoles();
-
 
225
					remplirListeProtocole(protocoles);
220
					remplirListeProtocole(protocoles);
226
 
221
				}		
227
				}
222
			});
228
			});
223
		} else {
229
		} else {
224
			protocoles = CacheClient.getInstance().getListeProtocoles();
230
			protocoles = CacheClient.getInstance().getListeProtocoles();
225
			remplirListeProtocole(CacheClient.getInstance().getListeProtocoles());
231
			remplirListeProtocole(CacheClient.getInstance().getListeProtocoles());
226
		}
232
		}
227
	}
233
	}
228
	
234
 
229
	private void remplirListeProtocole(List<Protocole> protocoles) {
235
	private void remplirListeProtocole(List<Protocole> protocoles) {
230
		for (Protocole protocole : protocoles) {
236
		for (Protocole protocole : protocoles) {
231
			vue.ajouterProtocole(protocole.getNom(), protocole.getId()+"");
237
			vue.ajouterProtocole(protocole.getNom(), protocole.getId() + "");
232
		}
238
		}
233
		if(CacheClient.getInstance().getProtocoleCourant() == null) {
239
		if (CacheClient.getInstance().getProtocoleCourant() == null) {
234
			vue.selectionnerProtocole(0);
240
			vue.selectionnerProtocole(0);
235
		}
241
		}
Line 236... Line 242...
236
	}
242
	}
237
 
243
 
238
	public void rechercherImagesEtCreerWidgetPagination() {
244
	public void rechercherImagesEtCreerWidgetPagination() {
239
		// appel du service d'image pour avoir le nb total d'elements pour la
245
		// appel du service d'image pour avoir le nb total d'elements pour la
-
 
246
		// pagination
240
		// pagination
247
		ImagesParTaxonCallback callback = new ImagesParTaxonCallback() {
241
		ImagesParTaxonCallback callback = new ImagesParTaxonCallback() {
248
 
242
			@Override
249
			@Override
243
			public void surImagesRecues(ImageServiceResultat imagesRecues) {
250
			public void surRetour(ImageServiceResultat imagesRecues) {
-
 
251
				creerWidgetPagination(imagesRecues.getNbTotalImagesPourLaRecherche());
-
 
252
				afficherImages(imagesRecues);
-
 
253
 
-
 
254
			}
-
 
255
 
-
 
256
			@Override
-
 
257
			public void surErreur(String messageErreur) {
244
				creerWidgetPagination(imagesRecues.getNbTotalImagesPourLaRecherche());
258
				Window.alert(messageErreur);
245
				afficherImages(imagesRecues);
259
 
246
			}
260
			}
247
		};
261
		};
248
		final int debut = (CacheClient.getInstance().getPageCouranteRechercheImage() - 1) * CacheClient.getInstance().getPasPagination();
262
		final int debut = (CacheClient.getInstance().getPageCouranteRechercheImage() - 1) * CacheClient.getInstance().getPasPagination();
Line 252... Line 266...
252
 
266
 
253
	private void chargerEtAfficherImages(final int premier, final int dernier) {
267
	private void chargerEtAfficherImages(final int premier, final int dernier) {
254
		vue.startChargement();
268
		vue.startChargement();
255
		vue.nettoyer();
269
		vue.nettoyer();
-
 
270
		ImagesParTaxonCallback callback = new ImagesParTaxonCallback() {
256
		ImagesParTaxonCallback callback = new ImagesParTaxonCallback() {
271
 
257
			@Override
272
			@Override
258
			public void surImagesRecues(ImageServiceResultat imagesRecues) {
273
			public void surRetour(ImageServiceResultat imagesRecues) {
-
 
274
				afficherImages(imagesRecues);
-
 
275
 
-
 
276
			}
-
 
277
 
-
 
278
			@Override
-
 
279
			public void surErreur(String messageErreur) {
-
 
280
				Window.alert(messageErreur);
259
				afficherImages(imagesRecues);
281
 
-
 
282
			}
260
			}
283
 
261
		};
284
		};
262
		imageService.getImagesParTaxon(CacheClient.getInstance().getInformationsRechercheImage(), premier, dernier, callback);
285
		imageService.getImagesParTaxon(CacheClient.getInstance().getInformationsRechercheImage(), premier, dernier, callback);
Line 263... Line 286...
263
	}
286
	}
Line 284... Line 307...
284
		imagesPaginationPresenteurHaut.go(vue.getPanneauPaginationHaut());
307
		imagesPaginationPresenteurHaut.go(vue.getPanneauPaginationHaut());
285
		imagesPaginationPresenteurBas.go(vue.getPanneauPagination());
308
		imagesPaginationPresenteurBas.go(vue.getPanneauPagination());
286
	}
309
	}
Line 287... Line 310...
287
 
310
 
288
	public PaginationPresenteur creerPresenteurPagination(int nbImages) {
311
	public PaginationPresenteur creerPresenteurPagination(int nbImages) {
289
		PaginationPresenteur imagesPaginationPresenteur = new PaginationPresenteur(new PaginationVue(), nbImages, CacheClient.getInstance().getPasPagination(), CacheClient.getInstance()
-
 
290
				.getPageCouranteRechercheImage()) {
312
		PaginationPresenteur imagesPaginationPresenteur = new PaginationPresenteur(new PaginationVue(), nbImages, CacheClient.getInstance().getPasPagination(), CacheClient.getInstance().getPageCouranteRechercheImage()) {
291
			@Override
313
			@Override
292
			public void chargerElements(int debut, int fin) {
314
			public void chargerElements(int debut, int fin) {
293
				chargerEtAfficherImages(debut, fin);
315
				chargerEtAfficherImages(debut, fin);
294
				CacheClient.getInstance().setPageCouranteRechercheImages(getPageCourante());
316
				CacheClient.getInstance().setPageCouranteRechercheImages(getPageCourante());