Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 1308 Rev 1331
Line 4... Line 4...
4
import java.util.Iterator;
4
import java.util.Iterator;
5
import java.util.List;
5
import java.util.List;
Line 6... Line 6...
6
 
6
 
7
import org.tela_botanica.client.ComposantClass;
7
import org.tela_botanica.client.ComposantClass;
-
 
8
import org.tela_botanica.client.Mediateur;
-
 
9
import org.tela_botanica.client.composants.ChampComboBoxListeValeurs;
8
import org.tela_botanica.client.Mediateur;
10
import org.tela_botanica.client.composants.ChampComboBoxRechercheTempsReelPaginable;
-
 
11
import org.tela_botanica.client.composants.InfoLogger;
-
 
12
import org.tela_botanica.client.composants.pagination.ProxyPersonnes;
9
import org.tela_botanica.client.composants.InfoLogger;
13
import org.tela_botanica.client.composants.pagination.ProxyProjets;
10
import org.tela_botanica.client.images.Images;
14
import org.tela_botanica.client.images.Images;
11
import org.tela_botanica.client.interfaces.Rafraichissable;
15
import org.tela_botanica.client.interfaces.Rafraichissable;
12
import org.tela_botanica.client.modeles.Information;
16
import org.tela_botanica.client.modeles.Information;
13
import org.tela_botanica.client.modeles.InterneValeur;
17
import org.tela_botanica.client.modeles.InterneValeur;
Line 31... Line 35...
31
import org.tela_botanica.client.vues.FormulaireBarreValidation;
35
import org.tela_botanica.client.vues.FormulaireBarreValidation;
32
import org.tela_botanica.client.vues.FormulaireOnglet;
36
import org.tela_botanica.client.vues.FormulaireOnglet;
33
import org.tela_botanica.client.vues.personne.PersonneForm;
37
import org.tela_botanica.client.vues.personne.PersonneForm;
Line 34... Line 38...
34
 
38
 
-
 
39
import com.extjs.gxt.ui.client.Style.Scroll;
-
 
40
import com.extjs.gxt.ui.client.data.ModelData;
35
import com.extjs.gxt.ui.client.Style.Scroll;
41
import com.extjs.gxt.ui.client.data.ModelType;
36
import com.extjs.gxt.ui.client.event.BaseEvent;
42
import com.extjs.gxt.ui.client.event.BaseEvent;
37
import com.extjs.gxt.ui.client.event.ButtonEvent;
43
import com.extjs.gxt.ui.client.event.ButtonEvent;
38
import com.extjs.gxt.ui.client.event.ComponentEvent;
44
import com.extjs.gxt.ui.client.event.ComponentEvent;
39
import com.extjs.gxt.ui.client.event.EventType;
45
import com.extjs.gxt.ui.client.event.EventType;
Line 49... Line 55...
49
import com.extjs.gxt.ui.client.widget.Info;
55
import com.extjs.gxt.ui.client.widget.Info;
50
import com.extjs.gxt.ui.client.widget.Text;
56
import com.extjs.gxt.ui.client.widget.Text;
51
import com.extjs.gxt.ui.client.widget.button.Button;
57
import com.extjs.gxt.ui.client.widget.button.Button;
52
import com.extjs.gxt.ui.client.widget.button.ButtonBar;
58
import com.extjs.gxt.ui.client.widget.button.ButtonBar;
53
import com.extjs.gxt.ui.client.widget.form.ComboBox;
59
import com.extjs.gxt.ui.client.widget.form.ComboBox;
-
 
60
import com.extjs.gxt.ui.client.widget.form.Field;
54
import com.extjs.gxt.ui.client.widget.form.FormPanel;
61
import com.extjs.gxt.ui.client.widget.form.FormPanel;
-
 
62
import com.extjs.gxt.ui.client.widget.form.TextArea;
-
 
63
import com.extjs.gxt.ui.client.widget.form.TextField;
-
 
