Mercurial > dive4elements > river
comparison flys-client/src/main/java/org/dive4elements/river/client/client/ui/TableFilter.java @ 5834:f507086aa94b
Repaired internal references.
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Thu, 25 Apr 2013 12:31:32 +0200 |
parents | flys-client/src/main/java/de/intevation/flys/client/client/ui/TableFilter.java@98123d34529b |
children | 821a02bbfb4e |
comparison
equal
deleted
inserted
replaced
5833:a2bdc0f524e8 | 5834:f507086aa94b |
---|---|
1 package de.intevation.flys.client.client.ui; | |
2 | |
3 import java.util.ArrayList; | |
4 import java.util.List; | |
5 | |
6 import com.google.gwt.core.client.GWT; | |
7 | |
8 import com.smartgwt.client.widgets.form.DynamicForm; | |
9 import com.smartgwt.client.widgets.form.fields.TextItem; | |
10 import com.smartgwt.client.widgets.form.fields.events.ChangedEvent; | |
11 import com.smartgwt.client.widgets.form.fields.events.ChangedHandler; | |
12 import com.smartgwt.client.widgets.form.fields.events.KeyUpEvent; | |
13 import com.smartgwt.client.widgets.form.fields.events.KeyUpHandler; | |
14 import com.smartgwt.client.widgets.layout.HLayout; | |
15 | |
16 import de.intevation.flys.client.client.event.FilterHandler; | |
17 import de.intevation.flys.client.client.event.StringFilterEvent; | |
18 import de.intevation.flys.client.client.FLYSConstants; | |
19 | |
20 | |
21 /** | |
22 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> | |
23 */ | |
24 public class TableFilter | |
25 extends HLayout | |
26 implements ChangedHandler, KeyUpHandler | |
27 { | |
28 /** The message class that provides i18n strings. */ | |
29 protected FLYSConstants MESSAGES = GWT.create(FLYSConstants.class); | |
30 | |
31 protected List<FilterHandler> handlers; | |
32 | |
33 protected TextItem searchfield; | |
34 | |
35 | |
36 public TableFilter() { | |
37 super(); | |
38 searchfield = new TextItem(MESSAGES.search()); | |
39 handlers = new ArrayList<FilterHandler>(); | |
40 | |
41 searchfield.addChangedHandler(this); | |
42 searchfield.addKeyUpHandler(this); | |
43 searchfield.setWidth(120); | |
44 | |
45 DynamicForm form = new DynamicForm(); | |
46 form.setFields(searchfield); | |
47 | |
48 addMember(form); | |
49 } | |
50 | |
51 | |
52 public void onChanged(ChangedEvent event) { | |
53 // This event handler is to slow... | |
54 // fireFilterCriteriaChanged(getSearchString()); | |
55 } | |
56 | |
57 | |
58 public void onKeyUp(KeyUpEvent event) { | |
59 //To deactivate "As you type" filter add | |
60 // ' && event.getKeyName().equals("Enter")' | |
61 // to the if-clause. | |
62 if (event != null) { | |
63 fireFilterCriteriaChanged(getSearchString()); | |
64 } | |
65 } | |
66 | |
67 | |
68 public String getSearchString() { | |
69 if (searchfield.getValueAsString() == null) { | |
70 return ""; | |
71 } | |
72 else { | |
73 return searchfield.getValueAsString(); | |
74 } | |
75 } | |
76 | |
77 | |
78 public void addFilterHandler(FilterHandler handler) { | |
79 if (handler != null) { | |
80 handlers.add(handler); | |
81 } | |
82 } | |
83 | |
84 | |
85 protected void fireFilterCriteriaChanged(String searchstring) { | |
86 StringFilterEvent filter = new StringFilterEvent(searchstring); | |
87 | |
88 for (FilterHandler handler: handlers) { | |
89 handler.onFilterCriteriaChanged(filter); | |
90 } | |
91 } | |
92 | |
93 | |
94 public void clear() { | |
95 searchfield.clearValue(); | |
96 fireFilterCriteriaChanged(""); | |
97 } | |
98 } | |
99 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |