New file |
0,0 → 1,128 |
package org.tela_botanica.del.client.vues.identiplante.moteur; |
|
import org.tela_botanica.del.client.cache.CacheClient; |
import org.tela_botanica.del.client.composants.moteurrecherche.MoteurRecherchePresenteur; |
import org.tela_botanica.del.client.composants.moteurrecherche.MoteurRechercheVue; |
import org.tela_botanica.del.client.composants.partageurl.PartageUrlPresenteur; |
import org.tela_botanica.del.client.composants.partageurl.PartageUrlVue; |
import org.tela_botanica.del.client.composants.presenteur.Presenteur; |
import org.tela_botanica.del.client.config.Config; |
import org.tela_botanica.del.client.modeles.ModeRecherche; |
import org.tela_botanica.del.client.services.rest.ObservationService; |
import org.tela_botanica.del.client.services.rest.ObservationServiceConcret; |
import org.tela_botanica.del.client.vues.identiplante.resultats.ResultatsIdentiplantePresenteur; |
import org.tela_botanica.del.client.vues.identiplante.resultats.ResultatsIdentiplanteVue; |
|
import com.google.gwt.event.dom.client.ClickEvent; |
import com.google.gwt.event.dom.client.ClickHandler; |
import com.google.gwt.event.dom.client.HasClickHandlers; |
import com.google.gwt.user.client.Window; |
import com.google.gwt.user.client.ui.HasWidgets; |
import com.google.gwt.user.client.ui.IsWidget; |
import com.google.gwt.user.client.ui.Panel; |
|
public class MoteurIdentiplantePresenteur extends Presenteur { |
|
public interface Vue extends IsWidget { |
public HasWidgets getZoneRecherche(); |
|
public HasWidgets getZoneResultats(); |
|
public HasClickHandlers getOngletAConfirmer(); |
|
public HasClickHandlers getOngletADeterminer(); |
|
public HasClickHandlers getOngletTout(); |
|
public HasClickHandlers getOngletValidees(); |
|
public void setOngletADeterminerActif(); |
|
public void setOngletToutActif(); |
|
public void setOngletAConfirmerActif(); |
|
public void setOngletValideesActif(); |
|
} |
|
private Vue vue; |
|
public MoteurIdentiplantePresenteur(ObservationService serviceObs, Vue vue) { |
this.vue = vue; |
} |
|
public void go(HasWidgets composite) { |
|
composite.add(vue.asWidget()); |
ajouterMoteurRechercheAvancee(); |
gererEvenements(); |
|
} |
|
protected void ajouterMoteurRechercheAvancee() { |
MoteurRecherchePresenteur presenteur = new MoteurRecherchePresenteur(new MoteurRechercheVue("") { |
}, ModeRecherche.MODE_OBSERVATION) { |
|
@Override |
public void lancerRecherche() { |
chercherObservations(); |
} |
}; |
presenteur.go(vue.getZoneRecherche()); |
} |
|
public void chercherObservations() { |
vue.getZoneResultats().clear(); |
CacheClient.getInstance().mettreAjourUrlCourante(); |
new ResultatsIdentiplantePresenteur(new ObservationServiceConcret(), new ResultatsIdentiplanteVue()).go(vue.getZoneResultats()); |
} |
|
protected void gererEvenements() { |
// Gestion du clic sur les onglets |
vue.getOngletTout().addClickHandler(new ClickHandler() { |
|
@Override |
public void onClick(ClickEvent event) { |
CacheClient.getInstance().setFiltreStatut("tous"); |
CacheClient.getInstance().setPageCouranteRechercheObservations(1); |
chercherObservations(); |
vue.setOngletToutActif(); |
} |
}); |
|
vue.getOngletADeterminer().addClickHandler(new ClickHandler() { |
|
@Override |
public void onClick(ClickEvent event) { |
CacheClient.getInstance().setFiltreStatut("adeterminer"); |
CacheClient.getInstance().setPageCouranteRechercheObservations(1); |
chercherObservations(); |
vue.setOngletADeterminerActif(); |
} |
}); |
|
vue.getOngletAConfirmer().addClickHandler(new ClickHandler() { |
|
@Override |
public void onClick(ClickEvent event) { |
CacheClient.getInstance().setFiltreStatut("aconfirmer"); |
CacheClient.getInstance().setPageCouranteRechercheObservations(1); |
chercherObservations(); |
vue.setOngletAConfirmerActif(); |
} |
}); |
|
vue.getOngletValidees().addClickHandler(new ClickHandler() { |
|
@Override |
public void onClick(ClickEvent event) { |
CacheClient.getInstance().setFiltreStatut("validees"); |
CacheClient.getInstance().setPageCouranteRechercheObservations(1); |
chercherObservations(); |
vue.setOngletValideesActif(); |
} |
}); |
} |
|
} |