Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 1512 → Rev 1513

/trunk/src/org/tela_botanica/client/composants/GrillePaginable.java
1,5 → 1,6
package org.tela_botanica.client.composants;
 
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
32,6 → 33,7
import com.extjs.gxt.ui.client.widget.grid.GridSelectionModel;
import com.extjs.gxt.ui.client.widget.grid.RowNumberer;
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
import com.extjs.gxt.ui.client.widget.selection.SelectionModel;
import com.extjs.gxt.ui.client.widget.toolbar.PagingToolBar;
 
public class GrillePaginable<D extends ModelData> extends ContentPanel implements Rafraichissable, GrilleParametrable<D> {
52,7 → 54,7
private ListStore<D> storeGrille = null;
// Elements graphiques
EditorGrid<D> grillePersonne = null;
EditorGrid<D> grille = null;
List<ColumnConfig> colonnes = null;
ColumnModel modeleDeColonnes = null;
64,7 → 66,7
Constructeur
--------------*/
public GrillePaginable(ModelType modeltype, Proxy<D> proxy, List<ColumnConfig> colonnes, ColumnModel modeleDeColonnes) {
public GrillePaginable(ModelType modeltype, HashMap<String, String> virtualFields, Proxy<D> proxy, List<ColumnConfig> colonnes, ColumnModel modeleDeColonnes) {
// Récupération des paramètres
this.modelType = modeltype;
80,7 → 82,7
plc.setLimit(limit);
plc.setOffset(start);
reader = new TransformateurJSONaModelData<PagingLoadResult<D>>(modelType);
reader = new TransformateurJSONaModelData<PagingLoadResult<D>>(modelType, virtualFields);
loader = new ChargeurListe<PagingLoadResult<D>>(proxy, reader, this);
loader.setLimit(plc.getLimit());
92,6 → 94,12
}
});
loader.addListener(Loader.Load, new Listener<LoadEvent>() {
public void handleEvent(LoadEvent be) {
 
}
});
// Création de la grille
creerGrille();
}
102,7 → 110,7
------------*/
public EditorGrid<D> getGrille() {
return grillePersonne;
return grille;
}
public ListStore<D> getStore() {
109,11 → 117,20
return storeGrille;
}
public GridSelectionModel<D> getSelectionModel() {
return grille.getSelectionModel();
}
public D getSelection() {
return grillePersonne.getSelectionModel().getSelectedItem();
}
return grille.getSelectionModel().getSelectedItem();
}
@SuppressWarnings("unchecked")
public Proxy getProxy() {
return this.proxy;
}
/*-----------------------------
Rafraichir
-----------------------------*/
155,25 → 172,24
GridSelectionModel<D> modeleDeSelection = new GridSelectionModel<D>();
grillePersonne = new EditorGrid<D>(storeGrille, modeleDeColonnes);
grillePersonne.setHeight("100%");
grillePersonne.setBorders(true);
grillePersonne.setSelectionModel(modeleDeSelection);
grillePersonne.addPlugin(pluginLigneNumero);
grillePersonne.getView().setForceFit(true);
grillePersonne.setAutoExpandColumn("fmt_nom_complet");
grillePersonne.setStripeRows(true);
grillePersonne.setBorders(true);
grille = new EditorGrid<D>(storeGrille, modeleDeColonnes);
grille.setHeight("100%");
grille.setBorders(true);
grille.setSelectionModel(modeleDeSelection);
grille.addPlugin(pluginLigneNumero);
grille.getView().setForceFit(true);
grille.setStripeRows(true);
grille.setBorders(true);
grillePersonne.setStateful(true);
grille.setStateful(true);
grillePersonne.addListener(Events.Attach, new Listener<GridEvent<D>>() {
grille.addListener(Events.Attach, new Listener<GridEvent<D>>() {
public void handleEvent(GridEvent<D> be) {
PagingLoadConfig config = new BasePagingLoadConfig();
config.setOffset(0);
config.setLimit(50);
config.setOffset(start);
config.setLimit(limit);
Map<String, Object> state = grillePersonne.getState();
Map<String, Object> state = grille.getState();
if (state.containsKey("offset")) {
int offset = (Integer)state.get("offset");
int limit = (Integer)state.get("limit");
188,6 → 204,10
}
});
this.add(grillePersonne);
this.add(grille);
}
public void reload() {
loader.load();
}
}