Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 1468 Rev 1513
Line 1... Line 1...
1
package org.tela_botanica.client.composants;
1
package org.tela_botanica.client.composants;
Line -... Line 2...
-
 
2
 
2
 
3
import java.util.HashMap;
3
import java.util.List;
4
import java.util.List;
Line 4... Line 5...
4
import java.util.Map;
5
import java.util.Map;
5
 
6
 
Line 30... Line 31...
30
import com.extjs.gxt.ui.client.widget.grid.ColumnModel;
31
import com.extjs.gxt.ui.client.widget.grid.ColumnModel;
31
import com.extjs.gxt.ui.client.widget.grid.EditorGrid;
32
import com.extjs.gxt.ui.client.widget.grid.EditorGrid;
32
import com.extjs.gxt.ui.client.widget.grid.GridSelectionModel;
33
import com.extjs.gxt.ui.client.widget.grid.GridSelectionModel;
33
import com.extjs.gxt.ui.client.widget.grid.RowNumberer;
34
import com.extjs.gxt.ui.client.widget.grid.RowNumberer;
34
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
35
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
-
 
36
import com.extjs.gxt.ui.client.widget.selection.SelectionModel;
35
import com.extjs.gxt.ui.client.widget.toolbar.PagingToolBar;
37
import com.extjs.gxt.ui.client.widget.toolbar.PagingToolBar;
Line 36... Line 38...
36
 
38
 
Line 37... Line 39...
37
public class GrillePaginable<D extends ModelData>  extends ContentPanel implements Rafraichissable, GrilleParametrable<D> {
39
public class GrillePaginable<D extends ModelData>  extends ContentPanel implements Rafraichissable, GrilleParametrable<D> {
Line 50... Line 52...
50
	private TransformateurJSONaModelData<PagingLoadResult<D>> reader = null;
52
	private TransformateurJSONaModelData<PagingLoadResult<D>> reader = null;
51
	private ChargeurListe<PagingLoadResult<D>> loader = null;
53
	private ChargeurListe<PagingLoadResult<D>> loader = null;
52
	private ListStore<D> storeGrille = null;
54
	private ListStore<D> storeGrille = null;
Line 53... Line 55...
53
	
55
	
54
	// Elements graphiques
56
	// Elements graphiques
55
	EditorGrid<D> grillePersonne = null;
57
	EditorGrid<D> grille = null;
56
	List<ColumnConfig> colonnes = null;
58
	List<ColumnConfig> colonnes = null;
Line 57... Line 59...
57
	ColumnModel modeleDeColonnes = null;
59
	ColumnModel modeleDeColonnes = null;
58
	
60
	
Line 62... Line 64...
62
	
64
	
63
	/*--------------
65
	/*--------------
64
	  Constructeur 
66
	  Constructeur 
Line 65... Line 67...
65
	--------------*/
67
	--------------*/
Line 66... Line 68...
66
	
68
	
67
	public GrillePaginable(ModelType modeltype, Proxy<D> proxy, List<ColumnConfig> colonnes, ColumnModel modeleDeColonnes) {
69
	public GrillePaginable(ModelType modeltype, HashMap<String, String> virtualFields, Proxy<D> proxy, List<ColumnConfig> colonnes, ColumnModel modeleDeColonnes) {
68
		
70
		
69
		// Récupération des paramètres
71
		// Récupération des paramètres
Line 78... Line 80...
78
		// Création des objets pour la récupération  et la pagination des données
80
		// Création des objets pour la récupération  et la pagination des données
79
		BasePagingLoadConfig plc = new BasePagingLoadConfig();
81
		BasePagingLoadConfig plc = new BasePagingLoadConfig();
80
		plc.setLimit(limit);
82
		plc.setLimit(limit);
81
		plc.setOffset(start);
83
		plc.setOffset(start);
Line 82... Line 84...
82
		
84
		
Line 83... Line 85...
83
		reader = new TransformateurJSONaModelData<PagingLoadResult<D>>(modelType);
85
		reader = new TransformateurJSONaModelData<PagingLoadResult<D>>(modelType, virtualFields);
84
		
86
		
85
		loader = new ChargeurListe<PagingLoadResult<D>>(proxy, reader, this);
87
		loader = new ChargeurListe<PagingLoadResult<D>>(proxy, reader, this);
Line 90... Line 92...
90
			public void handleEvent(LoadEvent be) {  				
92
			public void handleEvent(LoadEvent be) {  				
Line 91... Line 93...
91
 
93
 
92
			}  
94
			}  
Line -... Line 95...
-
 
95
		});
-
 
96
		
-
 
97
		loader.addListener(Loader.Load, new Listener<LoadEvent>() {
-
 
98
			public void handleEvent(LoadEvent be) {  				
-
 
99
 
-
 
100
			}  
93
		});
101
		});
