1,6 → 1,7 |
package org.tela_botanica.client.vues; |
|
import java.util.ArrayList; |
import java.util.Iterator; |
import java.util.List; |
|
import org.tela_botanica.client.Mediateur; |
17,10 → 18,7 |
import com.extjs.gxt.ui.client.data.PagingLoadResult; |
import com.extjs.gxt.ui.client.data.PagingLoader; |
import com.extjs.gxt.ui.client.data.PagingModelMemoryProxy; |
import com.extjs.gxt.ui.client.event.BaseEvent; |
import com.extjs.gxt.ui.client.event.ButtonEvent; |
import com.extjs.gxt.ui.client.event.Events; |
import com.extjs.gxt.ui.client.event.Listener; |
import com.extjs.gxt.ui.client.event.SelectionChangedEvent; |
import com.extjs.gxt.ui.client.event.SelectionChangedListener; |
import com.extjs.gxt.ui.client.event.SelectionListener; |
51,8 → 49,6 |
public PersonneListeVue() { |
mediateur = Registry.get(RegistreId.MEDIATEUR); |
|
setHeading(mediateur.i18nC.personneListeLabel()); |
setLayout(new FitLayout()); |
|
//Définition de la barre d'outil |
ToolBar toolBar = new ToolBar(); |
81,32 → 77,60 |
mediateur.clicSupprimerPersonne(r, grille.getSelectionModel().getSelectedItems()); |
} |
}); |
|
supprimer.setIcon(Images.ICONES.supprimer()); |
toolBar.add(supprimer); |
|
setTopComponent(toolBar); |
|
|
List<ColumnConfig> lstColumns = new ArrayList<ColumnConfig>(); |
|
// Définition des colomnes de la grille: |
List<ColumnConfig> lstColumns = new ArrayList<ColumnConfig>(); |
ColumnConfig ccId = new ColumnConfig("id_personne", "Id", 45); |
ColumnConfig ccId = new ColumnConfig(); |
ccId.setId("id_personne"); |
ccId.setHeader("Id"); |
ccId.setWidth(45); |
lstColumns.add(ccId); |
ColumnConfig ccFmtNomComplet = new ColumnConfig("fmt_nom_complet", "Nom Complet", 200); |
|
ColumnConfig ccFmtNomComplet = new ColumnConfig(); |
ccFmtNomComplet.setId("fmt_nom_complet"); |
ccFmtNomComplet.setHeader("Nom Complet"); |
ccFmtNomComplet.setWidth(200); |
lstColumns.add(ccFmtNomComplet); |
ColumnConfig ccCodePostal = new ColumnConfig("code_postal", "Code postal", 100); |
|
ColumnConfig ccCodePostal = new ColumnConfig(); |
ccCodePostal.setId("code_postal"); |
ccCodePostal.setHeader("Code postal"); |
ccCodePostal.setWidth(100); |
lstColumns.add(ccCodePostal); |
ColumnConfig ccVille = new ColumnConfig("ville", "Ville", 100); |
|
ColumnConfig ccVille = new ColumnConfig(); |
ccVille.setId("ville"); |
ccVille.setHeader("Ville"); |
ccVille.setWidth(100); |
lstColumns.add(ccVille); |
ColumnConfig ccCourriel = new ColumnConfig("courriel_princ", "Courriel", 200); |
|
ColumnConfig ccCourriel = new ColumnConfig(); |
ccCourriel.setId("courriel_princ"); |
ccCourriel.setHeader("Courriel"); |
ccCourriel.setWidth(200); |
lstColumns.add(ccCourriel); |
ColumnConfig ccNom = new ColumnConfig("nom", "Nom", 100); |
|
ColumnConfig ccNom = new ColumnConfig(); |
ccNom.setId("nom"); |
ccNom.setHeader("Nom"); |
ccNom.setWidth(100); |
ccNom.setHidden(true); |
lstColumns.add(ccNom); |
ColumnConfig ccPrenom = new ColumnConfig("prenom", "Prénom", 100); |
|
ColumnConfig ccPrenom = new ColumnConfig(); |
ccPrenom.setId("prenom"); |
ccPrenom.setHeader("Prénom"); |
ccPrenom.setWidth(100); |
ccPrenom.setHidden(true); |
lstColumns.add(ccPrenom); |
|
modeleColonnes = new ColumnModel(lstColumns); |
|
// Définition de la grille |
grille = new Grid<Personne>( new ListStore<Personne>(), modeleColonnes); |
GridSelectionModel<Personne> gsmSelectionGrille = new GridSelectionModel<Personne>(); |
gsmSelectionGrille.addSelectionChangedListener(new SelectionChangedListener<Personne>() { |
public void selectionChanged(SelectionChangedEvent<Personne> event) { |
116,23 → 140,14 |
} |
}); |
|
grille = new Grid<Personne>( new ListStore<Personne>(), modeleColonnes); |
grille.setSelectionModel(gsmSelectionGrille); |
grille.setWidth("100%"); |
grille.setAutoExpandColumn("fmt_nom_complet"); |
grille.getView().setAutoFill(true); |
grille.getView().setForceFit(true); |
grille.addListener(Events.ViewReady, new Listener<BaseEvent>() { |
@Override |
public void handleEvent(BaseEvent be) { |
grille.getSelectionModel().select(0, false); |
} |
}); |
add(grille); |
|
// Définition de la barre de pagination |
pagination = new PagingToolBar(nbElementsPage); |
setBottomComponent(pagination); |
|
setLayout(new FitLayout()); |
} |
|
private void clicListe(Personne personne) { |
140,10 → 155,17 |
} |
|
public void rafraichir(Object nouvellesDonnees) { |
|
if (nouvellesDonnees instanceof PersonneListe) { |
|
setHeading(mediateur.i18nC.personneListeLabel()); |
PersonneListe listePersonnes = (PersonneListe) nouvellesDonnees; |
List<Personne> liste = (List<Personne>) listePersonnes.toList(); |
|
List<Personne> liste = new ArrayList<Personne>(); |
for (Iterator<String> it = listePersonnes.keySet().iterator(); it.hasNext();) { |
liste.add(listePersonnes.get(it.next())); |
} |
|
PagingModelMemoryProxy proxy = new PagingModelMemoryProxy(liste); |
PagingLoader<PagingLoadResult<ModelData>> loader = new BasePagingLoader<PagingLoadResult<ModelData>>(proxy); |
loader.setRemoteSort(true); |
154,20 → 176,29 |
grille.reconfigure(store, modeleColonnes); |
|
mediateur.actualiserPanneauCentral(); |
|
store.sort("fmt_nom_complet", SortDir.ASC); |
if (store.getCount() > 0) { |
//FIXME : la selection d'une ligne ne mets pas le style voulu (ligne sélectionnée) |
grille.getSelectionModel().select(store.getAt(0), true); |
} |
|
} else if (nouvellesDonnees instanceof Information) { |
|
Information info = (Information) nouvellesDonnees; |
if (info.getType().equals("suppression_personne")) { |
|
Info.display("Suppression de personne", info.getMessages().toString()); |
List<Personne> selectionPersonnes = grille.getSelectionModel().getSelectedItems(); |
final int taille = selectionPersonnes.size(); |
for (int i = 0; i < taille; i++) { |
grille.getStore().remove(selectionPersonnes.get(i)); |
} |
|
List<Personne> selectionPersonnes = grille.getSelectionModel().getSelectedItems(); |
final int taille = selectionPersonnes.size(); |
for (int i = 0; i < taille; i++) { |
grille.getStore().remove(selectionPersonnes.get(i)); |
} |
} else { |
Info.display("Erreur", info.getMessages().toString()); |
} |
|
} else { |
GWT.log(mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null); |
} |