Subversion Repositories eFlore/Applications.coel

Rev

Rev 1513 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1513 Rev 1566
Line 6... Line 6...
6
 
6
 
7
import org.tela_botanica.client.composants.pagination.ChargeurListe;
7
import org.tela_botanica.client.composants.pagination.ChargeurListe;
8
import org.tela_botanica.client.composants.pagination.Proxy;
8
import org.tela_botanica.client.composants.pagination.Proxy;
9
import org.tela_botanica.client.composants.pagination.TransformateurJSONaModelData;
9
import org.tela_botanica.client.composants.pagination.TransformateurJSONaModelData;
10
import org.tela_botanica.client.interfaces.Rafraichissable;
-
 
11
import org.tela_botanica.client.modeles.aDonnee;
-
 
12
import org.tela_botanica.client.util.Debug;
10
import org.tela_botanica.client.interfaces.Rafraichissable;
Line 13... Line 11...
13
import org.tela_botanica.client.composants.GrilleParametrable;
11
import org.tela_botanica.client.composants.GrilleParametrable;
14
 
12
 
15
import com.extjs.gxt.ui.client.Style.SortDir;
13
import com.extjs.gxt.ui.client.Style.SortDir;
Line 31... Line 29...
31
import com.extjs.gxt.ui.client.widget.grid.ColumnModel;
29
import com.extjs.gxt.ui.client.widget.grid.ColumnModel;
32
import com.extjs.gxt.ui.client.widget.grid.EditorGrid;
30
import com.extjs.gxt.ui.client.widget.grid.EditorGrid;
33
import com.extjs.gxt.ui.client.widget.grid.GridSelectionModel;
31
import com.extjs.gxt.ui.client.widget.grid.GridSelectionModel;
34
import com.extjs.gxt.ui.client.widget.grid.RowNumberer;
32
import com.extjs.gxt.ui.client.widget.grid.RowNumberer;
35
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
33
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
36
import com.extjs.gxt.ui.client.widget.selection.SelectionModel;
-
 
37
import com.extjs.gxt.ui.client.widget.toolbar.PagingToolBar;
34
import com.extjs.gxt.ui.client.widget.toolbar.PagingToolBar;
Line 38... Line 35...
38
 
35
 
Line 39... Line 36...
39
public class GrillePaginable<D extends ModelData>  extends ContentPanel implements Rafraichissable, GrilleParametrable<D> {
36
public class GrillePaginable<D extends ModelData>  extends ContentPanel implements Rafraichissable, GrilleParametrable<D> {
40
 
37
 
41
	  //-------------//
-
 
Line 42... Line 38...
42
	 //  ATTRIBUTS	//
38
	//+---------------------------------------------------------------------------------------------------------------+
43
	//-------------//
39
	// Attributs
44
	
40
	
Line 45... Line 41...
45
	// Pagination
41
	// Pagination
46
	private int start = 0;
42
	private int start = 0;
47
	private int limit = 50;
43
	private int limit = 50;
48
	
44
	
-
 
45
	// Récupération, stockage et pagination des données
49
	// Récupération, stockage et pagination des données
46
	private ModelType modelType = null;
50
	private ModelType modelType = null;
47
	private Proxy<D> proxy = null;
Line 51... Line 48...
51
	private Proxy<D> proxy = null;
48
	private TransformateurJSONaModelData<PagingLoadResult<D>> reader = null;
52
	private TransformateurJSONaModelData<PagingLoadResult<D>> reader = null;
49
	private BasePagingLoadConfig plc = null;
53
	private ChargeurListe<PagingLoadResult<D>> loader = null;
50
	private ChargeurListe<PagingLoadResult<D>> loader = null;
54
	private ListStore<D> storeGrille = null;
51
	private ListStore<D> storeGrille = null;
Line 55... Line -...
55
	
-
 
56
	// Elements graphiques
-
 
57
	EditorGrid<D> grille = null;
52
	
58
	List<ColumnConfig> colonnes = null;
-
 
59
	ColumnModel modeleDeColonnes = null;
-
 
60
	
53
	// Elements graphiques
61
	  //-------------//
-
 
Line 62... Line 54...
62
	 //   METHODES	//
54
	EditorGrid<D> grille = null;
Line 63... Line 55...
63
	//-------------//
55
	List<ColumnConfig> colonnes = null;
64
	
56
	ColumnModel modeleDeColonnes = null;
Line 76... Line 68...
76
		
68
		
77
		// Formatage du conteneur;
69
		// Formatage du conteneur;
Line 78... Line 70...
78
		this.setLayout(new FitLayout());
70
		this.setLayout(new FitLayout());
79
		
71
		
80
		// Création des objets pour la récupération  et la pagination des données
72
		// Création des objets pour la récupération  et la pagination des données
81
		BasePagingLoadConfig plc = new BasePagingLoadConfig();
73
		plc = new BasePagingLoadConfig();
Line 82... Line 74...
82
		plc.setLimit(limit);
74
		plc.setLimit(limit);
Line 83... Line -...
83
		plc.setOffset(start);
-
 
84
		
-
 
85
		reader = new TransformateurJSONaModelData<PagingLoadResult<D>>(modelType, virtualFields);
-
 
86
		
-
 
87
		loader = new ChargeurListe<PagingLoadResult<D>>(proxy, reader, this);
-
 
88
        loader.setLimit(plc.getLimit());
-
 
89
        loader.setOffset(plc.getOffset());
-
 
90
 
-
 
91
		loader.addListener(Loader.BeforeLoad, new Listener<LoadEvent>() {
-
 
92
			public void handleEvent(LoadEvent be) {  				
-
 
93
 
-
 
94
			}  
-
 
95
		});
-
 
96
		
-
 
97
		loader.addListener(Loader.Load, new Listener<LoadEvent>() {
-
 
98
			public void handleEvent(LoadEvent be) {  				
-
 
99
 
75
		plc.setOffset(start);
100
			}  
76
		
101
		});
77
		reader = new TransformateurJSONaModelData<PagingLoadResult<D>>(modelType, virtualFields);
102
		
-
 
103
		// Création de la grille
78
		
104
		creerGrille();
79
		creerChargeurDeListe();
105
	}	
80
		creerGrille();
106
	
-
 
Line 107... Line 81...
107
	
81
	}
