Rev 210 | Rev 478 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
package org.tela_botanica.del.client.vues.rechercheimages.vote;
import java.util.List;
import org.tela_botanica.del.client.modeles.Protocole;
import org.tela_botanica.del.client.modeles.VoteProtocole;
import org.tela_botanica.del.client.services.rest.VoteProtocoleService;
import org.tela_botanica.del.client.utils.MockDatasource;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.HasWidgets;
public class MoyenneVotePresenteur {
private MoyenneVoteVue vue;
private Protocole protocole;
private final VoteProtocoleService voteProtocoleService = MockDatasource.getInstance();
private String idImage;
private final MockDatasource validationService = MockDatasource.getInstance();
public MoyenneVotePresenteur(List<VoteProtocole> validationDatas, String idImage, Protocole protocole) {
vue = new MoyenneVoteVue(validationDatas);
this.protocole = protocole;
this.idImage = idImage;
}
public void go(HasWidgets container) {
container.add(vue);
gererEvenements();
}
public void gererEvenements() {
vue.getVotes().addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
vue.afficherBoutonVoter();
vue.afficherBoutonAnnuler();
vue.masquerNbVotes();
}
});
vue.getBoutonAnnuler().addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
vue.masquerBoutonVoter();
vue.masquerBoutonAnnuler();
vue.afficherNbVotes();
vue.reinitialiserVotes();
}
});
vue.getBoutonVoter().addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
enregistrerVote();
vue.masquerBoutonVoter();
vue.masquerBoutonAnnuler();
vue.afficherNbVotes();
vue.reinitialiserVotes();
}
});
}
public void enregistrerVote() {
VoteProtocole voteProtocole = new VoteProtocole();
voteProtocole.setProtocole(this.protocole);
voteProtocoleService.saveVote(idImage, voteProtocole);
List<VoteProtocole> observationValidationDatas = validationService.getVoteByImageAndProtocol(idImage, protocole.getNom());
vue.rafraichir(observationValidationDatas);
}
}