Subversion Repositories eFlore/Applications.cel

Rev

Rev 1858 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1858 Rev 1940
Line 20... Line 20...
20
import org.tela_botanica.client.modeles.objets.ReferentielCommune;
20
import org.tela_botanica.client.modeles.objets.ReferentielCommune;
21
import org.tela_botanica.client.modeles.objets.ReferentielNom;
21
import org.tela_botanica.client.modeles.objets.ReferentielNom;
22
import org.tela_botanica.client.modeles.objets.ListeReferentielPerso.TypesReferentiels;
22
import org.tela_botanica.client.modeles.objets.ListeReferentielPerso.TypesReferentiels;
23
import org.tela_botanica.client.observation.ObservationMediateur;
23
import org.tela_botanica.client.observation.ObservationMediateur;
24
import org.tela_botanica.client.util.AutoCompletionRefComboBox;
24
import org.tela_botanica.client.util.AutoCompletionRefComboBox;
-
 
25
import org.tela_botanica.client.util.ChampSaisieEtendu;
-
 
26
import org.tela_botanica.client.util.FormulaireSaisieChampEtendu;
25
import org.tela_botanica.client.util.Util;
27
import org.tela_botanica.client.util.Util;
Line -... Line 28...
-
 
28
 
26
 
29
import com.google.gwt.core.client.JavaScriptObject;
27
import com.google.gwt.event.dom.client.ClickEvent;
30
import com.google.gwt.event.dom.client.ClickEvent;
28
import com.google.gwt.event.dom.client.ClickHandler;
31
import com.google.gwt.event.dom.client.ClickHandler;
29
import com.google.gwt.maps.client.geom.LatLng;
32
import com.google.gwt.maps.client.geom.LatLng;
30
import com.google.gwt.user.client.Timer;
33
import com.google.gwt.user.client.Timer;
31
import com.google.gwt.user.client.Window;
34
import com.google.gwt.user.client.Window;
-
 
35
import com.google.gwt.user.client.ui.HTML;
-
 
36
import com.google.gwt.user.client.ui.HorizontalPanel;
32
import com.google.gwt.user.client.ui.HTML;
37
import com.google.gwt.user.client.ui.PopupPanel;
33
import com.gwtext.client.core.EventCallback;
38
import com.gwtext.client.core.EventCallback;
34
import com.gwtext.client.core.EventObject;
39
import com.gwtext.client.core.EventObject;
35
import com.gwtext.client.core.Ext;
40
import com.gwtext.client.core.Ext;
36
import com.gwtext.client.core.ExtElement;
41
import com.gwtext.client.core.ExtElement;
Line 255... Line 260...
255
	private ComboBox selecteurStadePheno = null;
260
	private ComboBox selecteurStadePheno = null;
Line 256... Line 261...
256
 
261
 
Line 257... Line 262...
257
	private boolean selectionMultiple = false;
262
	private boolean selectionMultiple = false;
-
 
263
 
Line 258... Line 264...
258
 
264
	private HTML lienAfficherChampsEtendus = null;
259
	private HTML lienAfficherChampsEtendus = null;
265
	private HTML lienAjouterChampsEtendus = null;
Line 260... Line 266...
260
 
266
 
-
 
267
	Panel conteneurChampEtenduGauche = null;
261
	Panel conteneurChampEtenduGauche = null;
268
	Panel conteneurChampEtenduDroite = null;
Line -... Line 269...
-
 
269
 
-
 
270
	private boolean afficherChampsEtendus = false;
262
	Panel conteneurChampEtenduDroite = null;
271
	private boolean afficherLienAjoutChampsEtendus = false;
Line 263... Line 272...
263
 
272
	private boolean premierAffichage = true;
264
	private boolean afficherChampsEtendus = false;
273
 
265
	private boolean premierAffichage = true;
274
	private PopupPanel popUpAjoutChampEtendu = new PopupPanel();
266
 
275
	
Line 559... Line 568...
559
			panneauIntermediaire.add(panneauPremierColonne);
568
			panneauIntermediaire.add(panneauPremierColonne);
560
			panneauIntermediaire.add(panneauSecondeColonne);   
569
			panneauIntermediaire.add(panneauSecondeColonne);   
561
	    }
570
	    }
Line 562... Line 571...
562
 
571
 
563
		panneauFormulaire.add(panneauIntermediaire);
572
		panneauFormulaire.add(panneauIntermediaire);
564
 
573
		
565
		if (Ext.isIE()) {
574
		if (Ext.isIE()) {
566
			panneauPremierColonne.setButtonAlign(Position.RIGHT);
575
			panneauPremierColonne.setButtonAlign(Position.RIGHT);
567
			panneauPremierColonne.addButton(boutonOK);
576
			panneauPremierColonne.addButton(boutonOK);
568
			panneauPremierColonne.addButton(boutonModifier);
577
			panneauPremierColonne.addButton(boutonModifier);
Line 622... Line 631...
622
					}
631
					}
