/trunk/src/org/tela_botanica/client/modeles/structure/StructureAsyncDao.java |
---|
41,7 → 41,7 |
* est renvoyé à l'appelant |
* // FIXME : si la taille de la liste est supérieure à la limite du JREST (150), ce deuxieme mode ne fonctionne pas |
*/ |
public void selectionner(final boolean paginationProgressive, final String projetId, final String structureId, final String nomStructure, final int start, final int nbElements, final Integer seqId) { |
public void selectionner(final boolean paginationProgressive, final String projetId, final String structureId, final String nomStructure, final String formatRetour, final int start, final int nbElements, final Integer seqId) { |
String nom = (nomStructure == null) ? "%" : nomStructure+"%"; |
String[] parametres = {projetId, structureId, nom}; |
52,6 → 52,10 |
restrictions.put("limit", String.valueOf(nbElements)); |
} |
if ((formatRetour != null) && (formatRetour != "")) { |
restrictions.put("formatRetour", formatRetour); |
} |
/** GESTION DE LA REQUETE dans le cas d'une liste paginée progressive **/ |
if (paginationProgressive) { |
/trunk/src/org/tela_botanica/client/Mediateur.java |
---|
757,9 → 757,7 |
} |
} |
/**************************************************************************************************** |
/** selectionnerStructure(Rafraichissable vueARafraichir, String recherche, int start, int nbElements) |
/**************************************************************************************************** |
* Action : |
* -------- |
* - Récupère un nombre défini de structures en s'aidant du nom partiel ou complet de la structure. |
780,11 → 778,13 |
* - 'recherche' doit être non NULL. |
* - 'start' doit être supérieur ou égal à zéro. 'nbElements' doit être supérieur à zéro. |
* |
*****************************************************************************************************/ |
*/ |
public void selectionnerStructure(Rafraichissable vueARafraichir, String recherche, int start, int nbElements, Sequenceur sequenceur) { |
if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner Structure"); |
if (Mediateur.DEBUG) { |
System.out.println("MEDIATEUR - selectionner Structure"); |
} |
Integer seqId = null; |
if (sequenceur!=null) { |
if (sequenceur != null) { |
seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir); |
vueARafraichir = sequenceur; |
} |
792,9 → 792,11 |
} |
public void selectionnerStructure(Rafraichissable vueARafraichir, String structureId, Sequenceur sequenceur) { |
if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner Structure"); |
if (Mediateur.DEBUG) { |
System.out.println("MEDIATEUR - selectionner Structure"); |
} |
Integer seqId = null; |
if (sequenceur!=null) { |
if (sequenceur != null) { |
seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir); |
vueARafraichir = sequenceur; |
} |
802,9 → 804,11 |
} |
public void selectionnerStructure(Rafraichissable vueARafraichir, String structureId, String projetId, String nom, int start, int nbElements, Sequenceur sequenceur) { |
if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner Structure"); |
if (Mediateur.DEBUG) { |
System.out.println("MEDIATEUR - selectionner Structure"); |
} |
Integer seqId = null; |
if (sequenceur!=null) { |
if (sequenceur != null) { |
seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir); |
vueARafraichir = sequenceur; |
} |
811,10 → 815,24 |
modele.selectionnerStructure(vueARafraichir, getProjetId(), structureId, nom, start, nbElements, seqId); |
} |
public void selectionnerStructureAvecPaginationProgressive(Rafraichissable vueARafraichir, String structureId, String projetId, String nom, String formatRetour, int start, int nbElements, Sequenceur sequenceur) { |
if (Mediateur.DEBUG) { |
System.out.println("MEDIATEUR - selectionner Structure"); |
} |
Integer seqId = null; |
if (sequenceur != null) { |
seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir); |
vueARafraichir = sequenceur; |
} |
modele.selectionnerStructureAvecPaginationProgressive(vueARafraichir, getProjetId(), structureId, nom, formatRetour, start, nbElements, seqId); |
} |
public void selectionnerStructureParProjet(Rafraichissable vueARafraichir, String projetId, Sequenceur sequenceur) { |
if (Mediateur.DEBUG) System.out.println("MEDIATEUR - selectionner Structure"); |
if (Mediateur.DEBUG) { |
System.out.println("MEDIATEUR - selectionner Structure"); |
} |
Integer seqId = null; |
if (sequenceur!=null) { |
if (sequenceur != null) { |
seqId = sequenceur.lancerRequeteSynchrone(vueARafraichir); |
vueARafraichir = sequenceur; |
} |
/trunk/src/org/tela_botanica/client/vues/collection/CollectionFormGeneral.java |
---|
117,9 → 117,8 |
liaisonFieldSet.setLayout(Formulaire.creerFormLayout(largeurLabelDefaut, alignementLabelDefaut)); |
/*********************************/ |
/** Champ Projets **/ |
/*********************************/ |
//+-----------------------------------------------------------------------------------------------------------+ |
// Champ Projets |
ModelType modelTypeProjets = new ModelType(); |
modelTypeProjets.setRoot("projets"); |
156,9 → 155,8 |
liaisonFieldSet.add(projetsCombo, new FormData(600, 0)); |
/*************************************/ |
/** Champ Structures **/ |
/*************************************/ |
//+-----------------------------------------------------------------------------------------------------------+ |
// Champ Structures |
ModelType modelTypeStructures = new ModelType(); |
modelTypeStructures.setRoot("structures"); |
193,9 → 191,8 |
liaisonFieldSet.add(structuresCombo, new FormData(600, 0)); |
/*************************************/ |
/** Champ Collections **/ |
/*************************************/ |
//+-----------------------------------------------------------------------------------------------------------+ |
// Champ Collections |
ModelType modelTypeCollections = new ModelType(); |
modelTypeCollections.setRoot("collections"); |
461,7 → 458,6 |
&& collection != null |
&& collection.getCollectionMereNom() != null |
&& !UtilString.isEmpty(collection.getCollectionMereNom())) { |
collectionsCombo.chargerValeurInitiale(collection.getCollectionMereNom(), "cc_nom"); |
} |
} |
/trunk/src/org/tela_botanica/client/vues/publication/PublicationForm.java |
---|
13,7 → 13,6 |
import org.tela_botanica.client.composants.pagination.ProxyPersonnes; |
import org.tela_botanica.client.composants.pagination.ProxyPersonnesAPublication; |
import org.tela_botanica.client.composants.pagination.ProxyProjets; |
import org.tela_botanica.client.composants.pagination.ProxyPublicationsAPersonne; |
import org.tela_botanica.client.composants.pagination.ProxyStructures; |
import org.tela_botanica.client.images.Images; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
21,7 → 20,6 |
import org.tela_botanica.client.modeles.MenuApplicationId; |
import org.tela_botanica.client.modeles.aDonnee; |
import org.tela_botanica.client.modeles.personne.Personne; |
import org.tela_botanica.client.modeles.personne.PersonneListe; |
import org.tela_botanica.client.modeles.projet.Projet; |
import org.tela_botanica.client.modeles.publication.Publication; |
import org.tela_botanica.client.modeles.publication.PublicationAPersonne; |
39,7 → 37,6 |
import com.extjs.gxt.ui.client.Style.Scroll; |
import com.extjs.gxt.ui.client.Style.SortDir; |
import com.extjs.gxt.ui.client.core.XTemplate; |
import com.extjs.gxt.ui.client.data.ModelData; |
import com.extjs.gxt.ui.client.data.ModelType; |
import com.extjs.gxt.ui.client.event.BaseEvent; |
59,20 → 56,14 |
import com.extjs.gxt.ui.client.widget.Text; |
import com.extjs.gxt.ui.client.widget.button.Button; |
import com.extjs.gxt.ui.client.widget.button.ButtonBar; |
import com.extjs.gxt.ui.client.widget.form.ComboBox; |
import com.extjs.gxt.ui.client.widget.form.Field; |
import com.extjs.gxt.ui.client.widget.form.FieldSet; |
import com.extjs.gxt.ui.client.widget.form.FormPanel; |
import com.extjs.gxt.ui.client.widget.form.TextField; |
import com.extjs.gxt.ui.client.widget.form.Validator; |
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction; |
import com.extjs.gxt.ui.client.widget.grid.CellEditor; |
import com.extjs.gxt.ui.client.widget.grid.ColumnConfig; |
import com.extjs.gxt.ui.client.widget.grid.ColumnModel; |
import com.extjs.gxt.ui.client.widget.grid.EditorGrid; |
import com.extjs.gxt.ui.client.widget.grid.GridSelectionModel; |
import com.extjs.gxt.ui.client.widget.grid.RowExpander; |
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.layout.FlowLayout; |
import com.extjs.gxt.ui.client.widget.layout.FormData; |
134,8 → 125,8 |
boolean changeOrderMarker = false; |
//----------------------// |
// Constructeurs //------------------------------------------------------------ |
//+----------------------------------------------------------------------------------------------------------------+ |
// Constructeurs |
public PublicationForm(Mediateur mediateurCourrant, String publicationId) { |
initialiserPublicationForm(mediateurCourrant, publicationId); |
147,8 → 138,8 |
} |
//-----------------------// |
// Initialisation //------------------------------------------------------------ |
//+----------------------------------------------------------------------------------------------------------------+ |
// Initialisation |
private void initialiserPublicationForm(Mediateur mediateurCourrant, String publicationId) { |
sequenceur = new Sequenceur(); |
192,8 → 183,8 |
auteursModifies = new PublicationAPersonneListe(); |
} |
//-----------------------// |
// User Interface //------------------------------------------------------------ |
//+----------------------------------------------------------------------------------------------------------------+ |
// User Interface |
private ToolBar creerBarreOutilsGrille() { |
ToolBar barreOutils = new ToolBar(); |
503,15 → 494,6 |
} |
} |
/** |
* Met à jour la grille avec les informations contenus dans la variable listePublicationsLiees |
*/ |
/* |
private void mettreAJourGrille() { |
grille.getStore().removeAll(); |
grille.getStore().add(listePersonne.toList()); |
}*/ |
private void supprimerDansGrille(PublicationAPersonne pap) { |
if (pap != null) { |
// 1) Ajouter a la liste des personne à supprimer uniquement si est présente dans la liste initiale |
535,7 → 517,6 |
} |
private GrillePaginable<ModelData> creerGrilleAuteurs() { |
// ModelType |
ModelType modelTypePersonnesAPublication = new ModelType(); |
modelTypePersonnesAPublication.setRoot("publicationsAPersonne"); |
786,8 → 767,8 |
} |
//-------------------------// |
// Méthodes privées //------------------------------------------------------------ |
//+----------------------------------------------------------------------------------------------------------------+ |
// Méthodes privées |
private void miseAJourAuteursInitialListe() { |
Iterator<String> clesAjoutees = auteursAjoutes.keySet().iterator(); |
913,8 → 894,10 |
fasciculeChp.setValue(publication.getFascicule()); |
pagesChp.setValue(publication.getPages()); |
// Éditeur est soit une référence à une structure de la base soit une chaine |
if (publication.getEditeur().matches("^[0-9]+$")) { |
editeurCombobox.getCombo().setValue(editeurCombobox.getStore().findModel("cs_id_structure", publication.getEditeur())); |
//editeurCombobox.getCombo().setValue(editeurCombobox.getStore().findModel("cs_id_structure", publication.getEditeur())); |
editeurCombobox.chargerValeurInitiale(publication.getEditeur(), "cs_id_structure"); |
} else { |
editeurCombobox.getCombo().setRawValue(publication.getEditeur()); |
} |
970,8 → 953,7 |
String editeur = ""; |
if (editeurCombobox.getValeur() != null) { |
Structure structure = new Structure(editeurCombobox.getValeur()); |
if (structure == null) editeur = editeurCombobox.getCombo().getRawValue(); |
else editeur = structure.getNom(); |
editeur = structure.getNom(); |
} else if (!UtilString.isEmpty(editeurCombobox.getCombo().getRawValue())) { |
editeur = editeurCombobox.getCombo().getRawValue(); |
} |
1045,8 → 1027,8 |
} |
} |
//---------------------------// |
// Méthodes publiques //------------------------------------------------------------ |
//+----------------------------------------------------------------------------------------------------------------+ |
// Méthodes publiques |
public boolean verifierFormulaire() { |
boolean valide = true; |
1092,8 → 1074,8 |
} |
//-------------------// |
// Accesseurs //------------------------------------------------------------ |
//+----------------------------------------------------------------------------------------------------------------+ |
// Accesseurs |
private String getValeurComboProjets() { |
String valeur = ""; |
1118,8 → 1100,8 |
} |
} |
//-------------------// |
// Rafraichir //------------------------------------------------------------ |
//+----------------------------------------------------------------------------------------------------------------+ |
// Rafraichir |
public void rafraichir(Object nouvellesDonnees) { |
if (nouvellesDonnees instanceof Publication) { |
1140,6 → 1122,7 |
repandreRafraichissement(); |
controlerFermeture(); |
} else if (type.equals("chargement_modifier_ok")) { |
Debug.log("Chargement 1"); |
peuplerFormulaire(); |
genererTitreFormulaire(); |
} |
/trunk/src/org/tela_botanica/client/Modele.java |
---|
147,13 → 147,19 |
public void selectionnerStructure(Rafraichissable vueARafraichir, String projetId, String structureId, String nomStructure, int start, int nbElements, Integer seqId) { |
// Gestion des données des tables coel_structure, coel_structure_conservation et coel_structure_valorisation |
StructureAsyncDao sDao = new StructureAsyncDao(vueARafraichir); |
sDao.selectionner(false, projetId, structureId, nomStructure, start, nbElements, seqId); |
sDao.selectionner(false, projetId, structureId, nomStructure, null, start, nbElements, seqId); |
} |
public void selectionnerStructureAvecPaginationProgressive(Rafraichissable vueARafraichir, String projetId, String structureId, String nomStructure, String formatRetour, int start, int nbElements, Integer seqId) { |
// Gestion des données des tables coel_structure, coel_structure_conservation et coel_structure_valorisation |
StructureAsyncDao sDao = new StructureAsyncDao(vueARafraichir); |
sDao.selectionner(true, projetId, structureId, nomStructure, formatRetour, start, nbElements, seqId); |
} |
public void selectionnerStructure(Rafraichissable vueARafraichir, String recherche, int start, int nbElements, Integer seqId) { |
// Gestion des données des tables coel_structure, coel_structure_conservation et coel_structure_valorisation |
StructureAsyncDao sDao = new StructureAsyncDao(vueARafraichir); |
sDao.selectionner(true, null, null, recherche, start, nbElements, seqId); |
sDao.selectionner(true, null, null, recherche, null, start, nbElements, seqId); |
} |
/** Lance la creation d'une Structure |
/trunk/src/org/tela_botanica/client/composants/pagination/ProxyProjets.java |
---|
38,26 → 38,25 |
this.callback = callback; |
this.loadConfig = loadConfig; |
BasePagingLoadConfig lc = (BasePagingLoadConfig)loadConfig; |
BasePagingLoadConfig lc = (BasePagingLoadConfig) loadConfig; |
if (UtilString.isNumber(recherche, false)) mediateur.selectionnerProjet(this, recherche, "array", true, sequenceur); |
else mediateur.selectionnerProjet(this, recherche, lc.getOffset(), lc.getLimit(), sequenceur); |
if (UtilString.isNumber(recherche, false)) { |
mediateur.selectionnerProjet(this, recherche, "array", true, sequenceur); |
} else { |
mediateur.selectionnerProjet(this, recherche, lc.getOffset(), lc.getLimit(), sequenceur); |
} |
} |
@Override |
@SuppressWarnings("unchecked") |
public void rafraichir(Object nouvellesDonnees) { |
try |
{ |
try { |
data = nouvellesDonnees; |
D d = null; |
if (reader != null) |
{ |
if (reader != null) { |
d = (D) reader.read(loadConfig, data); |
} |
else |
{ |
} else { |
d = (D) data; |
if (d instanceof List) |
{ |
66,11 → 65,8 |
} |
callback.onSuccess(d); |
} |
catch (Exception e) |
{ |
} catch (Exception e) { |
callback.onFailure(e); |
} |
} |
} |
} |
/trunk/src/org/tela_botanica/client/composants/pagination/ChargeurListe.java |
---|
1,20 → 1,10 |
package org.tela_botanica.client.composants.pagination; |
import java.util.Iterator; |
import java.util.List; |
import java.util.Map; |
import java.util.Set; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.modeles.Information; |
import org.tela_botanica.client.modeles.collection.CollectionAPersonne; |
import org.tela_botanica.client.modeles.personne.Personne; |
import org.tela_botanica.client.util.Debug; |
import org.tela_botanica.client.util.UtilString; |
import com.extjs.gxt.ui.client.data.BaseListLoadResult; |
import com.extjs.gxt.ui.client.data.BaseModelData; |
import com.extjs.gxt.ui.client.data.BasePagingLoadResult; |
import com.extjs.gxt.ui.client.data.BasePagingLoader; |
import com.extjs.gxt.ui.client.data.LoadEvent; |
import com.extjs.gxt.ui.client.data.PagingLoadResult; |
35,35 → 25,34 |
public boolean load(Object loadConfig, String recherche, boolean doRafraichir) { |
this.doRafraichir = doRafraichir; |
if (fireEvent(BeforeLoad, new LoadEvent(this, loadConfig))) { |
lastConfig = loadConfig; |
this.recherche = recherche; |
loadData(loadConfig, recherche); |
return true; |
} |
else return false; |
lastConfig = loadConfig; |
this.recherche = recherche; |
loadData(loadConfig, recherche); |
return true; |
} else { |
return false; |
} |
} |
public boolean load(Object loadConfig) { |
if (fireEvent(BeforeLoad, new LoadEvent(this, loadConfig))) { |
lastConfig = loadConfig; |
loadData(loadConfig, recherche); |
return true; |
} |
return false; |
if (fireEvent(BeforeLoad, new LoadEvent(this, loadConfig))) { |
lastConfig = loadConfig; |
loadData(loadConfig, recherche); |
return true; |
} |
return false; |
} |
public void load(int offset, int limit) { |
this.offset = offset; |
this.limit = limit; |
load(); |
this.offset = offset; |
this.limit = limit; |
load(); |
} |
public boolean load() { |
Object config = (reuseConfig && lastConfig != null) ? lastConfig : newLoadConfig(); |
config = prepareLoadConfig(config); |
return load(config); |
Object config = (reuseConfig && lastConfig != null) ? lastConfig : newLoadConfig(); |
config = prepareLoadConfig(config); |
return load(config); |
} |
@SuppressWarnings("unchecked") |
71,9 → 60,12 |
AsyncCallback<D> callback = new AsyncCallback<D>() { |
public void onFailure(Throwable caught) { |
onLoadFailure(config, caught); |
if (!UtilString.isEmpty(caught.getMessage())) Debug.log("[FAILURE] ChargeurListe : message="+caught.getMessage()); |
else Debug.log("[FAILURE] ChargeurListe : message=NULL. Peut-être le modelType est-il mal paramétré ?"); |
onLoadFailure(config, caught); |
if (!UtilString.isEmpty(caught.getMessage())) { |
Debug.log("[FAILURE] ChargeurListe : message="+caught.getMessage()); |
} else { |
Debug.log("[FAILURE] ChargeurListe : message=NULL. Peut-être le modelType est-il mal paramétré ?"); |
} |
} |
public void onSuccess(D result) { |
117,6 → 109,6 |
} |
} |
}; |
((Proxy)proxy).load((TransformateurJSONaModelData)reader, config, callback, recherche); |
((Proxy) proxy).load((TransformateurJSONaModelData) reader, config, callback, recherche); |
} |
} |
/trunk/src/org/tela_botanica/client/composants/pagination/Proxy.java |
---|
1,16 → 1,11 |
package org.tela_botanica.client.composants.pagination; |
import java.util.ArrayList; |
import java.util.List; |
import org.tela_botanica.client.Mediateur; |
import org.tela_botanica.client.RegistreId; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.synchronisation.Sequenceur; |
import org.tela_botanica.client.util.Debug; |
import com.extjs.gxt.ui.client.Registry; |
import com.extjs.gxt.ui.client.data.BasePagingLoadConfig; |
import com.extjs.gxt.ui.client.data.DataReader; |
import com.extjs.gxt.ui.client.data.MemoryProxy; |
import com.extjs.gxt.ui.client.data.ModelData; |
36,5 → 31,4 |
public abstract void load(TransformateurJSONaModelData<D> reader, Object loadConfig, AsyncCallback<D> callback, String recherche); |
public abstract void rafraichir(Object nouvellesDonnees); |
} |
} |
/trunk/src/org/tela_botanica/client/composants/pagination/ProxyStructures.java |
---|
11,6 → 11,7 |
import org.tela_botanica.client.modeles.ValeurListeAsyncDao; |
import org.tela_botanica.client.synchronisation.Sequenceur; |
import org.tela_botanica.client.util.Debug; |
import org.tela_botanica.client.util.UtilString; |
import com.extjs.gxt.ui.client.Registry; |
import com.extjs.gxt.ui.client.data.BasePagingLoadConfig; |
29,43 → 30,37 |
} |
@Override |
public void load(TransformateurJSONaModelData reader, Object loadConfig, AsyncCallback callback, String recherche) { |
this.reader = reader; |
this.callback = callback; |
this.loadConfig = loadConfig; |
public void load(TransformateurJSONaModelData reader, Object loadConfig, AsyncCallback callback, String recherche) { |
this.reader = reader; |
this.callback = callback; |
this.loadConfig = loadConfig; |
BasePagingLoadConfig lc = (BasePagingLoadConfig)loadConfig; |
mediateur.selectionnerStructure(this, recherche, lc.getOffset(), lc.getLimit(), sequenceur); |
} |
BasePagingLoadConfig lc = (BasePagingLoadConfig) loadConfig; |
if (UtilString.isNumber(recherche, false)) { |
mediateur.selectionnerStructureAvecPaginationProgressive(this, recherche, null, null, "array", lc.getOffset(), lc.getLimit(), sequenceur); |
} else { |
mediateur.selectionnerStructure(this, recherche, lc.getOffset(), lc.getLimit(), sequenceur); |
} |
} |
@Override |
@SuppressWarnings("unchecked") |
public void rafraichir(Object nouvellesDonnees) { |
try |
{ |
try { |
data = nouvellesDonnees; |
Debug.log("Dans ProxyStructure:"+data.toString()); |
D d = null; |
if (reader != null) |
{ |
d = (D) reader.read(loadConfig, data); |
} |
else |
{ |
d = (D) data; |
if (d instanceof List) |
{ |
d = (D) new ArrayList((List) d); |
} |
} |
if (reader != null) { |
d = (D) reader.read(loadConfig, data); |
} else { |
d = (D) data; |
if (d instanceof List) { |
d = (D) new ArrayList((List) d); |
} |
} |
callback.onSuccess(d); |
} catch (Exception e){ |
callback.onFailure(e); |
} |
catch (Exception e) |
{ |
callback.onFailure(e); |
} |
} |
} |
} |
/trunk/src/org/tela_botanica/client/composants/ChampComboBoxRechercheTempsReelPaginable.java |
---|
1,7 → 1,6 |
package org.tela_botanica.client.composants; |
import java.util.List; |
import java.util.Map; |
import org.tela_botanica.client.composants.pagination.ChargeurListe; |
import org.tela_botanica.client.composants.pagination.Proxy; |
8,31 → 7,16 |
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; |
import com.extjs.gxt.ui.client.util.Util; |
import com.extjs.gxt.ui.client.widget.LayoutContainer; |
import com.extjs.gxt.ui.client.widget.VerticalPanel; |
import com.extjs.gxt.ui.client.widget.form.ComboBox; |
import com.extjs.gxt.ui.client.widget.layout.AbsoluteLayout; |
import com.extjs.gxt.ui.client.widget.layout.AnchorLayout; |
import com.extjs.gxt.ui.client.widget.layout.BoxLayout; |
import com.extjs.gxt.ui.client.widget.layout.FitLayout; |
import com.extjs.gxt.ui.client.widget.layout.FlowLayout; |
import com.extjs.gxt.ui.client.widget.layout.FormData; |
import com.extjs.gxt.ui.client.widget.layout.FormLayout; |
import com.extjs.gxt.ui.client.data.BaseModelData; |
import com.extjs.gxt.ui.client.data.BasePagingLoadConfig; |
import com.extjs.gxt.ui.client.data.LoadEvent; |
import com.extjs.gxt.ui.client.data.Loader; |
39,7 → 23,6 |
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 implements Rafraichissable { |
74,9 → 57,8 |
Constructeur |
--------------*/ |
public ChampComboBoxRechercheTempsReelPaginable(Proxy<?> proxy, ModelType modeltype, String displayName) { |
this.modeltype = modeltype; |
public ChampComboBoxRechercheTempsReelPaginable(Proxy<?> proxy, ModelType modelType, String displayName) { |
this.modeltype = modelType; |
this.proxy = proxy; |
this.displayName = displayName; |
84,9 → 66,9 |
plc.setLimit(limit); |
plc.setOffset(start); |
reader = new TransformateurJSONaModelData<PagingLoadResult<ModelData>>(modeltype, null); |
reader = new TransformateurJSONaModelData<PagingLoadResult<ModelData>>(this.modeltype, null); |
loader = new ChargeurListe<PagingLoadResult<ModelData>>(proxy, reader, this); |
loader = new ChargeurListe<PagingLoadResult<ModelData>>(this.proxy, reader, this); |
loader.setLimit(plc.getLimit()); |
loader.setOffset(plc.getOffset()); |
93,25 → 75,24 |
loader.addListener(Loader.BeforeLoad, new Listener<LoadEvent>() { |
public void handleEvent(LoadEvent be) { |
be.<ModelData> getConfig().set("start", be.<ModelData> getConfig().get("offset")); |
} |
} |
}); |
loader.addListener(Loader.Load, new Listener<LoadEvent>() { |
public void handleEvent(LoadEvent be) { |
} |
} |
}); |
loader.addListener(Loader.LoadException, new Listener<LoadEvent>() { |
public void handleEvent(LoadEvent be) { |
} |
} |
}); |
combo = new ComboBox<ModelData>(); |
combo.setWidth(largeur); |
this.setWidth(largeur); |
combo.setDisplayField(displayName); |
combo.setDisplayField(this.displayName); |
combo.setHideTrigger(false); |
combo.setPageSize(plc.getLimit()); |
store = new ListStore<ModelData>(loader); |
119,17 → 100,17 |
loader.load(plc, recherche, false); |
combo.addListener(Events.KeyUp, new Listener<FieldEvent>() { |
public void handleEvent(FieldEvent fe) { |
// on vérifie que les touches enfoncées ne sont pas les flèches du clavier |
if (!fe.isNavKeyPress()) { |
recherche = combo.getRawValue(); |
plc.setLimit(limit); plc.setOffset(start); |
loader.setLimit(limit); loader.setOffset(start); |
plc.setLimit(limit); |
plc.setOffset(start); |
loader.setLimit(limit); |
loader.setOffset(start); |
loader.load(plc, recherche, false); |
} |
} |
}); |
this.add(combo); |
138,30 → 119,28 |
/*------------ |
Accesseurs |
------------*/ |
public ComboBox<ModelData> getCombo() |
{ |
public ComboBox<ModelData> getCombo() { |
return this.combo; |
} |
public ModelData getValeur() |
{ |
if (combo.getSelection() != null && combo.getSelection().size() > 0) return combo.getSelection().get(0); |
else return null; |
public ModelData getValeur() { |
if (combo.getSelection() != null && combo.getSelection().size() > 0) { |
return combo.getSelection().get(0); |
} else { |
return null; |
} |
} |
public ListStore<?> getStore() |
{ |
public ListStore<?> getStore() { |
return combo.getStore(); |
} |
public void setWidth(int largeur) |
{ |
public void setWidth(int largeur) { |
this.largeur = largeur; |
this.combo.setWidth(largeur); |
} |
public void setWidth(int tailleLabel, int largeurTotale) |
{ |
public void setWidth(int tailleLabel, int largeurTotale) { |
this.setWidth(largeurTotale); |
this.largeur = largeurTotale; |
this.combo.setWidth(largeurTotale - tailleLabel); |
178,18 → 157,15 |
Gestion du contenu du champ |
-----------------------------*/ |
public List<ModelData> collecterValeursDuChamp() |
{ |
public List<ModelData> collecterValeursDuChamp() { |
return combo.getSelection(); |
} |
public void peuplerChamp(List<ModelData> selection) |
{ |
public void peuplerChamp(List<ModelData> selection) { |
combo.setSelection(selection); |
} |
public void chargerValeurInitiale(String valeurInitiale, String champ) |
{ |
public void chargerValeurInitiale(String valeurInitiale, String champ) { |
this.valeurInitiale = valeurInitiale; |
this.champValeurInitiale = champ; |
207,23 → 183,13 |
Debug.log("ERREUR. Modele non trouvé."); |
Debug.log("Recherché : ["+champValeurInitiale+"]="+valeurInitiale); |
Debug.log("Le magasin contient "+combo.getStore().getCount()+" éléments. Les propriétés des modèles sont :"); |
for (int i=0; i<combo.getStore().getCount(); i++) { |
for (int i = 0; i < combo.getStore().getCount(); i++) { |
Debug.log(combo.getStore().getAt(i).getProperties().toString()); |
} |
} else { |
combo.setValue(combo.getStore().findModel(champValeurInitiale, valeurInitiale)); |
} |
else combo.setValue(combo.getStore().findModel(champValeurInitiale, valeurInitiale)); |
} |
} |
} |
/*---------------- |
Méthode privées |
-----------------*/ |
} |
} |