Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 444 Rev 505
Line 14... Line 14...
14
import org.tela_botanica.client.modeles.Structure;
14
import org.tela_botanica.client.modeles.Structure;
15
import org.tela_botanica.client.modeles.StructureListe;
15
import org.tela_botanica.client.modeles.StructureListe;
Line 16... Line 16...
16
 
16
 
17
import com.extjs.gxt.ui.client.Registry;
17
import com.extjs.gxt.ui.client.Registry;
18
import com.extjs.gxt.ui.client.Style.HorizontalAlignment;
18
import com.extjs.gxt.ui.client.Style.HorizontalAlignment;
19
import com.extjs.gxt.ui.client.event.ComponentEvent;
19
import com.extjs.gxt.ui.client.event.ButtonEvent;
20
import com.extjs.gxt.ui.client.event.SelectionListener;
20
import com.extjs.gxt.ui.client.event.SelectionListener;
21
import com.extjs.gxt.ui.client.store.ListStore;
21
import com.extjs.gxt.ui.client.store.ListStore;
22
import com.extjs.gxt.ui.client.widget.HorizontalPanel;
22
import com.extjs.gxt.ui.client.widget.HorizontalPanel;
23
import com.extjs.gxt.ui.client.widget.LayoutContainer;
23
import com.extjs.gxt.ui.client.widget.LayoutContainer;
Line 30... Line 30...
30
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
30
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction;
31
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
31
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
32
import com.extjs.gxt.ui.client.widget.layout.FlowLayout;
32
import com.extjs.gxt.ui.client.widget.layout.FlowLayout;
33
import com.extjs.gxt.ui.client.widget.layout.FormData;
33
import com.extjs.gxt.ui.client.widget.layout.FormData;
34
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
34
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
35
import com.google.gwt.user.client.Window;
-
 
36
import com.google.gwt.user.client.ui.HTML;
35
import com.google.gwt.user.client.ui.HTML;
Line 37... Line 36...
37
 
36
 