623
					lienAfficherChampsEtendus.setText("Cacher les champs étendus");
632
					lienAfficherChampsEtendus.setText("Cacher les champs étendus");
624
				}
633
				}
625
			}
634
			}
626
		});
635
		});
-
 
636
		
-
 
637
		if(Configuration.saisieChampsEtendusActivee()) {
-
 
638
			lienAjouterChampsEtendus = new HTML("Ajouter un champ étendu");
-
 
639
			lienAjouterChampsEtendus.addStyleName("lienAjouterChampEtendu");
-
 
640
			lienAjouterChampsEtendus.setVisible(true);
-
 
641
			panneauPremierColonne.add(lienAjouterChampsEtendus);
-
 
642
			gererLienAjoutChampsEtendus();
-
 
643
		}
-
 
644
		
627
		panneauPremierColonne.add(lienAfficherChampsEtendus);
645
		panneauPremierColonne.add(lienAfficherChampsEtendus);
628
		panneauPremierColonne.addListener(new PanelListenerAdapter() {
646
		panneauPremierColonne.addListener(new PanelListenerAdapter() {
629
			@Override
647
			@Override
630
			public void onAfterLayout(Container c) {
648
			public void onAfterLayout(Container c) {
631
				if(premierAffichage) {
649
				if(premierAffichage) {
Line 637... Line 655...
637
 
655
 
638
		ajouterListeners() ;
656
		ajouterListeners() ;
639
		ajouterToolTipsBoutons();
657
		ajouterToolTipsBoutons();
640
		saisieTabindex();
658
		saisieTabindex();
-
 
659
	}
-
 
660
	
-
 
661
	private void gererLienAjoutChampsEtendus() {	
-
 
662
		popUpAjoutChampEtendu.setStylePrimaryName("popup_champ_etendu");
-
 
663
		lienAjouterChampsEtendus.addClickHandler(new ClickHandler() {
-
 
664
			@Override
-
 
665
			public void onClick(ClickEvent event) {
-
 
666
				FormulaireSaisieChampEtendu formChamp = new FormulaireSaisieChampEtendu() {					
-
 
667
					@Override
-
 
668
					public void surValidation(ChampSaisieEtendu champ) {
-
 
669
						ajouterChampEtenduAuFormulaire(champ);
-
 
670
						popUpAjoutChampEtendu.clear();
-
 
671
						popUpAjoutChampEtendu.hide();
-
 
672
					}
-
 
673
 
-
 
674
					@Override
-
 
675
					public void surAnnulation() {
-
 
676
						popUpAjoutChampEtendu.clear();
-
 
677
						popUpAjoutChampEtendu.hide();
-
 
678
					}
-
 
679
				};
-
 
680
				popUpAjoutChampEtendu.add(formChamp);
-
 
681
				popUpAjoutChampEtendu.center();		
-
 
682
				popUpAjoutChampEtendu.setTitle("Ajout d'un champ étendu");
-
 
683
				popUpAjoutChampEtendu.show();
-
 
684
			}
-
 
685
		});
-
 
686
	}
-
 
687
	
-
 
688
	private void ajouterChampEtenduAuFormulaire(ChampSaisieEtendu nChamp) {
-
 
689
		ChampEtendu chet = new ChampEtendu(nChamp.getName(), nChamp.getFieldLabel(), "");
-
 
690
		Map<String, ChampEtendu> champsEt = getValeursChampsEtendus();
-
 
691
		champsEt.put(chet.getCle(), chet);
-
 
692
		afficherChampsEtendus = true;
-
 
693
		afficherChampsEtendus(champsEt, chet);
Line 641... Line 694...
641
	}
694
	}
642
 
695
 
643
	private void ajouterToolTipsBoutons() {
696
	private void ajouterToolTipsBoutons() {
644
		boutonOK.setTitle("Crée une nouvelle observation à partir des champs saisis dans le formulaire");
697
		boutonOK.setTitle("Crée une nouvelle observation à partir des champs saisis dans le formulaire");
Line 1287... Line 1340...
1287
	 observationMediateur.obtenirListeReferentielCommune(this,com);
1340
	 observationMediateur.obtenirListeReferentielCommune(this,com);
Line 1288... Line 1341...
1288
 
1341
 
Line 1289... Line 1342...
1289
	}
1342
	}
1290
 
1343
 
1291
	public void obtenirListeReferentielNom() {
1344
	public void obtenirListeReferentielNom() {
1292
	  String esp=espece.getText().replaceAll(" ","/*");
1345
		String esp=espece.getText().replaceAll(" ","/*");
1293
	  esp=esp.replaceAll("%","");
1346
		esp=esp.replaceAll("%","");
1294
	  String referentiel = this.referentielTaxo;
1347
		String referentiel = this.referentielTaxo;
1295
 
1348
		
Line 1296... Line 1349...
1296
	  observationMediateur.obtenirListeReferentielNom(this,referentiel ,esp);
1349
		observationMediateur.obtenirListeReferentielNom(this,referentiel ,esp);
1297
	}
1350
	}
1298
 
1351
 
Line 1677... Line 1730...
1677
		} else {
1730
		} else {
1678
			referentielTaxo = "";
1731
			referentielTaxo = "";
1679
			selecteurReferentielTaxo.setRawValue(VALEURS_MULTIPLES);
1732
			selecteurReferentielTaxo.setRawValue(VALEURS_MULTIPLES);
1680
		}
1733
		}
Line 1681... Line 1734...
1681
 
1734
 
1682
		afficherChampsEtendus(obs);
1735
		afficherChampsEtendus(obs.getChampsEtendus(), null);
Line 1683... Line 1736...
1683
	}
1736
	}
1684
 
1737
 
1685
	private boolean doitAfficherLatLon(Observation obs) {
1738
	private boolean doitAfficherLatLon(Observation obs) {
Line 1707... Line 1760...
1707
			}
1760
			}
1708
			listeChampsEtendus = null;
1761
			listeChampsEtendus = null;
1709
		}
1762
		}
