Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 155 → Rev 159

/src/org/tela_botanica/del/client/vues/plateformedetermination/forum/ForumVue.ui.xml
8,6 → 8,6
<g:VerticalPanel>
<g:Label text="{constants.lesPropositions}" styleName="titre"/>
<g:Label text="{constants.infoPropositions}" styleName="petit"/>
<g:HTML ui:field='htmlTableau' styleName="{style.table}" />
<g:FlexTable ui:field='htmlTableau' styleName="{style.table}" />
</g:VerticalPanel>
</ui:UiBinder>
/src/org/tela_botanica/del/client/vues/plateformedetermination/forum/ForumPresenteur.java
2,22 → 2,15
 
import java.util.List;
 
import org.tela_botanica.del.client.cache.CacheClient;
import org.tela_botanica.del.client.modeles.PropositionDetermination;
import org.tela_botanica.del.client.utils.GwtObservable;
import org.tela_botanica.del.client.utils.GwtObserver;
import org.tela_botanica.del.client.cache.CacheClient;
import org.tela_botanica.del.client.utils.MockDatasource;
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
import org.tela_botanica.del.client.navigation.evenement.ajoutdetermination.EvenementAjoutDetermination;
import org.tela_botanica.del.client.navigation.evenement.ajoutdetermination.GestionnaireEvenementAjoutDetermination;
 
import com.google.gwt.core.client.GWT;
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.Composite;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.HasWidgets;
import com.google.gwt.user.client.ui.Widget;
 