64
import com.extjs.gxt.ui.client.widget.form.Validator;
55
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
65
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
56
import com.extjs.gxt.ui.client.widget.grid.CellEditor;
66
import com.extjs.gxt.ui.client.widget.grid.CellEditor;
57
import com.extjs.gxt.ui.client.widget.grid.ColumnConfig;
67
import com.extjs.gxt.ui.client.widget.grid.ColumnConfig;
58
import com.extjs.gxt.ui.client.widget.grid.ColumnData;
68
import com.extjs.gxt.ui.client.widget.grid.ColumnData;
59
import com.extjs.gxt.ui.client.widget.grid.ColumnModel;
69
import com.extjs.gxt.ui.client.widget.grid.ColumnModel;
Line 63... Line 73...
63
import com.extjs.gxt.ui.client.widget.grid.GridSelectionModel;
73
import com.extjs.gxt.ui.client.widget.grid.GridSelectionModel;
64
import com.extjs.gxt.ui.client.widget.grid.HeaderGroupConfig;
74
import com.extjs.gxt.ui.client.widget.grid.HeaderGroupConfig;
65
import com.extjs.gxt.ui.client.widget.grid.RowNumberer;
75
import com.extjs.gxt.ui.client.widget.grid.RowNumberer;
66
import com.extjs.gxt.ui.client.widget.layout.AnchorLayout;
76
import com.extjs.gxt.ui.client.widget.layout.AnchorLayout;
67
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
77
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
-
 
78
import com.extjs.gxt.ui.client.widget.layout.FormData;
68
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
79
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
69
import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem;
80
import com.extjs.gxt.ui.client.widget.toolbar.SeparatorToolItem;
70
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
81
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar;
71
import com.google.gwt.core.client.GWT;
82
import com.google.gwt.core.client.GWT;
72
import com.google.gwt.dom.client.Element;
83
import com.google.gwt.dom.client.Element;
Line 83... Line 94...
83
	private EditorGrid<CollectionAPersonne> grille;
94
	private EditorGrid<CollectionAPersonne> grille;
84
	private ComboBox<Valeur> typeRelationCombo = null;
95
	private ComboBox<Valeur> typeRelationCombo = null;
Line 85... Line 96...
85
	
96
	
86
	private CollectionAPersonneListe personnesAjoutees = null;
97
	private CollectionAPersonneListe personnesAjoutees = null;
87
	private CollectionAPersonneListe personnesSupprimees = null;
98
	private CollectionAPersonneListe personnesSupprimees = null;
-
 
99
	private ChampComboBoxRechercheTempsReelPaginable personnesSaisisComboBox = null;
88
	private ComboBox<Personne> personnesSaisisComboBox = null;
100
	private ChampComboBoxRechercheTempsReelPaginable recherchePersonnesCombo = null;
89
	private Button personnesBoutonSupprimer = null;
101
	private Button personnesBoutonSupprimer = null;
90
	private Button personnesBoutonModifier = null;
102
	private Button personnesBoutonModifier = null;
Line 91... Line 103...
91
	private ListStore<Valeur> listeIon = null;
103
	private ListStore<Valeur> listeIon = null;
Line 274... Line 286...
274
			}   
286
			}   
275
		});
287
		});
276
		return bouton;
288
		return bouton;
277
	}
289
	}
Line 278... Line 290...
278
	
290
	
-
 
