Mercurial > dive4elements > river
comparison flys-client/src/main/java/de/intevation/flys/client/client/ui/RangeTableFilter.java @ 1536:4f4d29404dba
Filter the helper input tables using the range filter.
flys-client/trunk@3754 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Tue, 24 Jan 2012 08:46:33 +0000 |
parents | 98123d34529b |
children | 51ed89b754ae |
comparison
equal
deleted
inserted
replaced
1535:03e82be2aabc | 1536:4f4d29404dba |
---|---|
1 package de.intevation.flys.client.client.ui; | 1 package de.intevation.flys.client.client.ui; |
2 | 2 |
3 import java.util.ArrayList; | 3 import java.util.ArrayList; |
4 import java.util.List; | 4 import java.util.List; |
5 import java.util.Map; | |
5 | 6 |
6 import com.google.gwt.core.client.GWT; | 7 import com.google.gwt.core.client.GWT; |
7 | 8 |
8 import com.smartgwt.client.widgets.form.DynamicForm; | 9 import com.smartgwt.client.widgets.form.DynamicForm; |
9 import com.smartgwt.client.widgets.form.fields.TextItem; | 10 import com.smartgwt.client.widgets.form.fields.TextItem; |
14 import com.smartgwt.client.widgets.layout.HLayout; | 15 import com.smartgwt.client.widgets.layout.HLayout; |
15 | 16 |
16 import de.intevation.flys.client.client.event.FilterHandler; | 17 import de.intevation.flys.client.client.event.FilterHandler; |
17 import de.intevation.flys.client.client.event.RangeFilterEvent; | 18 import de.intevation.flys.client.client.event.RangeFilterEvent; |
18 import de.intevation.flys.client.client.FLYSConstants; | 19 import de.intevation.flys.client.client.FLYSConstants; |
19 | 20 import de.intevation.flys.client.client.utils.DoubleValidator; |
20 | 21 |
21 /** | 22 /** |
22 * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a> | 23 * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a> |
23 */ | 24 */ |
24 public class RangeTableFilter | 25 public class RangeTableFilter |
30 | 31 |
31 protected List<FilterHandler> handlers; | 32 protected List<FilterHandler> handlers; |
32 | 33 |
33 protected TextItem fromField; | 34 protected TextItem fromField; |
34 protected TextItem toField; | 35 protected TextItem toField; |
36 protected DynamicForm filterForm; | |
35 | 37 |
36 public RangeTableFilter() { | 38 public RangeTableFilter() { |
37 super(); | 39 super(); |
38 fromField = new TextItem(); | 40 fromField = new TextItem(); |
39 fromField.setTitle(MESSAGES.from()); | 41 fromField.setTitle(MESSAGES.from()); |
48 fromField.addChangedHandler(this); | 50 fromField.addChangedHandler(this); |
49 fromField.addKeyUpHandler(this); | 51 fromField.addKeyUpHandler(this); |
50 toField.addChangedHandler(this); | 52 toField.addChangedHandler(this); |
51 toField.addKeyUpHandler(this); | 53 toField.addKeyUpHandler(this); |
52 | 54 |
53 DynamicForm form = new DynamicForm(); | 55 filterForm = new DynamicForm(); |
54 form.setNumCols(4); | 56 filterForm.setNumCols(4); |
55 form.setFields(fromField, toField); | 57 filterForm.setFields(fromField, toField); |
56 | 58 |
57 addMember(form); | 59 addMember(filterForm); |
58 } | 60 } |
59 | 61 |
60 | 62 |
61 public void onChanged(ChangedEvent event) { | 63 public void onChanged(ChangedEvent event) { |
62 // This event handler is to slow... | 64 // This event handler is to slow... |
63 // fireFilterCriteriaChanged(getSearchString()); | 65 // fireFilterCriteriaChanged(getSearchString()); |
64 } | 66 } |
65 | 67 |
66 | 68 |
67 public void onKeyUp(KeyUpEvent event) { | 69 public void onKeyUp(KeyUpEvent event) { |
70 DoubleValidator validator = new DoubleValidator(); | |
71 Map errors = filterForm.getErrors(); | |
72 if(event.getItem().getValue() != null && | |
73 !validator.validate(event.getItem(), errors)) { | |
74 filterForm.setErrors(errors, true); | |
75 GWT.log("no valid input!"); | |
76 return; | |
77 } | |
78 else { | |
79 errors.clear(); | |
80 filterForm.setErrors(errors, true); | |
81 } | |
68 //To deactivate "As you type" filter add | 82 //To deactivate "As you type" filter add |
69 // ' && event.getKeyName().equals("Enter")' | 83 // ' && event.getKeyName().equals("Enter")' |
70 // to the if-clause. | 84 // to the if-clause. |
71 if (event != null) { | 85 if (event != null) { |
72 fireFilterCriteriaChanged(getFrom(), getTo()); | 86 fireFilterCriteriaChanged(getFrom(), getTo()); |