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.

http://dive4elements.wald.intevation.org