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