Subversion Repositories eFlore/Applications.cel

Rev

Rev 2606 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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