Subversion Repositories eFlore/Applications.coel

Rev

Rev 1762 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1762 Rev 1764
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);