Subversion Repositories eFlore/Applications.cel

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1940 aurelien 1
package org.tela_botanica.client.util;
2
 
3
import java.util.ArrayList;
4
import java.util.Iterator;
1945 aurelien 5
import java.util.List;
2602 aurelien 6
import java.util.Map;
7
 
8
import org.tela_botanica.client.cel2;
1940 aurelien 9
import org.tela_botanica.client.interfaces.Rafraichissable;
10
import org.tela_botanica.client.modeles.dao.ListeReferentielChampsEtendusDAO;
1943 aurelien 11
import org.tela_botanica.client.modeles.objets.Configuration;
2606 aurelien 12
import org.tela_botanica.client.modeles.objets.Utilisateur;
2602 aurelien 13
import org.tela_botanica.client.util.autocompletion.AutoCompletionComboBox;
1940 aurelien 14
 
2392 aurelien 15
import com.google.gwt.core.client.Callback;
2602 aurelien 16
import com.google.gwt.http.client.Response;
1940 aurelien 17
import com.google.gwt.user.client.Timer;
18
import com.gwtext.client.core.EventCallback;
19
import com.gwtext.client.core.EventObject;
20
import com.gwtext.client.core.Ext;
21
import com.gwtext.client.core.ListenerConfig;
22
import com.gwtext.client.data.ArrayReader;
23
import com.gwtext.client.data.FieldDef;
24
import com.gwtext.client.data.MemoryProxy;
25
import com.gwtext.client.data.Record;
26
import com.gwtext.client.data.RecordDef;
27
import com.gwtext.client.data.Store;
28
import com.gwtext.client.data.StringFieldDef;
29
import com.gwtext.client.widgets.Component;
2392 aurelien 30
import com.gwtext.client.widgets.ToolTip;
1940 aurelien 31
import com.gwtext.client.widgets.form.ComboBox;
1945 aurelien 32
import com.gwtext.client.widgets.form.Field;
1940 aurelien 33
import com.gwtext.client.widgets.form.event.ComboBoxListenerAdapter;
34
 
2602 aurelien 35
public class ChampSaisieEtendu extends AutoCompletionComboBox {
1940 aurelien 36
 
37
		private String cle = null;
38
		private String label = null;
39
 
2392 aurelien 40
		private String description = null;
41
		private ToolTip tpDesc = null;
42
 
2602 aurelien 43
		public ChampSaisieEtendu(String label, String cle, String urlRequete) {
2392 aurelien 44
 
2602 aurelien 45
			super(label, urlRequete);
1940 aurelien 46
			this.cle =cle;
47
			this.label = label;
48
 
2392 aurelien 49
			// A activer pour télécharger la description
50
			// si jamais on le décide
51
			addListener(new ComboBoxListenerAdapter() {
1940 aurelien 52
				@Override
53
				public void onRender(Component component) {
2392 aurelien 54
					ChampSaisieEtendu.this.getEl().addListener("mouseover", new EventCallback() {
55
						@Override
56
						public void execute(EventObject e) {
57
							if(description == null) {
58
								telechargerEtAfficherDescriptionDistante();
59
							} else {
60
								afficherDescription(description);
61
							}
62
						}
63
					});
1940 aurelien 64
				}
65
			});
66
		}
67
 
2392 aurelien 68
		private void telechargerEtAfficherDescriptionDistante() {
69
			ListeReferentielChampsEtendusDAO.telechargerDescriptionWikini(cle, new Callback<String, String>() {
70
				@Override
71
				public void onSuccess(String description) {
72
					ChampSaisieEtendu.this.description = description;
73
					afficherDescription(description);
74
				}
75
 
76
				@Override
77
				public void onFailure(String description) {
78
					afficherDescription(description);
79
				}
80
			});
81
		}
82
 
83
		private void afficherDescription(String description) {
84
			if(!description.trim().isEmpty()) {
85
				if(tpDesc == null) {
86
					tpDesc = new ToolTip(description);
87
					tpDesc.applyTo(this.getElement());
88
					tpDesc.showAt(ChampSaisieEtendu.this.getEl().getX(), ChampSaisieEtendu.this.getEl().getY());
89
				} else {
90
					tpDesc.show();
91
				}
92
			}
93
		}
94
 
2602 aurelien 95
		public String getCle() {
96
			return cle;
1940 aurelien 97
		}
98
 
2602 aurelien 99
		public String getLabel() {
100
			return label;
1940 aurelien 101
		}
2602 aurelien 102
 
103
		@Override
104
		protected Map<String, String> parserResultatRequete(Response response) {
105
			return ListeReferentielChampsEtendusDAO.parserRetourListeValeursChampsEtendus(response);
1940 aurelien 106
		}
2602 aurelien 107
 
108
		@Override
109
		protected void onModificationValeur() {
110
			// TODO Auto-generated method stub
1940 aurelien 111
		}
1943 aurelien 112
 
2602 aurelien 113
		@Override
114
		protected void onSelectionValeur() {
115
			// TODO Auto-generated method stub
1943 aurelien 116
		}
2602 aurelien 117
 
1967 aurelien 118
		@Override
2602 aurelien 119
		protected void onValidationSaisie() {
120
			// TODO Auto-generated method stub
1967 aurelien 121
		}
122
}