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 |
}
|