Subversion Repositories eFlore/Applications.del

Rev

Rev 320 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 320 Rev 658
1
package org.tela_botanica.del.client.vues.plateformedetermination.formulairecommentaire;
1
package org.tela_botanica.del.client.vues.plateformedetermination.formulairecommentaire;
2
 
2
 
3
import java.util.Date;
3
import java.util.Date;
-
 
4
 
-
 
5
import org.tela_botanica.del.client.composants.presenteur.Presenteur;
4
 
6
import org.tela_botanica.del.client.composants.validation.ValidateurChampTexteNonNul;
5
import org.tela_botanica.del.client.modeles.Commentaire;
7
import org.tela_botanica.del.client.modeles.Commentaire;
6
import org.tela_botanica.del.client.modeles.PossesseurDeCommentaires;
8
import org.tela_botanica.del.client.modeles.Observation;
7
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
9
import org.tela_botanica.del.client.navigation.evenement.BusEvenementiel;
8
import org.tela_botanica.del.client.navigation.evenement.ajoutcommentaire.EvenementAjoutCommentaire;
10
import org.tela_botanica.del.client.navigation.evenement.ajoutcommentaire.EvenementAjoutCommentaire;
9
 
11
 
10
import com.google.gwt.event.dom.client.ClickEvent;
12
import com.google.gwt.event.dom.client.ClickEvent;
11
import com.google.gwt.event.dom.client.ClickHandler;
13
import com.google.gwt.event.dom.client.ClickHandler;
12
import com.google.gwt.event.dom.client.HasClickHandlers;
14
import com.google.gwt.event.dom.client.HasClickHandlers;
13
import com.google.gwt.user.client.ui.HasText;
15
import com.google.gwt.user.client.ui.HasText;
14
import com.google.gwt.user.client.ui.HasWidgets;
16
import com.google.gwt.user.client.ui.HasWidgets;
15
import com.google.gwt.user.client.ui.IsWidget;
17
import com.google.gwt.user.client.ui.IsWidget;
16
 
18
 
17
public class FormulaireCommentairePresenteur {
19
public class FormulaireCommentairePresenteur extends Presenteur{
18
	
20
	
19
	private PossesseurDeCommentaires objetACommenter;
21
	private Observation observation;
20
	
22
	
21
	public interface Vue extends IsWidget {
23
	public interface Vue extends IsWidget {
22
		public abstract HasText getNomPrenom();
24
		public abstract HasText getNomPrenom();
23
		public abstract HasText getCommentaire();
25
		public abstract HasText getCommentaire();
24
		public abstract HasClickHandlers getBoutonValidationCommentaire();
26
		public abstract HasClickHandlers getBoutonValidationCommentaire();
-
 
27
		public void afficherStyleErreur(String styleErreur);
-
 
28
		public void supprimerStyleErreur(String styleErreur);
25
	}
29
	}
26
	
30
	
27
	private Vue vue;
31
	private Vue vue;
28
 
32
 
29
	public FormulaireCommentairePresenteur(PossesseurDeCommentaires objetACommenter, Vue vue) {
33
	public FormulaireCommentairePresenteur(Observation observation, Vue vue) {
30
		this.objetACommenter = objetACommenter;
34
		this.observation = observation;
31
		this.vue = vue;
35
		this.vue = vue;
32
	}
36
	}
33
 
37
 
34
	public void go(HasWidgets composite) {
38
	public void go(HasWidgets composite) {
35
		composite.add(vue.asWidget());
39
		composite.add(vue.asWidget());
-
 
40
		gererEvenements();
36
	}
41
	}
37
 
42
 
38
	protected void gererEvenements() {
43
	protected void gererEvenements() {
39
		vue.getBoutonValidationCommentaire().addClickHandler(new ClickHandler() {
44
		vue.getBoutonValidationCommentaire().addClickHandler(new ClickHandler() {
40
			
45
			
41
			@Override
46
			@Override
42
			public void onClick(ClickEvent event) {
47
			public void onClick(ClickEvent event) {
-
 
48
				
-
 
49
				if (!validerNomPrenom()||!validerCommentaire()) {
-
 
50
					return;
-
 
51
				}
-
 
52
				
43
				String texteCommentaire = vue.getCommentaire().getText();
53
				String texteCommentaire = vue.getCommentaire().getText();
44
				String nomPrenom = vue.getNomPrenom().getText();
54
				String nomPrenom = vue.getNomPrenom().getText();
45
				
55
				
46
				Commentaire commentaire = new Commentaire(nomPrenom, new Date(), texteCommentaire);
56
				Commentaire commentaire = new Commentaire(nomPrenom, new Date(), texteCommentaire);
47
				objetACommenter.ajouterCommentaire(commentaire);
57
				observation.getInterventionsForum().add(commentaire);
48
				
58
				
49
				BusEvenementiel.getInstance().fireEvent(new EvenementAjoutCommentaire(commentaire));
59
				BusEvenementiel.getInstance().fireEvent(new EvenementAjoutCommentaire(commentaire));
50
			}
60
			}
51
		});
61
		});
52
	}
62
	}
-
 
63
	
-
 
64
	private boolean validerNomPrenom() {
-
 
65
 
-
 
66
		ValidateurChampTexteNonNul validateurTaxon = new ValidateurChampTexteNonNul(vue.getNomPrenom()) {
-
 
67
			@Override
-
 
68
			public void afficherStyleErreur(String styleErreur) {
-
 
69
				vue.afficherStyleErreur(styleErreur);
-
 
70
			}
-
 
71
			
-
 
72
			@Override
-
 
73
			public void supprimerStyleErreur(String styleErreur) {
-
 
74
				vue.supprimerStyleErreur(styleErreur);
-
 
75
			}
-
 
76
		};
-
 
77
		return validateurTaxon.valider();
-
 
78
	}
-
 
79
	
-
 
80
	private boolean validerCommentaire() {
-
 
81
 
-
 
82
		ValidateurChampTexteNonNul validateurCommentaire = new ValidateurChampTexteNonNul(vue.getCommentaire()) {
-
 
83
			@Override
-
 
84
			public void afficherStyleErreur(String styleErreur) {
-
 
85
				vue.afficherStyleErreur(styleErreur);
-
 
86
			}
-
 
87
			
-
 
88
			@Override
-
 
89
			public void supprimerStyleErreur(String styleErreur) {
-
 
90
				vue.supprimerStyleErreur(styleErreur);
-
 
91
			}
-
 
92
		};
-
 
93
		return validateurCommentaire.valider();
-
 
94
	}
53
 
95
 
54
}
96
}