Mercurial > dive4elements > river
diff 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 |
line wrap: on
line diff
--- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/RangeTableFilter.java Mon Jan 23 15:45:20 2012 +0000 +++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/RangeTableFilter.java Tue Jan 24 08:46:33 2012 +0000 @@ -2,6 +2,7 @@ import java.util.ArrayList; import java.util.List; +import java.util.Map; import com.google.gwt.core.client.GWT; @@ -16,7 +17,7 @@ import de.intevation.flys.client.client.event.FilterHandler; import de.intevation.flys.client.client.event.RangeFilterEvent; import de.intevation.flys.client.client.FLYSConstants; - +import de.intevation.flys.client.client.utils.DoubleValidator; /** * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a> @@ -32,6 +33,7 @@ protected TextItem fromField; protected TextItem toField; + protected DynamicForm filterForm; public RangeTableFilter() { super(); @@ -50,11 +52,11 @@ toField.addChangedHandler(this); toField.addKeyUpHandler(this); - DynamicForm form = new DynamicForm(); - form.setNumCols(4); - form.setFields(fromField, toField); + filterForm = new DynamicForm(); + filterForm.setNumCols(4); + filterForm.setFields(fromField, toField); - addMember(form); + addMember(filterForm); } @@ -65,6 +67,18 @@ public void onKeyUp(KeyUpEvent event) { + DoubleValidator validator = new DoubleValidator(); + Map errors = filterForm.getErrors(); + if(event.getItem().getValue() != null && + !validator.validate(event.getItem(), errors)) { + filterForm.setErrors(errors, true); + GWT.log("no valid input!"); + return; + } + else { + errors.clear(); + filterForm.setErrors(errors, true); + } //To deactivate "As you type" filter add // ' && event.getKeyName().equals("Enter")' // to the if-clause.