Subversion Repositories eFlore/Applications.coel

Compare Revisions

Ignore whitespace Rev 1427 → Rev 1428

/trunk/src/org/tela_botanica/client/composants/ChampComboBoxRechercheTempsReelPaginable.java
6,11 → 6,17
import org.tela_botanica.client.composants.pagination.ChargeurListe;
import org.tela_botanica.client.composants.pagination.Proxy;
import org.tela_botanica.client.composants.pagination.TransformateurJSONaModelData;
import org.tela_botanica.client.interfaces.Rafraichissable;
import org.tela_botanica.client.modeles.Information;
import org.tela_botanica.client.modeles.Valeur;
import org.tela_botanica.client.modeles.collection.Collection;
import org.tela_botanica.client.synchronisation.Sequenceur;
import org.tela_botanica.client.util.Debug;
import org.tela_botanica.client.vues.Formulaire;
 
import com.extjs.gxt.ui.client.event.BaseEvent;
import com.extjs.gxt.ui.client.event.Events;
import com.extjs.gxt.ui.client.event.FieldEvent;
import com.extjs.gxt.ui.client.event.Listener;
import com.extjs.gxt.ui.client.store.ListStore;
import com.extjs.gxt.ui.client.util.Size;
33,8 → 39,9
import com.extjs.gxt.ui.client.data.ModelData;
import com.extjs.gxt.ui.client.data.ModelType;
import com.extjs.gxt.ui.client.data.PagingLoadResult;
import com.google.gwt.user.client.rpc.AsyncCallback;
 
public class ChampComboBoxRechercheTempsReelPaginable extends LayoutContainer {
public class ChampComboBoxRechercheTempsReelPaginable extends LayoutContainer implements Rafraichissable {
 
//-------------//
// ATTRIBUTS //
44,6 → 51,7
private ComboBox<ModelData> combo = null;
 
private Proxy<?> proxy = null;
private AsyncCallback callback = null;
private TransformateurJSONaModelData<PagingLoadResult<ModelData>> reader = null;
private ChargeurListe<PagingLoadResult<ModelData>> loader = null;
56,6 → 64,9
private String displayName = "";
private String recherche = "";
private String champValeurInitiale = "";
private String valeurInitiale = "";
//-------------//
// METHODES //
//-------------//
63,6 → 74,7
/*--------------
Constructeur
--------------*/
public ChampComboBoxRechercheTempsReelPaginable(Proxy<?> proxy, ModelType modeltype, String displayName) {
this.modeltype = modeltype;
75,7 → 87,7
reader = new TransformateurJSONaModelData<PagingLoadResult<ModelData>>(modeltype);
loader = new ChargeurListe<PagingLoadResult<ModelData>>(proxy, reader);
loader = new ChargeurListe<PagingLoadResult<ModelData>>(proxy, reader, this);
loader.setLimit(plc.getLimit());
loader.setOffset(plc.getOffset());
 
105,15 → 117,18
combo.setPageSize(plc.getLimit());
store = new ListStore<ModelData>(loader);
combo.setStore(store);
loader.load(plc, recherche);
loader.load(plc, recherche, false);
 
combo.addListener(Events.KeyUp, new Listener<BaseEvent>() {
combo.addListener(Events.KeyUp, new Listener<FieldEvent>() {
public void handleEvent(BaseEvent be) {
recherche = combo.getRawValue();
plc.setLimit(limit); plc.setOffset(start);
loader.setLimit(limit); loader.setOffset(start);
loader.load(plc, recherche);
public void handleEvent(FieldEvent fe) {
// on vérifie que les touches enfoncées ne sont pas les flèches du clavier
if (fe.getKeyCode() <= 38 || fe.getKeyCode() >= 40) {
recherche = combo.getRawValue();
plc.setLimit(limit); plc.setOffset(start);
loader.setLimit(limit); loader.setOffset(start);
loader.load(plc, recherche, false);
}
}
});
131,7 → 146,7
public ModelData getValeur()
{
if (!Util.isEmptyString(combo.getRawValue())) return combo.getSelection().get(0);
if (combo.getSelection() != null && combo.getSelection().size() > 0) return combo.getSelection().get(0);
else return null;
}
174,10 → 189,33
combo.setSelection(selection);
}
 
public void chargerValeurInitiale(String valeurInitiale, String champ)
{
this.valeurInitiale = valeurInitiale;
this.champValeurInitiale = champ;
 
loader.load(plc, valeurInitiale, true);
}
 
/*-----------------------------
Rafraichir
-----------------------------*/
public void rafraichir(Object nouvellesDonnees) {
if (nouvellesDonnees instanceof Information) {
Information info = (Information) nouvellesDonnees;
if (info.getType().equals("selectionnerValeurCombo")) {
if (combo.getStore().findModel(champValeurInitiale, valeurInitiale) == null) Debug.log("ERREUR. Modele non trouvé");
else combo.setValue(combo.getStore().findModel(champValeurInitiale, valeurInitiale));
}
}
}
/*----------------
Méthode privées
-----------------*/
 
}