291
	private ChampComboBoxRechercheTempsReelPaginable creerComboBoxPersonnesSaisies() {
279
	private ComboBox<Personne> creerComboBoxPersonnesSaisies() {
292
	
-
 
293
		ModelType modelTypePersonnes = new ModelType();
-
 
294
		modelTypePersonnes.setRoot("personnes");
-
 
295
		modelTypePersonnes.setTotalName("nbElements");
280
		ListStore<Personne> personnesSaisiesStore = new ListStore<Personne>();
296
		modelTypePersonnes.addField("cp_fmt_nom_complet");
281
		personnesSaisiesStore.add(new ArrayList<Personne>());
297
		modelTypePersonnes.addField("cp_id_personne");
-
 
298
		
282
		
299
		String displayNamePersonnes = "cp_fmt_nom_complet";
-
 
300
		ProxyPersonnes<ModelData> proxyPersonnes = new ProxyPersonnes<ModelData>();
-
 
301
		
283
		ComboBox<Personne> comboBox = new ComboBox<Personne>();
302
		recherchePersonnesCombo = new ChampComboBoxRechercheTempsReelPaginable(proxyPersonnes, modelTypePersonnes, displayNamePersonnes);
-
 
303
		recherchePersonnesCombo.getCombo().setForceSelection(true);
284
		comboBox.setWidth(200);
304
		
285
		comboBox.setEmptyText(i18nC.chercherPersonneSaisi());
305
		recherchePersonnesCombo.getCombo().setValidator(new Validator() {
286
		comboBox.setTriggerAction(TriggerAction.ALL);  
306
			public String validate(Field<?> field, String value) {
287
		comboBox.setEditable(true);
307
				String retour = null;
288
		comboBox.setDisplayField("fmt_nom_complet");
308
				if (field.getRawValue().equals("")) {
289
		comboBox.setStore(personnesSaisiesStore);
309
					field.setValue(null);
290
		comboBox.addKeyListener(new KeyListener() {
310
				} else if (recherchePersonnesCombo.getStore().findModel("cp_fmt_nom_complet", field.getRawValue()) == null) {
291
			public void componentKeyUp(ComponentEvent ce) {
311
					String contenuBrut = field.getRawValue();
292
				if (personnesSaisisComboBox.getRawValue() != null && personnesSaisisComboBox.getRawValue().length() > 0) {
312
					field.setValue(null);
293
					if (!ce.isNavKeyPress()) {
313
					field.setRawValue(contenuBrut);
294
						obtenirPersonnesSaisis(personnesSaisisComboBox.getRawValue());
-
 
295
					}
314
					retour = "Veuillez sélectionner une valeur ou laisser le champ vide";
-
 
315
				}
296
				}
316
				return retour;
297
			}
317
			}
-
 
318
		});
298
		});
319
		
299
		comboBox.addListener(Events.Select, new Listener<BaseEvent>() {
320
		recherchePersonnesCombo.getCombo().addListener(Events.Select, new Listener<BaseEvent>() {
300
			public void handleEvent(BaseEvent be) {
321
			public void handleEvent(BaseEvent be) {
301
				if (personnesSaisisComboBox.getValue() instanceof Personne) {
322
				if (personnesSaisisComboBox.getValeur() instanceof ModelData) {
302
					Personne personneSaisiSelectionnee = personnesSaisisComboBox.getValue();
323
					Personne personneSaisiSelectionnee = new Personne(personnesSaisisComboBox.getValeur());
303
					ajouterDansGrille(personneSaisiSelectionnee);
324
					ajouterDansGrille(personneSaisiSelectionnee);
304
					personnesSaisisComboBox.setValue(null);
325
					personnesSaisisComboBox.getCombo().setValue(null);
305
				}
326
				}
306
			}
327
			}
-
 
328
		});
307
		});
329
 
308
		return comboBox;
330
		return recherchePersonnesCombo;
Line 309... Line 331...
309
	}
331
	}
310
	
332
	
311
	private void ajouterDansGrille(Personne personne) {
333
	private void ajouterDansGrille(Personne personne) {
Line 516... Line 538...
516
		if (info.getMessages() != null && !info.getMessages().toString().equals("[]")) {
538
		if (info.getMessages() != null && !info.getMessages().toString().equals("[]")) {
517
			GWT.log("MESSAGES:\n"+info.getMessages().toString(), null);
539
			GWT.log("MESSAGES:\n"+info.getMessages().toString(), null);
518
		}
540
		}
519
		String type = info.getType();
541
		String type = info.getType();
520
		if (type.equals("liste_personne")) {
542
		if (type.equals("liste_personne")) {
521
			if (info.getDonnee(0) != null) {
543
			if (info.getDonnee(0) != null) {/*
522
				PersonneListe personnes = (PersonneListe) info.getDonnee(0);
544
				PersonneListe personnes = (PersonneListe) info.getDonnee(0);
523
				List<Personne> liste = personnes.toList();
545
				List<Personne> liste = personnes.toList();
Line 524... Line 546...
524
				
546
				
525
				personnesSaisisComboBox.getStore().removeAll();
547
				personnesSaisisComboBox.getStore().removeAll();
526
				personnesSaisisComboBox.getStore().add(liste);
548
				personnesSaisisComboBox.getStore().add(liste);
527
				personnesSaisisComboBox.expand();
549
				personnesSaisisComboBox.expand();*/
528
			}
550
			}
529
		} else if (info.getType().equals("liste_collection_a_personne")) {
551
		} else if (info.getType().equals("liste_collection_a_personne")) {
530
			if (info.getDonnee(0) != null) {
552
			if (info.getDonnee(0) != null) {
531
				initialiser();
553
				initialiser();