Subversion Repositories eFlore/Applications.del

Rev

Rev 155 | Go to most recent revision | Details | Compare with Previous | 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;
159 benjamin 16
import com.google.gwt.user.client.ui.FlexTable;
17
import com.google.gwt.user.client.ui.Tree;
18
import com.google.gwt.user.client.ui.TreeItem;
46 aurelien 19
import com.google.gwt.user.client.ui.Widget;
20
 
21
public class ForumVue extends Composite {
155 benjamin 22
 
46 aurelien 23
	private static ForumUIiBinder uiBinder = GWT.create(ForumUIiBinder.class);
155 benjamin 24
 
25
	interface ForumUIiBinder extends UiBinder<Widget, ForumVue> {
26
	};
27
 
159 benjamin 28
	@UiField
29
	FlexTable htmlTableau;
155 benjamin 30
 
31
	public ForumVue() {
46 aurelien 32
		initWidget(uiBinder.createAndBindUi(this));
33
	}
155 benjamin 34
 
159 benjamin 35
	public void chargerDeterminations(List<PropositionDetermination> determinations) {
155 benjamin 36
 
159 benjamin 37
		htmlTableau.setHTML(1, 1, I18n.getVocabulary().nom());
38
		htmlTableau.setHTML(1, 2, I18n.getVocabulary().contributeur());
39
		htmlTableau.setHTML(1, 3, I18n.getVocabulary().fiabilite());
40
		htmlTableau.setHTML(1, 4, I18n.getVocabulary().date());
41
		htmlTableau.setHTML(1, 5, I18n.getVocabulary().commentaire());
155 benjamin 42
 
159 benjamin 43
		for (PropositionDetermination determination : determinations) {
44
			chargerDetermination(determination);
45
		}
155 benjamin 46
 
46 aurelien 47
	}
155 benjamin 48
 
159 benjamin 49
	public void chargerDetermination(PropositionDetermination determination) {
155 benjamin 50
 
159 benjamin 51
		Tree arbreCommentaires = new Tree();
52
		TreeItem racineArbreCommentaires = new TreeItem();
53
		arbreCommentaires.addItem(racineArbreCommentaires);
54
		creerListeCommentaireRecursive(racineArbreCommentaires, determination.getCommentaires());
55
 
56
		int ligne = htmlTableau.getRowCount() + 1;
57
		htmlTableau.setHTML(ligne, 1, determination.getEspece());
58
		htmlTableau.setHTML(ligne, 2, determination.getContributeur());
59
		htmlTableau.setHTML(ligne, 3, determination.getPourcentageConfiance());
60
		htmlTableau.setHTML(ligne, 4, DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT).format(determination.getDate()));
61
		htmlTableau.setWidget(ligne, 5, arbreCommentaires);
62
 
63
	}
64
 
65
	private void creerListeCommentaireRecursive(TreeItem parentTreeItem, List<Commentaire> commentaires) {
66
 
140 aurelien 67
		for (Commentaire commentaire : commentaires) {
159 benjamin 68
			String commentaireHTML = commentaire.getCommentaire() +" "+ commentaire.getAuteur() + "-"+formaterDatePourForum(commentaire.getDate());
69
			parentTreeItem.setHTML(commentaireHTML);
155 benjamin 70
			if (commentaire.getListeCommentaires().size() != 0) {
159 benjamin 71
				TreeItem childTreeItem = new TreeItem();
72
				parentTreeItem.addItem(childTreeItem);
73
				creerListeCommentaireRecursive(childTreeItem, commentaire.getListeCommentaires());
140 aurelien 74
			}
75
		}
159 benjamin 76
		parentTreeItem.setState(true);
155 benjamin 77
 
140 aurelien 78
	}
155 benjamin 79
 
140 aurelien 80
	private String formaterDatePourForum(Date date) {
81
		return DateTimeFormat.getFormat(PredefinedFormat.DATE_SHORT).format(date);
82
	}
46 aurelien 83
 
84
}