94
		
102
		
95
		// Création de la grille
103
		// Création de la grille
Line 96... Line 104...
96
		creerGrille();
104
		creerGrille();
97
	}	
105
	}	
98
	
106
	
Line 99... Line 107...
99
	
107
	
100
	/*------------
108
	/*------------
101
	  Accesseurs 
109
	  Accesseurs 
Line 102... Line 110...
102
	------------*/
110
	------------*/
103
	
111
	
104
	public EditorGrid<D> getGrille() {
112
	public EditorGrid<D> getGrille() {
Line -... Line 113...
-
 
113
		return grille;
-
 
114
	}
-
 
115
	
-
 
116
	public ListStore<D> getStore() {
105
		return grillePersonne;
117
		return storeGrille;
106
	}
118
	}
-
 
119
	
-
 
120
	public GridSelectionModel<D> getSelectionModel() {
-
 
121
		return grille.getSelectionModel();
-
 
122
	}
-
 
123
	
107
	
124
	public D getSelection() {
Line 108... Line 125...
108
	public ListStore<D> getStore() {
125
		return grille.getSelectionModel().getSelectedItem();
109
		return storeGrille;
126
	}
110
	}
127
	
Line 153... Line 170...
153
		
170
		
Line 154... Line 171...
154
		RowNumberer pluginLigneNumero = new RowNumberer();
171
		RowNumberer pluginLigneNumero = new RowNumberer();
Line 155... Line 172...
155
		
172
		
156
		GridSelectionModel<D> modeleDeSelection = new GridSelectionModel<D>();
173
		GridSelectionModel<D> modeleDeSelection = new GridSelectionModel<D>();
157
		
174
		
158
		grillePersonne = new EditorGrid<D>(storeGrille, modeleDeColonnes);
175
		grille = new EditorGrid<D>(storeGrille, modeleDeColonnes);
159
		grillePersonne.setHeight("100%");
176
		grille.setHeight("100%");
160
		grillePersonne.setBorders(true);
177
		grille.setBorders(true);
161
		grillePersonne.setSelectionModel(modeleDeSelection);
-
 
162
		grillePersonne.addPlugin(pluginLigneNumero);
178
		grille.setSelectionModel(modeleDeSelection);
163
		grillePersonne.getView().setForceFit(true);
179
		grille.addPlugin(pluginLigneNumero);
Line 164... Line 180...
164
		grillePersonne.setAutoExpandColumn("fmt_nom_complet");
180
		grille.getView().setForceFit(true);
Line 165... Line 181...
165
		grillePersonne.setStripeRows(true);
181
		grille.setStripeRows(true);
166
		grillePersonne.setBorders(true); 
182
		grille.setBorders(true); 
167
		
183
		
168
		grillePersonne.setStateful(true);  
184
		grille.setStateful(true);  
169
		
185
		
Line 170... Line 186...
170
		grillePersonne.addListener(Events.Attach, new Listener<GridEvent<D>>() {  
186
		grille.addListener(Events.Attach, new Listener<GridEvent<D>>() {  
171
	       public void handleEvent(GridEvent<D> be) {  
187
	       public void handleEvent(GridEvent<D> be) {  
172
	         PagingLoadConfig config = new BasePagingLoadConfig();  
188
	         PagingLoadConfig config = new BasePagingLoadConfig();  
173
	         config.setOffset(0);  
189
	         config.setOffset(start);  
174
	         config.setLimit(50);  
190
	         config.setLimit(limit);  
175
	           
191
	           
Line 186... Line 202...
186
	         }  
202
	         }  
187
	         loader.load(config);  
203
	         loader.load(config);  
188
	       }  
204
	       }  
189
	     });
205
	     });
Line 190... Line 206...
190
		
206
		
-
 
207
		this.add(grille);
-
 
208
	}
-
 
209
	
-
 
210
	public void reload() {
191
		this.add(grillePersonne);
211
		loader.load();
192
	}
212
	}