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();

http://dive4elements.wald.intevation.org