Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 2606 Rev 2628
Line 4... Line 4...
4
import java.util.HashMap;
4
import java.util.HashMap;
5
import java.util.Iterator;
5
import java.util.Iterator;
6
import java.util.List;
6
import java.util.List;
7
import java.util.Map;
7
import java.util.Map;
Line -... Line 8...
-
 
8
 
8
 
9
import org.tela_botanica.client.i18n.Msg;
9
import org.tela_botanica.client.interfaces.Rafraichissable;
10
import org.tela_botanica.client.interfaces.Rafraichissable;
10
import org.tela_botanica.client.modeles.dao.ListeReferentielChampsEtendusDAO;
11
import org.tela_botanica.client.modeles.dao.ListeReferentielChampsEtendusDAO;
11
import org.tela_botanica.client.modeles.objets.ListeGroupesChampsEtendus;
12
import org.tela_botanica.client.modeles.objets.ListeGroupesChampsEtendus;
12
import org.tela_botanica.client.modeles.objets.Utilisateur;
13
import org.tela_botanica.client.modeles.objets.Utilisateur;
Line 53... Line 54...
53
	public FormulaireSaisieChampEtendu() {	
54
	public FormulaireSaisieChampEtendu() {	
54
		super();
55
		super();
55
		setPaddings(3);
56
		setPaddings(3);
56
		setBodyBorder(false);
57
		setBodyBorder(false);
Line 57... Line 58...
57
		
58
		
58
		indicationSaisieGroupe = new HTML("Vous pouvez ajouter plusieurs champs à la fois correspondant à un groupe "+
-
 
59
				"par exemple les champs des projet 'sauvages de ma rue' ou 'florilèges', etc... <br />"+
-
 
60
				"De nouveaux groupes seront ajoutés régulièrement en fonction des champs les plus utilisés");
59
		indicationSaisieGroupe = new HTML(Msg.get("indication-saisie-groupe-champ-etendus"));
Line 61... Line 60...
61
		indicationSaisieGroupe.addStyleName("aideCreerChampEtendu");
60
		indicationSaisieGroupe.addStyleName("aideCreerChampEtendu");
62
		
61
		
63
		conteneurlabelGroupe = new Panel();
62
		conteneurlabelGroupe = new Panel();
64
		conteneurlabelGroupe.setStyleName("panneauEnLigne");
63
		conteneurlabelGroupe.setStyleName("panneauEnLigne");
65
		conteneurlabelGroupe.addStyleName("selecteurGroupeEtendus");
64
		conteneurlabelGroupe.addStyleName("selecteurGroupeEtendus");
66
		conteneurlabelGroupe.setBorder(false);
65
		conteneurlabelGroupe.setBorder(false);
67
		Label labelGroupeChampsEtendus = new Label("Ajouter un groupe de champs :");
66
		Label labelGroupeChampsEtendus = new Label(Msg.get("ajouter-groupe-champ-etendus")+" :");
68
		listeGroupeChampsEtendus = new ListBox();
67
		listeGroupeChampsEtendus = new ListBox();
69
		listeGroupeChampsEtendus.setWidth("315px");
68
		listeGroupeChampsEtendus.setWidth("315px");
Line 83... Line 82...
83
			ListeReferentielChampsEtendusDAO lrceDao = new ListeReferentielChampsEtendusDAO(null);
82
			ListeReferentielChampsEtendusDAO lrceDao = new ListeReferentielChampsEtendusDAO(null);
84
			lrceDao.obtenirGroupesChampsEtendus(this);
83
			lrceDao.obtenirGroupesChampsEtendus(this);
85
		} else {
84
		} else {
86
			this.rafraichir(cacheGroupes, false);
85
			this.rafraichir(cacheGroupes, false);
87
		}
86
		}
88
				
87
		
89
		HTML indicationSaisie = new HTML("Saisissez un nom de champ ou choisisez un nom proposé par l'autocomplétion "+
88
		HTML indicationSaisie = new HTML(Msg.get("indication-saisie-nom-champ-etendu"));
90
				"Si vous choissisez un nom de champ existant vous pourrez profiter d'une autocomplétion "+
-
 
91
				"sur les valeurs déjà saisies pour ce champ par les autres utilisateurs.<br /> "+
-
 
92
				"Les champs de la forme 'label (clé)' sont des champs 'standards' ayant un rôle et une description " +
-
 
93
				"bien définie");
-
 
94
		indicationSaisie.addStyleName("aideCreerChampEtendu");
89
		indicationSaisie.addStyleName("aideCreerChampEtendu");
95
		add(indicationSaisie);
90
		add(indicationSaisie);
Line 96... Line 91...
96
		
91
		
97
		HorizontalPanel hp = new HorizontalPanel();
92
		HorizontalPanel hp = new HorizontalPanel();
Line 98... Line 93...
98
		hp.setBorderWidth(0);
93
		hp.setBorderWidth(0);
99
		
94
		
100
		
95
		
