New file |
0,0 → 1,203 |
package org.tela_botanica.del.client.composants.forum.interventions; |
|
import org.tela_botanica.del.client.composants.forum.interventions.ForumInterventionPresenteur.Vue; |
import org.tela_botanica.del.client.i18n.I18n; |
import org.tela_botanica.del.client.modeles.Commentaire; |
import org.tela_botanica.del.client.modeles.PropositionDetermination; |
|
import com.google.gwt.core.client.GWT; |
import com.google.gwt.event.dom.client.HasClickHandlers; |
import com.google.gwt.event.dom.client.HasMouseOutHandlers; |
import com.google.gwt.event.dom.client.HasMouseOverHandlers; |
import com.google.gwt.i18n.client.DateTimeFormat; |
import com.google.gwt.uibinder.client.UiBinder; |
import com.google.gwt.uibinder.client.UiField; |
import com.google.gwt.user.client.Window; |
import com.google.gwt.user.client.ui.Button; |
import com.google.gwt.user.client.ui.Composite; |
import com.google.gwt.user.client.ui.FocusPanel; |
import com.google.gwt.user.client.ui.HTML; |
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.Panel; |
import com.google.gwt.user.client.ui.Widget; |
|
public class ForumInterventionVue extends Composite implements Vue { |
|
private static ForumUIiBinder uiBinder = GWT.create(ForumUIiBinder.class); |
|
interface ForumUIiBinder extends UiBinder<Widget, ForumInterventionVue> { |
}; |
|
@UiField |
FocusPanel proposition; |
|
@UiField |
Label nom, nomTaxon, date, commentaire, repondre, labelDeterminationProposee; |
|
@UiField |
HTMLPanel conteneurIntermediaireProposition, voter, zoneVoter, zoneDetermination, zoneEnfants; |
|
@UiField |
Button boutonValidationTaxon; |
|
@UiField |
FocusPanel conteneurLienSuppression; |
|
@UiField |
HTML supprimer, nbVotesHtml; |
|
@UiField |
FocusPanel conteneurPanneauVotes; |
|
|
public ForumInterventionVue() { |
initWidget(uiBinder.createAndBindUi(this)); |
} |
|
@Override |
public HasClickHandlers getLienSuppression() { |
return conteneurLienSuppression; |
} |
|
@Override |
public void afficherLienSuppression() { |
conteneurLienSuppression.removeStyleName("invisible"); |
} |
|
@Override |
public void cacherLienSuppression() { |
conteneurLienSuppression.addStyleName("invisible"); |
} |
|
@Override |
public void ajouterInterventionDetermination(PropositionDetermination determination, IsWidget barreRepartition, IsWidget arbreCommentaires) { |
|
nom.setText(determination.getAuteur()); |
nomTaxon.setText(determination.getEspece()); |
|
voter.add(barreRepartition); |
|
date.setText(DateTimeFormat.getFormat("dd/MM/yyyy").format(determination.getDate())); |
|
commentaire.setText(determination.getCommentaire()); |
|
if (determination.estFils()) { |
proposition.setStyleName("enfant"); |
} |
|
if(determination.estPropositionInitiale()) { |
labelDeterminationProposee.setText(I18n.getVocabulary().determinationOriginalePar()); |
labelDeterminationProposee.addStyleName("indicationPropositionInitiale"); |
} else { |
labelDeterminationProposee.setText(I18n.getVocabulary().determinationProposeePar()); |
} |
|
if(determination.estPropositionRetenue()) { |
proposition.setTitle(I18n.getVocabulary().indicationPropositionValidee()); |
proposition.setStyleName("propositionRetenue"); |
} |
|
boutonValidationTaxon.setTitle(I18n.getVocabulary().indicationValiderProposition()); |
conteneurIntermediaireProposition.addStyleName("propositionValidable"); |
} |
|
@Override |
public void ajouterInterventionCommentaire(Commentaire nouveauCommentaire, IsWidget arbreCommentaires) { |
|
zoneVoter.setVisible(false); |
zoneDetermination.setVisible(false); |
|
nom.setText(nouveauCommentaire.getAuteur()); |
|
date.setText(DateTimeFormat.getFormat("dd/MM/yyyy").format(nouveauCommentaire.getDate())); |
|
commentaire.setText(nouveauCommentaire.getCommentaire()); |
|
if (nouveauCommentaire.estFils()) { |
proposition.setStyleName("enfant"); |
} |
|
boutonValidationTaxon.setVisible(false); |
} |
|
@Override |
public HasClickHandlers getRepondre() { |
return repondre; |
} |
|
@Override |
public HasWidgets getEnfants() { |
|
return zoneEnfants; |
} |
|
@Override |
public HasMouseOverHandlers getConteneurInterventionMouseOver() { |
return proposition; |
} |
|
@Override |
public HasMouseOutHandlers getConteneurInterventionMouseOut() { |
return proposition; |
} |
|
public HasClickHandlers getEspece() { |
return nomTaxon; |
} |
|
public void ajouterLienEspece() { |
nomTaxon.addStyleName("labelLien"); |
} |
|
public HasClickHandlers getAuteur() { |
return nom; |
} |
|
public void ajouterLienAuteur() { |
nom.addStyleName("lien"); |
nom.setTitle("Voir le profil"); |
} |
|
public void cacherDeterminationProposee() { |
labelDeterminationProposee.setVisible(false); |
} |
|
@Override |
public void ajouterLienVotes() { |
conteneurPanneauVotes.addStyleName("nombreVotes"); |
} |
|
public void masquerLienVotes() { |
conteneurPanneauVotes.removeStyleName("nombreVotes"); |
nbVotesHtml.setVisible(false); |
} |
|
@Override |
public void setNbVotes(int votes) { |
nbVotesHtml.setText(String.valueOf(votes)); |
} |
|
@Override |
public HasClickHandlers getZoneNbVotes() { |
return this.conteneurPanneauVotes; |
} |
|
@Override |
public HasClickHandlers getBoutonValidationTaxon() { |
return this.boutonValidationTaxon; |
} |
|
@Override |
public void cacherBoutonValidationTaxon() { |
boutonValidationTaxon.setVisible(false); |
} |
|
@Override |
public void afficherBoutonValidationTaxon() { |
boutonValidationTaxon.setVisible(true); |
} |
} |