Mercurial > dive4elements > river
annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/TableFilter.java @ 5100:3557570fef51
Renamed 'Pegelnullpunkt/Gauge zero ground' to 'PNP/GZG'.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Tue, 26 Feb 2013 10:39:22 +0100 |
parents | 98123d34529b |
children |
rev | line source |
---|---|
863
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.client.client.ui; |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
2 |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
3 import java.util.ArrayList; |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
4 import java.util.List; |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
5 |
875
a77958780e1c
Updated the search field style including i18n and changed the handler
Raimund Renkert <raimund.renkert@intevation.de>
parents:
871
diff
changeset
|
6 import com.google.gwt.core.client.GWT; |
a77958780e1c
Updated the search field style including i18n and changed the handler
Raimund Renkert <raimund.renkert@intevation.de>
parents:
871
diff
changeset
|
7 |
863
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
8 import com.smartgwt.client.widgets.form.DynamicForm; |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
9 import com.smartgwt.client.widgets.form.fields.TextItem; |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
10 import com.smartgwt.client.widgets.form.fields.events.ChangedEvent; |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
11 import com.smartgwt.client.widgets.form.fields.events.ChangedHandler; |
875
a77958780e1c
Updated the search field style including i18n and changed the handler
Raimund Renkert <raimund.renkert@intevation.de>
parents:
871
diff
changeset
|
12 import com.smartgwt.client.widgets.form.fields.events.KeyUpEvent; |
a77958780e1c
Updated the search field style including i18n and changed the handler
Raimund Renkert <raimund.renkert@intevation.de>
parents:
871
diff
changeset
|
13 import com.smartgwt.client.widgets.form.fields.events.KeyUpHandler; |
863
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
14 import com.smartgwt.client.widgets.layout.HLayout; |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
15 |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
16 import de.intevation.flys.client.client.event.FilterHandler; |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
17 import de.intevation.flys.client.client.event.StringFilterEvent; |
875
a77958780e1c
Updated the search field style including i18n and changed the handler
Raimund Renkert <raimund.renkert@intevation.de>
parents:
871
diff
changeset
|
18 import de.intevation.flys.client.client.FLYSConstants; |
863
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
19 |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
20 |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
21 /** |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
22 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
23 */ |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
24 public class TableFilter |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
25 extends HLayout |
875
a77958780e1c
Updated the search field style including i18n and changed the handler
Raimund Renkert <raimund.renkert@intevation.de>
parents:
871
diff
changeset
|
26 implements ChangedHandler, KeyUpHandler |
863
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
27 { |
875
a77958780e1c
Updated the search field style including i18n and changed the handler
Raimund Renkert <raimund.renkert@intevation.de>
parents:
871
diff
changeset
|
28 /** The message class that provides i18n strings. */ |
a77958780e1c
Updated the search field style including i18n and changed the handler
Raimund Renkert <raimund.renkert@intevation.de>
parents:
871
diff
changeset
|
29 protected FLYSConstants MESSAGES = GWT.create(FLYSConstants.class); |
863
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
30 |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
31 protected List<FilterHandler> handlers; |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
32 |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
33 protected TextItem searchfield; |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
34 |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
35 |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
36 public TableFilter() { |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
37 super(); |
875
a77958780e1c
Updated the search field style including i18n and changed the handler
Raimund Renkert <raimund.renkert@intevation.de>
parents:
871
diff
changeset
|
38 searchfield = new TextItem(MESSAGES.search()); |
863
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
39 handlers = new ArrayList<FilterHandler>(); |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
40 |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
41 searchfield.addChangedHandler(this); |
875
a77958780e1c
Updated the search field style including i18n and changed the handler
Raimund Renkert <raimund.renkert@intevation.de>
parents:
871
diff
changeset
|
42 searchfield.addKeyUpHandler(this); |
1534
98123d34529b
Added UI parts and event for filtering distances and locations.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1261
diff
changeset
|
43 searchfield.setWidth(120); |
863
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
44 |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
45 DynamicForm form = new DynamicForm(); |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
46 form.setFields(searchfield); |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
47 |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
48 addMember(form); |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
49 } |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
50 |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
51 |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
52 public void onChanged(ChangedEvent event) { |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
53 // This event handler is to slow... |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
54 // fireFilterCriteriaChanged(getSearchString()); |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
55 } |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
56 |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
57 |
875
a77958780e1c
Updated the search field style including i18n and changed the handler
Raimund Renkert <raimund.renkert@intevation.de>
parents:
871
diff
changeset
|
58 public void onKeyUp(KeyUpEvent event) { |
863
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
59 //To deactivate "As you type" filter add |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
60 // ' && event.getKeyName().equals("Enter")' |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
61 // to the if-clause. |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
62 if (event != null) { |
869
94d9c8353ca9
Fixed the filter function and the helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
863
diff
changeset
|
63 fireFilterCriteriaChanged(getSearchString()); |
863
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
64 } |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
65 } |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
66 |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
67 |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
68 public String getSearchString() { |
875
a77958780e1c
Updated the search field style including i18n and changed the handler
Raimund Renkert <raimund.renkert@intevation.de>
parents:
871
diff
changeset
|
69 if (searchfield.getValueAsString() == null) { |
a77958780e1c
Updated the search field style including i18n and changed the handler
Raimund Renkert <raimund.renkert@intevation.de>
parents:
871
diff
changeset
|
70 return ""; |
a77958780e1c
Updated the search field style including i18n and changed the handler
Raimund Renkert <raimund.renkert@intevation.de>
parents:
871
diff
changeset
|
71 } |
a77958780e1c
Updated the search field style including i18n and changed the handler
Raimund Renkert <raimund.renkert@intevation.de>
parents:
871
diff
changeset
|
72 else { |
a77958780e1c
Updated the search field style including i18n and changed the handler
Raimund Renkert <raimund.renkert@intevation.de>
parents:
871
diff
changeset
|
73 return searchfield.getValueAsString(); |
a77958780e1c
Updated the search field style including i18n and changed the handler
Raimund Renkert <raimund.renkert@intevation.de>
parents:
871
diff
changeset
|
74 } |
863
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
75 } |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
76 |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
77 |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
78 public void addFilterHandler(FilterHandler handler) { |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
79 if (handler != null) { |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
80 handlers.add(handler); |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
81 } |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
82 } |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
83 |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
84 |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
85 protected void fireFilterCriteriaChanged(String searchstring) { |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
86 StringFilterEvent filter = new StringFilterEvent(searchstring); |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
87 |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
88 for (FilterHandler handler: handlers) { |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
89 handler.onFilterCriteriaChanged(filter); |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
90 } |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
91 } |
893
89c01218172b
Clear the table filter on tab selection change and input method change.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
875
diff
changeset
|
92 |
89c01218172b
Clear the table filter on tab selection change and input method change.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
875
diff
changeset
|
93 |
89c01218172b
Clear the table filter on tab selection change and input method change.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
875
diff
changeset
|
94 public void clear() { |
89c01218172b
Clear the table filter on tab selection change and input method change.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
875
diff
changeset
|
95 searchfield.clearValue(); |
89c01218172b
Clear the table filter on tab selection change and input method change.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
875
diff
changeset
|
96 fireFilterCriteriaChanged(""); |
89c01218172b
Clear the table filter on tab selection change and input method change.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
875
diff
changeset
|
97 } |
863
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
98 } |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
99 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |