/trunk/src/org/tela_botanica/del/client/composants/formulaires/autocompletion/AutoCompletionComboBoxVue.java |
---|
3,8 → 3,10 |
import org.tela_botanica.del.client.utils.InfosNomPourAutocompletion; |
import org.tela_botanica.del.client.utils.TBSuggestOracle; |
import com.google.gwt.core.client.Callback; |
import com.google.gwt.event.dom.client.HasKeyPressHandlers; |
import com.google.gwt.event.logical.shared.HasSelectionHandlers; |
import com.google.gwt.user.client.Event; |
import com.google.gwt.user.client.ui.HasWidgets; |
import com.google.gwt.user.client.ui.LayoutPanel; |
import com.google.gwt.user.client.ui.SuggestBox; |
15,12 → 17,13 |
TBSuggestOracle msu = new TBSuggestOracle(); |
SuggestBox suggestions = new SuggestBox(msu); |
Callback<String, String> surCopierColler = null; |
public AutoCompletionComboBoxVue() { |
add(suggestions); |
//TODO: voir avec greg si la taille doit être définie ici |
setHeight("25px"); |
setWidth("100%"); |
sinkEvents(Event.ONPASTE); |
} |
@Override |
83,4 → 86,20 |
public void supprimerStyleErreur(String styleErreur) { |
suggestions.removeStyleName(styleErreur); |
} |
public void onBrowserEvent(Event event) { |
super.onBrowserEvent(event); |
switch (event.getTypeInt()) { |
case Event.ONPASTE: { |
if(surCopierColler != null) { |
surCopierColler.onSuccess(suggestions.getValueBox().getValue()); |
} |
} |
} |
} |
@Override |
public void setHandlerCopierColler(Callback<String, String> cb) { |
surCopierColler = cb; |
} |
} |
/trunk/src/org/tela_botanica/del/client/composants/formulaires/autocompletion/AutoCompletionComboBoxPresenteur.java |
---|
2,7 → 2,7 |
import org.tela_botanica.del.client.utils.InfosNomPourAutocompletion; |
import com.google.gwt.core.shared.GWT; |
import com.google.gwt.core.client.Callback; |
import com.google.gwt.event.dom.client.HasKeyPressHandlers; |
import com.google.gwt.event.dom.client.KeyPressEvent; |
import com.google.gwt.event.dom.client.KeyPressHandler; |
16,7 → 16,6 |
import com.google.gwt.http.client.Response; |
import com.google.gwt.http.client.URL; |
import com.google.gwt.user.client.Timer; |
import com.google.gwt.user.client.Window; |
import com.google.gwt.user.client.ui.HasText; |
import com.google.gwt.user.client.ui.HasWidgets; |
import com.google.gwt.user.client.ui.IsWidget; |
38,6 → 37,7 |
public HasText getSuggestBox(); |
public void afficherStyleErreur(String styleErreur); |
public void supprimerStyleErreur(String styleErreur); |
public void setHandlerCopierColler(Callback<String, String> cb); |
} |
private Vue autoCompletionComboBoxVue; |
82,6 → 82,18 |
surSelectionSuggestion(event.getSelectedItem().getReplacementString()); |
} |
}); |
autoCompletionComboBoxVue.setHandlerCopierColler(new Callback<String, String>() { |
@Override |
public void onSuccess(String result) { |
gererTimer(); |
} |
@Override |
public void onFailure(String reason) { |
// rien à faire ça n'échoue jamais |
} |
}); |
} |
public void gererTimer() { |
119,7 → 131,11 |
public void requeteSuggestions() { |
final String requete = URL.encodeQueryString(autoCompletionComboBoxVue.getValeur()); |
// Suppression des espaces et caractères inutiles |
String valeur = autoCompletionComboBoxVue.getValeur().trim(); |
autoCompletionComboBoxVue.setValeur(valeur); |
final String requete = URL.encodeQueryString(valeur); |
String requeteAjax = effectuerPreTraitementChaineRequete(requete); |
// ceci permet au composant qui utilise l'autocomplétion |
134,8 → 150,7 |
try { |
rb.sendRequest(null, new RequestCallback() { |
public void onError(final Request request, final Throwable exception) { |
// TODO Auto-generated method stub |
// TODO Auto-generated method stub |
} |
public void onResponseReceived(final Request request, |
/trunk/src/org/tela_botanica/del/client/composants/formulaires/formulaireproposition/FormulairePropositionPresenteur.java |
---|
10,6 → 10,7 |
import org.tela_botanica.del.client.composants.presenteur.Presenteur; |
import org.tela_botanica.del.client.composants.validation.ValidateurChampTexteNonNul; |
import org.tela_botanica.del.client.config.Config; |
import org.tela_botanica.del.client.i18n.I18n; |
import org.tela_botanica.del.client.modeles.Contributeur; |
import org.tela_botanica.del.client.modeles.InterventionForum; |
import org.tela_botanica.del.client.modeles.PropositionDetermination; |
105,7 → 106,10 |
String url = this.config.getServiceBaseUrl() + "nomstaxons"; |
vue.remplirListeReferentiels(ReferentielService.getReferentiels()); |
final String referentiel = CacheClient.getInstance().getObservationCourante().getReferentiel(); |
String referentielPredefini = referentiel.substring(0, 5); |
int lgSubRef = Math.min(referentiel.length(), 5); |
String referentielPredefini = referentiel.substring(0, lgSubRef); |
if (referentielPredefini.equals("autre") || referentielPredefini.equals("")) { |
referentielPredefini = "bdtfx"; // évite de saisir des noms latins en dur et de perdre le nn |
} |
169,7 → 173,7 |
private boolean verifierPropositionDejaAjoutee(PropositionDetermination propositionDetermination){ |
for(InterventionForum interventionForum: CacheClient.getInstance().getObservationCourante().getInterventionsForum()){ |
if(interventionForum instanceof PropositionDetermination){ |
if(((PropositionDetermination)interventionForum).getEspece().equals(propositionDetermination.getEspece())){ |
if(((PropositionDetermination)interventionForum).getEspece().trim().equals(propositionDetermination.getEspece().trim())){ |
return true; |
} |
} |
231,8 → 235,15 |
boolean prenomSaisi = validateurPrenom.valider(); |
boolean courrielSaisi = validateurCourriel.valider(); |
boolean taxonSaisi = validateurTaxon.valider(); |
String taxonSaisiStr = autoCompletionNomTaxonsPresenteur.getValeur(); |
boolean utilisateurConfirme = true; |
// Si le nom est vide une erreur a déjà été déclenchée plus haut (donc pas la peine de tester cacheTaxons) |
if(!taxonSaisiStr.trim().isEmpty() && !cacheTaxons.containsKey(taxonSaisiStr.trim())) { |
utilisateurConfirme = Window.confirm(I18n.getVocabulary().attentionPropositionTaxon()); |
} |
return nomSaisi && prenomSaisi && courrielSaisi && taxonSaisi; |
return nomSaisi && prenomSaisi && courrielSaisi && taxonSaisi && utilisateurConfirme; |
} |
private PropositionDetermination collecterValeursSaisieProposition() { |
250,8 → 261,8 |
String nomTaxon = autoCompletionNomTaxonsPresenteur.getValeur(); |
propositionAjoutee.setEspece(nomTaxon); |
if(cacheTaxons.containsKey(nomTaxon)) { |
propositionAjoutee.setNumNomenclatural("" + cacheTaxons.get(nomTaxon).getNn()); |
if(cacheTaxons.containsKey(nomTaxon.trim())) { |
propositionAjoutee.setNumNomenclatural("" + cacheTaxons.get(nomTaxon.trim()).getNn()); |
} |
if(vue.getReferentiel() != "tous") { |
/trunk/src/org/tela_botanica/del/client/composants/formulaires/formulaireproposition/FormulairePropositionVue.java |
---|
164,5 → 164,5 |
@Override |
public String getReferentiel() { |
return referentiel.getValue(referentiel.getSelectedIndex()); |
} |
} |
} |