Subversion Repositories eFlore/Applications.del

Rev

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

Rev Author Line No. Line
161 gduche 1
package org.tela_botanica.del.client.vues.rechercheobservations;
2
 
455 benjamin 3
import org.tela_botanica.del.client.cache.CacheClient;
330 gduche 4
import org.tela_botanica.del.client.composants.moteurrecherche.MoteurRecherchePresenteur;
5
import org.tela_botanica.del.client.composants.moteurrecherche.MoteurRechercheVue;
161 gduche 6
import org.tela_botanica.del.client.composants.presenteur.Presenteur;
455 benjamin 7
import org.tela_botanica.del.client.modeles.InformationsRecherche;
453 aurelien 8
import org.tela_botanica.del.client.modeles.ModeRecherche;
455 benjamin 9
import org.tela_botanica.del.client.modeles.ModeTri;
392 aurelien 10
import org.tela_botanica.del.client.services.rest.ObservationService;
445 benjamin 11
import org.tela_botanica.del.client.services.rest.ObservationServiceConcret;
12
import org.tela_botanica.del.client.vues.rechercheobservations.resultats.ResultatsRechercheObservationsPresenteur;
13
import org.tela_botanica.del.client.vues.rechercheobservations.resultats.ResultatsRechercheObservationsVue;
161 gduche 14
 
455 benjamin 15
import com.google.gwt.event.dom.client.ClickEvent;
16
import com.google.gwt.event.dom.client.ClickHandler;
17
import com.google.gwt.event.dom.client.HasClickHandlers;
161 gduche 18
import com.google.gwt.user.client.ui.HasWidgets;
309 aurelien 19
import com.google.gwt.user.client.ui.IsWidget;
161 gduche 20
 
21
public class RechercheObservationsPresenteur extends Presenteur {
436 benjamin 22
 
309 aurelien 23
	public abstract interface Vue extends IsWidget {
330 gduche 24
		public HasWidgets getZoneRecherche();
436 benjamin 25
 
445 benjamin 26
		public HasWidgets getZoneResultats();
455 benjamin 27
 
28
		public HasClickHandlers getTriParNbVotesAscendant();
29
 
30
		public HasClickHandlers getTriParNbVotesDescendant();
31
 
32
		public HasClickHandlers getTriParDateAscendant();
33
 
34
		public HasClickHandlers getTriParDateDescendant();
309 aurelien 35
	}
335 benjamin 36
 
309 aurelien 37
	private Vue vue;
436 benjamin 38
 
392 aurelien 39
	public RechercheObservationsPresenteur(ObservationService serviceObs, Vue vue) {
436 benjamin 40
 
309 aurelien 41
		this.vue = vue;
161 gduche 42
	}
43
 
44
	public void go(HasWidgets composite) {
436 benjamin 45
 
309 aurelien 46
		composite.add(vue.asWidget());
330 gduche 47
		ajouterMoteurRechercheAvancee();
455 benjamin 48
		gererEvenements();
161 gduche 49
	}
335 benjamin 50
 
330 gduche 51
	protected void ajouterMoteurRechercheAvancee() {
406 gduche 52
		MoteurRecherchePresenteur presenteur = new MoteurRecherchePresenteur(new MoteurRechercheVue("") {
453 aurelien 53
		}, ModeRecherche.MODE_OBSERVATION) {
335 benjamin 54
 
330 gduche 55
			@Override
335 benjamin 56
			public void lancerRecherche() {
445 benjamin 57
				chercherObservations();
161 gduche 58
			}
330 gduche 59
		};
60
		presenteur.go(vue.getZoneRecherche());
161 gduche 61
	}
62
 
445 benjamin 63
	public void chercherObservations() {
64
		vue.getZoneResultats().clear();
65
		new ResultatsRechercheObservationsPresenteur(new ObservationServiceConcret(), new ResultatsRechercheObservationsVue()).go(vue.getZoneResultats());
166 gduche 66
	}
161 gduche 67
 
445 benjamin 68
	protected void gererEvenements() {
455 benjamin 69
 
70
		vue.getTriParNbVotesAscendant().addClickHandler(new ClickHandler() {
71
 
72
			@Override
73
			public void onClick(ClickEvent arg0) {
74
				InformationsRecherche informationsRechercheObservations = CacheClient.getInstance().getInformationsRechercheObservation();
75
				informationsRechercheObservations.setTriParNbVotes(ModeTri.TRI_ASCENDANT);
76
				chercherObservations();
77
			}
78
		});
79
 
80
		vue.getTriParNbVotesDescendant().addClickHandler(new ClickHandler() {
81
 
82
			@Override
83
			public void onClick(ClickEvent arg0) {
84
				InformationsRecherche informationsRechercheObservations = CacheClient.getInstance().getInformationsRechercheObservation();
85
				informationsRechercheObservations.setTriParNbVotes(ModeTri.TRI_DESCENDANT);
86
				chercherObservations();
87
			}
88
		});
89
 
90
		vue.getTriParDateAscendant().addClickHandler(new ClickHandler() {
91
 
92
			@Override
93
			public void onClick(ClickEvent arg0) {
94
				InformationsRecherche informationsRechercheObservations = CacheClient.getInstance().getInformationsRechercheObservation();
95
				informationsRechercheObservations.setTriParDate(ModeTri.TRI_ASCENDANT);
96
				chercherObservations();
97
			}
98
		});
99
 
100
		vue.getTriParDateDescendant().addClickHandler(new ClickHandler() {
101
 
102
			@Override
103
			public void onClick(ClickEvent arg0) {
104
				InformationsRecherche informationsRechercheObservations = CacheClient.getInstance().getInformationsRechercheObservation();
105
				informationsRechercheObservations.setTriParDate(ModeTri.TRI_DESCENDANT);
106
				chercherObservations();
107
			}
108
		});
359 benjamin 109
	}
335 benjamin 110
 
161 gduche 111
}