Subversion Repositories eFlore/Applications.coel

Rev

Rev 1513 | Rev 1596 | Go to most recent revision | Show entire file | Regard 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
		
Line 107... Line 89...
107
 
89
 
108
		    }  
90
		    }
Line 109... Line 91...
109
		});
91
		});
110
		
-
 
111
		combo = new ComboBox<ModelData>();
92
		
112
		combo.setWidth(largeur);
93
		combo = new ComboBox<ModelData>();
113
		this.setWidth(largeur);
94
		this.setWidth(largeur);
114
		combo.setDisplayField(displayName);
95
		combo.setDisplayField(this.displayName);
115
		combo.setHideTrigger(false);
96
		combo.setHideTrigger(false);
116
		combo.setPageSize(plc.getLimit());
97
		combo.setPageSize(plc.getLimit());
117
        store = new ListStore<ModelData>(loader);
98
        store = new ListStore<ModelData>(loader);
Line 118... Line 99...
118
        combo.setStore(store);
99
        combo.setStore(store);
119
        loader.load(plc, recherche, false);
-
 
120
 
100
        loader.load(plc, recherche, false);
121
		combo.addListener(Events.KeyUp, new Listener<FieldEvent>() {
101
 
122
		
102
		combo.addListener(Events.KeyUp, new Listener<FieldEvent>() {
123
			public void handleEvent(FieldEvent fe) {
103
			public void handleEvent(FieldEvent fe) {
-
 
104
				// on vérifie que les touches enfoncées ne sont pas les flèches du clavier
124
				// on vérifie que les touches enfoncées ne sont pas les flèches du clavier
105
				if (!fe.isNavKeyPress()) {
-
 
106
					recherche = combo.getRawValue();
125
				if (!fe.isNavKeyPress()) {
107
					plc.setLimit(limit);
126
					recherche = combo.getRawValue();
108
					plc.setOffset(start);
127
					plc.setLimit(limit); plc.setOffset(start);
109
					loader.setLimit(limit);
128
					loader.setLimit(limit); loader.setOffset(start);
110
					loader.setOffset(start);
129
					loader.load(plc, recherche, false);
-
 
130
				}
111
					loader.load(plc, recherche, false);
Line 131... Line 112...
131
			}
112
				}
132
			  
113
			}
Line 133... Line 114...
133
		});
114
		});
134
 
115
 
135
		this.add(combo);
116
		this.add(combo);
136
	}
117
	}
137
 
-
 
138
	/*------------
118
 
139
	  Accesseurs 
119
	/*------------
Line 140... Line 120...
140
	------------*/
120
	  Accesseurs 
141
	public ComboBox<ModelData> getCombo()
-
 
142
	{
121
	------------*/
-
 
122
	public ComboBox<ModelData> getCombo() {
-
 
123
		return this.combo;
143
		return this.combo;
124
	}
-
 
125
	
144
	}
126
	public ModelData getValeur() {
Line 145... Line 127...
145
	
127
		if (combo.getSelection() != null && combo.getSelection().size() > 0) {
146
	public ModelData getValeur()
-
 
147
	{
128
			return combo.getSelection().get(0);
148
		if (combo.getSelection() != null && combo.getSelection().size() > 0) return combo.getSelection().get(0);
129
		} else {
Line 149... Line 130...
149
		else return null;
130
			return null;
150
	}
-
 
151
	
131
		}
152
	public ListStore<?> getStore()
132
	}
153
	{
133
	
Line 154... Line 134...
154
		return combo.getStore();
134
	public ListStore<?> getStore() {
155
	}
-
 
156
	
135
		return combo.getStore();
157
	public void setWidth(int largeur)
136
	}
158
	{
137
	
Line 159... Line 138...
159
		this.largeur = largeur;
138
	public void setWidth(int largeur) {
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 208... Line 184...
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
 
-