38,6 → 38,9 |
import org.tela_botanica.del.client.navigation.evenement.changementEtatUtilisateur.GestionnaireEvenementChangementEtatUtilisateur; |
import org.tela_botanica.del.client.navigation.evenement.changementimagevalidation.EvenementChangementImageValidation; |
import org.tela_botanica.del.client.navigation.evenement.changementimagevalidation.GestionnaireEvenementChangementImageValidation; |
import org.tela_botanica.del.client.navigation.evenement.depublierObs.EvenementDepublierObs; |
import org.tela_botanica.del.client.navigation.evenement.depublierObs.GestionnaireEvenementDepublierObs; |
import org.tela_botanica.del.client.navigation.evenement.supprimerImage.EvenementSupprimerImage; |
import org.tela_botanica.del.client.navigation.evenement.voteDetermination.EvenementVoteDetermination; |
import org.tela_botanica.del.client.navigation.evenement.voteDetermination.GestionnaireEvenementVoteDetermination; |
import org.tela_botanica.del.client.services.CalculVoteDeterminationService; |
44,13 → 47,17 |
import org.tela_botanica.del.client.services.rest.CommentaireServiceConcret; |
import org.tela_botanica.del.client.services.rest.ObservationService; |
import org.tela_botanica.del.client.services.rest.PropositionDeterminationServiceConcret; |
import org.tela_botanica.del.client.services.rest.async.DepublicationObservationCallBack; |
import org.tela_botanica.del.client.services.rest.async.ObservationsCallback; |
import org.tela_botanica.del.client.services.rest.async.SuppressionImageCallback; |
import org.tela_botanica.del.client.services.rest.async.ValidationPropositionCallback; |
import org.tela_botanica.del.client.utils.URLUtils; |
import org.tela_botanica.del.client.navigation.evenement.rechercheobservation.EvenementRechercheObservation; |
import org.tela_botanica.del.client.composants.formulairerechercheeflore.FormulaireRechercheEflorePresenteur; |
import org.tela_botanica.del.client.composants.forum.ForumPresenteur; |
import org.tela_botanica.del.client.composants.forum.ForumVue; |
|
import com.google.gwt.core.shared.GWT; |
import com.google.gwt.event.dom.client.ClickEvent; |
import com.google.gwt.event.dom.client.ClickHandler; |
import com.google.gwt.event.dom.client.HasClickHandlers; |
79,6 → 86,8 |
public Button getBoutonAjoutPropositionBas(); |
|
public Button getBoutonAjoutCommentaireBas(); |
|
public HasClickHandlers getBoutonDepublierObs(); |
|
public HasWidgets getMetadonnees(); |
|
103,6 → 112,7 |
public void viderMetadonnees(); |
} |
|
private Observation observation; |
private Vue vue; |
private FenetreOverlaySimplePresenteur fenetreOverlaySimplePresenteur; |
|
124,9 → 134,9 |
// car tout l'écran est asynchrone ici |
String observationId = URLUtils.getURLSpecialParameterValue(); |
observationService.getObservation(observationId, new ObservationsCallback() { |
|
@Override |
public void surRetour(ObservationServiceResultat objetRetour) { |
observation = cache.getObservationCourante(); |
afficherRss(cache.getObservationCourante()); |
// trouve l'image courante si elle n'est pas deja en cache |
List<Image> listeImages = cache.getObservationCourante().getImages(); |
156,10 → 166,9 |
public void afficherRss(Observation observation) { |
new RssPresenteur(new RssVue(), observation, "Suivre cette observation").go(vue.getZoneRss()); |
} |
|
|
private void calculerEtAfficherVoteDeterminationPlusPopulaire() { |
if(cache.getObservationCourante() != null) { |
if (cache.getObservationCourante() != null) { |
Observation observation = cache.getObservationCourante(); |
String nomTaxon = observation.getNomRetenuFormateReferentiel(); |
List<MoyenneVote> votesOrdonnes = CalculVoteDeterminationService.calculerVoteDeterminationPlusPopulaire(cache.getObservationCourante().getPropositionDeterminations()); |
167,12 → 176,12 |
nomTaxon = votesOrdonnes.get(0).getIntituleAssocie(); |
propositionPlusPopulaire = votesOrdonnes.get(0).getPropositionAssociee(); |
|
if(doitAfficherBoutonValidation(votesOrdonnes)) { |
if (doitAfficherBoutonValidation(votesOrdonnes)) { |
vue.afficherBoutonValidationTaxon(); |
} else { |
vue.cacherBoutonValidationTaxon(); |
} |
} |
} |
vue.afficherNomTaxonProbable(nomTaxon); |
} |
} |
189,7 → 198,6 |
} |
|
public void gererEvenements() { |
|
BusEvenementiel.getInstance().addHandler(EvenementChangementEtatUtilisateur.TYPE, new GestionnaireEvenementChangementEtatUtilisateur() { |
@Override |
public void onModificationEtatUtilisateur(EvenementChangementEtatUtilisateur evenementChangementEtatUtilisateur) { |
203,28 → 211,7 |
calculerEtAfficherVoteDeterminationPlusPopulaire(); |
} |
}); |
|
ClickHandler clicAjoutProposition = new ClickHandler() { |
@Override |
public void onClick(ClickEvent event) { |
fenetreOverlaySimplePresenteur = new FenetreOverlaySimplePresenteur(new FenetreOverlayDefilanteVue()); |
fenetreOverlaySimplePresenteur.ouvrirFenetreModale(new FormulairePropositionPresenteur(new FormulairePropositionVue(), new PropositionDeterminationServiceConcret())); |
} |
}; |
vue.getBoutonAjoutProposition().addClickHandler(clicAjoutProposition); |
vue.getBoutonAjoutPropositionBas().addClickHandler(clicAjoutProposition); |
|
ClickHandler clicAjoutCommentaire = new ClickHandler() { |
@Override |
public void onClick(ClickEvent event) { |
FormulaireCommentairePresenteur commentairePresenteur = new FormulaireCommentairePresenteur(cache.getObservationCourante(), new CommentaireServiceConcret(), new FormulaireCommentaireVue()); |
fenetreOverlaySimplePresenteur = new FenetreOverlaySimplePresenteur(new FenetreOverlayDefilanteVue()); |
fenetreOverlaySimplePresenteur.ouvrirFenetreModale(commentairePresenteur); |
} |
}; |
vue.getBoutonAjoutCommentaire().addClickHandler(clicAjoutCommentaire); |
vue.getBoutonAjoutCommentaireBas().addClickHandler(clicAjoutCommentaire); |
|
|
BusEvenementiel.getInstance().addHandler(EvenementAjoutDetermination.TYPE, new GestionnaireEvenementAjoutDetermination() { |
@Override |
public void onAjoutDetermination(EvenementAjoutDetermination event) { |
235,7 → 222,6 |
}); |
|
BusEvenementiel.getInstance().addHandler(EvenementAjoutCommentaire.TYPE, new GestionnaireEvenementAjoutCommentaire() { |
|
@Override |
public void onAjoutCommentaire(EvenementAjoutCommentaire event) { |
if (fenetreOverlaySimplePresenteur != null && fenetreOverlaySimplePresenteur.fenetreModaleEstOuverte()) { |
245,7 → 231,6 |
}); |
|
BusEvenementiel.getInstance().addHandler(EvenementChangementImageValidation.TYPE, new GestionnaireEvenementChangementImageValidation() { |
|
@Override |
public void onChangementImage(EvenementChangementImageValidation event) { |
vue.getDetailImageObservation().clear(); |
255,10 → 240,29 |
CacheClient.getInstance().getImageCourante()).go(vue.getDetailImageObservation()); |
} |
}); |
|
|
|
ClickHandler clicAjoutProposition = new ClickHandler() { |
@Override |
public void onClick(ClickEvent event) { |
fenetreOverlaySimplePresenteur = new FenetreOverlaySimplePresenteur(new FenetreOverlayDefilanteVue()); |
fenetreOverlaySimplePresenteur.ouvrirFenetreModale(new FormulairePropositionPresenteur(new FormulairePropositionVue(), new PropositionDeterminationServiceConcret())); |
} |
}; |
vue.getBoutonAjoutProposition().addClickHandler(clicAjoutProposition); |
vue.getBoutonAjoutPropositionBas().addClickHandler(clicAjoutProposition); |
|
ClickHandler clicAjoutCommentaire = new ClickHandler() { |
@Override |
public void onClick(ClickEvent event) { |
FormulaireCommentairePresenteur commentairePresenteur = new FormulaireCommentairePresenteur(cache.getObservationCourante(), new CommentaireServiceConcret(), new FormulaireCommentaireVue()); |
fenetreOverlaySimplePresenteur = new FenetreOverlaySimplePresenteur(new FenetreOverlayDefilanteVue()); |
fenetreOverlaySimplePresenteur.ouvrirFenetreModale(commentairePresenteur); |
} |
}; |
vue.getBoutonAjoutCommentaire().addClickHandler(clicAjoutCommentaire); |
vue.getBoutonAjoutCommentaireBas().addClickHandler(clicAjoutCommentaire); |
|
vue.getLienOuvrages().addClickHandler(new ClickHandler() { |
|
@Override |
public void onClick(ClickEvent event) { |
Config config = new Config(); |
267,7 → 271,6 |
}); |
|
vue.getLienBonnier().addClickHandler(new ClickHandler() { |
|
@Override |
public void onClick(ClickEvent event) { |
Config config = new Config(); |
276,7 → 279,6 |
}); |
|
vue.getLienCles().addClickHandler(new ClickHandler() { |
|
@Override |
public void onClick(ClickEvent event) { |
Config config = new Config(); |
285,7 → 287,6 |
}); |
|
vue.getLienEflore().addClickHandler(new ClickHandler() { |
|
@Override |
public void onClick(ClickEvent event) { |
Config config = new Config(); |
294,14 → 295,33 |
}); |
|
vue.getBoutonValidationTaxon().addClickHandler(new ClickHandler() { |
|
@Override |
public void onClick(ClickEvent event) { |
if(Window.confirm(I18n.getVocabulary().confirmationValidationDetermination())) { |
if (Window.confirm(I18n.getVocabulary().confirmationValidationDetermination())) { |
validerPropositionPlusPopulaire(); |
} |
} |
}); |
|
vue.getBoutonDepublierObs().addClickHandler(new ClickHandler() { |
@Override |
public void onClick(ClickEvent event) { |
GWT.log("Lancer evnt : EvenementDepublierObs"); |
BusEvenementiel.getInstance().fireEvent(new EvenementDepublierObs(observation.getId())); |
} |
}); |
|
BusEvenementiel.getInstance().addHandler(EvenementDepublierObs.TYPE, new GestionnaireEvenementDepublierObs() { |
@Override |
public void onDepublicationObs(EvenementDepublierObs event) { |
GWT.log("Attraper evnt : EvenementDepublierObs (obs:"+event.getIdObs()+")"); |
if (event.getIdObs().equals(observation.getId())) { |
if (Window.confirm(I18n.getVocabulary().confirmationDepublicationObs())) { |
depublierObs(); |
} |
} |
} |
}); |
} |
|
private void validerPropositionPlusPopulaire() { |
327,4 → 347,18 |
} |
}); |
} |
|
private void depublierObs() { |
GWT.log("depublierObs :"+observation.getId()); |
observationService.depublier(observation, new DepublicationObservationCallBack() { |
|
@Override |
public void surRetour(String depublicationOk) { |
GWT.log("Dépublication obs "+observation.getId()+" "+depublicationOk); |
if (depublicationOk.equals("OK")) { |
BusEvenementiel.getInstance().fireEvent(new EvenementRechercheObservation()); |
} |
} |
}); |
} |
} |