Subversion Repositories eFlore/Applications.del

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
46 aurelien 1
package org.tela_botanica.del.client.vues.plateformedetermination.forum;
2
 
140 aurelien 3
import java.util.Date;
46 aurelien 4
import java.util.List;
5
 
70 aurelien 6
import org.tela_botanica.del.client.i18n.I18n;
140 aurelien 7
import org.tela_botanica.del.client.modeles.Commentaire;
8
import org.tela_botanica.del.client.modeles.PropositionDetermination;
46 aurelien 9
 
10
import com.google.gwt.core.client.GWT;
140 aurelien 11
import com.google.gwt.i18n.client.DateTimeFormat;
12
import com.google.gwt.i18n.client.DateTimeFormat.PredefinedFormat;
46 aurelien 13
import com.google.gwt.uibinder.client.UiBinder;
14
import com.google.gwt.uibinder.client.UiField;
15
import com.google.gwt.user.client.ui.Composite;
16
import com.google.gwt.user.client.ui.HTML;
17
import com.google.gwt.user.client.ui.Widget;
18
 
19
public class ForumVue extends Composite {
155 benjamin 20
 
46 aurelien 21
	private static ForumUIiBinder uiBinder = GWT.create(ForumUIiBinder.class);
155 benjamin 22
 
23
	interface ForumUIiBinder extends UiBinder<Widget, ForumVue> {
24
	};
25
 
26
	@UiField(provided = true)
46 aurelien 27
	HTML htmlTableau = new HTML();
155 benjamin 28
 
29
	public ForumVue() {
46 aurelien 30
		initWidget(uiBinder.createAndBindUi(this));
31
	}
155 benjamin 32
 
140 aurelien 33
	public void chargerObservations(List<PropositionDetermination> determinations) {
155 benjamin 34
 
35
		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>";
36
 
140 aurelien 37
		for (PropositionDetermination observationDetermination : determinations) {
155 benjamin 38
 
39
			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>";
46 aurelien 40
		}
41
		ligne += "</table>";
42
		htmlTableau.setHTML(ligne);
43
	}
155 benjamin 44
 
45
	private String creerListeCommentaireRecursive(List<Commentaire> commentaires) {
46
 
140 aurelien 47
		String commentairesHtml = "<ul class=\"liste_commentaire\">";
48
		for (Commentaire commentaire : commentaires) {
49
			commentairesHtml += "<li class=\"commentaire\">";
155 benjamin 50
			commentairesHtml += "<div class=\"commentaire_texte\">" + commentaire.getCommentaire() + "</div>";
51
			commentairesHtml += "<span class=\"commentaire_auteur\">" + commentaire.getAuteur() + "</span>";
52
			commentairesHtml += "<span class=\"commentaire_date\">" + formaterDatePourForum(commentaire.getDate()) + "</span>";
53
			if (commentaire.getListeCommentaires().size() != 0) {
140 aurelien 54
				commentairesHtml += creerListeCommentaireRecursive(commentaire.getListeCommentaires());
55
			}
56
			commentairesHtml += "</li>";
57
		}
155 benjamin 58
 
140 aurelien 59
		return commentairesHtml;
60
	}
155 benjamin 61
 
140 aurelien 62
	private String formaterDatePourForum(Date date) {
63
		return DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT).format(date);
64
	}
46 aurelien 65
 
66
}