diff flys-client/src/main/java/de/intevation/flys/client/client/ui/DistancePanel.java @ 1567:7e738bc8ed75

Show hit count in filtered input helper tables. flys-client/trunk@3824 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Raimund Renkert <raimund.renkert@intevation.de>
date Mon, 30 Jan 2012 13:05:14 +0000
parents 92f81eac034a
children fe67f1345687
line wrap: on
line diff
--- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/DistancePanel.java	Mon Jan 30 10:12:05 2012 +0000
+++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/DistancePanel.java	Mon Jan 30 13:05:14 2012 +0000
@@ -14,10 +14,13 @@
 
 import com.smartgwt.client.data.Record;
 import com.smartgwt.client.util.SC;
+import com.smartgwt.client.types.Alignment;
 import com.smartgwt.client.widgets.Canvas;
 import com.smartgwt.client.widgets.Label;
+import com.smartgwt.client.widgets.grid.ListGrid;
 import com.smartgwt.client.widgets.form.DynamicForm;
 import com.smartgwt.client.widgets.form.fields.SelectItem;
+import com.smartgwt.client.widgets.form.fields.StaticTextItem;
 import com.smartgwt.client.widgets.form.fields.events.ChangedHandler;
 import com.smartgwt.client.widgets.form.fields.events.ChangedEvent;
 import com.smartgwt.client.widgets.form.fields.events.BlurHandler;
@@ -73,6 +76,8 @@
     protected double min;
     protected double max;
 
+    protected StaticTextItem filterResultCount;
+    protected ListGrid currentFiltered;
 
     public DistancePanel() {
         this("right");
@@ -489,6 +494,10 @@
         tabs.addTab(locations, 0);
         tabs.addTab(distances, 1);
 
+        filterResultCount = new StaticTextItem(MSG.resultCount());
+        filterResultCount.setTitleAlign(Alignment.LEFT);
+        filterResultCount.setTitleStyle("color: #000");
+
         filterDescription = new TableFilter();
         filterDescription.setHeight("30px");
         filterDescription.addFilterHandler(this);
@@ -526,21 +535,30 @@
         DynamicForm form = new DynamicForm();
         form.setFields(filterCriteria);
 
+        DynamicForm form2 = new DynamicForm();
+        form2.setFields(filterResultCount);
+
         HLayout filterLayout = new HLayout();
         filterLayout.addMember(form);
         filterLayout.addMember(filterDescription);
         filterLayout.addMember(filterRange);
-
-
+        filterLayout.setHeight(30);
         tabs.addTabSelectedHandler(new TabSelectedHandler() {
             public void onTabSelected(TabSelectedEvent evt) {
                 filterDescription.clear();
                 filterRange.clear();
+                filterResultCount.setValue("");
+
+                Canvas c = evt.getTabPane();
+                if(c instanceof ListGrid) {
+                    currentFiltered = (ListGrid)c;
+                }
             }
         });
 
         helperContainer.addMember(tabs);
         helperContainer.addMember(filterLayout);
+        helperContainer.addMember(form2);
     }
 
 
@@ -551,10 +569,12 @@
             Criteria c = new Criteria("description", search);
             locationsTable.filterData(c);
             distancesTable.filterData(c);
+            filterResultCount.setValue(currentFiltered.getRecords().length);
         }
         else {
             locationsTable.clearCriteria();
             distancesTable.clearCriteria();
+            filterResultCount.setValue("");
         }
     }
 
@@ -568,6 +588,8 @@
         if (from.equals(Float.NaN) && to.equals(Float.NaN)) {
             locationsTable.clearCriteria();
             distancesTable.clearCriteria();
+            filterResultCount.setValue("");
+            return;
         }
         else if (from.equals(Float.NaN)) {
             combinedFilter = new Criterion("to", OperatorId.LESS_OR_EQUAL, to);
@@ -575,6 +597,7 @@
                 new Criterion("from", OperatorId.LESS_OR_EQUAL, to);
             locationsTable.filterData(locationFilter);
             distancesTable.filterData(combinedFilter);
+            filterResultCount.setValue(currentFiltered.getRecords().length);
             return;
         }
         else if (to.equals(Float.NaN)) {
@@ -607,6 +630,8 @@
         }
         locationsTable.filterData(combinedFilter);
         distancesTable.filterData(combinedFilter);
+        filterResultCount.setValue(currentFiltered.getRecords().length);
+
     }
 
 

http://dive4elements.wald.intevation.org