diff flys-client/src/main/java/de/intevation/flys/client/client/ui/SingleLocationPanel.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 915ad25f4bb8
line wrap: on
line diff
--- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/SingleLocationPanel.java	Mon Jan 30 10:12:05 2012 +0000
+++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/SingleLocationPanel.java	Mon Jan 30 13:05:14 2012 +0000
@@ -15,6 +15,7 @@
 import com.smartgwt.client.widgets.form.fields.events.BlurEvent;
 import com.smartgwt.client.widgets.form.fields.FormItem;
 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;
 
@@ -32,6 +33,7 @@
 import com.smartgwt.client.data.Criterion;
 import com.smartgwt.client.data.AdvancedCriteria;
 import com.smartgwt.client.types.OperatorId;
+import com.smartgwt.client.types.Alignment;
 
 import com.smartgwt.client.data.Record;
 import com.smartgwt.client.types.ListGridFieldType;
@@ -91,6 +93,8 @@
     /** The table data. */
     protected DistanceInfoObject[] tableData;
 
+    protected StaticTextItem filterResultCount;
+
     /**
      * Creates a new LocationDistancePanel instance.
      */
@@ -315,6 +319,10 @@
 
         container.setMembersMargin(30);
 
+        filterResultCount = new StaticTextItem(MESSAGES.resultCount());
+        filterResultCount.setTitleAlign(Alignment.LEFT);
+        filterResultCount.setTitleStyle("color: #000");
+
         final TableFilter filter = new TableFilter();
         filter.setHeight("30px");
         filter.addFilterHandler(this);
@@ -333,11 +341,13 @@
                     filterRange.setVisible(true);
                     filter.setVisible(false);
                     filter.clear();
+                    filterResultCount.setValue("");
                 }
                 else {
                     filterRange.setVisible(false);
                     filterRange.clear();
                     filter.setVisible(true);
+                    filterResultCount.setValue("");
                 }
             }
         });
@@ -352,6 +362,9 @@
         DynamicForm form = new DynamicForm();
         form.setFields(filterCriteria);
 
+        DynamicForm form2 = new DynamicForm();
+        form2.setFields(filterResultCount);
+
         HLayout filterLayout = new HLayout();
         filterLayout.addMember(form);
         filterLayout.addMember(filter);
@@ -359,6 +372,7 @@
 
         helperContainer.addMember(locationTable);
         helperContainer.addMember(filterLayout);
+        helperContainer.addMember(form2);
         createInputPanel();
         return layout;
     }
@@ -369,6 +383,7 @@
         if (search != null && search.length() > 0) {
             Criteria c = new Criteria("description", search);
             locationTable.filterData(c);
+            filterResultCount.setValue(locationTable.getRecords().length);
         }
         else {
             // TODO Remove filter
@@ -383,6 +398,8 @@
         Criterion combinedFilter = null;
         if (from.equals(Float.NaN) && to.equals(Float.NaN)) {
             locationTable.clearCriteria();
+            filterResultCount.setValue("");
+            return;
         }
         else if (from.equals(Float.NaN)) {
             combinedFilter =
@@ -400,6 +417,7 @@
                 });
         }
         locationTable.filterData(combinedFilter);
+        filterResultCount.setValue(locationTable.getRecords().length);
     }
 
 

http://dive4elements.wald.intevation.org