Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 1513 Rev 1526
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.List;
-
 
Line 4... Line 3...
4
import java.util.Map;
3
import java.util.List;
5
 
4
 
6
import org.tela_botanica.client.composants.pagination.ChargeurListe;
5
import org.tela_botanica.client.composants.pagination.ChargeurListe;
7
import org.tela_botanica.client.composants.pagination.Proxy;
6
import org.tela_botanica.client.composants.pagination.Proxy;
8
import org.tela_botanica.client.composants.pagination.TransformateurJSONaModelData;
7
import org.tela_botanica.client.composants.pagination.TransformateurJSONaModelData;
9
import org.tela_botanica.client.interfaces.Rafraichissable;
-
 
10
import org.tela_botanica.client.modeles.Information;
-
 
11
import org.tela_botanica.client.modeles.Valeur;
-
 
12
import org.tela_botanica.client.modeles.collection.Collection;
8
import org.tela_botanica.client.interfaces.Rafraichissable;
13
import org.tela_botanica.client.synchronisation.Sequenceur;
-
 
Line 14... Line -...
14
import org.tela_botanica.client.util.Debug;
-
 
15
import org.tela_botanica.client.vues.Formulaire;
9
import org.tela_botanica.client.modeles.Information;
16
 
10
import org.tela_botanica.client.util.Debug;
17
import com.extjs.gxt.ui.client.event.BaseEvent;
11
 
18
import com.extjs.gxt.ui.client.event.Events;
12
import com.extjs.gxt.ui.client.event.Events;
19
import com.extjs.gxt.ui.client.event.FieldEvent;
-
 
20
import com.extjs.gxt.ui.client.event.Listener;
-
 
21
import com.extjs.gxt.ui.client.store.ListStore;
13
import com.extjs.gxt.ui.client.event.FieldEvent;
22
import com.extjs.gxt.ui.client.util.Size;
-
 
23
import com.extjs.gxt.ui.client.util.Util;
14
import com.extjs.gxt.ui.client.event.Listener;
24
import com.extjs.gxt.ui.client.widget.LayoutContainer;
-
 
25
import com.extjs.gxt.ui.client.widget.VerticalPanel;
-
 
26
import com.extjs.gxt.ui.client.widget.form.ComboBox;
-
 
27
import com.extjs.gxt.ui.client.widget.layout.AbsoluteLayout;
-
 
28
import com.extjs.gxt.ui.client.widget.layout.AnchorLayout;
-
 
29
import com.extjs.gxt.ui.client.widget.layout.BoxLayout;
-
 
30
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
15
import com.extjs.gxt.ui.client.store.ListStore;
Line 31... Line -...
31
import com.extjs.gxt.ui.client.widget.layout.FlowLayout;
-
 
32
import com.extjs.gxt.ui.client.widget.layout.FormData;
16
import com.extjs.gxt.ui.client.widget.LayoutContainer;
33
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
17
import com.extjs.gxt.ui.client.widget.form.ComboBox;
34
 
18
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
35
import com.extjs.gxt.ui.client.data.BaseModelData;
19
 
36
import com.extjs.gxt.ui.client.data.BasePagingLoadConfig;
20
import com.extjs.gxt.ui.client.data.BasePagingLoadConfig;
37
import com.extjs.gxt.ui.client.data.LoadEvent;
21
import com.extjs.gxt.ui.client.data.LoadEvent;
38
import com.extjs.gxt.ui.client.data.Loader;
-
 
Line 39... Line 22...
39
import com.extjs.gxt.ui.client.data.ModelData;
22
import com.extjs.gxt.ui.client.data.Loader;
Line 40... Line 23...
40
import com.extjs.gxt.ui.client.data.ModelType;
23
import com.extjs.gxt.ui.client.data.ModelData;
41
import com.extjs.gxt.ui.client.data.PagingLoadResult;
24
import com.extjs.gxt.ui.client.data.ModelType;
Line 72... Line 55...
72
 
55
 
73
	/*--------------
56
	/*--------------
74
	  Constructeur 
57
	  Constructeur 
Line 75... Line 58...
75
	--------------*/
58
	--------------*/
76
	
-
 
