Mercurial > dive4elements > river
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 : |