comparison gwt-client/src/main/java/org/dive4elements/river/client/client/ui/HWSDatacagePanel.java @ 9220:e3c2ae1887e8

Allow to filter contents of datacage on client side. Allow to override column label of datacage Some code cleanup
author gernotbelger
date Wed, 04 Jul 2018 12:00:51 +0200
parents 5e38e2924c07
children
comparison
equal deleted inserted replaced
9219:8642a76f22be 9220:e3c2ae1887e8
6 * documentation coming with Dive4Elements River for details. 6 * documentation coming with Dive4Elements River for details.
7 */ 7 */
8 8
9 package org.dive4elements.river.client.client.ui; 9 package org.dive4elements.river.client.client.ui;
10 10
11 import com.google.gwt.core.client.GWT; 11 import java.util.ArrayList;
12 12 import java.util.List;
13 import com.smartgwt.client.widgets.Canvas;
14 import com.smartgwt.client.widgets.Label;
15
16 import com.smartgwt.client.widgets.layout.HLayout;
17 import com.smartgwt.client.widgets.layout.VLayout;
18 13
19 import org.dive4elements.river.client.shared.model.Data; 14 import org.dive4elements.river.client.shared.model.Data;
20 import org.dive4elements.river.client.shared.model.DataItem; 15 import org.dive4elements.river.client.shared.model.DataItem;
21 import org.dive4elements.river.client.shared.model.DataList; 16 import org.dive4elements.river.client.shared.model.DataList;
22 import org.dive4elements.river.client.shared.model.DefaultData; 17 import org.dive4elements.river.client.shared.model.DefaultData;
23 import org.dive4elements.river.client.shared.model.DefaultDataItem; 18 import org.dive4elements.river.client.shared.model.DefaultDataItem;
24 import org.dive4elements.river.client.shared.model.User; 19 import org.dive4elements.river.client.shared.model.User;
25 20
26 import java.util.ArrayList; 21 import com.google.gwt.core.client.GWT;
27 import java.util.List; 22 import com.smartgwt.client.widgets.Canvas;
23 import com.smartgwt.client.widgets.Label;
24 import com.smartgwt.client.widgets.layout.HLayout;
25 import com.smartgwt.client.widgets.layout.VLayout;
28 26
27 public class HWSDatacagePanel extends DatacagePanel {
29 28
30 public class HWSDatacagePanel 29 private static final long serialVersionUID = 1L;
31 extends DatacagePanel
32 {
33 public static final String OUT = "floodmap_hws_panel";
34 public static final String PARAMETERS = "hws:true;load-system:true";
35 30
31 private static final String OUT = "floodmap_hws_panel";
36 32
37 public HWSDatacagePanel() { 33 private static final String PARAMETERS = "hws:true;load-system:true";
38 super(); 34
35 public HWSDatacagePanel(final User user) {
36 super(user, OUT, PARAMETERS, true);
39 } 37 }
40
41
42 public HWSDatacagePanel(User user) {
43 super(user);
44 }
45
46
47 @Override
48 protected void createWidget() {
49 super.createWidget();
50 widget.setIsMutliSelectable(true);
51 }
52
53
54 @Override
55 public String getOuts() {
56 return OUT;
57 }
58
59
60 @Override
61 public String getParameters() {
62 return PARAMETERS;
63 }
64
65 38
66 @Override 39 @Override
67 public List<String> validate() { 40 public List<String> validate() {
68 List<String> errors = new ArrayList<String>(); 41 final List<String> errors = new ArrayList<String>();
69 42
70 return errors; 43 return errors;
71 } 44 }
72 45
73 @Override 46 @Override
74 public Canvas createOld(DataList dataList) { 47 public Canvas createOld(final DataList dataList) {
75 GWT.log("old datacage##########################################"); 48 GWT.log("old datacage##########################################");
76 HLayout layout = new HLayout(); 49 final HLayout layout = new HLayout();
77 VLayout vLayout = new VLayout(); 50 final VLayout vLayout = new VLayout();
78 layout.setWidth("400px"); 51 layout.setWidth("400px");
79 52
80 Label label = new Label(dataList.getLabel()); 53 final Label label = new Label(dataList.getLabel());
81 label.setWidth("200px"); 54 label.setWidth("200px");
82 55
83 int size = dataList.size(); 56 final int size = dataList.size();
84 for (int i = 0; i < size; i++) { 57 for (int i = 0; i < size; i++) {
85 Data data = dataList.get(i); 58 final Data data = dataList.get(i);
86 DataItem[] items = data.getItems(); 59 final DataItem[] items = data.getItems();
87 60
88 for (DataItem item: items) { 61 for (final DataItem item : items) {
89 HLayout hLayout = new HLayout(); 62 final HLayout hLayout = new HLayout();
90 63
91 hLayout.addMember(label); 64 hLayout.addMember(label);
92 hLayout.addMember(new Label(item.getLabel())); 65 hLayout.addMember(new Label(item.getLabel()));
93 66
94 vLayout.addMember(hLayout); 67 vLayout.addMember(hLayout);
95 vLayout.setWidth("130px"); 68 vLayout.setWidth("130px");
96 } 69 }
97 } 70 }
98 71
99 Canvas back = getBackButton(dataList.getState()); 72 final Canvas back = getBackButton(dataList.getState());
100 73
101 layout.addMember(label); 74 layout.addMember(label);
102 layout.addMember(vLayout); 75 layout.addMember(vLayout);
103 layout.addMember(back); 76 layout.addMember(back);
104 77
105 return layout; 78 return layout;
106 } 79 }
107 80
108
109 @Override 81 @Override
110 protected Data[] getData() { 82 protected Data[] getData() {
111 String[] selection = this.widget.getSelectionTitles(); 83 final String[] selection = getSelectionTitles();
112 String result = ""; 84 String result = "";
113 boolean first = true; 85 boolean first = true;
114 if (selection != null) { 86 if (selection != null) {
115 for (String record: selection) { 87 for (final String record : selection) {
116 if (first) { 88 if (first) {
117 result += record; 89 result += record;
118 first = false; 90 first = false;
119 } 91 } else {
120 else {
121 result += ";" + record; 92 result += ";" + record;
122 } 93 }
123 } 94 }
124 } 95 }
125 if (result.length() == 0) { 96 if (result.length() == 0) {
126 result = MSG.notselected(); 97 result = MSG.notselected();
127 } 98 }
128 Data[] data = new Data[1]; 99 final Data[] data = new Data[1];
129 DataItem item = new DefaultDataItem( 100 final DataItem item = new DefaultDataItem("uesk.hws", "uesk.hws", result);
130 "uesk.hws", "uesk.hws", result); 101 data[0] = new DefaultData("uesk.hws", null, null, new DataItem[] { item });
131 data[0] = new DefaultData(
132 "uesk.hws", null, null, new DataItem[] {item});
133 102
134 return data; 103 return data;
135 } 104 }
136 } 105 }
137 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org