comparison gwt-client/src/main/java/org/dive4elements/river/client/client/ui/DatacagePanel.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 ea9eef426962
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 java.util.ArrayList;
12 import java.util.List;
13
14 import org.dive4elements.river.client.shared.model.Data;
15 import org.dive4elements.river.client.shared.model.DataList;
16 import org.dive4elements.river.client.shared.model.ToLoad;
17 import org.dive4elements.river.client.shared.model.User;
18
11 import com.smartgwt.client.widgets.Canvas; 19 import com.smartgwt.client.widgets.Canvas;
12 import com.smartgwt.client.widgets.Label; 20 import com.smartgwt.client.widgets.Label;
13 import com.smartgwt.client.widgets.layout.VLayout; 21 import com.smartgwt.client.widgets.layout.VLayout;
14
15 import org.dive4elements.river.client.shared.model.Data;
16 import org.dive4elements.river.client.shared.model.DataList;
17 import org.dive4elements.river.client.shared.model.User;
18
19 import java.util.ArrayList;
20 import java.util.List;
21
22 22
23 /** 23 /**
24 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> 24 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
25 */ 25 */
26 public abstract class DatacagePanel extends TextProvider { 26 public abstract class DatacagePanel extends TextProvider {
27 27
28 private static final long serialVersionUID = 6937994648371673222L; 28 private static final long serialVersionUID = 6937994648371673222L;
29 29
30 protected String dataName; 30 private String dataName;
31 31
32 protected User user; 32 private final User user;
33 33
34 protected DatacageWidget widget; 34 private DatacageWidget widget;
35 35
36 private final String outs;
36 37
37 public DatacagePanel() { 38 private final String parameters;
38 super(); 39
40 private final boolean multiSelectable;
41
42 public DatacagePanel(final User user, final String outs, final String parameters, final boolean multiSelectable) {
43 this.user = user;
44 this.outs = outs;
45 this.parameters = parameters;
46 this.multiSelectable = multiSelectable;
39 } 47 }
40 48
41
42 public DatacagePanel(User user) {
43 super();
44 this.user = user;
45 }
46
47
48 @Override 49 @Override
49 public Canvas create(DataList dataList) { 50 public Canvas create(final DataList dataList) {
50 Data data = dataList.get(0); 51 final Data data = dataList.get(0);
51 this.dataName = data.getLabel(); 52 this.dataName = data.getLabel();
52 53
53 createWidget(); 54 createWidget();
54 55
55 Canvas label = new Label(data.getDescription()); 56 final Canvas label = new Label(data.getDescription());
56 Canvas submit = getNextButton(); 57 final Canvas submit = getNextButton();
57 VLayout layout = new VLayout(); 58 final VLayout layout = new VLayout();
58 label.setHeight(25); 59 label.setHeight(25);
59 60
60 layout.addMember(label); 61 layout.addMember(label);
61 layout.addMember(submit); 62 layout.addMember(submit);
62 layout.setMembersMargin(10); 63 layout.setMembersMargin(10);
63 64
64 return layout; 65 return layout;
65 } 66 }
66 67
68 private void createWidget() {
67 69
68 protected void createWidget() { 70 final DatacageWidgetData data = new DatacageWidgetData(this.artifact, this.user, this.outs, this.parameters, false);
69 widget = new DatacageWidget(
70 artifact,
71 getUser(),
72 getOuts(),
73 getParameters(),
74 false);
75 71
76 widget.setHeight100(); 72 this.widget = new DatacageWidget(data);
77 73
78 helperContainer.addMember(widget); 74 this.widget.setHeight100();
75
76 this.helperContainer.addMember(this.widget);
77
78 this.widget.setIsMutliSelectable(this.multiSelectable);
79 } 79 }
80
81 80
82 @Override 81 @Override
83 public List<String> validate() { 82 public List<String> validate() {
84 return new ArrayList<String>(); 83 return new ArrayList<String>();
85 } 84 }
86 85
87 86 /**
88 public User getUser() { 87 * Unclear if this may implement super.getDataName...
89 return user; 88 */
89 protected final String getMyDataName() {
90 return this.dataName;
90 } 91 }
91 92
92 93 protected final ToLoad getSelection() {
93 public String getOuts() { 94 return this.widget.getSelection();
94 return null;
95 } 95 }
96 96
97 97 protected final String[] getSelectionTitles() {
98 public String getParameters() { 98 return this.widget.getSelectionTitles();
99 return null;
100 } 99 }
101 } 100 }
102 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org