diff flys-client/src/main/java/de/intevation/flys/client/client/ui/LocationDistancePanel.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 e2f74131ffc1
children 0dad8ab80005
line wrap: on
line diff
--- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/LocationDistancePanel.java	Mon Jan 30 10:12:05 2012 +0000
+++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/LocationDistancePanel.java	Mon Jan 30 13:05:14 2012 +0000
@@ -25,6 +25,7 @@
 import com.smartgwt.client.widgets.form.fields.FormItem;
 import com.smartgwt.client.widgets.form.fields.SelectItem;
 import com.smartgwt.client.widgets.form.fields.RadioGroupItem;
+import com.smartgwt.client.widgets.form.fields.StaticTextItem;
 import com.smartgwt.client.widgets.layout.HLayout;
 import com.smartgwt.client.widgets.layout.VLayout;
 import com.smartgwt.client.widgets.grid.ListGrid;
@@ -37,6 +38,7 @@
 import com.smartgwt.client.widgets.grid.events.CellClickEvent;
 import com.smartgwt.client.widgets.tab.events.TabSelectedHandler;
 import com.smartgwt.client.widgets.tab.events.TabSelectedEvent;
+import com.smartgwt.client.types.Alignment;
 
 import com.smartgwt.client.widgets.tab.TabSet;
 import com.smartgwt.client.widgets.tab.Tab;
@@ -151,7 +153,8 @@
 
     /** The Combobox for table filter criteria. */
     protected SelectItem filterCriteria;
-
+    protected StaticTextItem filterResultCount;
+    protected ListGrid currentFiltered;
 
     /**
      * Creates a new LocationDistancePanel instance.
@@ -669,6 +672,7 @@
             enableDistancePanel();
             inputTables.selectTab(1);
         }
+        currentFiltered = (ListGrid)inputTables.getSelectedTab().getPane();
     }
 
 
@@ -694,6 +698,12 @@
             public void onTabSelected(TabSelectedEvent evt) {
                 filterDescription.clear();
                 filterRange.clear();
+                filterResultCount.setValue("");
+
+                Canvas c = evt.getTabPane();
+                if(c instanceof ListGrid) {
+                    currentFiltered = (ListGrid)c;
+                }
             }
         });
 
@@ -709,6 +719,10 @@
         inputTables.addTab(locations);
         inputTables.addTab(distances);
 
+        filterResultCount = new StaticTextItem(MESSAGES.resultCount());
+        filterResultCount.setTitleAlign(Alignment.LEFT);
+        filterResultCount.setTitleStyle("color: #000");
+
         filterDescription = new TableFilter();
         filterDescription.setHeight("30px");
         filterDescription.addFilterHandler(this);
@@ -727,11 +741,13 @@
                     filterRange.setVisible(true);
                     filterDescription.setVisible(false);
                     filterDescription.clear();
+                    filterResultCount.setValue("");
                 }
                 else {
                     filterRange.setVisible(false);
                     filterRange.clear();
                     filterDescription.setVisible(true);
+                    filterResultCount.setValue("");
                 }
             }
         });
@@ -745,8 +761,9 @@
 
         DynamicForm form = new DynamicForm();
         form.setFields(filterCriteria);
-
         inputTables.setHeight("*");
+        DynamicForm form2 = new DynamicForm();
+        form2.setFields(filterResultCount);
 
         VLayout helper = new VLayout();
         HLayout filterLayout = new HLayout();
@@ -754,9 +771,10 @@
         filterLayout.addMember(form);
         filterLayout.addMember(filterDescription);
         filterLayout.addMember(filterRange);
-        filterLayout.setHeight("33px");
+        filterLayout.setHeight("30px");
         helper.addMember(inputTables);
         helper.addMember(filterLayout);
+        helper.addMember(form2);
         helper.setHeight100();
         helper.setWidth100();
 
@@ -776,11 +794,13 @@
             locationsTable.filterData(c);
             distanceTable.filterData(c);
             locationDistanceTable.filterData(c);
+            filterResultCount.setValue(currentFiltered.getRecords().length);
         }
         else {
             locationsTable.clearCriteria();
             distanceTable.clearCriteria();
             locationDistanceTable.clearCriteria();
+            filterResultCount.setValue("");
         }
     }
 
@@ -797,6 +817,8 @@
             locationsTable.clearCriteria();
             distanceTable.clearCriteria();
             locationDistanceTable.clearCriteria();
+            filterResultCount.setValue("");
+            return;
         }
         else if (from.equals(Float.NaN)) {
             combinedFilter = new Criterion("to", OperatorId.LESS_OR_EQUAL, to);
@@ -805,6 +827,7 @@
             locationsTable.filterData(locationFilter);
             distanceTable.filterData(combinedFilter);
             locationDistanceTable.filterData(combinedFilter);
+            filterResultCount.setValue(currentFiltered.getRecords().length);
             return;
         }
         else if (to.equals(Float.NaN)) {
@@ -841,6 +864,7 @@
         locationsTable.filterData(combinedFilter);
         distanceTable.filterData(combinedFilter);
         locationDistanceTable.filterData(combinedFilter);
+        filterResultCount.setValue(currentFiltered.getRecords().length);
     }
 
 
@@ -1134,6 +1158,8 @@
             enableLocationPanel();
             filterDescription.clear();
             filterRange.clear();
+            filterResultCount.setValue("");
+
             // Remove the tab containing the locationDistanceTable.
             // The 'updateTab()' avoids the tab content to be destroyed.
             inputTables.updateTab(0, null);
@@ -1151,6 +1177,8 @@
             enableDistancePanel();
             filterDescription.clear();
             filterRange.clear();
+            filterResultCount.setValue("");
+
             // Remove the tab containing the locationTable.
             // The 'updateTab()' avoids the tab content to be destroyed.
             inputTables.updateTab(0, null);

http://dive4elements.wald.intevation.org