/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/forum/ForumPresenteur.java |
---|
1,5 → 1,6 |
package org.tela_botanica.del.client.vues.plateformedetermination.forum; |
import java.util.ArrayList; |
import java.util.List; |
import org.tela_botanica.del.client.cache.CacheClient; |
import org.tela_botanica.del.client.modeles.InterventionForum; |
37,26 → 38,43 |
} |
private void chargerDeterminations() { |
//for (InterventionForum interventionForum : CacheClient.getInstance().getObservationCourante().getInterventionsForum()) { |
List<InterventionForum> interventions = CacheClient.getInstance().getObservationCourante().getInterventionsForum(); |
while (interventions.size() > 0) { |
interventions = afficherParent(interventions, interventions.get(0)); |
int i = 0; |
while (interventions.size() > 0 && i < 10) { |
i++; |
InterventionForum interventionCourante = interventions.get(0); |
ForumInterventionPresenteur presenteur = new ForumInterventionPresenteur(new ForumInterventionVue(), interventionCourante); |
List<InterventionForum> fils = trouverFils(interventions, interventionCourante); |
if (fils.size() > 0) { |
for (InterventionForum interventionFille : fils) { |
ForumInterventionPresenteur presenteurFille = new ForumInterventionPresenteur(new ForumInterventionVue(), interventionFille); |
presenteur.addEnfant(presenteurFille); |
//interventions.get(interventions.indexOf(interventionFille)).afficher(); |
interventions.remove(interventions.indexOf(interventionFille)); |
//Window.alert(String.valueOf(interventions.indexOf(interventionFille))); |
} |
} |
private List<InterventionForum> afficherParent(List<InterventionForum> interventions, InterventionForum interventionForum) { |
InterventionForum interventionParent = interventionForum.getParent(); |
if (interventionParent != null) { |
interventions = afficherParent(interventions, interventionParent); |
new ForumInterventionPresenteur(new ForumInterventionVue(), interventionForum).go(vue.getPanneauInterventions()); |
interventions.remove(interventionForum); |
} else { |
new ForumInterventionPresenteur(new ForumInterventionVue(), interventionForum).go(vue.getPanneauInterventions()); |
interventions.remove(interventionForum); |
presenteur.go(vue.getPanneauInterventions()); |
interventions.remove(interventions.indexOf(interventionCourante)); |
} |
return interventions; |
Window.alert("fin" + i); |
} |
private List<InterventionForum> trouverFils(List<InterventionForum> interventions, InterventionForum parent) { |
List<InterventionForum> fils = new ArrayList<InterventionForum>(); |
for (InterventionForum interventionCourante : interventions) { |
InterventionForum parentCourant = interventionCourante.getParent(); |
if (parentCourant != null && interventionCourante.getIdParent().equals(parent.getId())) { |
fils.add(interventionCourante); |
} |
} |
return fils; |
} |
private void gererEvenements() { |
BusEvenementiel.getInstance().addHandler(EvenementAjoutDetermination.TYPE, new GestionnaireEvenementAjoutDetermination() { |
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/forum/interventions/forumIntervention.css |
---|
1,6 → 1,8 |
.proposition { |
width:550px; |
padding:10px; |
background:#EEE; |
margin-bottom:5px; |
} |
.nom { |
margin-right:5px |
31,3 → 33,7 |
clear:left; |
margin-right:5px; |
} |
.repondre { |
text-align:right; |
cursor:pointer; |
} |
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/forum/interventions/ForumInterventionVue.ui.xml |
---|
20,6 → 20,9 |
</g:HTMLPanel> |
<g:Label ui:field="commentaire" styleName="{style.commentaire}"/> |
<g:Hyperlink text="RĂ©pondre" styleName="{style.repondre}" ui:field="repondre"/> |
<g:HTMLPanel ui:field="zoneEnfants"></g:HTMLPanel> |
</g:HTMLPanel> |
</ui:UiBinder> |
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/forum/interventions/ForumInterventionPresenteur.java |
---|
1,5 → 1,9 |
package org.tela_botanica.del.client.vues.plateformedetermination.forum.interventions; |
import org.tela_botanica.del.client.composants.fenetreoverlay.FenetreOverlayDefilanteVue; |
import org.tela_botanica.del.client.composants.fenetreoverlay.FenetreOverlaySimplePresenteur; |
import org.tela_botanica.del.client.composants.formulaires.formulairecommentaire.FormulaireCommentairePresenteur; |
import org.tela_botanica.del.client.composants.formulaires.formulairecommentaire.FormulaireCommentaireVue; |
import org.tela_botanica.del.client.composants.votes.barrerepartition.BarreRepartitionVotePresenteur; |
import org.tela_botanica.del.client.composants.votes.barrerepartition.BarreRepartitionVoteVue; |
import org.tela_botanica.del.client.modeles.Commentaire; |
7,10 → 11,15 |
import org.tela_botanica.del.client.modeles.MoyenneVote; |
import org.tela_botanica.del.client.modeles.PropositionDetermination; |
import org.tela_botanica.del.client.services.CalculVoteDeterminationService; |
import org.tela_botanica.del.client.services.rest.CommentaireServiceConcret; |
import org.tela_botanica.del.client.services.rest.VoteDeterminationServiceConcret; |
import org.tela_botanica.del.client.vues.plateformedetermination.forum.ArbreCommentairePresenteur; |
import org.tela_botanica.del.client.vues.plateformedetermination.forum.ArbreCommentaireVue; |
import com.google.gwt.event.dom.client.ClickEvent; |
import com.google.gwt.event.dom.client.ClickHandler; |
import com.google.gwt.event.dom.client.HasClickHandlers; |
import com.google.gwt.user.client.Window; |
import com.google.gwt.user.client.ui.HasWidgets; |
import com.google.gwt.user.client.ui.IsWidget; |
19,6 → 28,8 |
public interface Vue extends IsWidget { |
void ajouterInterventionDetermination(PropositionDetermination determination, IsWidget barreRepartition, IsWidget arbreCommentaires); |
void ajouterInterventionCommentaire(Commentaire commentaire, IsWidget arbreCommentaires); |
HasClickHandlers getRepondre(); |
HasWidgets getEnfants(); |
} |
private Vue vue; |
33,8 → 44,13 |
public void go(HasWidgets composite) { |
chargerIntervention(); |
composite.add(vue.asWidget()); |
gererEvenements(); |
} |
public void addEnfant(ForumInterventionPresenteur presenteur) { |
presenteur.go(vue.getEnfants()); |
} |
private void chargerIntervention() { |
if (interventionForum instanceof PropositionDetermination) { |
ajouterPropositionDetermination((PropositionDetermination) interventionForum); |
60,4 → 76,15 |
MoyenneVote votes = CalculVoteDeterminationService.calculerVoteDetermination(propositionDetermination); |
barreRepartitionVotePresenteur.afficherVotes(votes); |
} |
private void gererEvenements() { |
vue.getRepondre().addClickHandler(new ClickHandler() { |
@Override |
public void onClick(ClickEvent event) { |
FormulaireCommentairePresenteur commentairePresenteur = new FormulaireCommentairePresenteur(interventionForum, new CommentaireServiceConcret(), new FormulaireCommentaireVue()); |
FenetreOverlaySimplePresenteur fenetreOverlaySimplePresenteur = new FenetreOverlaySimplePresenteur(new FenetreOverlayDefilanteVue()); |
fenetreOverlaySimplePresenteur.ouvrirFenetreModale(commentairePresenteur); |
} |
}); |
} |
} |
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/forum/interventions/ForumInterventionVue.java |
---|
5,6 → 5,7 |
import org.tela_botanica.del.client.vues.plateformedetermination.forum.interventions.ForumInterventionPresenteur.Vue; |
import com.google.gwt.core.client.GWT; |
import com.google.gwt.event.dom.client.HasClickHandlers; |
import com.google.gwt.i18n.client.DateTimeFormat; |
import com.google.gwt.i18n.client.DateTimeFormat.PredefinedFormat; |
import com.google.gwt.uibinder.client.UiBinder; |
11,6 → 12,8 |
import com.google.gwt.uibinder.client.UiField; |
import com.google.gwt.user.client.ui.Composite; |
import com.google.gwt.user.client.ui.HTMLPanel; |
import com.google.gwt.user.client.ui.HasWidgets; |
import com.google.gwt.user.client.ui.Hyperlink; |
import com.google.gwt.user.client.ui.IsWidget; |
import com.google.gwt.user.client.ui.Label; |
import com.google.gwt.user.client.ui.Widget; |
29,8 → 32,11 |
Label nom, nomTaxon, date, commentaire; |
@UiField |
HTMLPanel voter, zoneVoter, zoneDetermination; |
HTMLPanel voter, zoneVoter, zoneDetermination, zoneEnfants; |
@UiField |
Hyperlink repondre; |
public ForumInterventionVue() { |
initWidget(uiBinder.createAndBindUi(this)); |
} |
68,4 → 74,15 |
} |
} |
@Override |
public HasClickHandlers getRepondre() { |
return repondre; |
} |
@Override |
public HasWidgets getEnfants() { |
return zoneEnfants; |
} |
} |
/trunk/src/org/tela_botanica/del/client/vues/plateformedetermination/forum/forum.css |
---|
1,0 → 0,0 |
.table {border:solid 1px #DDD} |
.table {} |
/trunk/src/org/tela_botanica/del/client/composants/formulaires/formulairecommentaire/FormulaireCommentairePresenteur.java |
---|
72,8 → 72,9 |
this.commentaireService=commentaireService; |
} |
public FormulaireCommentairePresenteur(InterventionForum possesseurDeCommentaires, Vue vue) { |
public FormulaireCommentairePresenteur(InterventionForum possesseurDeCommentaires, CommentaireService commentaireService, Vue vue) { |
this.possesseurDeCommentaires = possesseurDeCommentaires; |
this.commentaireService = commentaireService; |
this.vue = vue; |
} |
/trunk/src/org/tela_botanica/del/client/modeles/InterventionForum.java |
---|
12,6 → 12,7 |
private InterventionForum parent; |
private Observation observation; |
public List<Commentaire> listeCommentaires = new ArrayList<Commentaire>(); |
boolean estAffichee; |
public void setId(String id) { |
this.id = id; |
25,6 → 26,14 |
return idParent; |
} |
public void afficher() { |
this.estAffichee = true; |
} |
public boolean estAffichee() { |
return this.estAffichee; |
} |
public void setIdParent(String idParent) { |
this.idParent = idParent; |
} |
/trunk/src/org/tela_botanica/del/test/composants/formulaires/FormulaireCommentaireTest.java |
---|
43,7 → 43,7 |
Mockito.when(vue2.getPrenom()).thenReturn("Georges"); |
Mockito.when(vue2.getNom()).thenReturn("Abitbol"); |
presenteurFormulaireCommentairePourPossesseurCommentaire = new FormulaireCommentairePresenteur(comm, vue2); |
presenteurFormulaireCommentairePourPossesseurCommentaire = new FormulaireCommentairePresenteur(comm, commentaireService, vue2); |
} |
@Test |