Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 907 Rev 954
Line 1... Line 1...
1
package org.tela_botanica.client.composants;
1
package org.tela_botanica.client.composants;
Line 2... Line 2...
2
 
2
 
-
 
3
import java.util.Iterator;
Line 3... Line 4...
3
import java.util.Iterator;
4
import java.util.List;
4
 
5
 
5
import org.tela_botanica.client.Mediateur;
6
import org.tela_botanica.client.Mediateur;
6
import org.tela_botanica.client.RegistreId;
7
import org.tela_botanica.client.RegistreId;
7
import org.tela_botanica.client.configuration.Configuration;
8
import org.tela_botanica.client.configuration.Configuration;
8
import org.tela_botanica.client.interfaces.Rafraichissable;
9
import org.tela_botanica.client.interfaces.Rafraichissable;
-
 
10
import org.tela_botanica.client.modeles.Valeur;
-
 
11
import org.tela_botanica.client.modeles.ValeurListe;
Line 9... Line 12...
9
import org.tela_botanica.client.modeles.Valeur;
12
import org.tela_botanica.client.modeles.aDonnee;
10
import org.tela_botanica.client.modeles.ValeurListe;
13
import org.tela_botanica.client.util.UtilString;
11
 
14
 
12
import com.extjs.gxt.ui.client.Registry;
15
import com.extjs.gxt.ui.client.Registry;
Line 57... Line 60...
57
	
60
	
58
	public void setLabel(String label) {
61
	public void setLabel(String label) {
59
		groupeCaseACocher.setFieldLabel(label);
62
		groupeCaseACocher.setFieldLabel(label);
Line -... Line 63...
-
 
63
	}
-
 
64
	
-
 
65
	public boolean avoirChampAutre() {
60
	}
66
		return avoirChampAutre;
61
	
67
	}
62
	public void setChampAutre(boolean avoirChamp) {
68
	public void setChampAutre(boolean avoirChamp) {
63
		avoirChampAutre = avoirChamp;
69
		avoirChampAutre = avoirChamp;
64
		if (avoirChampAutre) {
70
		if (avoirChampAutre) {
65
			champAutre = new TextField<String>();
71
			champAutre = new TextField<String>();
Line -... Line 72...
-
 
72
		}
-
 
73
	}
-
 
74
	
-
 
75
	public String getValeur() {
-
 
76
		String valeur = "";
-
 
77
		
-
 
78
		List<CheckBox> liste = groupeCaseACocher.getValues();
-
 
79
		if (liste != null) {
-
 
80
			int taille = liste.size();
-
 
81
			for (int i = 0; i < taille; i++) {
-
 
82
				CheckBox cac = liste.get(i);
-
 
83
				if (cac.isEnabled()) {
-
 
84
					valeur += aDonnee.SEPARATEUR_VALEURS+cac.getData("id");
-
 
85
				}
-
 
86
			}
-
 
87
			
-
 
88
		}
-
 
89
		
-
 
90
		if (avoirChampAutre() && !UtilString.isEmpty(champAutre.getValue())) {
-
 
91
			valeur += aDonnee.SEPARATEUR_VALEURS+champAutre.getValue();
-
 
92
		}
-
 
93
		
-
 
94
		if (!valeur.equals("")) {
-
 
95
			valeur.replaceFirst("^"+aDonnee.SEPARATEUR_VALEURS, "");
-
 
96
		}
-
 
97
		
-
 
98
		return valeur;
-
 
99
	}
-
 
100
	
-
 
101
	public void peupler(String donnees) {
-
 
102
		String[] valeurs = donnees.split(aDonnee.SEPARATEUR_VALEURS);
-
 
103
		for (int i = 0; i < valeurs.length; i++) {
-
 
104
			if (valeurs[i].startsWith("AUTRE##")) {
-
 
105
				champAutre.setValue(valeurs[i].replaceFirst("^AUTRE##", ""));
-
 
106
			} else {
-
 
107
				//TODO : check : List<CheckBox> cases = groupeCac.getAll();
-
 
108
				List<Field<?>> cases = groupeCaseACocher.getAll();
-
 
109
				for (int j = 0; j < cases.size(); j++) {
-
 
110
					if (cases.get(j).getId().equals("val-"+valeurs[i])) {
-
 
111
						((CheckBox) cases.get(j)).setValue(true);
-
 
112
					}
-
 
113
				}
-
 
114
			}
66
		}
115
		}
67
	}
116
	}
68
	
117
	
69
	private FormLayout creerFormLayout(Integer labelWidth, LabelAlign labelAlign) {
118
	private FormLayout creerFormLayout(Integer labelWidth, LabelAlign labelAlign) {
70
		FormLayout formLayout = new FormLayout();
119
		FormLayout formLayout = new FormLayout();
Line 79... Line 128...
79
	
128
	
80
	private void creerChoixMultipleCac(ValeurListe listeValeurs) {
129
	private void creerChoixMultipleCac(ValeurListe listeValeurs) {
81
		addListener(Events.Hide, new Listener<BaseEvent>() {
130
		addListener(Events.Hide, new Listener<BaseEvent>() {
82
			public void handleEvent(BaseEvent be) {
131
			public void handleEvent(BaseEvent be) {
83
				groupeCaseACocher.reset();
132
				groupeCaseACocher.reset();
84
				if (avoirChampAutre) {
133
				if (avoirChampAutre()) {
85
					champAutre.setValue("");
134
					champAutre.setValue("");
86
				}
135
				}
87
			}
136
			}
Line 102... Line 151...
102
			}
151
			}
103
			groupeCaseACocher.add(cac);
152
			groupeCaseACocher.add(cac);
104
		}
153
		}
105
		add(groupeCaseACocher);
154
		add(groupeCaseACocher);
Line 106... Line 155...
106
		
155
		
107
		if (avoirChampAutre) {
156
		if (avoirChampAutre()) {
108
			// FIXME : éviter le chevauchement du texte des cases à cocher avec le label "Autre" sur les petits écrans
157
			// FIXME : éviter le chevauchement du texte des cases à cocher avec le label "Autre" sur les petits écrans
109
			LayoutContainer conteneur = new LayoutContainer();
158
			LayoutContainer conteneur = new LayoutContainer();
110
			conteneur.setLayout(creerFormLayout(50, LabelAlign.TOP));
159
			conteneur.setLayout(creerFormLayout(50, LabelAlign.TOP));
111
			champAutre.setId("autre-"+listeValeurs.getId());
160
			champAutre.setId("autre-"+listeValeurs.getId());