diff 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
line wrap: on
line diff
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/DatacageTwinPanel.java	Wed Jul 04 17:14:16 2018 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/DatacageTwinPanel.java	Wed Jul 04 18:28:08 2018 +0200
@@ -8,6 +8,7 @@
 
 package org.dive4elements.river.client.client.ui;
 
+import org.dive4elements.river.client.client.ui.DatacagePairWidget.IDatacagePairControler;
 import org.dive4elements.river.client.shared.model.DataList;
 import org.dive4elements.river.client.shared.model.User;
 
@@ -24,22 +25,28 @@
  */
 public abstract class DatacageTwinPanel extends AbstractPairRecommendationPanel {
 
+    private static final long serialVersionUID = 1L;
+
     private final IDatacageTwinPanelInfo leftInfo;
     private final IDatacageTwinPanelInfo rightInfo;
 
     private final int maxCount;
     private final String msgMaxCount;
 
+    private final IDatacagePairControler controler;
+
     public static interface IDatacageTwinPanelInfo extends IRecommendationInfo {
         String getOuts();
 
         String getColumnLabel();
     }
 
-    public DatacageTwinPanel(final User user, final IValidator validator, final IDatacageTwinPanelInfo leftInfo, final IDatacageTwinPanelInfo rightInfo,
+    public DatacageTwinPanel(final User user, final IValidator validator, final IDatacagePairControler controler, final IDatacageTwinPanelInfo leftInfo,
+            final IDatacageTwinPanelInfo rightInfo,
             final int maxCount, final String msgMaxCount) {
         super(user, validator, leftInfo, rightInfo);
 
+        this.controler = controler;
         this.maxCount = maxCount;
         this.msgMaxCount = msgMaxCount;
         this.leftInfo = leftInfo;
@@ -63,7 +70,7 @@
         final String rightLabel = this.rightInfo.getColumnLabel();
         final DatacageWidgetData rightData = new DatacageWidgetData(this.artifact, user, rightOuts, "load-system:true", false, rightLabel);
 
-        helperLayout.addMember(new DatacagePairWidget(leftData, rightData, differencesList, this.maxCount, this.msgMaxCount));
+        helperLayout.addMember(new DatacagePairWidget(this.controler, leftData, rightData, differencesList, this.maxCount, this.msgMaxCount));
 
         if (dataList != null && dataList.get(0) != null && dataList.get(0).getDescription() != null) {
             final Label title = new Label(dataList.get(0).getDescription());

http://dive4elements.wald.intevation.org