1710
	}
1763
	}
Line 1711... Line 1764...
1711
 
1764
 
1712
	private void afficherChampsEtendus(Observation obs) {
1765
	private void afficherChampsEtendus(Map<String, ChampEtendu> champsEtendus, ChampEtendu champsAFocus) {
Line 1713... Line 1766...
1713
		viderChampsEtendus();
1766
		viderChampsEtendus();
1714
 
1767
 
Line 1729... Line 1782...
1729
		conteneurChampEtenduDroite.setAutoWidth(true);
1782
		conteneurChampEtenduDroite.setAutoWidth(true);
1730
		conteneurChampEtenduDroite.setStyle("conteneurChampsEtendus");
1783
		conteneurChampEtenduDroite.setStyle("conteneurChampsEtendus");
1731
		conteneurChampEtenduDroite.setBodyBorder(false);
1784
		conteneurChampEtenduDroite.setBodyBorder(false);
Line 1732... Line 1785...
1732
 
1785
 
1733
		// pour corriger le décalage sur le panneau induit par le lien d'affichage
1786
		// pour corriger le décalage sur le panneau induit par le lien d'affichage
Line 1734... Line 1787...
1734
		conteneurChampEtenduDroite.setPaddings(25, 0, 0, 0);
1787
		conteneurChampEtenduDroite.setPaddings(42, 0, 0, 0);
1735
 
1788
 
1736
		if(obs.getChampsEtendus() != null && obs.getChampsEtendus().size() > 0) {
1789
		if(champsEtendus != null && champsEtendus.size() > 0) {
1737
			lienAfficherChampsEtendus.setVisible(true);
1790
			lienAfficherChampsEtendus.setVisible(true);
1738
			listeChampsEtendus = new HashMap<String, TextField>(obs.getChampsEtendus().size());
1791
			listeChampsEtendus = new HashMap<String, ChampSaisieEtendu>(champsEtendus.size());
1739
			boolean gauche = true;
1792
			boolean gauche = true;
1740
			for (Iterator<String> iterator = obs.getChampsEtendus().keySet().iterator(); iterator.hasNext();) {
1793
			for (Iterator<String> iterator = champsEtendus.keySet().iterator(); iterator.hasNext();) {
1741
				String id = iterator.next();
1794
				String id = iterator.next();
1742
				ChampEtendu champ = obs.getChampsEtendus().get(id);
1795
				ChampEtendu champ = champsEtendus.get(id);
Line 1743... Line 1796...
1743
				String valeur = champ.getValeur();
1796
				String valeur = champ.getValeur();
-
 
1797
				String label = champ.getLabel();
1744
				String label = champ.getLabel();
1798
 
-
 
1799
				ChampSaisieEtendu champTexteEtendu = new ChampSaisieEtendu(label, id);
1745
 
1800
				if(champ.equals(champsAFocus)) {
1746
				TextField champTexteEtendu = new TextField();
-
 
1747
				champTexteEtendu.setWidth("90%");
1801
					champTexteEtendu.focus();
1748
				champTexteEtendu.setLabel(label);
1802
				}
1749
				champTexteEtendu.setTitle(label);
1803
				champTexteEtendu.setLabel(label);
1750
				champTexteEtendu.setId(id);
1804
				champTexteEtendu.setId(id);
1751
				champTexteEtendu.setValue(valeur);
1805
				champTexteEtendu.setValue(valeur);