Mercurial > dive4elements > river
comparison 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 |
comparison
equal
deleted
inserted
replaced
1566:c408074c6409 | 1567:7e738bc8ed75 |
---|---|
12 import com.smartgwt.client.data.AdvancedCriteria; | 12 import com.smartgwt.client.data.AdvancedCriteria; |
13 import com.smartgwt.client.types.OperatorId; | 13 import com.smartgwt.client.types.OperatorId; |
14 | 14 |
15 import com.smartgwt.client.data.Record; | 15 import com.smartgwt.client.data.Record; |
16 import com.smartgwt.client.util.SC; | 16 import com.smartgwt.client.util.SC; |
17 import com.smartgwt.client.types.Alignment; | |
17 import com.smartgwt.client.widgets.Canvas; | 18 import com.smartgwt.client.widgets.Canvas; |
18 import com.smartgwt.client.widgets.Label; | 19 import com.smartgwt.client.widgets.Label; |
20 import com.smartgwt.client.widgets.grid.ListGrid; | |
19 import com.smartgwt.client.widgets.form.DynamicForm; | 21 import com.smartgwt.client.widgets.form.DynamicForm; |
20 import com.smartgwt.client.widgets.form.fields.SelectItem; | 22 import com.smartgwt.client.widgets.form.fields.SelectItem; |
23 import com.smartgwt.client.widgets.form.fields.StaticTextItem; | |
21 import com.smartgwt.client.widgets.form.fields.events.ChangedHandler; | 24 import com.smartgwt.client.widgets.form.fields.events.ChangedHandler; |
22 import com.smartgwt.client.widgets.form.fields.events.ChangedEvent; | 25 import com.smartgwt.client.widgets.form.fields.events.ChangedEvent; |
23 import com.smartgwt.client.widgets.form.fields.events.BlurHandler; | 26 import com.smartgwt.client.widgets.form.fields.events.BlurHandler; |
24 import com.smartgwt.client.widgets.form.fields.events.BlurEvent; | 27 import com.smartgwt.client.widgets.form.fields.events.BlurEvent; |
25 import com.smartgwt.client.widgets.grid.events.RecordClickHandler; | 28 import com.smartgwt.client.widgets.grid.events.RecordClickHandler; |
71 protected TabSet tabs; | 74 protected TabSet tabs; |
72 | 75 |
73 protected double min; | 76 protected double min; |
74 protected double max; | 77 protected double max; |
75 | 78 |
79 protected StaticTextItem filterResultCount; | |
80 protected ListGrid currentFiltered; | |
76 | 81 |
77 public DistancePanel() { | 82 public DistancePanel() { |
78 this("right"); | 83 this("right"); |
79 } | 84 } |
80 | 85 |
486 locations.setPane(locationsTable); | 491 locations.setPane(locationsTable); |
487 distances.setPane(distancesTable); | 492 distances.setPane(distancesTable); |
488 | 493 |
489 tabs.addTab(locations, 0); | 494 tabs.addTab(locations, 0); |
490 tabs.addTab(distances, 1); | 495 tabs.addTab(distances, 1); |
496 | |
497 filterResultCount = new StaticTextItem(MSG.resultCount()); | |
498 filterResultCount.setTitleAlign(Alignment.LEFT); | |
499 filterResultCount.setTitleStyle("color: #000"); | |
491 | 500 |
492 filterDescription = new TableFilter(); | 501 filterDescription = new TableFilter(); |
493 filterDescription.setHeight("30px"); | 502 filterDescription.setHeight("30px"); |
494 filterDescription.addFilterHandler(this); | 503 filterDescription.addFilterHandler(this); |
495 | 504 |
524 filterCriteria.setValue("description"); | 533 filterCriteria.setValue("description"); |
525 | 534 |
526 DynamicForm form = new DynamicForm(); | 535 DynamicForm form = new DynamicForm(); |
527 form.setFields(filterCriteria); | 536 form.setFields(filterCriteria); |
528 | 537 |
538 DynamicForm form2 = new DynamicForm(); | |
539 form2.setFields(filterResultCount); | |
540 | |
529 HLayout filterLayout = new HLayout(); | 541 HLayout filterLayout = new HLayout(); |
530 filterLayout.addMember(form); | 542 filterLayout.addMember(form); |
531 filterLayout.addMember(filterDescription); | 543 filterLayout.addMember(filterDescription); |
532 filterLayout.addMember(filterRange); | 544 filterLayout.addMember(filterRange); |
533 | 545 filterLayout.setHeight(30); |
534 | |
535 tabs.addTabSelectedHandler(new TabSelectedHandler() { | 546 tabs.addTabSelectedHandler(new TabSelectedHandler() { |
536 public void onTabSelected(TabSelectedEvent evt) { | 547 public void onTabSelected(TabSelectedEvent evt) { |
537 filterDescription.clear(); | 548 filterDescription.clear(); |
538 filterRange.clear(); | 549 filterRange.clear(); |
550 filterResultCount.setValue(""); | |
551 | |
552 Canvas c = evt.getTabPane(); | |
553 if(c instanceof ListGrid) { | |
554 currentFiltered = (ListGrid)c; | |
555 } | |
539 } | 556 } |
540 }); | 557 }); |
541 | 558 |
542 helperContainer.addMember(tabs); | 559 helperContainer.addMember(tabs); |
543 helperContainer.addMember(filterLayout); | 560 helperContainer.addMember(filterLayout); |
561 helperContainer.addMember(form2); | |
544 } | 562 } |
545 | 563 |
546 | 564 |
547 public void onFilterCriteriaChanged(StringFilterEvent event) { | 565 public void onFilterCriteriaChanged(StringFilterEvent event) { |
548 String search = event.getFilter(); | 566 String search = event.getFilter(); |
549 | 567 |
550 if (search != null && search.length() > 0) { | 568 if (search != null && search.length() > 0) { |
551 Criteria c = new Criteria("description", search); | 569 Criteria c = new Criteria("description", search); |
552 locationsTable.filterData(c); | 570 locationsTable.filterData(c); |
553 distancesTable.filterData(c); | 571 distancesTable.filterData(c); |
572 filterResultCount.setValue(currentFiltered.getRecords().length); | |
554 } | 573 } |
555 else { | 574 else { |
556 locationsTable.clearCriteria(); | 575 locationsTable.clearCriteria(); |
557 distancesTable.clearCriteria(); | 576 distancesTable.clearCriteria(); |
577 filterResultCount.setValue(""); | |
558 } | 578 } |
559 } | 579 } |
560 | 580 |
561 | 581 |
562 public void onFilterCriteriaChanged(RangeFilterEvent event) { | 582 public void onFilterCriteriaChanged(RangeFilterEvent event) { |
566 Criterion combinedFilter = null; | 586 Criterion combinedFilter = null; |
567 Criterion locationFilter = null; | 587 Criterion locationFilter = null; |
568 if (from.equals(Float.NaN) && to.equals(Float.NaN)) { | 588 if (from.equals(Float.NaN) && to.equals(Float.NaN)) { |
569 locationsTable.clearCriteria(); | 589 locationsTable.clearCriteria(); |
570 distancesTable.clearCriteria(); | 590 distancesTable.clearCriteria(); |
591 filterResultCount.setValue(""); | |
592 return; | |
571 } | 593 } |
572 else if (from.equals(Float.NaN)) { | 594 else if (from.equals(Float.NaN)) { |
573 combinedFilter = new Criterion("to", OperatorId.LESS_OR_EQUAL, to); | 595 combinedFilter = new Criterion("to", OperatorId.LESS_OR_EQUAL, to); |
574 locationFilter = | 596 locationFilter = |
575 new Criterion("from", OperatorId.LESS_OR_EQUAL, to); | 597 new Criterion("from", OperatorId.LESS_OR_EQUAL, to); |
576 locationsTable.filterData(locationFilter); | 598 locationsTable.filterData(locationFilter); |
577 distancesTable.filterData(combinedFilter); | 599 distancesTable.filterData(combinedFilter); |
600 filterResultCount.setValue(currentFiltered.getRecords().length); | |
578 return; | 601 return; |
579 } | 602 } |
580 else if (to.equals(Float.NaN)) { | 603 else if (to.equals(Float.NaN)) { |
581 combinedFilter = | 604 combinedFilter = |
582 new Criterion("from", OperatorId.GREATER_OR_EQUAL, from); | 605 new Criterion("from", OperatorId.GREATER_OR_EQUAL, from); |
605 c1, c2, c3 | 628 c1, c2, c3 |
606 }); | 629 }); |
607 } | 630 } |
608 locationsTable.filterData(combinedFilter); | 631 locationsTable.filterData(combinedFilter); |
609 distancesTable.filterData(combinedFilter); | 632 distancesTable.filterData(combinedFilter); |
633 filterResultCount.setValue(currentFiltered.getRecords().length); | |
634 | |
610 } | 635 } |
611 | 636 |
612 | 637 |
613 protected String getRiverName() { | 638 protected String getRiverName() { |
614 ArtifactDescription adescr = artifact.getArtifactDescription(); | 639 ArtifactDescription adescr = artifact.getArtifactDescription(); |