Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 1470 → Rev 1471

/trunk/src/org/tela_botanica/del/client/composants/votes/moyennevotes/MoyenneVotePresenteur.java
8,7 → 8,13
import org.tela_botanica.del.client.modeles.Image;
import org.tela_botanica.del.client.modeles.Protocole;
import org.tela_botanica.del.client.modeles.VoteProtocole;
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
import org.tela_botanica.del.client.navigation.evenement.changementEtatUtilisateur.EvenementChangementEtatUtilisateur;
import org.tela_botanica.del.client.navigation.evenement.changementEtatUtilisateur.GestionnaireEvenementChangementEtatUtilisateur;
import org.tela_botanica.del.client.navigation.evenement.suppressioncommentaire.EvenementSuppressionCommentaire;
import org.tela_botanica.del.client.navigation.evenement.suppressioncommentaire.GestionnaireEvenementSuppressionCommentaire;
import org.tela_botanica.del.client.services.rest.VoteProtocoleService;
import org.tela_botanica.del.client.services.rest.async.AjoutVoteProtocoleCallback;
import org.tela_botanica.del.client.services.rest.async.VoteProtocoleCallback;
 
import com.google.gwt.event.dom.client.ClickEvent;
17,6 → 23,7
import com.google.gwt.event.dom.client.HasMouseMoveHandlers;
import com.google.gwt.event.dom.client.MouseMoveEvent;
import com.google.gwt.event.dom.client.MouseMoveHandler;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.HasText;
import com.google.gwt.user.client.ui.HasWidgets;
import com.google.gwt.user.client.ui.IsWidget;
24,8 → 31,6
public class MoyenneVotePresenteur {
 
public interface Vue extends IsWidget {
public HasClickHandlers getBoutonVoter();
 
public HasClickHandlers getBoutonAnnuler();
 
public HasClickHandlers getVotes();
32,12 → 37,8
 
public int getValeurVote();
 
public void afficherBoutonVoter();
 
public void afficherBoutonAnnuler();
 
public void masquerBoutonVoter();
 
public void masquerBoutonAnnuler();
 
public void afficherNbVotes();
64,6 → 65,12
public void masquerZoneVoter();
 
public void setNoteGeneraleToolTip(double valeurVoteTotalPrecise);
 
void desactiverInteractionVote();
 
void activerInteractionVote();
 
void afficherVoteSupprime();
}
 
private Vue vue;
111,7 → 118,7
@Override
public void onClick(ClickEvent event) {
valeurVoteUtilisateur = vue.getValeurVote();
vue.afficherBoutonVoter();
enregistrerVote();
vue.afficherBoutonAnnuler();
vue.masquerNbVotes();
}
121,21 → 128,17
@Override
public void onClick(ClickEvent event) {
valeurVoteUtilisateur = valeurVoteDefaut;
vue.masquerBoutonVoter();
vue.masquerBoutonAnnuler();
supprimerVote();
vue.afficherNbVotes();
vue.reinitialiserVotes();
}
});
 
vue.getBoutonVoter().addClickHandler(new ClickHandler() {
BusEvenementiel.getInstance().addHandler(EvenementChangementEtatUtilisateur.TYPE, new GestionnaireEvenementChangementEtatUtilisateur() {
@Override
public void onClick(ClickEvent event) {
enregistrerVote();
vue.masquerBoutonVoter();
vue.masquerBoutonAnnuler();
vue.afficherNbVotes();
vue.reinitialiserVotes();
public void onModificationEtatUtilisateur(EvenementChangementEtatUtilisateur evenementChangementEtatUtilisateur) {
rafraichirVue();
}
});
}
145,6 → 148,7
}
 
public void enregistrerVote() {
vue.desactiverInteractionVote();
final VoteProtocole voteProtocole = new VoteProtocole();
voteProtocole.setProtocole(this.protocole);
voteProtocole.setVote(valeurVoteUtilisateur);
151,31 → 155,57
String idContributeur = CacheClient.getInstance().getUtilisateur()
.getId();
voteProtocole.setContributeur(idContributeur);
// TODO: Mettre un message de chargement pendant l'envoi du vote ?
// C'est très rapide mais bon
VoteProtocoleCallback vpc = new VoteProtocoleCallback() {
 
@Override
public void surRetour(Void objetRetour) {
// TODO: voir si l'on affiche un message en cas de succès ?
image.ajouterVoteProtocole(voteProtocole);
rafraichirVue();
}
 
};
 
//TODO: ceci devrait pouvoir être factorisé
if (image.utilisateurAVotePourProtocole(this.protocole.getId() + "",
idContributeur)) {
voteProtocole.setId(image.getVotesProtocoles(this.protocole.getId()+"").get(idContributeur).getId());
VoteProtocoleCallback vpc = new VoteProtocoleCallback() {
@Override
public void surRetour(Void objetRetour) {
image.ajouterVoteProtocole(voteProtocole);
rafraichirVue();
vue.afficherVoteModifie();
vue.activerInteractionVote();
}
};
voteProtocoleService.modifierVote(image.getIdImage(),
voteProtocole, vpc);
vue.afficherVoteModifie();
} else {
AjoutVoteProtocoleCallback vpc = new AjoutVoteProtocoleCallback() {
@Override
public void surRetour(String idVote) {
voteProtocole.setId(idVote);
image.ajouterVoteProtocole(voteProtocole);
rafraichirVue();
vue.afficherVotePrisEnCompte();
vue.activerInteractionVote();
}
};
voteProtocoleService.ajouterVote(image.getIdImage(), voteProtocole,
vpc);
vue.afficherVotePrisEnCompte();
}
}
public void supprimerVote() {
vue.desactiverInteractionVote();
final String idContributeur = CacheClient.getInstance().getUtilisateur()
.getId();
final VoteProtocole voteProtocole = image.getVotesProtocoles(protocole.getId()).get(idContributeur);
VoteProtocoleCallback vpc = new VoteProtocoleCallback() {
@Override
public void surRetour(Void objetRetour) {
// TODO: voir si l'on affiche un message en cas de succès ?
image.supprimerVoteProtocole(protocole.getId() + "", idContributeur);
rafraichirVue();
vue.afficherVoteSupprime();
vue.activerInteractionVote();
}
 
};
voteProtocoleService.supprimerVote(image.getIdImage(), voteProtocole, vpc);
}
 
public int getValeurVoteTotal() {
return valeurVoteTotal;
}
195,6 → 225,10
voteUtilisateur = voteProtocole.getVote();
vue.masquerZoneVoter();
}
if(image.utilisateurAVotePourProtocole(protocole.getId()+"", CacheClient.getInstance().getUtilisateur().getId())) {
vue.afficherBoutonAnnuler();
}
 
VoteFleurPresenteur presenteurFleur = new VoteFleurPresenteur(
new VoteFleurVue());