Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 1322 Rev 1329
Line 2... Line 2...
2
 
2
 
Line 3... Line 3...
3
import java.util.ArrayList;
3
import java.util.ArrayList;
4
 
4
 
-
 
5
import org.tela_botanica.client.ComposantClass;
5
import org.tela_botanica.client.ComposantClass;
6
import org.tela_botanica.client.Mediateur;
6
import org.tela_botanica.client.Mediateur;
7
import org.tela_botanica.client.composants.ChampComboBoxRechercheTempsReelPaginable;
-
 
8
import org.tela_botanica.client.composants.ChampSliderPourcentage;
7
import org.tela_botanica.client.composants.ChampSliderPourcentage;
9
import org.tela_botanica.client.composants.InfoLogger;
8
import org.tela_botanica.client.composants.InfoLogger;
10
import org.tela_botanica.client.composants.pagination.ProxyProjets;
9
import org.tela_botanica.client.interfaces.Rafraichissable;
11
import org.tela_botanica.client.interfaces.Rafraichissable;
10
import org.tela_botanica.client.modeles.Information;
12
import org.tela_botanica.client.modeles.Information;
11
import org.tela_botanica.client.modeles.MenuApplicationId;
13
import org.tela_botanica.client.modeles.MenuApplicationId;
Line 15... Line 17...
15
import org.tela_botanica.client.util.Debug;
17
import org.tela_botanica.client.util.Debug;
16
import org.tela_botanica.client.util.UtilArray;
18
import org.tela_botanica.client.util.UtilArray;
17
import org.tela_botanica.client.util.UtilString;
19
import org.tela_botanica.client.util.UtilString;
18
import org.tela_botanica.client.vues.Formulaire;
20
import org.tela_botanica.client.vues.Formulaire;
Line -... Line 21...
-
 
21
 
-
 
22
import com.extjs.gxt.ui.client.data.ModelData;
19
 
23
import com.extjs.gxt.ui.client.data.ModelType;
20
import com.extjs.gxt.ui.client.event.Events;
24
import com.extjs.gxt.ui.client.event.Events;
21
import com.extjs.gxt.ui.client.store.ListStore;
25
import com.extjs.gxt.ui.client.store.ListStore;
22
import com.extjs.gxt.ui.client.widget.Info;
26
import com.extjs.gxt.ui.client.widget.Info;
23
import com.extjs.gxt.ui.client.widget.MessageBox;
27
import com.extjs.gxt.ui.client.widget.MessageBox;
Line 34... Line 38...
34
 
38
 
Line 35... Line 39...
35
public class CommentaireForm extends Formulaire implements Rafraichissable {
39
public class CommentaireForm extends Formulaire implements Rafraichissable {
Line 36... Line 40...
36
	
40
	
37
	private Commentaire commentaire;
41
	private Commentaire commentaire;
38
 
42
 
39
	private ComboBox<Projet> projetsCombo = null;
43
	private ChampComboBoxRechercheTempsReelPaginable projetsCombo = null;
40
	private TextField<String> titreChp;
44
	private TextField<String> titreChp;
Line 82... Line 86...
82
		}
86
		}
83
		panneauFormulaire.setHeading(titre);
87
		panneauFormulaire.setHeading(titre);
84
	}
88
	}
Line 85... Line 89...
85
	
89
	
-
 
