Line 13... |
Line 13... |
13 |
import org.tela_botanica.client.modeles.Information;
|
13 |
import org.tela_botanica.client.modeles.Information;
|
14 |
import org.tela_botanica.client.modeles.Utilisateur;
|
14 |
import org.tela_botanica.client.modeles.Utilisateur;
|
15 |
import org.tela_botanica.client.modeles.personne.Personne;
|
15 |
import org.tela_botanica.client.modeles.personne.Personne;
|
16 |
import org.tela_botanica.client.modeles.personne.PersonneAsyncDao;
|
16 |
import org.tela_botanica.client.modeles.personne.PersonneAsyncDao;
|
17 |
import org.tela_botanica.client.modeles.personne.PersonneListe;
|
17 |
import org.tela_botanica.client.modeles.personne.PersonneListe;
|
18 |
import org.tela_botanica.client.modeles.projet.Projet;
|
- |
|
19 |
import org.tela_botanica.client.util.Debug;
|
- |
|
20 |
import org.tela_botanica.client.vues.BarrePaginationVue;
|
18 |
import org.tela_botanica.client.vues.BarrePaginationVue;
|
Line 21... |
Line 19... |
21 |
|
19 |
|
22 |
import com.extjs.gxt.ui.client.Registry;
|
- |
|
23 |
import com.extjs.gxt.ui.client.Style.SortDir;
|
- |
|
24 |
import com.extjs.gxt.ui.client.data.ModelComparer;
|
20 |
import com.extjs.gxt.ui.client.Registry;
|
25 |
import com.extjs.gxt.ui.client.event.BaseEvent;
|
21 |
import com.extjs.gxt.ui.client.event.BaseEvent;
|
26 |
import com.extjs.gxt.ui.client.event.ButtonEvent;
|
22 |
import com.extjs.gxt.ui.client.event.ButtonEvent;
|
27 |
import com.extjs.gxt.ui.client.event.Events;
|
23 |
import com.extjs.gxt.ui.client.event.Events;
|
28 |
import com.extjs.gxt.ui.client.event.GridEvent;
|
24 |
import com.extjs.gxt.ui.client.event.GridEvent;
|
29 |
import com.extjs.gxt.ui.client.event.Listener;
|
25 |
import com.extjs.gxt.ui.client.event.Listener;
|
30 |
import com.extjs.gxt.ui.client.event.SelectionChangedEvent;
|
26 |
import com.extjs.gxt.ui.client.event.SelectionChangedEvent;
|
31 |
import com.extjs.gxt.ui.client.event.SelectionChangedListener;
|
27 |
import com.extjs.gxt.ui.client.event.SelectionChangedListener;
|
32 |
import com.extjs.gxt.ui.client.event.SelectionListener;
|
28 |
import com.extjs.gxt.ui.client.event.SelectionListener;
|
33 |
import com.extjs.gxt.ui.client.store.ListStore;
|
- |
|
34 |
import com.extjs.gxt.ui.client.store.Store;
|
- |
|
35 |
import com.extjs.gxt.ui.client.store.StoreSorter;
|
29 |
import com.extjs.gxt.ui.client.store.ListStore;
|
36 |
import com.extjs.gxt.ui.client.widget.ContentPanel;
|
30 |
import com.extjs.gxt.ui.client.widget.ContentPanel;
|
37 |
import com.extjs.gxt.ui.client.widget.button.Button;
|
31 |
import com.extjs.gxt.ui.client.widget.button.Button;
|
38 |
import com.extjs.gxt.ui.client.widget.grid.ColumnConfig;
|
32 |
import com.extjs.gxt.ui.client.widget.grid.ColumnConfig;
|
39 |
import com.extjs.gxt.ui.client.widget.grid.ColumnModel;
|
33 |
import com.extjs.gxt.ui.client.widget.grid.ColumnModel;
|
Line 83... |
Line 77... |
83 |
toolBar.add(ajouter);
|
77 |
toolBar.add(ajouter);
|
Line 84... |
Line 78... |
84 |
|
78 |
|
85 |
modifier = new Button(Mediateur.i18nC.modifier());
|
79 |
modifier = new Button(Mediateur.i18nC.modifier());
|
86 |
modifier.setIcon(Images.ICONES.formModifier());
|
80 |
modifier.setIcon(Images.ICONES.formModifier());
|
87 |
modifier.addSelectionListener(new SelectionListener<ButtonEvent>() {
|
81 |
modifier.addSelectionListener(new SelectionListener<ButtonEvent>() {
|
88 |
public void componentSelected(ButtonEvent ce) {
|
82 |
public void componentSelected(ButtonEvent ce) {
|
89 |
mediateur.clicModifierPersonne(grille.getSelectionModel().getSelectedItems());
|
83 |
mediateur.clicModifierPersonne(grille.getSelectionModel().getSelectedItems());
|
90 |
}
|
84 |
}
|
91 |
});
|
85 |
});
|
92 |
modifier.setToolTip(mediateur.i18nC.indicationModifierUneFiche());
|
86 |
modifier.setToolTip(mediateur.i18nC.indicationModifierUneFiche());
|
Line 151... |
Line 145... |
151 |
grille.addListener(Events.SortChange, new Listener<BaseEvent>() {
|
145 |
grille.addListener(Events.SortChange, new Listener<BaseEvent>() {
|
Line 152... |
Line 146... |
152 |
|
146 |
|
153 |
@Override
|
147 |
@Override
|
154 |
public void handleEvent(BaseEvent be) {
|
148 |
public void handleEvent(BaseEvent be) {
|
- |
|
149 |
GridEvent ge = (GridEvent<Personne>) be;
|
155 |
GridEvent ge = (GridEvent<Personne>) be;
|
150 |
ge.preventDefault();
|
156 |
// TODO rajouter un test sur le sort state pour trier par nom par défaut
|
151 |
// TODO rajouter un test sur le sort state pour trier par nom par défaut
|
157 |
// bref, on verra plus tard parce que c'est chiant et qu'on en a marre de coel
|
152 |
// bref, on verra plus tard parce que c'est chiant et qu'on en a marre de coel
|
158 |
String tri = ge.getSortInfo().getSortField();
|
153 |
String tri = ge.getSortInfo().getSortField();
|
159 |
if(tri.equals("_courriel_princ_")) {
|
154 |
if(tri.equals("_courriel_princ_")) {
|
Line 229... |
Line 224... |
229 |
} else if (nouvellesDonnees instanceof Information) {
|
224 |
} else if (nouvellesDonnees instanceof Information) {
|
230 |
Information info = (Information) nouvellesDonnees;
|
225 |
Information info = (Information) nouvellesDonnees;
|
231 |
if (info.getType().equals("maj_utilisateur")) {
|
226 |
if (info.getType().equals("maj_utilisateur")) {
|
232 |
gererEtatActivationBouton();
|
227 |
gererEtatActivationBouton();
|
233 |
} else if(info.getType().equals("personne_modifiee")) {
|
228 |
} else if(info.getType().equals("personne_modifiee")) {
|
- |
|
229 |
// curieusement la suppression efface aussi l'index de l'élément
|
- |
|
230 |
// car elle redéclenche l'évenement de selection (on le stocke donc temporairement)
|
- |
|
231 |
int temporaire = indexElementSelectionne;
|
234 |
if(personneSelectionnee != null) {
|
232 |
if(personneSelectionnee != null) {
|
235 |
store.remove(indexElementSelectionne);
|
233 |
store.remove(indexElementSelectionne);
|
236 |
personneSelectionnee = null;
|
234 |
personneSelectionnee = null;
|
237 |
}
|
235 |
}
|
238 |
Personne personneModifiee = (Personne)info.getDonnee(0);
|
236 |
Personne personneModifiee = (Personne)info.getDonnee(0);
|
239 |
// au cas ou le bouton appliquer aurait été cliqué avant de valider
|
237 |
// au cas ou le bouton appliquer aurait été cliqué avant de valider
|
240 |
store.remove(personneModifiee);
|
238 |
store.remove(personneModifiee);
|
- |
|
239 |
indexElementSelectionne = temporaire;
|
241 |
store.insert(personneModifiee, indexElementSelectionne);
|
240 |
store.insert(personneModifiee, temporaire);
|
242 |
personneSelectionnee = personneModifiee;
|
241 |
personneSelectionnee = personneModifiee;
|
243 |
int indexElementSelectionne = store.indexOf(personneSelectionnee);
|
242 |
int indexElementSelectionne = store.indexOf(personneSelectionnee);
|
244 |
grille.getSelectionModel().select(indexElementSelectionne, false);
|
243 |
grille.getSelectionModel().select(indexElementSelectionne, false);
|
245 |
grille.getView().focusRow(indexElementSelectionne);
|
244 |
grille.getView().focusRow(indexElementSelectionne);
|
246 |
clicListe(personneSelectionnee);
|
245 |
clicListe(personneSelectionnee);
|