Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 1943 Rev 1945
Line 1... Line 1...
1
package org.tela_botanica.client.util;
1
package org.tela_botanica.client.util;
Line 2... Line 2...
2
 
2
 
3
import java.util.ArrayList;
3
import java.util.ArrayList;
-
 
4
import java.util.Iterator;
Line 4... Line 5...
4
import java.util.Iterator;
5
import java.util.List;
5
 
6
 
6
import org.tela_botanica.client.interfaces.Rafraichissable;
7
import org.tela_botanica.client.interfaces.Rafraichissable;
Line 20... Line 21...
20
import com.gwtext.client.data.Store;
21
import com.gwtext.client.data.Store;
21
import com.gwtext.client.data.StringFieldDef;
22
import com.gwtext.client.data.StringFieldDef;
22
import com.gwtext.client.widgets.Component;
23
import com.gwtext.client.widgets.Component;
23
import com.gwtext.client.widgets.event.ComponentListenerAdapter;
24
import com.gwtext.client.widgets.event.ComponentListenerAdapter;
24
import com.gwtext.client.widgets.form.ComboBox;
25
import com.gwtext.client.widgets.form.ComboBox;
-
 
26
import com.gwtext.client.widgets.form.Field;
25
import com.gwtext.client.widgets.form.event.ComboBoxListenerAdapter;
27
import com.gwtext.client.widgets.form.event.ComboBoxListenerAdapter;
Line 26... Line 28...
26
 
28
 
27
public class ChampSaisieEtendu extends ComboBox implements Rafraichissable {
29
public class ChampSaisieEtendu extends ComboBox implements Rafraichissable {
28
		// TODO: faire un enum
30
		// TODO: faire un enum
Line 51... Line 53...
51
				
53
				
Line 52... Line 54...
52
		private Timer timer = null;
54
		private Timer timer = null;
Line -... Line 55...
-
 
55
		
-
 
56
		final String resultTplRefPerso = "<div class=\"search-item-ref\">{valeur}</div>";  
-
 
57
		
-
 
58
		private List<String> cacheValeurs;
53
		
59
		private Record rdSelectionne = null;
Line 54... Line 60...
54
		final String resultTplRefPerso = "<div class=\"search-item-ref\">{valeur}</div>";  
60
		private String valeurBrute = "";
55
		
61
		
Line 62... Line 68...
62
			this.label = label;
68
			this.label = label;
Line 63... Line 69...
63
			
69
			
64
			setTpl(resultTplRefPerso);
70
			setTpl(resultTplRefPerso);
65
			setMode(ComboBox.REMOTE);
71
			setMode(ComboBox.REMOTE);
66
			setItemSelector("div.search-item-ref");
72
			setItemSelector("div.search-item-ref");
67
			setTypeAhead(true);  
73
			setTypeAhead(false);  
68
			setLoadingText("Recherche...");  
74
			setLoadingText("Recherche...");  
-
 
75
			setHideTrigger(true);
Line 69... Line 76...
69
			setHideTrigger(true);
76
			setValidateOnBlur(false);
70
			
77
			
71
		    ListenerConfig listenerConfigAutocompletion=new ListenerConfig();
78
		    ListenerConfig listenerConfigAutocompletion=new ListenerConfig();
72
		    listenerConfigAutocompletion.setDelay(200);
79
		    listenerConfigAutocompletion.setDelay(200);
Line 94... Line 101...
94
		  	    	      case KEY_TAB:
101
		  	    	      case KEY_TAB:
95
		  	    	      case KEY_UP:
102
		  	    	      case KEY_UP:
Line 96... Line 103...
96
			    	    	
103
			    	    	
Line -... Line 104...
-
 
104
			    	        break;
-
 
105
			    	        
-
 
106
		  	    	      case KEY_ENTER:
-
 
107
		  	    	    	  if(rdSelectionne != null) {
-
 
108
		  	    	    		  setValue(rdSelectionne.getAsString("valeur"));
-
 
109
		  	    	    		  selectionValeur=true;
-
 
110
		  	    	    		  valeurBrute = rdSelectionne.getAsString("valeur");
-
 
111
		  	    	    	  }
97
			    	        break;
112
			              break;
98
			    	        
113
			    	        
99
		  	    	      case KEY_DOWN:
114
		  	    	      case KEY_DOWN:
100
		  	    	    	  if(getValueAsString().isEmpty() && !isExpanded()) {
115
		  	    	    	  if(getValueAsString().isEmpty() && !isExpanded()) {
101
		  	    	    		  obtenirListeValeurs("*");
116
		  	    	    		  obtenirListeValeurs("*");
Line 112... Line 127...
112
								public void run() {
127
								public void run() {
113
				  	    	      	obtenirListeValeurs();
128
				  	    	      	obtenirListeValeurs();
114
								}
129
								}
115
							};
130
							};
116
							timer.schedule(300);
131
							timer.schedule(300);
-
 
132
							valeurBrute = getValueAsString();
-
 
133
							setValue(valeurBrute);
117
						}
134
						}
118
					}
135
					}
119
			    },listenerConfigAutocompletion);
136
			    },listenerConfigAutocompletion);
120
		    } else {
137
		    } else {
121
		    	initStoreVide();
138
		    	initStoreVide();
122
		    }
139
		    }
Line 123... Line -...
123
			
-
 
124
			// Listener completion 
140
			
125
			addListener(new ComboBoxListenerAdapter() {  
141
			addListener(new ComboBoxListenerAdapter() {  
126
	             @Override
142
	            @Override
127
				public void onSelect(ComboBox comboBox, Record record, int index) {  
143
				public void onSelect(ComboBox comboBox, Record record, int index) {  
-
 
144
	            	rdSelectionne = record;
-
 
145
	            }
128
	            	 setValue(record.getAsString("valeur"));
146
	            
-
 
147
	            @Override
129
	            	 selectionValeur=true;
148
				public void onBlur(Field field) {  
130
	                 collapse();
149
	            	setRawValue(valeurBrute);
131
	             }  
150
	            }
Line 132... Line 151...
132
	         });
151
	         });
133
			
152
			
134
			this.addListener(new ComponentListenerAdapter() {
153
			this.addListener(new ComponentListenerAdapter() {
135
				@Override
154
				@Override
136
				public void onRender(Component component) {
155
				public void onRender(Component component) {
137
					setLargeurChamp();
156
					setLargeurChamp();
138
				}
-
 
139
			});
157
				}
Line 140... Line 158...
140
			
158
			});
141
		}
159
		}
Line 142... Line 160...
142
 
160
 
143
		@Override
161
		@Override
-
 
162
		public void rafraichir(Object nouvelleDonnees, boolean repandreRaffraichissement) {
Line 144... Line 163...
144
		public void rafraichir(Object nouvelleDonnees, boolean repandreRaffraichissement) {
163
			
145
			
164
			@SuppressWarnings("unchecked")
Line 146... Line 165...
146
			@SuppressWarnings("unchecked")
165
			ArrayList<String> valeurs = (ArrayList<String>)nouvelleDonnees;