11,8 → 11,15 |
import org.tela_botanica.del.client.modeles.Image; |
import org.tela_botanica.del.client.modeles.ModeRecherche; |
import org.tela_botanica.del.client.modeles.Observation; |
import org.tela_botanica.del.client.modeles.PropositionDetermination; |
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel; |
import org.tela_botanica.del.client.navigation.evenement.validationobservation.EvenementValidation; |
import org.tela_botanica.del.client.navigation.evenement.ajoutdetermination.EvenementAjoutDetermination; |
import org.tela_botanica.del.client.navigation.evenement.ajoutdetermination.GestionnaireEvenementAjoutDetermination; |
import org.tela_botanica.del.client.composants.fenetereoverlay.FenetreOverlayDefilantePresenteur; |
import org.tela_botanica.del.client.composants.fenetereoverlay.FenetreOverlayDefilanteVue; |
import org.tela_botanica.del.client.composants.fenetereoverlay.FenetreOverlaySimplePresenteur; |
import org.tela_botanica.del.client.composants.formulaires.formulaireproposition.FormulairePropositionPresenteur; |
import org.tela_botanica.del.client.composants.formulaires.formulaireproposition.FormulairePropositionVue; |
import org.tela_botanica.del.client.vues.rechercheobservations.resultats.observationdeterminations.ObservationDeterminationPresenteur; |
import org.tela_botanica.del.client.vues.rechercheobservations.resultats.observationdeterminations.ObservationDeterminationVue; |
|
24,14 → 31,10 |
|
public class ObservationPresenteur extends Presenteur { |
|
public abstract interface Vue extends IsWidget { |
|
public HasClickHandlers getLienDeterminer(); |
|
public interface Vue extends IsWidget { |
public HasClickHandlers getBoutonAjoutProposition(); |
public HasWidgets getDeterminationsPanel(); |
|
public HasWidgets getImagesPanel(); |
|
public HasWidgets getImagesPanel(); |
public HasWidgets getMetadonneesPanel(); |
} |
|
38,6 → 41,8 |
private Vue vue; |
|
private Observation observation; |
|
private ObservationDeterminationPresenteur observationDeterminationPresenteur; |
|
public ObservationPresenteur(Vue vue, Observation observation) { |
this.observation = observation; |
46,13 → 51,12 |
} |
|
public void chargerObservation() { |
|
new ObservationImagesPresenteur(new ObservationImagesVue(), observation).go(vue.getImagesPanel()); |
new MetadonneesPresenteur(new MetadonneesVue(), observation, ModeRecherche.MODE_OBSERVATION).go(vue.getMetadonneesPanel()); |
new ObservationDeterminationPresenteur(new ObservationDeterminationVue(), observation.getPropositionsDetermination()).go(vue.getDeterminationsPanel()); |
observationDeterminationPresenteur = new ObservationDeterminationPresenteur(new ObservationDeterminationVue(), observation.getPropositionsDetermination()); |
observationDeterminationPresenteur.go(vue.getDeterminationsPanel()); |
|
gererEvenements(); |
|
} |
|
public void go(HasWidgets composite) { |
60,9 → 64,19 |
} |
|
protected void gererEvenements() { |
|
BusEvenementiel.getInstance().addHandler(EvenementAjoutDetermination.TYPE, new GestionnaireEvenementAjoutDetermination() { |
@Override |
public void onAjoutDetermination(EvenementAjoutDetermination event) { |
if (fenetreModaleEstOuverte()) { |
fermerFenetreModale(); |
ajouterPropositionDetermination(event.getPropositionDetermination()); |
} |
} |
}); |
|
vue.getLienDeterminer().addClickHandler(new ClickHandler() { |
|
vue.getBoutonAjoutProposition().addClickHandler(new ClickHandler() { |
@Override |
public void onClick(ClickEvent event) { |
List<Image> images = observation.getImages(); |
if (images.size() > 0) { |
70,8 → 84,14 |
} else { |
CacheClient.getInstance().setImageCourante(null); |
} |
BusEvenementiel.getInstance().fireEvent(new EvenementValidation(observation)); |
CacheClient.getInstance().setObservationCourante(observation); |
FenetreOverlaySimplePresenteur fenetreOverlaySimplePresenteur = new FenetreOverlaySimplePresenteur(new FenetreOverlayDefilanteVue()); |
fenetreOverlaySimplePresenteur.ouvrirFenetreModale(new FormulairePropositionPresenteur(new FormulairePropositionVue())); |
} |
}); |
} |
|
private void ajouterPropositionDetermination(PropositionDetermination propositionDetermination) { |
observationDeterminationPresenteur.setPropositions(observation.getPropositionsDetermination()); |
} |
} |