12,6 → 12,7 |
import org.tela_botanica.client.cel2; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.modeles.dao.ListeReferentielChampsEtendusDAO; |
import org.tela_botanica.client.modeles.dao.ListeReferentielPersoAsynchroneDAO; |
import org.tela_botanica.client.modeles.objets.ChampEtendu; |
import org.tela_botanica.client.modeles.objets.Configuration; |
import org.tela_botanica.client.modeles.objets.EntiteGeographiqueObservation; |
18,10 → 19,12 |
import org.tela_botanica.client.modeles.objets.ListeObservation; |
import org.tela_botanica.client.modeles.objets.ListeReferentielLocalite; |
import org.tela_botanica.client.modeles.objets.ListeReferentielNom; |
import org.tela_botanica.client.modeles.objets.ListeReferentielPerso; |
import org.tela_botanica.client.modeles.objets.Observation; |
import org.tela_botanica.client.modeles.objets.Ontologies; |
import org.tela_botanica.client.modeles.objets.ReferentielLocalite; |
import org.tela_botanica.client.modeles.objets.ReferentielNom; |
import org.tela_botanica.client.modeles.objets.Utilisateur; |
import org.tela_botanica.client.modeles.objets.ListeReferentielPerso.TypesReferentiels; |
import org.tela_botanica.client.observation.ObservationMediateur; |
import org.tela_botanica.client.util.AutoCompletionRefComboBox; |
28,9 → 31,15 |
import org.tela_botanica.client.util.ChampSaisieEtendu; |
import org.tela_botanica.client.util.FormulaireSaisieChampEtendu; |
import org.tela_botanica.client.util.Util; |
import org.tela_botanica.client.util.autocompletion.AutoCompletionComboBox; |
|
import com.google.gwt.event.dom.client.ClickEvent; |
import com.google.gwt.event.dom.client.ClickHandler; |
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.JSONString; |
import com.google.gwt.json.client.JSONValue; |
import com.google.gwt.user.client.Timer; |
import com.google.gwt.user.client.Window; |
import com.google.gwt.user.client.ui.HTML; |
49,6 → 58,7 |
import com.gwtext.client.data.StringFieldDef; |
import com.gwtext.client.widgets.BoxComponent; |
import com.gwtext.client.widgets.Button; |
import com.gwtext.client.widgets.Component; |
import com.gwtext.client.widgets.Container; |
import com.gwtext.client.widgets.DatePicker; |
import com.gwtext.client.widgets.Panel; |
91,9 → 101,9 |
FormPanel panneauFormulaire = null; |
|
private DateField date = null; |
private ComboBox lieudit = null; |
private ComboBox station = null; |
private ComboBox milieu = null; |
private AutoCompletionComboBox lieudit = null; |
private AutoCompletionComboBox station = null; |
private AutoCompletionComboBox milieu = null; |
private TextField comment = null; |
private ComboBox localite = null; |
|
358,14 → 368,23 |
|
panneauPremierColonne.add(htmllocalitePanel); |
|
station = new AutoCompletionRefComboBox("Station", "station", observationMediateur, TypesReferentiels.REFERENTIEL_STATION) { |
station = new AutoCompletionComboBox("Station", ListeReferentielPersoAsynchroneDAO.getUrlReferentielPerso(TypesReferentiels.REFERENTIEL_STATION)) { |
@Override |
protected Map<String, String> parserResultatRequete(Response response) { |
return Util.parserRetourReferentielPerso(response); |
} |
|
@Override |
public void onModificationValeur() { |
public void onSelectionValeur() { |
stationModifiee = true; |
} |
|
@Override |
protected void onModificationValeur() { |
stationModifiee = true; |
} |
|
@Override |
public void onValidationSaisie() { |
validerSaisie(Champs.STATION); |
} |
500,14 → 519,23 |
selecteurAbondance.setTpl(champsListeTpl); |
panneauPremierColonne.add(selecteurAbondance, new AnchorLayoutData("95%")); |
|
lieudit = new AutoCompletionRefComboBox("Lieu-dit", "lieudit",observationMediateur,TypesReferentiels.REFERENTIEL_LIEU_DIT) { |
lieudit = new AutoCompletionComboBox("Lieu-dit", ListeReferentielPersoAsynchroneDAO.getUrlReferentielPerso(TypesReferentiels.REFERENTIEL_LIEU_DIT)) { |
@Override |
protected Map<String, String> parserResultatRequete(Response response) { |
return Util.parserRetourReferentielPerso(response); |
} |
|
@Override |
public void onModificationValeur() { |
public void onSelectionValeur() { |
lieuDitModifie = true; |
} |
|
@Override |
protected void onModificationValeur() { |
lieuDitModifie = true; |
} |
|
@Override |
public void onValidationSaisie() { |
validerSaisie(Champs.LIEUDIT); |
} |
514,18 → 542,26 |
}; |
panneauSecondeColonne.add(lieudit, new AnchorLayoutData("95%")); |
|
milieu = new AutoCompletionRefComboBox("Milieu","milieu",observationMediateur,TypesReferentiels.REFERENTIEL_MILIEU) { |
milieu = new AutoCompletionComboBox("Milieu", ListeReferentielPersoAsynchroneDAO.getUrlReferentielPerso(TypesReferentiels.REFERENTIEL_MILIEU)) { |
@Override |
protected Map<String, String> parserResultatRequete(Response response) { |
return Util.parserRetourReferentielPerso(response); |
} |
|
@Override |
public void onModificationValeur() { |
public void onSelectionValeur() { |
milieuModifie = true; |
} |
|
@Override |
protected void onModificationValeur() { |
milieuModifie = true; |
} |
|
@Override |
public void onValidationSaisie() { |
validerSaisie(Champs.MILIEU); |
} |
|
}; |
panneauSecondeColonne.add(milieu, new AnchorLayoutData("95%")); |
|
606,6 → 642,8 |
htmllocalitePanel.doLayout(); |
htmlPanel.doLayout(); |
|
redimensionnerChampsEtendus(); |
|
doLayout(); |
} |
}); |
631,6 → 669,7 |
if(conteneurChampEtenduGauche != null && conteneurChampEtenduDroite != null) { |
conteneurChampEtenduGauche.show(); |
conteneurChampEtenduDroite.show(); |
redimensionnerChampsEtendus(); |
} |
lienAfficherChampsEtendus.setText("Cacher les champs étendus"); |
} |
718,7 → 757,7 |
} |
|
private void ajouterChampEtenduAuFormulaire(ChampSaisieEtendu nChamp, boolean fermerPopup) { |
ChampEtendu chet = new ChampEtendu(nChamp.getName(), nChamp.getFieldLabel(), ""); |
ChampEtendu chet = new ChampEtendu(nChamp.getCle(), nChamp.getLabel(), ""); |
Map<String, ChampEtendu> champsEt = getValeursChampsEtendus(); |
if(!champsEt.containsKey(chet.getCle())) { |
champsEt.put(chet.getCle(), chet); |
1408,10 → 1447,6 |
observationMediateur.obtenirListeReferentielNom(this,referentiel ,esp); |
} |
|
protected void obtenirReferentielStation() { |
observationMediateur.obtenirListeReferentielPerso(this,TypesReferentiels.REFERENTIEL_STATION,station.getText()); |
} |
|
protected void obtenirListeReferentielMilieu() { |
observationMediateur.obtenirListeReferentielPerso(this,TypesReferentiels.REFERENTIEL_MILIEU,milieu.getText()); |
} |
1793,7 → 1828,7 |
private void viderChampsEtendus() { |
if(listeChampsEtendus != null) { |
for (Iterator<String> it = listeChampsEtendus.keySet().iterator(); it.hasNext();) { |
TextField champEtendu = listeChampsEtendus.get(it.next()); |
ChampSaisieEtendu champEtendu = listeChampsEtendus.get(it.next()); |
champEtendu.destroy(); |
} |
if(conteneurChampEtenduGauche != null && conteneurChampEtenduDroite != null) { |
1852,7 → 1887,7 |
label = Util.formaterCleChampsEtenduPourAffichage(label); |
} |
|
ChampSaisieEtendu champTexteEtendu = new ChampSaisieEtendu(label, id); |
ChampSaisieEtendu champTexteEtendu = new ChampSaisieEtendu(label, id, ListeReferentielChampsEtendusDAO.getUrlRequeteValeursChampEtendu(id)); |
if(champ.equals(champsAFocus)) { |
champTexteEtendu.focus(); |
} |
1874,6 → 1909,8 |
if(!afficherChampsEtendus) { |
conteneurChampEtenduGauche.setVisible(false); |
conteneurChampEtenduDroite.setVisible(false); |
} else { |
redimensionnerChampsEtendus(); |
} |
} else { |
lienAfficherChampsEtendus.setVisible(false); |
1881,14 → 1918,33 |
doLayout(); |
} |
|
private void redimensionnerChampsEtendus() { |
int largeur = conteneurChampEtenduGauche.getWidth(); |
if(largeur <= 0) { |
Timer t = new Timer() { |
@Override |
public void run() { |
redimensionnerChampsEtendus(); |
} |
}; |
t.schedule(150); |
} else { |
for (Iterator<String> iterator = listeChampsEtendus.keySet().iterator(); iterator |
.hasNext();) { |
ChampSaisieEtendu ch = listeChampsEtendus.get(iterator.next()); |
ch.redimensionner(largeur - 15); |
} |
} |
} |
|
private Map<String, ChampEtendu> getValeursChampsEtendus() { |
Map<String, ChampEtendu> valeursChampsEtendus = new HashMap<String, ChampEtendu>(); |
if(listeChampsEtendus != null) { |
for (Iterator<String> it = listeChampsEtendus.keySet().iterator(); it.hasNext();) { |
String cle = it.next(); |
TextField champTexteEtendu = listeChampsEtendus.get(cle); |
String label = champTexteEtendu.getFieldLabel(); |
String valeur = champTexteEtendu.getValueAsString(); |
ChampSaisieEtendu champTexteEtendu = listeChampsEtendus.get(cle); |
String label = champTexteEtendu.getLabel(); |
String valeur = champTexteEtendu.getRawValue(); |
ChampEtendu champEtendu = new ChampEtendu(cle, label, valeur); |
valeursChampsEtendus.put(cle, champEtendu); |
} |