9,11 → 9,13 |
import com.extjs.gxt.ui.client.event.ButtonEvent; |
import com.extjs.gxt.ui.client.event.SelectionListener; |
import com.extjs.gxt.ui.client.store.ListStore; |
import com.extjs.gxt.ui.client.widget.Component; |
import com.extjs.gxt.ui.client.widget.LayoutContainer; |
import com.extjs.gxt.ui.client.widget.MessageBox; |
import com.extjs.gxt.ui.client.widget.Text; |
import com.extjs.gxt.ui.client.widget.button.Button; |
import com.extjs.gxt.ui.client.widget.form.ComboBox; |
import com.extjs.gxt.ui.client.widget.form.Field; |
import com.extjs.gxt.ui.client.widget.form.HiddenField; |
import com.extjs.gxt.ui.client.widget.form.LabelField; |
import com.extjs.gxt.ui.client.widget.form.TextField; |
37,12 → 39,13 |
String valeurNonValideMsg = null; |
|
String valeurParDefaut = ""; |
String validation = null; |
String validationMasque = null; |
String exempleValidation = null; |
String boutonSupprimerLabel = ""; |
|
LayoutContainer principalLayout = null; |
TextField<String> champTexte = null; |
Field<String> champValeurTxt = null; |
ComboBox<Valeur> champValeurCombo = null; |
HiddenField<String> champRecapitulatif = null; |
HashMap<String, LayoutContainer> valeurs = null; |
ComboBox<Valeur> types = null; |
52,6 → 55,7 |
int largeurChamp = 0; |
|
boolean estMultiType = false; |
boolean estComboBox = false; |
|
public ChampMultiValeurs() { |
initialiserChampMultiValeur(null, 0); |
66,10 → 70,16 |
} |
|
public ChampMultiValeurs(boolean estMultiType, String label, int largeurTotale) { |
this.estMultiType = estMultiType; |
this.estMultiType = estMultiType; |
initialiserChampMultiValeur(label, largeurTotale); |
} |
|
public ChampMultiValeurs(boolean estCombobox, boolean estMultiType, String label, int largeurTotale) { |
this.estMultiType = estMultiType; |
this.estComboBox = estCombobox; |
initialiserChampMultiValeur(label, largeurTotale); |
} |
|
public void setLabel(String label) { |
if (label == null) { |
label = ""; |
85,7 → 95,7 |
} |
|
public void setValidation (String validation, String exempleValidation) { |
this.validation = validation; |
this.validationMasque = validation; |
this.exempleValidation = exempleValidation; |
|
this.valeurNonValideMsg = Mediateur.i18nM.valeurNonValideMsg(exempleValidation); |
93,7 → 103,7 |
|
public void setValeurParDefaut(String valeur) { |
this.valeurParDefaut = valeur; |
champTexte.setValue(valeur); |
champValeurTxt.setValue(valeur); |
} |
|
public void setValeurBoutonSupprimer(String valeur) { |
137,51 → 147,59 |
colonneLayout.add(types, new ColumnData(150)); |
} |
|
champTexte = new TextField<String>(); |
colonneLayout.add(champTexte, new ColumnData(largeurChamp)); |
|
if (estComboBox) { |
champValeurCombo = new ComboBox<Valeur>(); |
champValeurCombo.setDisplayField("nom"); |
champValeurCombo.setStore(new ListStore<Valeur>()); |
colonneLayout.add(champValeurCombo, new ColumnData(largeurChamp)); |
} else { |
champValeurTxt = new TextField<String>(); |
colonneLayout.add(champValeurTxt, new ColumnData(largeurChamp)); |
} |
Button ajouterBouton = new Button(); |
ajouterBouton.setIcon(Images.ICONES.ajouter()); |
ajouterBouton.addSelectionListener( |
new SelectionListener<ButtonEvent>() { |
public void componentSelected(ButtonEvent ce) { |
String valeurChampTxt = (String) champTexte.getValue(); |
if ((valeurChampTxt == null) || valeurChampTxt.trim().equals("") || valeurChampTxt.trim().equals(valeurParDefaut)) { |
MessageBox.alert(titreErreur, valeurVideMsg, null); |
} else if (valeurs.get(valeurChampTxt) != null){ |
MessageBox.alert(titreErreur, valeurIdentiqueMsg, null); |
ajouterBouton.addSelectionListener(new SelectionListener<ButtonEvent>() { |
public void componentSelected(ButtonEvent ce) { |
String valeurChamp = ""; |
if (estComboBox) { |
valeurChamp = champValeurCombo.getValue().getNom(); |
} else { |
valeurChamp = champValeurTxt.getValue(); |
} |
|
if ((valeurChamp == null) || valeurChamp.trim().equals("") || valeurChamp.trim().equals(valeurParDefaut)) { |
MessageBox.alert(titreErreur, valeurVideMsg, null); |
} else if (valeurs.get(valeurChamp) != null){ |
MessageBox.alert(titreErreur, valeurIdentiqueMsg, null); |
} else { |
if (validationMasque != null && !valeurChamp.matches(validationMasque)) { |
MessageBox.alert(titreErreur, valeurNonValideMsg, null); |
} else { |
if (validation!=null && !valeurChampTxt.matches(validation)) { |
MessageBox.alert(titreErreur, valeurNonValideMsg, null); |
} else { |
if (estMultiType) { |
|
String type = ""; |
String id = ""; |
Valeur valeur = types.getValue(); |
|
if (valeur != null) { |
type = valeur.getNom(); |
id = valeur.getId(); |
} else { |
type = types.getRawValue(); |
id = type; |
} |
if (estMultiType) { |
String type = ""; |
String id = ""; |
Valeur valeur = types.getValue(); |
|
if (type.trim().equals("")) { |
MessageBox.alert("Erreur de saisie", "Vous devez saisir un type ", null); |
} else { |
ajouterValeur(valeurChampTxt, type, id); |
} |
|
|
if (valeur != null) { |
type = valeur.getNom(); |
id = valeur.getId(); |
} else { |
ajouterValeur(valeurChampTxt); |
type = types.getRawValue(); |
id = type; |
} |
|
if (type.trim().equals("")) { |
MessageBox.alert("Erreur de saisie", "Vous devez saisir un type ", null); |
} else { |
ajouterValeur(valeurChamp, type, id); |
} |
} else { |
ajouterValeur(valeurChamp); |
} |
} |
} |
}); |
} |
}); |
colonneLayout.add(ajouterBouton, new ColumnData(largeurBouton)); |
|
principalLayout.add(champRecapitulatif); |
231,7 → 249,15 |
} |
|
public void reinitialiserChamp() { |
champTexte.setValue(valeurParDefaut); |
if (estComboBox) { |
champValeurCombo.setValue(champValeurCombo.getStore().findModel("id_valeur", valeurParDefaut)); |
} else { |
champValeurTxt.setValue(valeurParDefaut); |
} |
|
if (estMultiType) { |
types.reset(); |
} |
} |
|
public void actualiserLayoutGlobal() { |