Line 38... Line 37...
38
public class PublicationForm extends LayoutContainer implements Rafraichissable {
37
public class PublicationForm extends LayoutContainer implements Rafraichissable {
Line 39... Line 38...
39
 
38
 
Line 40... Line 39...
40
	private Mediateur mediateur = null;
39
	private Mediateur mediateur = null;
41
	
40
	
42
	FormPanel panel = null ;
41
	FormPanel panel = null;
43
	
42
	
Line 44... Line 43...
44
	private String idStructureEdition = "" ; 
43
	private String idStructureEdition = ""; 
45
	private String idPublication = "" ;
44
	private String idPublication = "";
46
	private String idProjet = "" ;
45
	private String idProjet = "";
Line 47... Line 46...
47
	private String metaPubli = "" ;
46
	private String metaPubli = "";
48
	
47
	
49
	private PersonneListe listePersonneAuteur = null ; 
48
	private PersonneListe listePersonneAuteur = null; 
Line 60... Line 59...
60
	private TextField<String> tomPub = null;
59
	private TextField<String> tomPub = null;
61
	private TextField<String> fasciculePub = null;
60
	private TextField<String> fasciculePub = null;
62
	private TextField<String> pagesPub = null;
61
	private TextField<String> pagesPub = null;
63
	private String mode = "AJOUT";
62
	private String mode = "AJOUT";
Line 64... Line 63...
64
	
63
	
Line 65... Line 64...
65
	FieldSet fieldSetAuteurs = null ;
64
	FieldSet fieldSetAuteurs = null;
66
 
-
 
Line 67... Line 65...
67
	private Publication publi;
65
 
68
	
-
 
69
 
66
	private Publication publi;
70
	public PublicationForm() {
67
 
Line 71... Line 68...
71
		
68
	public PublicationForm() {
72
		setLayout(new FitLayout());
69
		setLayout(new FitLayout());
Line 73... Line 70...
73
		mediateur = Registry.get(RegistreId.MEDIATEUR);
70
		mediateur = Registry.get(RegistreId.MEDIATEUR);
74
		
71
		
75
		storeAuteurs = new ListStore<Personne>();
72
		storeAuteurs = new ListStore<Personne>();
76
		listePersonneAuteur = new PersonneListe();
73
		listePersonneAuteur = new PersonneListe();
Line 77... Line 74...
77
		
74
		
78
		// Création de la disposition : FIELDSET
75
		// Création de la disposition : FIELDSET
79
		FormLayout layoutFieldset = new FormLayout();
76
		FormLayout layoutFieldset = new FormLayout();
80
		layoutFieldset.setLabelWidth(200);
77
		layoutFieldset.setLabelWidth(200);
Line 98... Line 95...
98
		fieldSetAuteurs.setCollapsible(true);
95
		fieldSetAuteurs.setCollapsible(true);
99
		fieldSetAuteurs.setLayout(layoutFieldset);
96
		fieldSetAuteurs.setLayout(layoutFieldset);
Line 100... Line 97...
100
		
97
		
Line 101... Line 98...
101
		panel.add(fieldSetAuteurs);
98
		panel.add(fieldSetAuteurs);
Line 102... Line 99...
102
		
99
		
103
		genererChampsAuteur("",false);
100
		genererChampsAuteur("", false);
104
		
101
		
105
		// Création de la disposition : FIELDSET
102
		// Création de la disposition : FIELDSET
Line 106... Line 103...
106
		FormLayout layoutFieldset2 = new FormLayout();
103
		FormLayout layoutFieldset2 = new FormLayout();
107
		layoutFieldset.setLabelWidth(200);
104
		layoutFieldset.setLabelWidth(200);
108
		layoutFieldset.setPadding(4);
105
		//layoutFieldset.setPadding(4);
109
		
106
		
110
		// Fieldset Infos Générales
107
		// Fieldset Infos Générales
Line 111... Line -...
111
		FieldSet fieldSetInfosGen = new FieldSet();
-
 
112
		fieldSetInfosGen.setHeading("Informations générales");
108
		FieldSet fieldSetInfosGen = new FieldSet();
Line 113... Line 109...
113
		fieldSetInfosGen.setCollapsible(true);
109
		fieldSetInfosGen.setHeading("Informations générales");
114
		fieldSetInfosGen.setLayout(layoutFieldset2);
110
		fieldSetInfosGen.setCollapsible(true);
115
		
111
		fieldSetInfosGen.setLayout(layoutFieldset2);
Line 130... Line 126...
130
		fieldSetInfosGen.add(intituleCollPub);
126
		fieldSetInfosGen.add(intituleCollPub);
131
		fieldSetInfosGen.add(uriPub);
127
		fieldSetInfosGen.add(uriPub);
Line 132... Line 128...
132
		
128
		
133
		// Création de la disposition : FIELDSET
129
		// Création de la disposition : FIELDSET
134
		FormLayout layoutFieldset3 = new FormLayout();
130
		FormLayout layoutFieldset3 = new FormLayout();
Line 135... Line 131...
135
		layoutFieldset.setPadding(4);
131
		//layoutFieldset.setPadding(4);
136
		
132
		
137
		// Fieldset Edition
133
		// Fieldset Edition
138
		FieldSet fieldSetEdition = new FieldSet();
134
		FieldSet fieldSetEdition = new FieldSet();
Line 162... Line 158...
162
		fasciculePub.setFieldLabel("Fascicule");
158
		fasciculePub.setFieldLabel("Fascicule");
Line 163... Line 159...
163
		
159
		
164
		pagesPub = new TextField<String>();
160
		pagesPub = new TextField<String>();
Line 165... Line 161...
165
		pagesPub.setFieldLabel("Pages");
161
		pagesPub.setFieldLabel("Pages");
166
		
162
		
167
		fieldSetEdition.add(comboListeEditeurs,new FormData(500,20));
163
		fieldSetEdition.add(comboListeEditeurs, new FormData(500, 20));
168
		fieldSetEdition.add(datePub, new FormData(75,20));
164
		fieldSetEdition.add(datePub, new FormData(75, 20));
169
		fieldSetEdition.add(tomPub);
165
		fieldSetEdition.add(tomPub);
Line 170... Line 166...
170
		fieldSetEdition.add(fasciculePub);
166
		fieldSetEdition.add(fasciculePub);
171
		fieldSetEdition.add(pagesPub, new FormData(100,20));
167
		fieldSetEdition.add(pagesPub, new FormData(100, 20));
172
		
168
		
173
		// Ajout des boutons au panneau formulaire
-
 
174
		Button annulerBtn = new Button("Annuler");
169
		// Ajout des boutons au panneau formulaire
175
		annulerBtn.addSelectionListener(new SelectionListener<ComponentEvent>() {
170
		Button annulerBtn = new Button("Annuler");
176
 
171
		annulerBtn.addSelectionListener(new SelectionListener<ButtonEvent>() {
177
			@Override
172
			@Override
178
			public void componentSelected(ComponentEvent ce) {
-
 
179
				mediateur.clicMenu("Publications");
173
			public void componentSelected(ButtonEvent be) {
180
			}
174
				mediateur.clicMenu("Publications");
181
			
175
			}
182
		});
176
		});
183
		panel.addButton(annulerBtn);
-
 
184
		Button validerBtn = new Button("Valider");
177
		panel.addButton(annulerBtn);
185
		validerBtn.addSelectionListener(new SelectionListener<ComponentEvent>() {
178
		Button validerBtn = new Button("Valider");
186
 
179
		validerBtn.addSelectionListener(new SelectionListener<ButtonEvent>() {
187
			@Override
180
			@Override
188
			public void componentSelected(ComponentEvent ce) {
-
 
189
				soumettreFormulaire();
181
			public void componentSelected(ButtonEvent be) {
190
			}
182
				soumettreFormulaire();
Line 191... Line 183...
191
			
183
			}
192
		});
184
		});
193
		panel.addButton(validerBtn);
185
		panel.addButton(validerBtn);
Line 194... Line 186...
194
		
186
		
Line 195... Line 187...
195
		mediateur.clicObtenirListeAuteurs(this);
187
		mediateur.clicObtenirListeAuteurs(this);
196
		mediateur.clicObtenirListeEditeurs(this);
188
		mediateur.clicObtenirListeEditeurs(this);
197
	}
-
 
198
	
189
	}
Line 199... Line 190...
199
	public void rafraichir(Object nouvelleDonnees) {
190
	
200
		
191
	public void rafraichir(Object nouvelleDonnees) {
Line 201... Line 192...
201
		// Si on a reçu les details d'une publication
192
		
202
		if(nouvelleDonnees instanceof Publication) {
193
		// Si on a reçu les details d'une publication
203
 
194
		if (nouvelleDonnees instanceof Publication) {
204
			mode = "MODIF" ;
195
			mode = "MODIF" ;
Line 220... Line 211...
220
			
211
			
221
			panel.setHeading("Modification d'une publication");
212
			panel.setHeading("Modification d'une publication");
Line 222... Line 213...
222
		}
213
		}
223
		
214
		
224
		// Si on a reçu une liste des editeurs
215
		// Si on a reçu une liste des editeurs
225
		if(nouvelleDonnees instanceof StructureListe) {
216
		if (nouvelleDonnees instanceof StructureListe) {
226
			storeEditeurs.removeAll();
217
			storeEditeurs.removeAll();
Line 227... Line 218...
227
			StructureListe listeStructure = (StructureListe) nouvelleDonnees;
218
			StructureListe listeStructure = (StructureListe) nouvelleDonnees;
228
			storeEditeurs.add((List<Structure>) listeStructure.toList());
219
			storeEditeurs.add((List<Structure>) listeStructure.toList());
229
			
220
			
230
			if(mode.equals("MODIF")) {	
221
			if (mode.equals("MODIF")) {	
231
				comboListeEditeurs.setValue((Structure) listeStructure.get(idStructureEdition));
222
				comboListeEditeurs.setValue((Structure) listeStructure.get(idStructureEdition));
Line 232... Line 223...
232
			}
223
			}
233
			comboListeEditeurs.expand();
224
			comboListeEditeurs.expand();
234
		}
225
		}
235
		
226
		
236
		if(nouvelleDonnees instanceof PersonneListe) {
227
		if (nouvelleDonnees instanceof PersonneListe) {
237
			storeAuteurs.removeAll();
228
			storeAuteurs.removeAll();
238
			listePersonneAuteur = (PersonneListe)nouvelleDonnees;
229
			listePersonneAuteur = (PersonneListe)nouvelleDonnees;
Line 239... Line 230...
239
			Set<String> listeStructureSet = listePersonneAuteur.keySet();
230
			Set<String> listeStructureSet = listePersonneAuteur.keySet();
240
			for(Iterator<String> it = listeStructureSet.iterator() ; it.hasNext() ;) {
231
			for (Iterator<String> it = listeStructureSet.iterator(); it.hasNext();) {
241
				storeAuteurs.add(listePersonneAuteur.get(it.next()));
232
				storeAuteurs.add(listePersonneAuteur.get(it.next()));
242
			}
233
			}
243
			
234
			
Line 244... Line 235...
244
			if(mode.equals("MODIF")) {	
235
			if (mode.equals("MODIF")) {	
245
				genererChampsAuteur(publi.getIdAuteur(),false);
-
 
246
			}
236
				genererChampsAuteur(publi.getIdAuteur(), false);
247
		}
237
			}
248
	}
238
		}
249
	
239
	}
250
	private void soumettreFormulaire() {
240
	
251
		
241
	private void soumettreFormulaire() {
252
		String auteur = "" ;
242
		String auteur = "";
253
		for(int i = 0 ; i < listeAuteurs.size() ; i++) {
243
		for (int i = 0; i < listeAuteurs.size(); i++) {
254
			auteur += listeAuteurs.get(i).getValue();
244
			auteur += listeAuteurs.get(i).getValue();
Line 274... Line 264...
274
			mediateur.modifierPublication(this, publi);
264
			mediateur.modifierPublication(this, publi);
275
		}
265
		}
276
	}
266
	}
Line 277... Line 267...
277
	
267
	
278
	private void genererChampsAuteur(String auteursStr, boolean ajouter) {
-
 
279
				
268
	private void genererChampsAuteur(String auteursStr, boolean ajouter) {
280
		String[] auteurs = auteursStr.split(";;");
269
		String[] auteurs = auteursStr.split(";;");
Line 281... Line 270...
281
		LayoutContainer conteneurChamps = new LayoutContainer(); 
270
		LayoutContainer conteneurChamps = new LayoutContainer(); 
282
		
271
		
283
		if(auteurs.length != 0) {
-
 
284
			listeAuteurs = new ArrayList<ComboBox<Personne>>(auteurs.length);
272
		if (auteurs.length != 0) {
285
		}
273
			listeAuteurs = new ArrayList<ComboBox<Personne>>(auteurs.length);
286
		else{
274
		} else {
287
			listeAuteurs = new ArrayList<ComboBox<Personne>>(1);
275
			listeAuteurs = new ArrayList<ComboBox<Personne>>(1);
Line 288... Line 276...
288
			ajouter = true ;
276
			ajouter = true ;
Line 293... Line 281...
293
		//final Label labelAuteur = new Label("Auteur de la publication :");
281
		//final Label labelAuteur = new Label("Auteur de la publication :");
294
		final HTML labelAuteur = new HTML("<label class=\"x-form-item-label x-formulaire-auteur-label\" style=\"width: 100px;\">Auteur(s) de l'article ou de l'ouvrage:</label>");
282
		final HTML labelAuteur = new HTML("<label class=\"x-form-item-label x-formulaire-auteur-label\" style=\"width: 100px;\">Auteur(s) de l'article ou de l'ouvrage:</label>");
295
		fieldSetAuteurs.add(labelAuteur);
283
		fieldSetAuteurs.add(labelAuteur);
296
		int i = 0;
284
		int i = 0;
Line 297... Line 285...
297
		
285
		
298
		for(i = 0 ; i < auteurs.length ; i++) {
286
		for (i = 0; i < auteurs.length; i++) {
299
			conteneurChamps.add(creerTextFieldEtBouton(auteurs[i]));
287
			conteneurChamps.add(creerTextFieldEtBouton(auteurs[i]));
Line 300... Line 288...
300
		}
288
		}
301
		
289
		
302
		if(ajouter) {
290
		if (ajouter) {
Line 303... Line 291...
303
			conteneurChamps.add(creerTextFieldEtBouton(null));
291
			conteneurChamps.add(creerTextFieldEtBouton(null));
304
		}
292
		}
Line 305... Line 293...
305
		
293
		
306
		Button ajoutAuteurBtn = new Button("Ajouter un auteur");
294
		Button ajoutAuteurBtn = new Button("Ajouter un auteur");
307
		ajoutAuteurBtn.addSelectionListener(new SelectionListener<ComponentEvent>() {
-
 
308
 
295
		ajoutAuteurBtn.addSelectionListener(new SelectionListener<ButtonEvent>() {
Line 309... Line 296...
309
			@Override
296
 
310
			public void componentSelected(ComponentEvent ce) {
-
 
311
				
297
			@Override
312
				String idsAuteurs = "" ;
298
			public void componentSelected(ButtonEvent be) {
313
				
299
				String idsAuteurs = "" ;
314
				for(int i = 0 ; i < listeAuteurs.size() ; i++) {
300
				
-
 
301
				for(int i = 0 ; i < listeAuteurs.size() ; i++) {
-
 
302
					Personne enCours = listeAuteurs.get(i).getValue();
315
					
303
					String valeurChampAuteur = " ";
316
					Personne enCours = listeAuteurs.get(i).getValue() ;
-
 
317
					String valeurChampAuteur = " " ;
-
 
318
					if(enCours != null) {
304
					if(enCours != null) {
-
 
305
						valeurChampAuteur = enCours.getId();
319
						valeurChampAuteur = enCours.getId();
306
					} else {
320
					}
-
 
321
					else
-
 
322
					{
-
 
323
						valeurChampAuteur = null ;
-
 
324
					}
307
						valeurChampAuteur = null;
325
					if(valeurChampAuteur != null)
308
					}
326
					{
309
					if(valeurChampAuteur != null) {
327
						idsAuteurs += valeurChampAuteur ;
310
						idsAuteurs += valeurChampAuteur;
Line 328... Line 311...
328
					}
311
					}
Line 337... Line 320...
337
		fieldSetAuteurs.add(ajoutAuteurBtn);
320
		fieldSetAuteurs.add(ajoutAuteurBtn);
338
		fieldSetAuteurs.layout();
321
		fieldSetAuteurs.layout();
339
	}
322
	}
Line 340... Line 323...
340
	
323
	
341
	public HorizontalPanel creerTextFieldEtBouton(String valeurDefaut) {
-
 
342
		
324
	public HorizontalPanel creerTextFieldEtBouton(String valeurDefaut) {
Line 343... Line 325...
343
		HorizontalPanel p = new HorizontalPanel() ;
325
		HorizontalPanel p = new HorizontalPanel();
344
		
326
		
345
		// Création de la disposition : FIELDSET
327
		// Création de la disposition : FIELDSET
Line 346... Line 328...
346
		FormLayout layoutPanelTF = new FormLayout();
328
		FormLayout layoutPanelTF = new FormLayout();
347
		p.setLayout(layoutPanelTF);
329
		p.setLayout(layoutPanelTF);
348
		
330
		
349
		final ComboBox<Personne> tf = new ComboBox<Personne>() ;
331
		final ComboBox<Personne> tf = new ComboBox<Personne>();
350
		tf.setDisplayField("fmt_nom_complet");
332
		tf.setDisplayField("fmt_nom_complet");
351
		tf.setStore(storeAuteurs);
333
		tf.setStore(storeAuteurs);
352
		if(valeurDefaut != null && !valeurDefaut.equals("") ) {
334
		if(valeurDefaut != null && !valeurDefaut.equals("") ) {
353
			Personne auteur = listePersonneAuteur.get((String)valeurDefaut);
335
			Personne auteur = listePersonneAuteur.get((String)valeurDefaut);
354
			tf.setValue(auteur);
336
			tf.setValue(auteur);
Line 355... Line 337...
355
		}
337
		}
356
		tf.setSize(200, 20);
338
		tf.setSize(200, 20);
357
		listeAuteurs.add(tf);
339
		listeAuteurs.add(tf);
358
		
340
		
359
		Button supp = new Button("-");
-
 
360
		supp.addSelectionListener(new SelectionListener<ComponentEvent>() {
341
		Button supp = new Button("-");
361
			@Override
342
		supp.addSelectionListener(new SelectionListener<ButtonEvent>() {
Line 362... Line 343...
362
			public void componentSelected(ComponentEvent ce) {
343
			@Override
Line 363... Line 344...
363
				
344
			public void componentSelected(ButtonEvent be) {
364
				String idsAuteurs = "" ;
345
				String idsAuteurs = "";
365
				listeAuteurs.remove(tf);
346
				listeAuteurs.remove(tf);
366
				
347
				
367
				for(int i = 0 ; i < listeAuteurs.size() ; i++) {
-
 
368
					
348
				for (int i = 0; i < listeAuteurs.size(); i++) {
369
					Personne enCours = listeAuteurs.get(i).getValue() ;
-
 
370
					String valeurChampAuteur = " " ;
349
					
371
					if(enCours != null) {
350
					Personne enCours = listeAuteurs.get(i).getValue() ;
Line 372... Line 351...
372
						valeurChampAuteur = enCours.getId();
351
					String valeurChampAuteur = " ";
373
					}
-
 
374
					else
352
					if (enCours != null) {
375
					{
-
 
376
						valeurChampAuteur = null ;
353
						valeurChampAuteur = enCours.getId();
377
					}
-
 
378
					
354
					} else {
379
					if(valeurChampAuteur != null & !valeurChampAuteur.equals(""))
355
						valeurChampAuteur = null;
380
					{
356
					}
381
						idsAuteurs += valeurChampAuteur ;
357
					
382
					}
358
					if (valeurChampAuteur != null & !valeurChampAuteur.equals("")) {
383
					else
359
						idsAuteurs += valeurChampAuteur;
384
					{
360
					} else {
385
						idsAuteurs += " " ;
361
						idsAuteurs += " ";
Line 386... Line 362...
386
					}
362
					}
387
					if(i != listeAuteurs.size() - 1) {
363
					if (i != listeAuteurs.size() - 1) {
388
						idsAuteurs+= ";;";
364
						idsAuteurs += ";;";
389
					}
365
					}
Line 390... Line 366...
390
				}
366
				}
391
				genererChampsAuteur(idsAuteurs,false);
367
				genererChampsAuteur(idsAuteurs,false);
392
			}
368
			}
393
			
369