Mercurial > dive4elements > river
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); + }