annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/TableFilter.java @ 1261:87b6a93db523

Cleaned imports. flys-client/trunk@2789 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Mon, 19 Sep 2011 15:11:24 +0000
parents 89c01218172b
children 98123d34529b
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);
863
9bb8b7a751ec Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
43
9bb8b7a751ec Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
44 DynamicForm form = new DynamicForm();
9bb8b7a751ec Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
45 form.setFields(searchfield);
9bb8b7a751ec Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
46
9bb8b7a751ec Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
47 addMember(form);
9bb8b7a751ec Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
48 }
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 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
52 // 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
53 // fireFilterCriteriaChanged(getSearchString());
9bb8b7a751ec Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
54 }
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
875
a77958780e1c Updated the search field style including i18n and changed the handler
Raimund Renkert <raimund.renkert@intevation.de>
parents: 871
diff changeset
57 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
58 //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
59 // ' && event.getKeyName().equals("Enter")'
9bb8b7a751ec Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
60 // to the if-clause.
9bb8b7a751ec Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
61 if (event != null) {
869
94d9c8353ca9 Fixed the filter function and the helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 863
diff changeset
62 fireFilterCriteriaChanged(getSearchString());
863
9bb8b7a751ec Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
63 }
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 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
68 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
69 return "";
a77958780e1c Updated the search field style including i18n and changed the handler
Raimund Renkert <raimund.renkert@intevation.de>
parents: 871
diff changeset
70 }
a77958780e1c Updated the search field style including i18n and changed the handler
Raimund Renkert <raimund.renkert@intevation.de>
parents: 871
diff changeset
71 else {
a77958780e1c Updated the search field style including i18n and changed the handler
Raimund Renkert <raimund.renkert@intevation.de>
parents: 871
diff changeset
72 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
73 }
863
9bb8b7a751ec Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
74 }
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 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
78 if (handler != null) {
9bb8b7a751ec Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
79 handlers.add(handler);
9bb8b7a751ec Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
80 }
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 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
85 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
86
9bb8b7a751ec Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
87 for (FilterHandler handler: handlers) {
9bb8b7a751ec Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
88 handler.onFilterCriteriaChanged(filter);
9bb8b7a751ec Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
89 }
9bb8b7a751ec Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
90 }
893
89c01218172b Clear the table filter on tab selection change and input method change.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 875
diff changeset
91
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 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
94 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
95 fireFilterCriteriaChanged("");
89c01218172b Clear the table filter on tab selection change and input method change.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 875
diff changeset
96 }
863
9bb8b7a751ec Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
97 }
9bb8b7a751ec Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
98 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org