4,9 → 4,6 |
import java.util.List; |
|
import org.tela_botanica.del.client.composants.fenetreoverlay.FenetreOverlaySimplePresenteur; |
import org.tela_botanica.del.client.composants.rss.RssPresenteur; |
import org.tela_botanica.del.client.composants.rss.RssVue; |
import org.tela_botanica.del.client.modeles.Observation; |
import org.tela_botanica.del.client.modeles.PropositionDetermination; |
import org.tela_botanica.del.client.modeles.VoteDetermination; |
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel; |
16,7 → 13,6 |
import org.tela_botanica.del.client.vues.identiplante.resultats.votes.DetailVoteObservationPresenteur; |
import org.tela_botanica.del.client.vues.identiplante.resultats.votes.DetailVoteObservationVue; |
|
import com.google.gwt.user.client.Window; |
import com.google.gwt.user.client.ui.HTMLPanel; |
import com.google.gwt.user.client.ui.HasWidgets; |
import com.google.gwt.user.client.ui.IsWidget; |
24,17 → 20,9 |
public class ObservationDeterminationPresenteur { |
public abstract interface Vue extends IsWidget { |
public void viderTableau(); |
|
public void viderTableauPropositionInitiale(); |
|
public HasWidgets getTableauPropositions(); |
|
public HasWidgets getTableauPropositionInitiale(); |
|
public void viderTableauPropositionRetenue(); |
|
public HasWidgets getTableauPropositionRetenue(); |
|
void setNbVotes(int index, int nbVotes); |
|
void setNbCommentaires(int index, int nbCommentaires); |
42,8 → 30,6 |
int getIndexLigneProposition(LignePropositionVue lignePropositionVue); |
|
public void masquerPropositions(); |
|
public void toggleTableauPropositionRetenue(); |
} |
private Vue vue; |
private List<PropositionDetermination> propositions; |
53,34 → 39,8 |
this.propositions = propositions; |
this.vue = vue; |
} |
|
public void chargerPropositionRetenue(PropositionDetermination proposition) { |
vue.viderTableauPropositionRetenue(); |
HTMLPanel panneau = new HTMLPanel(""); |
DetailVoteObservationPresenteur presenteurVote = new DetailVoteObservationPresenteur(new DetailVoteObservationVue(), proposition); |
presenteurVote.go(panneau); |
LignePropositionVue lignePropositionVue = new LignePropositionVue(panneau); |
LignePropositionPresenteur lignePropositionPresenteur = new LignePropositionPresenteur(lignePropositionVue, proposition); |
lignePropositionPresenteur.go(vue.getTableauPropositionRetenue()); |
vue.toggleTableauPropositionRetenue(); |
} |
|
public void chargerPropositionOriginale(PropositionDetermination proposition) { |
vue.viderTableauPropositionInitiale(); |
// TODO: afficher nombre de votes total et mettre à jour en cas de |
// vote |
HTMLPanel panneau = new HTMLPanel(""); |
DetailVoteObservationPresenteur presenteurVote = new DetailVoteObservationPresenteur(new DetailVoteObservationVue(), proposition); |
presenteurVote.go(panneau); |
LignePropositionVue lignePropositionVue = new LignePropositionVue(panneau); |
LignePropositionPresenteur lignePropositionPresenteur = new LignePropositionPresenteur(lignePropositionVue, proposition); |
lignePropositionPresenteur.go(vue.getTableauPropositionInitiale()); |
|
} |
|
|
public void classerPropositions(List<PropositionDetermination> propositions) { |
|
public void classerPropositions(List<PropositionDetermination> propositions) { |
Collections.sort(propositions, new ComparateurPropositionDetermination()); |
} |
|
88,30 → 48,20 |
vue.viderTableau(); |
int nbPropositions = 0; |
classerPropositions(propositions); |
for (PropositionDetermination proposition : propositions) { |
if (proposition.estPropositionInitiale()) { |
chargerPropositionOriginale(proposition); |
} else if (proposition.estPropositionRetenue()) { |
chargerPropositionRetenue(proposition); |
} else { |
|
nbPropositions++; |
// TODO: afficher nombre de votes total et mettre à jour en |
// cas de |
// vote |
HTMLPanel panneau = new HTMLPanel(""); |
DetailVoteObservationPresenteur presenteurVote = new DetailVoteObservationPresenteur(new DetailVoteObservationVue(), proposition); |
presenteurVote.go(panneau); |
LignePropositionVue lignePropositionVue = new LignePropositionVue(panneau); |
LignePropositionPresenteur lignePropositionPresenteur = new LignePropositionPresenteur(lignePropositionVue, proposition); |
lignePropositionPresenteur.go(vue.getTableauPropositions()); |
} |
for (PropositionDetermination proposition : propositions) { |
nbPropositions++; |
HTMLPanel panneau = new HTMLPanel(""); |
DetailVoteObservationPresenteur presenteurVote = new DetailVoteObservationPresenteur(new DetailVoteObservationVue(), proposition); |
presenteurVote.go(panneau); |
LignePropositionVue lignePropositionVue = new LignePropositionVue(panneau); |
LignePropositionPresenteur lignePropositionPresenteur = new LignePropositionPresenteur(lignePropositionVue, proposition); |
lignePropositionPresenteur.go(vue.getTableauPropositions()); |
} |
|
if (nbPropositions > 0) { |
} else { |
if (nbPropositions <= 0) { |
vue.masquerPropositions(); |
} |
|
BusEvenementiel.getInstance().addHandler(EvenementVoteDetermination.TYPE, new GestionnaireEvenementVoteDetermination() { |
@Override |
public void onVoteDetermination(VoteDetermination event) { |
133,7 → 83,7 |
public void surVoteDetermination(VoteDetermination voteDetermination) { |
int indexProposition = propositions.indexOf(voteDetermination.getPropositionDetermination()); |
if (indexProposition != -1) { |
vue.setNbVotes(indexProposition, voteDetermination.getPropositionDetermination().getVotesDeterminations().size()); |
chargerPropositions(); |
} |
} |
} |