77
	public ChampComboBoxRechercheTempsReelPaginable(Proxy<?> proxy, ModelType modeltype, String displayName) {
59
	
78
		
60
	public ChampComboBoxRechercheTempsReelPaginable(Proxy<?> proxy, ModelType modelType, String displayName) {
79
		this.modeltype = modeltype;
61
		this.modeltype = modelType;
Line 80... Line 62...
80
		this.proxy = proxy;
62
		this.proxy = proxy;
81
		this.displayName = displayName;
63
		this.displayName = displayName;
82
 
64
 
Line 83... Line 65...
83
		plc = new BasePagingLoadConfig();
65
		plc = new BasePagingLoadConfig();
Line 84... Line 66...
84
		plc.setLimit(limit);
66
		plc.setLimit(limit);
85
		plc.setOffset(start);
67
		plc.setOffset(start);
86
		
68
		
Line 87... Line 69...
87
		reader = new TransformateurJSONaModelData<PagingLoadResult<ModelData>>(modeltype, null);
69
		reader = new TransformateurJSONaModelData<PagingLoadResult<ModelData>>(this.modeltype, null);
88
		
70
		
89
		loader = new ChargeurListe<PagingLoadResult<ModelData>>(proxy, reader, this);
71
		loader = new ChargeurListe<PagingLoadResult<ModelData>>(this.proxy, reader, this);
90
        loader.setLimit(plc.getLimit());
72
        loader.setLimit(plc.getLimit());
91
        loader.setOffset(plc.getOffset());
73
        loader.setOffset(plc.getOffset());
Line 92... Line 74...
92
 
74
 
93
		loader.addListener(Loader.BeforeLoad, new Listener<LoadEvent>() {
75
		loader.addListener(Loader.BeforeLoad, new Listener<LoadEvent>() {
Line 94... Line 76...
94
			public void handleEvent(LoadEvent be) {  				
76
			public void handleEvent(LoadEvent be) {  				
95
				be.<ModelData> getConfig().set("start", be.<ModelData> getConfig().get("offset"));
77
				be.<ModelData> getConfig().set("start", be.<ModelData> getConfig().get("offset"));
Line 96... Line 78...
96
			}  
78
			}
97
		});
79
		});
Line 98... Line 80...
98
 
80
 
99
		loader.addListener(Loader.Load, new Listener<LoadEvent>() {  
81
		loader.addListener(Loader.Load, new Listener<LoadEvent>() {  
Line 100... Line 82...
100
			public void handleEvent(LoadEvent be) {  
82
			public void handleEvent(LoadEvent be) {  
101
 
-
 
102
		    }  
83
 
103
		});
84
		    }
104
		
85
		});
105
		loader.addListener(Loader.LoadException, new Listener<LoadEvent>() {  
86
		
106
			public void handleEvent(LoadEvent be) {
87
		loader.addListener(Loader.LoadException, new Listener<LoadEvent>() {  
107
 
88
			public void handleEvent(LoadEvent be) {
108
		    }  
89
 
Line 109... Line 90...
109
		});
90
		    }
110
		
-
 
111
		combo = new ComboBox<ModelData>();
91
		});
112
		combo.setWidth(largeur);
92
		
113
		this.setWidth(largeur);
93
		combo = new ComboBox<ModelData>();
114
		combo.setDisplayField(displayName);
94
		this.setWidth(largeur);
-
 
95
		combo.setDisplayField(this.displayName);
115
		combo.setHideTrigger(false);
96
		combo.setHideTrigger(false);
-
 
97
		combo.setPageSize(plc.getLimit());
116
		combo.setPageSize(plc.getLimit());
98
        store = new ListStore<ModelData>(loader);
117
        store = new ListStore<ModelData>(loader);
99
        combo.setStore(store);
118
        combo.setStore(store);
100
        loader.load(plc, recherche, false);
119
        loader.load(plc, recherche, false);
101
 
120
 
-
 
121
		combo.addListener(Events.KeyUp, new Listener<FieldEvent>() {
102
		combo.addListener(Events.KeyUp, new Listener<FieldEvent>() {
Line 122... Line 103...
122
		
103
			public void handleEvent(FieldEvent fe) {
123
			public void handleEvent(FieldEvent fe) {
104
				// on vérifie que les touches enfoncées ne sont pas les flèches du clavier
Line 124... Line 105...
124
				// on vérifie que les touches enfoncées ne sont pas les flèches du clavier
105
				if (!fe.isNavKeyPress()) {
125
				if (!fe.isNavKeyPress()) {
106
					recherche = combo.getRawValue();
126
					recherche = combo.getRawValue();
107
					plc.setLimit(limit);
127
					plc.setLimit(limit); plc.setOffset(start);
108
					plc.setOffset(start);
128
					loader.setLimit(limit); loader.setOffset(start);
-
 
129
					loader.load(plc, recherche, false);
109
					loader.setLimit(limit);
130
				}
110
					loader.setOffset(start);
Line 131... Line 111...
131
			}
111
					loader.load(plc, recherche, false);
132
			  
-
 
133
		});
112
				}
-
 
113
			}
-
 
114
		});
134
 
115
 
-
 
116
		this.add(combo);
135
		this.add(combo);
117
	}
Line 136... Line 118...
136
	}