101
		nChamp = new AutoCompletionComboBox("Nom du champ", ListeReferentielChampsEtendusDAO.getUrlRequeteNomsChampsEtendus()) {
96
		nChamp = new AutoCompletionComboBox(Msg.get("nom-champ-etendu"), ListeReferentielChampsEtendusDAO.getUrlRequeteNomsChampsEtendus()) {
102
			@Override
97
			@Override
103
			protected Map<String, String> parserResultatRequete(
98
			protected Map<String, String> parserResultatRequete(
Line 137... Line 132...
137
		
132
		
138
		descriptionChamp = new HTML();
133
		descriptionChamp = new HTML();
139
		descriptionChamp.addStyleName("aideWikiChampEtendu");
134
		descriptionChamp.addStyleName("aideWikiChampEtendu");
Line 140... Line 135...
140
		add(descriptionChamp);
135
		add(descriptionChamp);
141
		
136
		
142
		ajouterChampsEtenduEtFermer = new Button("Ajouter et fermer");
137
		ajouterChampsEtenduEtFermer = new Button(Msg.get("ajouter-fermer"));
143
		ajouterChampsEtenduEtFermer.setTooltip("Ajouter un champ étendu ou un groupe de champs et fermer la fenêtre");
138
		ajouterChampsEtenduEtFermer.setTooltip(Msg.get("indication-ajouter-fermer"));
144
		ajouterChampsEtendu = new Button("Ajouter");
139
		ajouterChampsEtendu = new Button(Msg.get("ajouter"));
145
		ajouterChampsEtendu.setTooltip("Ajouter un champ étendu ou un groupe de champ");
140
		ajouterChampsEtendu.setTooltip(Msg.get("indication-ajouter-champ-etendu"));
Line 146... Line 141...
146
		annulerAjouterChampEtendu = new Button("Annuler");
141
		annulerAjouterChampEtendu = new Button(Msg.get("fermer"));
147
		annulerAjouterChampEtendu.setTooltip("Fermer la fenêtre sans ajouter de champ");
142
		annulerAjouterChampEtendu.setTooltip(Msg.get("indication-fermer-champ-etendu"));
148
		
143
		
149
		hp.add(ajouterChampsEtenduEtFermer);
144
		hp.add(ajouterChampsEtenduEtFermer);
Line 170... Line 165...
170
					surValidationMultiple(renvoyerListeChampsEtendus(groupeSelectionne));
165
					surValidationMultiple(renvoyerListeChampsEtendus(groupeSelectionne));
171
				} else {
166
				} else {
172
					if(champEtenduEstValide()) {
167
					if(champEtenduEstValide()) {
173
						surValidation(validerEtRenvoyerChampEtendu());
168
						surValidation(validerEtRenvoyerChampEtendu());
174
					} else {
169
					} else {
175
						Window.alert("Le nom du champ étendu ne peut pas être vide");
170
						Window.alert(Msg.get("erreur-nom-vide-champ-etendu"));
176
					}
171
					}
177
				}
172
				}
178
			}
173
			}
179
		});
174
		});
Line 183... Line 178...
183
			public void onClick(Button button, EventObject e) {
178
			public void onClick(Button button, EventObject e) {
184
				if(champEtenduEstValide()) {
179
				if(champEtenduEstValide()) {
185
					surAjout(validerEtRenvoyerChampEtendu());
180
					surAjout(validerEtRenvoyerChampEtendu());
186
					raz();
181
					raz();
187
				} else {
182
				} else {
188
					Window.alert("Le nom du champ étendu ne peut pas être vide");
183
					Window.alert(Msg.get("erreur-nom-vide-champ-etendu"));
189
				}
184
				}
190
			}
185
			}
191
		});
186
		});
Line 192... Line 187...
192
	    
187
	    
Line 276... Line 271...
276
	}
271
	}
Line 277... Line 272...
277
    
272
    
278
    private void afficherDescriptionEtLienWikiChampEtendu(final String cle, String description) {
273
    private void afficherDescriptionEtLienWikiChampEtendu(final String cle, String description) {
279
    	if(description.trim().isEmpty()) {
274
    	if(description.trim().isEmpty()) {
280
			String urlDesc = ListeReferentielChampsEtendusDAO.obtenirUrlEditionDescriptionWiki(cle);
275
			String urlDesc = ListeReferentielChampsEtendusDAO.obtenirUrlEditionDescriptionWiki(cle);
281
			descriptionChamp.setHTML("<span> Aucune description n'existe pour ce champ.<br />" +
276
			descriptionChamp.setHTML("<span> "+Msg.get("indication-aucune-description-champ-etendu")+".<br />" +
282
					"Vous pouvez la remplir sur cette page :" +
277
					Msg.get("indication-aucune-description-champ-etendu-remplir")+" :" +
283
					"<a id=\"lien_description_wiki_ce_"+cle+"\" href="+urlDesc+" target=\"_blank\">"+cle+"</span></span>");
278
					"<a id=\"lien_description_wiki_ce_"+cle+"\" href="+urlDesc+" target=\"_blank\">"+cle+"</span></span>");
284
			Ext.get("lien_description_wiki_ce_"+cle).addListener("click", new EventCallback() {	
279
			Ext.get("lien_description_wiki_ce_"+cle).addListener("click", new EventCallback() {	
285
				@Override
280
				@Override
286
				public void execute(EventObject e) {
281
				public void execute(EventObject e) {
287
					ListeReferentielChampsEtendusDAO.creerPageWikini(cle);
282
					ListeReferentielChampsEtendusDAO.creerPageWikini(cle);
288
				}
283
				}
289
			});
284
			});
290
		} else {
285
		} else {
291
			descriptionChamp.setHTML("<span class=\"descriptionChampEtenduTitre\">Description :</span> "+description);
286
			descriptionChamp.setHTML("<span class=\"descriptionChampEtenduTitre\">"+Msg.get("description")+" :</span> "+description);
292
		}
287
		}
293
    }
288
    }