Subversion Repositories eFlore/Archives.cel-v1

Rev

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

Rev Author Line No. Line
2 ddelon 1
package org.tela_botanica.client;
2
 
3
 
4
 
5
import java.util.EventListener;
6
 
7
 
4 ddelon 8
import com.google.gwt.i18n.client.Dictionary;
9
import com.google.gwt.json.client.JSONArray;
10
import com.google.gwt.json.client.JSONParser;
11
import com.google.gwt.json.client.JSONString;
12
import com.google.gwt.json.client.JSONValue;
13
import com.google.gwt.user.client.ResponseTextHandler;
2 ddelon 14
import com.google.gwt.user.client.ui.Composite;
15
import com.google.gwt.user.client.ui.HorizontalPanel;
16
 
17
 
18
import org.tela_botanica.client.AutoCompleteAsyncTextBox;
19
 
20
/**
21
 * A composite that displays a list of names that can be selected.
22
 */
23
 
4 ddelon 24
public class NameAssistant extends Composite implements EventListener, ResponseTextHandler  {
2 ddelon 25
 
4 ddelon 26
  private AutoCompleteAsyncTextBox autoCompletebox = new AutoCompleteAsyncTextBox(this);
2 ddelon 27
  private HorizontalPanel panel = new HorizontalPanel();
28
 
6 ddelon 29
  public NameAssistant(AutoCompleteAsyncTextBoxListener listener) {
8 ddelon 30
 
31
//	autoCompletebox.setFocus(true);
4 ddelon 32
	autoCompletebox.setSearchUrl(getServiceBaseUrl()+"/NameSearch/");
33
 
2 ddelon 34
	panel.add(autoCompletebox);
35
 
36
	autoCompletebox.setWidth("100%");
37
    initWidget(panel);
38
    autoCompletebox.addAutoCompleteAsyncTextBoxListener(listener);
39
 
40
  }
41
 
4 ddelon 42
public void onCompletion(String str) {
43
 
44
  			JSONValue jsonValue= JSONParser.parse(str);
45
  			JSONArray jsonArray;
46
  			JSONArray jsonArrayNested;
47
 
48
 
49
  			if ((jsonArray = jsonValue.isArray()) != null) {
50
  				for (int i = 0; i < jsonArray.size(); ++i) {
51
  				  if ((jsonArrayNested = jsonArray.get(i).isArray()) != null) {
7 ddelon 52
 			  		autoCompletebox.addItem(((JSONString) jsonArrayNested.get(0)).stringValue(),((JSONString) jsonArrayNested.get(1)).stringValue());
4 ddelon 53
  				  }
54
  				}
55
  			}
56
 
57
  			autoCompletebox.displayList();
58
 
59
}
60
 
61
 
10 ddelon 62
 
63
public String getText() {
64
	return autoCompletebox.getText();
65
}
66
 
67
 
68
public String getValue() {
69
	return autoCompletebox.getValue();
70
}
71
 
72
 
4 ddelon 73
public String getServiceBaseUrl() {
74
 
75
	  Dictionary theme = Dictionary.getDictionary("Parameters");
76
	  return theme.get("serviceBaseUrl");
77
 
78
 
79
	}
80
 
81
 
2 ddelon 82
}
83