comparison gwt-client/src/main/java/org/dive4elements/river/client/client/ui/DatacageTwinPanel.java @ 9227:84397da33d17

Allow to control specific behaviour in TwinDatacagePanel Implemented client logic of 'intelligent datacage filtering' for SINFO
author gernotbelger
date Wed, 04 Jul 2018 18:28:08 +0200
parents e3c2ae1887e8
children 839b2aa84dd0
comparison
equal deleted inserted replaced
9226:83aee0942eae 9227:84397da33d17
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 org.dive4elements.river.client.client.ui.DatacagePairWidget.IDatacagePairControler;
11 import org.dive4elements.river.client.shared.model.DataList; 12 import org.dive4elements.river.client.shared.model.DataList;
12 import org.dive4elements.river.client.shared.model.User; 13 import org.dive4elements.river.client.shared.model.User;
13 14
14 import com.google.gwt.core.client.GWT; 15 import com.google.gwt.core.client.GWT;
15 import com.smartgwt.client.widgets.Canvas; 16 import com.smartgwt.client.widgets.Canvas;
22 * A {@link AbstractPairRecommendationPanel} that uses a 'TwinDatacage' in the help-input area. 23 * A {@link AbstractPairRecommendationPanel} that uses a 'TwinDatacage' in the help-input area.
23 * DatacagePairWidget which is put in the input-helper area. 24 * DatacagePairWidget which is put in the input-helper area.
24 */ 25 */
25 public abstract class DatacageTwinPanel extends AbstractPairRecommendationPanel { 26 public abstract class DatacageTwinPanel extends AbstractPairRecommendationPanel {
26 27
28 private static final long serialVersionUID = 1L;
29
27 private final IDatacageTwinPanelInfo leftInfo; 30 private final IDatacageTwinPanelInfo leftInfo;
28 private final IDatacageTwinPanelInfo rightInfo; 31 private final IDatacageTwinPanelInfo rightInfo;
29 32
30 private final int maxCount; 33 private final int maxCount;
31 private final String msgMaxCount; 34 private final String msgMaxCount;
35
36 private final IDatacagePairControler controler;
32 37
33 public static interface IDatacageTwinPanelInfo extends IRecommendationInfo { 38 public static interface IDatacageTwinPanelInfo extends IRecommendationInfo {
34 String getOuts(); 39 String getOuts();
35 40
36 String getColumnLabel(); 41 String getColumnLabel();
37 } 42 }
38 43
39 public DatacageTwinPanel(final User user, final IValidator validator, final IDatacageTwinPanelInfo leftInfo, final IDatacageTwinPanelInfo rightInfo, 44 public DatacageTwinPanel(final User user, final IValidator validator, final IDatacagePairControler controler, final IDatacageTwinPanelInfo leftInfo,
45 final IDatacageTwinPanelInfo rightInfo,
40 final int maxCount, final String msgMaxCount) { 46 final int maxCount, final String msgMaxCount) {
41 super(user, validator, leftInfo, rightInfo); 47 super(user, validator, leftInfo, rightInfo);
42 48
49 this.controler = controler;
43 this.maxCount = maxCount; 50 this.maxCount = maxCount;
44 this.msgMaxCount = msgMaxCount; 51 this.msgMaxCount = msgMaxCount;
45 this.leftInfo = leftInfo; 52 this.leftInfo = leftInfo;
46 this.rightInfo = rightInfo; 53 this.rightInfo = rightInfo;
47 } 54 }
61 68
62 final String rightOuts = this.rightInfo.getOuts(); 69 final String rightOuts = this.rightInfo.getOuts();
63 final String rightLabel = this.rightInfo.getColumnLabel(); 70 final String rightLabel = this.rightInfo.getColumnLabel();
64 final DatacageWidgetData rightData = new DatacageWidgetData(this.artifact, user, rightOuts, "load-system:true", false, rightLabel); 71 final DatacageWidgetData rightData = new DatacageWidgetData(this.artifact, user, rightOuts, "load-system:true", false, rightLabel);
65 72
66 helperLayout.addMember(new DatacagePairWidget(leftData, rightData, differencesList, this.maxCount, this.msgMaxCount)); 73 helperLayout.addMember(new DatacagePairWidget(this.controler, leftData, rightData, differencesList, this.maxCount, this.msgMaxCount));
67 74
68 if (dataList != null && dataList.get(0) != null && dataList.get(0).getDescription() != null) { 75 if (dataList != null && dataList.get(0) != null && dataList.get(0).getDescription() != null) {
69 final Label title = new Label(dataList.get(0).getDescription()); 76 final Label title = new Label(dataList.get(0).getDescription());
70 title.setHeight("25px"); 77 title.setHeight("25px");
71 layout.addMember(title); 78 layout.addMember(title);

http://dive4elements.wald.intevation.org