Mercurial > dive4elements > river
comparison 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 |
comparison
equal
deleted
inserted
replaced
1566:c408074c6409 | 1567:7e738bc8ed75 |
---|---|
13 import com.smartgwt.client.widgets.form.DynamicForm; | 13 import com.smartgwt.client.widgets.form.DynamicForm; |
14 import com.smartgwt.client.widgets.form.fields.events.BlurHandler; | 14 import com.smartgwt.client.widgets.form.fields.events.BlurHandler; |
15 import com.smartgwt.client.widgets.form.fields.events.BlurEvent; | 15 import com.smartgwt.client.widgets.form.fields.events.BlurEvent; |
16 import com.smartgwt.client.widgets.form.fields.FormItem; | 16 import com.smartgwt.client.widgets.form.fields.FormItem; |
17 import com.smartgwt.client.widgets.form.fields.SelectItem; | 17 import com.smartgwt.client.widgets.form.fields.SelectItem; |
18 import com.smartgwt.client.widgets.form.fields.StaticTextItem; | |
18 import com.smartgwt.client.widgets.form.fields.events.ChangedHandler; | 19 import com.smartgwt.client.widgets.form.fields.events.ChangedHandler; |
19 import com.smartgwt.client.widgets.form.fields.events.ChangedEvent; | 20 import com.smartgwt.client.widgets.form.fields.events.ChangedEvent; |
20 | 21 |
21 import com.smartgwt.client.widgets.layout.HLayout; | 22 import com.smartgwt.client.widgets.layout.HLayout; |
22 import com.smartgwt.client.widgets.layout.VLayout; | 23 import com.smartgwt.client.widgets.layout.VLayout; |
30 | 31 |
31 import com.smartgwt.client.data.Criteria; | 32 import com.smartgwt.client.data.Criteria; |
32 import com.smartgwt.client.data.Criterion; | 33 import com.smartgwt.client.data.Criterion; |
33 import com.smartgwt.client.data.AdvancedCriteria; | 34 import com.smartgwt.client.data.AdvancedCriteria; |
34 import com.smartgwt.client.types.OperatorId; | 35 import com.smartgwt.client.types.OperatorId; |
36 import com.smartgwt.client.types.Alignment; | |
35 | 37 |
36 import com.smartgwt.client.data.Record; | 38 import com.smartgwt.client.data.Record; |
37 import com.smartgwt.client.types.ListGridFieldType; | 39 import com.smartgwt.client.types.ListGridFieldType; |
38 | 40 |
39 import de.intevation.flys.client.shared.model.Data; | 41 import de.intevation.flys.client.shared.model.Data; |
88 /** The locations table */ | 90 /** The locations table */ |
89 protected ListGrid locationTable; | 91 protected ListGrid locationTable; |
90 | 92 |
91 /** The table data. */ | 93 /** The table data. */ |
92 protected DistanceInfoObject[] tableData; | 94 protected DistanceInfoObject[] tableData; |
95 | |
96 protected StaticTextItem filterResultCount; | |
93 | 97 |
94 /** | 98 /** |
95 * Creates a new LocationDistancePanel instance. | 99 * Creates a new LocationDistancePanel instance. |
96 */ | 100 */ |
97 public SingleLocationPanel() { | 101 public SingleLocationPanel() { |
313 | 317 |
314 layout.addMember(container); | 318 layout.addMember(container); |
315 | 319 |
316 container.setMembersMargin(30); | 320 container.setMembersMargin(30); |
317 | 321 |
322 filterResultCount = new StaticTextItem(MESSAGES.resultCount()); | |
323 filterResultCount.setTitleAlign(Alignment.LEFT); | |
324 filterResultCount.setTitleStyle("color: #000"); | |
325 | |
318 final TableFilter filter = new TableFilter(); | 326 final TableFilter filter = new TableFilter(); |
319 filter.setHeight("30px"); | 327 filter.setHeight("30px"); |
320 filter.addFilterHandler(this); | 328 filter.addFilterHandler(this); |
321 | 329 |
322 final RangeTableFilter filterRange = new RangeTableFilter(); | 330 final RangeTableFilter filterRange = new RangeTableFilter(); |
331 public void onChanged(ChangedEvent e) { | 339 public void onChanged(ChangedEvent e) { |
332 if(e.getValue().toString().equals("range")) { | 340 if(e.getValue().toString().equals("range")) { |
333 filterRange.setVisible(true); | 341 filterRange.setVisible(true); |
334 filter.setVisible(false); | 342 filter.setVisible(false); |
335 filter.clear(); | 343 filter.clear(); |
344 filterResultCount.setValue(""); | |
336 } | 345 } |
337 else { | 346 else { |
338 filterRange.setVisible(false); | 347 filterRange.setVisible(false); |
339 filterRange.clear(); | 348 filterRange.clear(); |
340 filter.setVisible(true); | 349 filter.setVisible(true); |
350 filterResultCount.setValue(""); | |
341 } | 351 } |
342 } | 352 } |
343 }); | 353 }); |
344 | 354 |
345 LinkedHashMap<String, String> filterMap = | 355 LinkedHashMap<String, String> filterMap = |
350 filterCriteria.setValue("description"); | 360 filterCriteria.setValue("description"); |
351 | 361 |
352 DynamicForm form = new DynamicForm(); | 362 DynamicForm form = new DynamicForm(); |
353 form.setFields(filterCriteria); | 363 form.setFields(filterCriteria); |
354 | 364 |
365 DynamicForm form2 = new DynamicForm(); | |
366 form2.setFields(filterResultCount); | |
367 | |
355 HLayout filterLayout = new HLayout(); | 368 HLayout filterLayout = new HLayout(); |
356 filterLayout.addMember(form); | 369 filterLayout.addMember(form); |
357 filterLayout.addMember(filter); | 370 filterLayout.addMember(filter); |
358 filterLayout.addMember(filterRange); | 371 filterLayout.addMember(filterRange); |
359 | 372 |
360 helperContainer.addMember(locationTable); | 373 helperContainer.addMember(locationTable); |
361 helperContainer.addMember(filterLayout); | 374 helperContainer.addMember(filterLayout); |
375 helperContainer.addMember(form2); | |
362 createInputPanel(); | 376 createInputPanel(); |
363 return layout; | 377 return layout; |
364 } | 378 } |
365 | 379 |
366 public void onFilterCriteriaChanged(StringFilterEvent event) { | 380 public void onFilterCriteriaChanged(StringFilterEvent event) { |
367 String search = event.getFilter(); | 381 String search = event.getFilter(); |
368 | 382 |
369 if (search != null && search.length() > 0) { | 383 if (search != null && search.length() > 0) { |
370 Criteria c = new Criteria("description", search); | 384 Criteria c = new Criteria("description", search); |
371 locationTable.filterData(c); | 385 locationTable.filterData(c); |
386 filterResultCount.setValue(locationTable.getRecords().length); | |
372 } | 387 } |
373 else { | 388 else { |
374 // TODO Remove filter | 389 // TODO Remove filter |
375 } | 390 } |
376 } | 391 } |
381 Float to = event.getTo() + 0.001f; | 396 Float to = event.getTo() + 0.001f; |
382 | 397 |
383 Criterion combinedFilter = null; | 398 Criterion combinedFilter = null; |
384 if (from.equals(Float.NaN) && to.equals(Float.NaN)) { | 399 if (from.equals(Float.NaN) && to.equals(Float.NaN)) { |
385 locationTable.clearCriteria(); | 400 locationTable.clearCriteria(); |
401 filterResultCount.setValue(""); | |
402 return; | |
386 } | 403 } |
387 else if (from.equals(Float.NaN)) { | 404 else if (from.equals(Float.NaN)) { |
388 combinedFilter = | 405 combinedFilter = |
389 new Criterion("from", OperatorId.LESS_OR_EQUAL, to); | 406 new Criterion("from", OperatorId.LESS_OR_EQUAL, to); |
390 } | 407 } |
398 new Criterion("from", OperatorId.GREATER_OR_EQUAL, from), | 415 new Criterion("from", OperatorId.GREATER_OR_EQUAL, from), |
399 new Criterion("from", OperatorId.LESS_OR_EQUAL, to) | 416 new Criterion("from", OperatorId.LESS_OR_EQUAL, to) |
400 }); | 417 }); |
401 } | 418 } |
402 locationTable.filterData(combinedFilter); | 419 locationTable.filterData(combinedFilter); |
420 filterResultCount.setValue(locationTable.getRecords().length); | |
403 } | 421 } |
404 | 422 |
405 | 423 |
406 @Override | 424 @Override |
407 public List<String> validate() { | 425 public List<String> validate() { |