108
	/*------------
82
 
109
	  Accesseurs 
83
	//+---------------------------------------------------------------------------------------------------------------+
Line 129... Line 103...
129
	public Proxy getProxy() {
103
	public Proxy getProxy() {
130
		return this.proxy;
104
		return this.proxy;
131
	}
105
	}
Line 132... Line 106...
132
	
106
	
133
	
107
	
134
	/*-----------------------------
-
 
Line 135... Line 108...
135
			Rafraichir
108
	//+---------------------------------------------------------------------------------------------------------------+
Line 136... Line 109...
136
	-----------------------------*/
109
	// Méthodes publiques
Line -... Line 110...
-
 
110
	
-
 
111
	public void rafraichir(Object nouvellesDonnees) {
Line 137... Line 112...
137
	
112
		
-
 
113
	}
138
	public void rafraichir(Object nouvellesDonnees) {
114
	
-
 
115
	//+---------------------------------------------------------------------------------------------------------------+
-
 
116
	// Méthodes privées
-
 
117
	
-
 
118
	private void creerChargeurDeListe() {
-
 
119
		loader = new ChargeurListe<PagingLoadResult<D>>(proxy, reader, this);
-
 
120
        loader.setLimit(plc.getLimit());
-
 
121
        loader.setOffset(plc.getOffset());
139
		
122
		loader.addListener(Loader.BeforeLoad, new Listener<LoadEvent>() {
-
 
123
			public void handleEvent(LoadEvent be) {  				
-
 
124
 
-
 
125
			}  
-
 
126
		});
Line 140... Line 127...
140
	}
127
		loader.addListener(Loader.Load, new Listener<LoadEvent>() {
141
	
-
 
142
	
128
			public void handleEvent(LoadEvent be) {  				
143
	/*----------------
129
 
144
	  Méthode privées 
130
			}  
Line 145... Line 131...
145
	-----------------*/
131
		});
146
	
-
 
147
	private void creerGrille() {
132
	}
148
		
133
	
Line 149... Line 134...
149
		final PagingToolBar toolBar = new PagingToolBar(this.limit);  
134
	private void creerGrille() {
150
		toolBar.bind(loader);  
135
		final PagingToolBar toolBar = new PagingToolBar(this.limit);  
Line 166... Line 151...
166
			public void handleEvent(StoreEvent<D> ce) {
151
			public void handleEvent(StoreEvent<D> ce) {
Line 167... Line 152...
167
 
152
 
168
			}
153
			}
Line 169... Line -...
169
		});
-
 
170
		
-
 
171
		RowNumberer pluginLigneNumero = new RowNumberer();
154
		});
Line 172... Line 155...
172
		
155
		
173
		GridSelectionModel<D> modeleDeSelection = new GridSelectionModel<D>();
156
		GridSelectionModel<D> modeleDeSelection = new GridSelectionModel<D>();
174
		
157
		
175
		grille = new EditorGrid<D>(storeGrille, modeleDeColonnes);
158
		grille = new EditorGrid<D>(storeGrille, modeleDeColonnes);
176
		grille.setHeight("100%");
-
 
177
		grille.setBorders(true);
159
		grille.setHeight("100%");
178
		grille.setSelectionModel(modeleDeSelection);
160
		grille.setBorders(true);
179
		grille.addPlugin(pluginLigneNumero);
161
		grille.setSelectionModel(modeleDeSelection);
180
		grille.getView().setForceFit(true);
-
 
181
		grille.setStripeRows(true);
162
		grille.getView().setForceFit(true);
182
		grille.setBorders(true); 
-
 
183
		
163
		grille.setStripeRows(true);
184
		grille.setStateful(true);  
164
		grille.setBorders(true); 
185
		
165
		grille.setStateful(true);  
186
		grille.addListener(Events.Attach, new Listener<GridEvent<D>>() {  
166
		grille.addListener(Events.Attach, new Listener<GridEvent<D>>() {  
187
	       public void handleEvent(GridEvent<D> be) {  
167
	       public void handleEvent(GridEvent<D> be) {