Subversion Repositories eFlore/Applications.cel

Rev

Rev 140 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
140 aurelien 1
package org.tela_botanica.client.vues;
2
 
3
import org.tela_botanica.client.CarnetEnLigneMediateur;
4
import org.tela_botanica.client.interfaces.Rafraichissable;
5
 
6
import com.google.gwt.core.client.JavaScriptObject;
7
import com.google.gwt.user.client.ui.Button;
8
import com.google.gwt.user.client.ui.ClickListener;
9
import com.google.gwt.user.client.ui.Widget;
144 aurelien 10
import com.gwtext.client.core.EventCallback;
140 aurelien 11
import com.gwtext.client.core.EventObject;
12
import com.gwtext.client.data.ArrayReader;
13
import com.gwtext.client.data.FieldDef;
14
import com.gwtext.client.data.MemoryProxy;
144 aurelien 15
import com.gwtext.client.data.Record;
140 aurelien 16
import com.gwtext.client.data.RecordDef;
17
import com.gwtext.client.data.Store;
18
import com.gwtext.client.data.StringFieldDef;
144 aurelien 19
import com.gwtext.client.widgets.BoxComponent;
140 aurelien 20
import com.gwtext.client.widgets.Component;
21
import com.gwtext.client.widgets.Window;
22
import com.gwtext.client.widgets.event.ButtonListener;
23
import com.gwtext.client.widgets.event.ButtonListenerAdapter;
24
import com.gwtext.client.widgets.form.ComboBox;
144 aurelien 25
import com.gwtext.client.widgets.form.Field;
26
import com.gwtext.client.widgets.form.event.ComboBoxCallback;
27
import com.gwtext.client.widgets.form.event.ComboBoxListener;
28
import com.gwtext.client.widgets.form.event.ComboBoxListenerAdapter;
140 aurelien 29
import com.gwtext.client.widgets.menu.Menu;
30
 