public class ForumPresenteur implements GwtObserver {
public class ForumPresenteur {
 
private ForumVue forumVue = new ForumVue();
 
25,19 → 18,24
 
public void go(HasWidgets composite) {
 
CacheClient.getInstance().getCurrentObservation().addObserver(this);
chargerCommentaires();
chargerDeterminations();
composite.add(forumVue);
 
gererEvenements();
}
 
private void chargerCommentaires() {
private void chargerDeterminations() {
determinations = CacheClient.getInstance().getCurrentObservation().getImageCelValidationDatas();
forumVue.chargerObservations(determinations);
forumVue.chargerDeterminations(determinations);
}
@Override
public void update(GwtObservable observable, Object data) {
chargerCommentaires();
 
private void gererEvenements() {
BusEvenementiel.getInstance().addHandler(EvenementAjoutDetermination.TYPE, new GestionnaireEvenementAjoutDetermination() {
 
@Override
public void onAjoutDetermination(EvenementAjoutDetermination event) {
forumVue.chargerDetermination(event.getPropositionDetermination());
}
});
}
}
/src/org/tela_botanica/del/client/vues/plateformedetermination/forum/ForumVue.java
13,7 → 13,9
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.FlexTable;
import com.google.gwt.user.client.ui.Tree;
import com.google.gwt.user.client.ui.TreeItem;
import com.google.gwt.user.client.ui.Widget;
 
public class ForumVue extends Composite {
23,40 → 25,56
interface ForumUIiBinder extends UiBinder<Widget, ForumVue> {
};
 
@UiField(provided = true)
HTML htmlTableau = new HTML();
@UiField
FlexTable htmlTableau;
 
public ForumVue() {
initWidget(uiBinder.createAndBindUi(this));
}
 
public void chargerObservations(List<PropositionDetermination> determinations) {
public void chargerDeterminations(List<PropositionDetermination> determinations) {
 
String ligne = "<table>" + "<tr>" + "<th> " + I18n.getVocabulary().nom() + " </th>" + "<th> " + I18n.getVocabulary().contributeur() + " </th>" + "<th> " + I18n.getVocabulary().fiabilite() + " </th>" + "<th> " + I18n.getVocabulary().date() + " </th>" + "<th> " + I18n.getVocabulary().commentaire() + " </th>" + "</tr>";
htmlTableau.setHTML(1, 1, I18n.getVocabulary().nom());
htmlTableau.setHTML(1, 2, I18n.getVocabulary().contributeur());
htmlTableau.setHTML(1, 3, I18n.getVocabulary().fiabilite());
htmlTableau.setHTML(1, 4, I18n.getVocabulary().date());
htmlTableau.setHTML(1, 5, I18n.getVocabulary().commentaire());
 
for (PropositionDetermination observationDetermination : determinations) {
for (PropositionDetermination determination : determinations) {
chargerDetermination(determination);
}
 
ligne += "<tr>" + "<td>" + observationDetermination.getEspece() + "</td>" + "<td>" + observationDetermination.getContributeur() + "</td>" + "<td>" + observationDetermination.getPourcentageConfiance() + "</td>" + "<td>" + formaterDatePourForum(observationDetermination.getDate()) + "</td>" + "<td>" + creerListeCommentaireRecursive(observationDetermination.getCommentaires()) + "</td>" + "</tr>";
}
ligne += "</table>";
htmlTableau.setHTML(ligne);
}
 
private String creerListeCommentaireRecursive(List<Commentaire> commentaires) {
public void chargerDetermination(PropositionDetermination determination) {
 
String commentairesHtml = "<ul class=\"liste_commentaire\">";
Tree arbreCommentaires = new Tree();
TreeItem racineArbreCommentaires = new TreeItem();
arbreCommentaires.addItem(racineArbreCommentaires);
creerListeCommentaireRecursive(racineArbreCommentaires, determination.getCommentaires());
 
int ligne = htmlTableau.getRowCount() + 1;
htmlTableau.setHTML(ligne, 1, determination.getEspece());
htmlTableau.setHTML(ligne, 2, determination.getContributeur());
htmlTableau.setHTML(ligne, 3, determination.getPourcentageConfiance());
htmlTableau.setHTML(ligne, 4, DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT).format(determination.getDate()));
htmlTableau.setWidget(ligne, 5, arbreCommentaires);
 
}
 
private void creerListeCommentaireRecursive(TreeItem parentTreeItem, List<Commentaire> commentaires) {
 
for (Commentaire commentaire : commentaires) {
commentairesHtml += "<li class=\"commentaire\">";
commentairesHtml += "<div class=\"commentaire_texte\">" + commentaire.getCommentaire() + "</div>";
commentairesHtml += "<span class=\"commentaire_auteur\">" + commentaire.getAuteur() + "</span>";
commentairesHtml += "<span class=\"commentaire_date\">" + formaterDatePourForum(commentaire.getDate()) + "</span>";
String commentaireHTML = commentaire.getCommentaire() +" "+ commentaire.getAuteur() + "-"+formaterDatePourForum(commentaire.getDate());
parentTreeItem.setHTML(commentaireHTML);
if (commentaire.getListeCommentaires().size() != 0) {
commentairesHtml += creerListeCommentaireRecursive(commentaire.getListeCommentaires());
TreeItem childTreeItem = new TreeItem();
parentTreeItem.addItem(childTreeItem);
creerListeCommentaireRecursive(childTreeItem, commentaire.getListeCommentaires());
}
commentairesHtml += "</li>";
}
parentTreeItem.setState(true);
 
return commentairesHtml;
}
 
private String formaterDatePourForum(Date date) {
/src/org/tela_botanica/del/client/vues/plateformedetermination/formulaireproposition/FormulairePropositionPresenteur.java
6,6 → 6,8
import org.tela_botanica.del.client.composants.validation.TextNotNullFormValidator;
import org.tela_botanica.del.client.modeles.Commentaire;
import org.tela_botanica.del.client.modeles.PropositionDetermination;
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
import org.tela_botanica.del.client.navigation.evenement.ajoutdetermination.EvenementAjoutDetermination;
import org.tela_botanica.del.client.utils.MockDatasource;
 
import com.google.gwt.event.dom.client.ClickEvent;
35,6 → 37,9
} else {
PropositionDetermination propositionAjoutee = collecterValeursSaisieProposition();
CacheClient.getInstance().getCurrentObservation().addImageCelValidationData(propositionAjoutee);
EvenementAjoutDetermination evenementAjoutDetermination=new EvenementAjoutDetermination(propositionAjoutee);
BusEvenementiel.getInstance().fireEvent(evenementAjoutDetermination);
}
}
});