14,19 → 14,32 |
|
import com.google.gwt.event.dom.client.ClickEvent; |
import com.google.gwt.event.dom.client.ClickHandler; |
import com.google.gwt.event.dom.client.HasClickHandlers; |
import com.google.gwt.http.client.Response; |
import com.google.gwt.json.client.JSONArray; |
import com.google.gwt.json.client.JSONParser; |
import com.google.gwt.json.client.JSONValue; |
import com.google.gwt.user.client.ui.HasText; |
import com.google.gwt.user.client.ui.HasWidgets; |
import com.google.gwt.user.client.ui.IsWidget; |
|
public class FormulairePropositionPresenteur extends Presenteur { |
|
public interface Vue extends IsWidget { |
public abstract HasText getNomPrenom(); |
public abstract HasWidgets getPropositionTaxon(); |
public abstract HasText getCommentaires(); |
public abstract HasClickHandlers getBoutonValidationProposition(); |
public abstract void afficherStyleErreur(String styleErreur); |
public abstract void supprimerStyleErreur(String styleErreur); |
} |
private Vue vue; |
|
private AutoCompletionComboBoxPresenteur autoCompletionNomTaxonsPresenteur; |
private String urlServiceCompletionNom = "http://www.tela-botanica.org/eflore/cel2/jrest/NameSearch/"; |
|
public FormulairePropositionPresenteur() { |
super(new FormulairePropositionVue()); |
public FormulairePropositionPresenteur(Vue vue) { |
this.vue = vue; |
|
autoCompletionNomTaxonsPresenteur = new AutoCompletionComboBoxPresenteur(urlServiceCompletionNom) { |
@Override |
38,13 → 51,13 |
|
public void go(HasWidgets composite) { |
|
autoCompletionNomTaxonsPresenteur.go(((FormulairePropositionVue)getVue()).getPropositionTaxon()); |
composite.add((FormulairePropositionVue)getVue()); |
autoCompletionNomTaxonsPresenteur.go(vue.getPropositionTaxon()); |
composite.add(vue.asWidget()); |
gererEvenements(); |
} |
|
protected void gererEvenements() { |
((FormulairePropositionVue)getVue()).getBoutonValidationProposition().addClickHandler(new ClickHandler() { |
vue.getBoutonValidationProposition().addClickHandler(new ClickHandler() { |
|
@Override |
public void onClick(ClickEvent event) { |
64,7 → 77,17 |
|
private boolean validerSaisieProposition() { |
|
ValidateurChampTexteNonNul validateurTaxon = new ValidateurChampTexteNonNul(((FormulairePropositionVue)getVue()).getNomPrenom()); |
ValidateurChampTexteNonNul validateurTaxon = new ValidateurChampTexteNonNul(vue.getNomPrenom()) { |
@Override |
public void afficherStyleErreur(String styleErreur) { |
vue.afficherStyleErreur(styleErreur); |
} |
|
@Override |
public void supprimerStyleErreur(String styleErreur) { |
vue.supprimerStyleErreur(styleErreur); |
} |
}; |
boolean taxonSaisi = validateurTaxon.valider(); |
|
return taxonSaisi; |
75,9 → 98,9 |
PropositionDetermination propositionAjoutee = new PropositionDetermination(); |
propositionAjoutee.setId(CacheClient.getInstance().getImageCourante().getIdImage()); |
|
String auteur = ((FormulairePropositionVue)getVue()).getNomPrenom().getText(); |
if (((FormulairePropositionVue)getVue()).getCommentaires().getText() != "") { |
String contenuCommentaire = ((FormulairePropositionVue)getVue()).getCommentaires().getText(); |
String auteur = vue.getNomPrenom().getText(); |
if (vue.getCommentaires().getText() != "") { |
String contenuCommentaire = vue.getCommentaires().getText(); |
Commentaire comm = new Commentaire(auteur, new Date(), contenuCommentaire); |
propositionAjoutee.ajouterCommentaire(comm); |
} |