31
public class ListeUtilisateurAdminVue extends Window implements Rafraichissable {
32
 
33
	private CarnetEnLigneMediateur cMediateur = null ;
34
	private ComboBox listeUtil = null ;
35
	private Store storeUtil = null ;
36
	private com.gwtext.client.widgets.Button OK = null;
144 aurelien 37
	private boolean selectionUtilisateur =false;
140 aurelien 38
 
144 aurelien 39
	private final int KEY_ALT = 18;
40
	private final int KEY_BACKSPACE = 8;
41
	private final int KEY_CTRL = 17;
42
	private final int KEY_DELETE = 46;
43
	private final int KEY_DOWN = 40;
44
	private final int KEY_END = 35;
45
	private final int KEY_ENTER = 13;
46
	private final int KEY_ESCAPE = 27;
47
	private final int KEY_HOME = 36;
48
	private final int KEY_LEFT = 37;
49
	private final int KEY_PAGEDOWN = 34;
50
	private final int KEY_PAGEUP = 33;
51
	private final int KEY_RIGHT = 39;
52
	private final int KEY_SHIFT = 16;
53
	private final int KEY_TAB = 9;
54
	private final int KEY_UP = 38;
55
 
140 aurelien 56
	public ListeUtilisateurAdminVue(CarnetEnLigneMediateur cMed) {
57
		super("Choisissez un utilisateur") ;
58
 
59
		this.cMediateur = cMed;
60
 
144 aurelien 61
		listeUtil=new ComboBox("Utilisateurs","utilisateur",280);
140 aurelien 62
 
63
 
64
		final String resultTplUtil = "<div class=\"search-item-utilisateur\">{utilisateur}</div>";
65
 
66
 
67
		listeUtil.setTpl(resultTplUtil);
68
		listeUtil.setMode(ComboBox.REMOTE);
69
		// commune.setPageSize(10); // Ne fonctionne pas
70
		listeUtil.setItemSelector("div.search-item-utilisateur");
71
		listeUtil.setTypeAhead(true);
144 aurelien 72
		listeUtil.setHideTrigger(true);
73
 
140 aurelien 74
		listeUtil.setLoadingText("Recherche...");
75
 
76
		OK= new com.gwtext.client.widgets.Button("OK");
77
 
78
		add(listeUtil);
79
		add(OK);
80
 
144 aurelien 81
		this.setSize(300, 75);
140 aurelien 82
 
144 aurelien 83
		OK.addListener(new ButtonListenerAdapter() {
140 aurelien 84
 
144 aurelien 85
			public void onClick(com.gwtext.client.widgets.Button button,
86
					EventObject e) {
87
				cMediateur.changerIdentite(listeUtil.getValue());
88
 
89
			}
90
		});
91
 
92
		final ListeUtilisateurAdminVue l = this ;
93
 
94
		listeUtil.addKeyPressListener(new EventCallback() {
95
 
96
			public void execute(EventObject e) {
97
 
98
				switch(e.getKey()) {
99
 
100
					case KEY_ALT:
101
	    	        case KEY_CTRL:
102
	    	        case KEY_DOWN:
103
	    	        case KEY_END:
104
	    	        case KEY_ESCAPE:
105
	    	        case KEY_HOME:
106
	    	        case KEY_LEFT:
107
	    	        case KEY_PAGEDOWN:
108
	    	        case KEY_PAGEUP:
109
	    	        case KEY_RIGHT:
110
	    	        case KEY_SHIFT:
111
	    	        case KEY_TAB:
112
	    	        case KEY_UP:
113
 
114
	    	        break;
115
 
116
	    	    	case KEY_ENTER:
117
 
118
		    	    	 if(selectionUtilisateur) {
119
		    	    		 selectionUtilisateur=false;
120
		    	    	 }
121
		    	    	else {
122
		    	    		cMediateur.changerIdentite(listeUtil.getText());
123
		    	    		close();
124
		    	    	 }
125
		    	    break;
126
 
127
		    	    default:
128
		    	    	obtenirListeUtilisateur();
129
		    	    break;
140 aurelien 130
				}
144 aurelien 131
			}
132
		});
133
 
134
		listeUtil.addListener(new ComboBoxListenerAdapter() {
135
 
136
			public void onSelect(ComboBox comboBox, Record record, int index) {
137
 
138
				String util = record.getAsString("utilisateur");
139
				listeUtil.setValue(util);
140
 
141
			}
142
		});
140 aurelien 143
	}
144
 
145
	public void rafraichir(Object nouvelleDonnees,
146
			boolean repandreRaffraichissement) {
147
 
148
		if(nouvelleDonnees instanceof String[][]) {
149
 
150
			Object[][] utilData = (Object[][])nouvelleDonnees ;
151
 
152
			FieldDef defUtil = new StringFieldDef("utilisateur");
153
			FieldDef[] defTab = {defUtil};
154
 
155
			RecordDef rd = new RecordDef(defTab);
156
 
157
			final MemoryProxy dataProxy = new MemoryProxy(utilData);
158
			final ArrayReader reader = new ArrayReader(rd);
159
 
160
			storeUtil =new Store(dataProxy,reader);
161
			storeUtil.load() ;
162
 
163
			listeUtil.setStore(storeUtil);
144 aurelien 164
			listeUtil.expand();
140 aurelien 165
 
166
		}
167
 
168
	}
144 aurelien 169
 
170
	public void obtenirListeUtilisateur() {
171
 
172
		String valeur = listeUtil.getRawValue();
140 aurelien 173
 
144 aurelien 174
    	cMediateur.obtenirListeUtilisateurs(valeur,this) ;
175
/*
176
		String esp=espece.getText().replaceAll(" ","/");
177
		  esp=esp.replaceAll("%","");
178
 
179
		  observationMediateur.obtenirListeReferentielNom(this,esp);
180
		  */
181
	}
182
 
140 aurelien 183
}