diff flys-client/src/main/java/de/intevation/flys/client/client/ui/DistancePanel.java @ 863:9bb8b7a751ec

Added filter for the "description" row of helper input tables. flys-client/trunk@2670 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Raimund Renkert <raimund.renkert@intevation.de>
date Wed, 07 Sep 2011 17:22:21 +0000
parents 4497d19c22fd
children 89c01218172b
line wrap: on
line diff
--- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/DistancePanel.java	Wed Sep 07 13:57:28 2011 +0000
+++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/DistancePanel.java	Wed Sep 07 17:22:21 2011 +0000
@@ -6,6 +6,7 @@
 import com.google.gwt.core.client.GWT;
 import com.google.gwt.i18n.client.NumberFormat;
 
+import com.smartgwt.client.data.Criteria;
 import com.smartgwt.client.data.Record;
 import com.smartgwt.client.util.SC;
 import com.smartgwt.client.widgets.Canvas;
@@ -31,9 +32,12 @@
 import de.intevation.flys.client.client.ui.range.DistanceInfoDataSource;
 import de.intevation.flys.client.client.ui.range.RangeTable;
 import de.intevation.flys.client.client.ui.range.LocationsTable;
+import de.intevation.flys.client.client.event.FilterHandler;
+import de.intevation.flys.client.client.event.StringFilterEvent;
 
 
-public class DistancePanel extends AbstractUIProvider implements BlurHandler {
+public class DistancePanel extends AbstractUIProvider implements BlurHandler, FilterHandler
+{
 
     public static final int DEFAULT_STEP_WIDTH = 100;
 
@@ -461,7 +465,26 @@
         tabs.addTab(locations, 0);
         tabs.addTab(distances, 1);
 
+        TableFilter filter = new TableFilter();
+        filter.setHeight("30px");
+        filter.addFilterHandler(this);
+
         helperContainer.addMember(tabs);
+        helperContainer.addMember(filter);
+    }
+
+
+    public void onFilterCriteriaChanged(StringFilterEvent event) {
+        String search = event.getFilter();
+
+        if (search != null && search.length() > 0) {
+            Criteria c = new Criteria("description", search);
+            locationsTable.filterData(c);
+            distancesTable.filterData(c);
+        }
+        else {
+            // TODO Remove filter
+        }
     }
 
 

http://dive4elements.wald.intevation.org