118
 
137
 
-
 
138
	/*------------
119
	/*------------
139
	  Accesseurs 
120
	  Accesseurs 
Line 140... Line 121...
140
	------------*/
121
	------------*/
141
	public ComboBox<ModelData> getCombo()
-
 
142
	{
122
	public ComboBox<ModelData> getCombo() {
143
		return this.combo;
123
		return this.combo;
144
	}
124
	}
Line 145... Line 125...
145
	
125
	
146
	public ModelData getValeur()
-
 
147
	{
126
	public ModelData getValeur() {
148
		if (combo.getSelection() != null && combo.getSelection().size() > 0) return combo.getSelection().get(0);
127
		if (combo.getSelection() != null && combo.getSelection().size() > 0) {
149
		else return null;
128
			return combo.getSelection().get(0);
Line 150... Line 129...
150
	}
129
		} else {
Line 176... Line 155...
176
	
155
	
177
	/*-----------------------------
156
	/*-----------------------------
178
	  Gestion du contenu du champ 
157
	  Gestion du contenu du champ 
Line 179... Line 158...
179
	-----------------------------*/
158
	-----------------------------*/
180
	
-
 
181
	public List<ModelData> collecterValeursDuChamp()
159
	
182
	{
160
	public List<ModelData> collecterValeursDuChamp() {
Line 183... Line 161...
183
		return combo.getSelection();
161
		return combo.getSelection();
184
	}
-
 
185
	
162
	}
186
	public void peuplerChamp(List<ModelData> selection)
163
	
Line 187... Line 164...
187
	{
164
	public void peuplerChamp(List<ModelData> selection) {
188
		combo.setSelection(selection);
-
 
189
	}
165
		combo.setSelection(selection);
190
 
166
	}
Line 191... Line 167...
191
	public void chargerValeurInitiale(String valeurInitiale, String champ)
167
 
192
	{		
168
	public void chargerValeurInitiale(String valeurInitiale, String champ) {		
Line 205... Line 181...
205
			if (info.getType().equals("selectionnerValeurCombo")) {
181
			if (info.getType().equals("selectionnerValeurCombo")) {
206
				if (combo.getStore().findModel(champValeurInitiale, valeurInitiale) == null) {
182
				if (combo.getStore().findModel(champValeurInitiale, valeurInitiale) == null) {
207
					Debug.log("ERREUR. Modele non trouvé.");
183
					Debug.log("ERREUR. Modele non trouvé.");
208
					Debug.log("Recherché : ["+champValeurInitiale+"]="+valeurInitiale);
184
					Debug.log("Recherché : ["+champValeurInitiale+"]="+valeurInitiale);
209
					Debug.log("Le magasin contient "+combo.getStore().getCount()+" éléments. Les propriétés des modèles sont :");
185
					Debug.log("Le magasin contient "+combo.getStore().getCount()+" éléments. Les propriétés des modèles sont :");
210
					for (int i=0; i<combo.getStore().getCount(); i++) {
186
					for (int i = 0; i < combo.getStore().getCount(); i++) {
211
						Debug.log(combo.getStore().getAt(i).getProperties().toString());
187
						Debug.log(combo.getStore().getAt(i).getProperties().toString());
212
					}
188
					}
-
 
189
				} else {
-
 
190
					combo.setValue(combo.getStore().findModel(champValeurInitiale, valeurInitiale));
213
				}
191
				}
214
				else combo.setValue(combo.getStore().findModel(champValeurInitiale, valeurInitiale));
-
 
215
			}
192
			}
216
		}
193
		}
217
	}
194
	}
218
	
-
 
219
	/*----------------
-
 
220
	  Méthode privées 
-
 
221
	-----------------*/
-
 
222
	
-
 
223
	
-
 
224
 
-
 
225
}
195
}
226
 
-
 
227
 
-
 
228
 
-
 
229
 
-
 
230
196