90
	private void creerChamps() {
-
 
91
		
86
	private void creerChamps() {
92
		ModelType modelTypeProjets = new ModelType();
87
		projetsCombo = new ComboBox<Projet>();
93
		modelTypeProjets.setRoot("projets");
-
 
94
		modelTypeProjets.setTotalName("nbElements");
88
		projetsCombo.setTabIndex(tabIndex++);
95
		modelTypeProjets.addField("cpr_nom");
-
 
96
		modelTypeProjets.addField("cpr_id_projet");
-
 
97
		
-
 
98
		String displayNameProjets = "cpr_nom";
-
 
99
		ProxyProjets<ModelData> proxyProjets = new ProxyProjets<ModelData>();
-
 
100
		
89
		projetsCombo.setFieldLabel(i18nC.projetChamp());
101
		projetsCombo = new ChampComboBoxRechercheTempsReelPaginable(proxyProjets, modelTypeProjets, displayNameProjets);
90
		projetsCombo.setDisplayField("nom");
102
		projetsCombo.setWidth(100, 550);
91
		projetsCombo.setTriggerAction(TriggerAction.ALL);
103
		projetsCombo.getCombo().setTabIndex(tabIndex++);
92
		projetsCombo.setStore(new ListStore<Projet>());
104
		projetsCombo.getCombo().setFieldLabel(i18nC.projetChamp());
93
		projetsCombo.setEmptyText(i18nC.txtListeProjetDefaut());
105
		projetsCombo.getCombo().setEmptyText(i18nC.txtListeProjetDefaut());
94
		projetsCombo.setEditable(false);
106
		projetsCombo.getCombo().setForceSelection(true);
95
		projetsCombo.setForceSelection(true);
107
		projetsCombo.getCombo().setEditable(false);
-
 
108
		projetsCombo.getCombo().setAllowBlank(false);
96
		projetsCombo.setAllowBlank(false);
109
		projetsCombo.getCombo().addStyleName(ComposantClass.OBLIGATOIRE);
97
		projetsCombo.setValidator(new Validator() {
110
		projetsCombo.getCombo().setValidator(new Validator() {
98
			public String validate(Field<?> champ, String valeurAValider) {
111
			public String validate(Field<?> champ, String valeurAValider) {
99
				String retour = null;
112
				String retour = null;
100
				if (UtilString.isEmpty(valeurAValider) 
113
				if (UtilString.isEmpty(valeurAValider) 
101
						|| projetsCombo.getStore().findModel("nom", valeurAValider) == null) {
114
						|| projetsCombo.getStore().findModel("cpr_nom", valeurAValider) == null) {
102
					champ.setValue(null);
115
					champ.setValue(null);
103
					retour = i18nC.selectionnerValeur();
116
					retour = i18nC.selectionnerValeur();
104
				}
117
				}
105
				return retour;
118
				return retour;
106
			}
119
			}
107
		});
-
 
108
		projetsCombo.addStyleName(ComposantClass.OBLIGATOIRE);
120
		});
-
 
121
		projetsCombo.getCombo().addListener(Events.Valid, Formulaire.creerEcouteurChampObligatoire());
109
		projetsCombo.addListener(Events.Valid, creerEcouteurChampObligatoire());
122
		
110
		panneauFormulaire.add(projetsCombo, new FormData(450, 0));
-
 
Line 111... Line 123...
111
		mediateur.selectionnerProjet(this, null, null);
123
		panneauFormulaire.add(projetsCombo, new FormData(450, 0));
112
		
124
		
113
		titreChp = new TextField<String>();
125
		titreChp = new TextField<String>();
114
		titreChp.setFieldLabel(i18nC.commentaireTitre());
126
		titreChp.setFieldLabel(i18nC.commentaireTitre());
Line 132... Line 144...
132
	
144
	
133
	public void rafraichir(Object nouvellesDonnees) {
145
	public void rafraichir(Object nouvellesDonnees) {
134
		if (nouvellesDonnees instanceof Commentaire) {
146
		if (nouvellesDonnees instanceof Commentaire) {
135
			// Si on a reçu les details d'une publication
147
			// Si on a reçu les details d'une publication
136
			rafraichirCommentaire((Commentaire) nouvellesDonnees);
-
 
137
		} else if (nouvellesDonnees instanceof ProjetListe) {
-
 
138
			ProjetListe projets = (ProjetListe) nouvellesDonnees;
-
 
139
			Formulaire.rafraichirComboBox(projets, projetsCombo);
-
 
140
			setValeurComboProjets();
148
			rafraichirCommentaire((Commentaire) nouvellesDonnees);
141
		} else if (nouvellesDonnees instanceof Information) {
149
		} else if (nouvellesDonnees instanceof Information) {
142
			rafraichirInformation((Information) nouvellesDonnees);	
150
			rafraichirInformation((Information) nouvellesDonnees);	
143
		} else {
151
		} else {
144
			Debug.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()));
152
			Debug.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()));
Line 157... Line 165...
157
		genererTitreFormulaire();
165
		genererTitreFormulaire();
158
	}
166
	}
Line 159... Line 167...
159
	
167
	
160
	private String getValeurComboProjets() {
168
	private String getValeurComboProjets() {
161
		String valeur = "";
169
		String valeur = "";
-
 
170
		if (projetsCombo.getCombo().getValue() != null && projetsCombo.getCombo().isValid()) {
162
		if (projetsCombo.getValue() != null && projetsCombo.isValid()) {
171
			Projet projet = new Projet (projetsCombo.getValeur());
163
			valeur = projetsCombo.getValue().getId();
172
			valeur = projet.getId();
164
		}
173
		}
165
		return valeur;
174
		return valeur;
166
	}
175
	}
167
	private void setValeurComboProjets() {
176
	private void setValeurComboProjets() {
168
		if (projetsCombo.getStore() != null ) {
177
		if (projetsCombo.getStore() != null ) {
169
			if (mode.equals(Formulaire.MODE_MODIFIER) && commentaire != null) {
178
			if (mode.equals(Formulaire.MODE_MODIFIER) && commentaire != null) {
170
				projetsCombo.setValue(projetsCombo.getStore().findModel("id_projet", commentaire.getIdProjet()));
179
				projetsCombo.getCombo().setValue(projetsCombo.getStore().findModel("cpr_id_projet", commentaire.getIdProjet()));
171
			} else if (mode.equals(Formulaire.MODE_AJOUTER)) {
180
			} else if (mode.equals(Formulaire.MODE_AJOUTER)) {
172
				projetsCombo.setValue(projetsCombo.getStore().findModel("id_projet", mediateur.getProjetId()));
181
				projetsCombo.getCombo().setValue(projetsCombo.getStore().findModel("cpr_id_projet", mediateur.getProjetId()));
173
			}
182
			}
174
		}
183
		}
Line 175... Line 184...
175
	}
184
	}
Line 205... Line 214...
205
		}
214
		}
206
	}
215
	}
Line 207... Line 216...
207
 
216
 
208
	private Boolean etreValide() {
217
	private Boolean etreValide() {
209
		Boolean valide = false;
-
 
210
		Debug.log("formulaire"+formulaireValideOk+" - Commentaire :"+commentaireValideOk);
218
		Boolean valide = false;
211
		if (formulaireValideOk && commentaireValideOk) {
219
		if (formulaireValideOk && commentaireValideOk) {
212
			valide = true;
220
			valide = true;
213
		}
221
		}
214
		return valide;
222
		return valide;