diff gwt-client/src/main/java/org/dive4elements/river/client/client/ui/DatacagePairWidget.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 af73fdd96920
children 84397da33d17
line wrap: on
line diff
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/DatacagePairWidget.java	Wed Jul 04 10:46:37 2018 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/DatacagePairWidget.java	Wed Jul 04 12:00:51 2018 +0200
@@ -9,9 +9,7 @@
 package org.dive4elements.river.client.client.ui;
 
 import org.dive4elements.river.client.client.FLYSConstants;
-import org.dive4elements.river.client.shared.model.Artifact;
 import org.dive4elements.river.client.shared.model.ToLoad;
-import org.dive4elements.river.client.shared.model.User;
 
 import com.google.gwt.core.client.GWT;
 import com.smartgwt.client.util.SC;
@@ -28,52 +26,40 @@
  */
 public class DatacagePairWidget extends VLayout {
     /** i18n resource. */
-    protected FLYSConstants MSG = GWT.create(FLYSConstants.class);
+    private final FLYSConstants MSG = GWT.create(FLYSConstants.class);
 
     /** The "remote" ListGrid to insert data to when add-button is clicked. */
-    protected ListGrid grid;
+    private final ListGrid grid;
 
     /** First (upper) DataCage Grid. */
-    protected DatacageWidget firstDatacageWidget;
+    private final DatacageWidget firstDatacageWidget;
 
     /** Second (lower) DataCage Grid. */
-    protected DatacageWidget secondDatacageWidget;
+    private final DatacageWidget secondDatacageWidget;
 
     /** Max number of recommendation pairs to be added */
     private final int maxCount;
+
     /** errorMsg maxCount */
     private final String msgMaxCount;
 
-    /**
-     *
-     * @param artifact
-     *            Artifact to query datacage with.
-     * @param user
-     *            User to query datacage with.
-     * @param leftOuts
-     *            outs to query the left datacage with.
-     * @param rightOuts
-     *            outs to query the right datacage with.
-     * @param grid
-     *            Grid into which to insert selection of pairs.
-     * @param max
-     */
-    public DatacagePairWidget(final Artifact artifact, final User user, final String leftOuts, final String rightOuts, final ListGrid grid, final int maxCount,
+    public DatacagePairWidget(final DatacageWidgetData leftData, final DatacageWidgetData rightData, final ListGrid grid, final int maxCount,
             final String msgMaxCount) {
         this.msgMaxCount = msgMaxCount;
         this.maxCount = maxCount;
         this.grid = grid;
 
         final HLayout hLayout = new HLayout();
-        this.firstDatacageWidget = new DatacageWidget(artifact, user, leftOuts, "load-system:true", false);
-        this.secondDatacageWidget = new DatacageWidget(artifact, user, rightOuts, "load-system:true", false);
+
+        this.firstDatacageWidget = new DatacageWidget(leftData);
+        this.secondDatacageWidget = new DatacageWidget(rightData);
+
         this.firstDatacageWidget.setIsMutliSelectable(false);
         this.secondDatacageWidget.setIsMutliSelectable(false);
 
         hLayout.addMember(this.firstDatacageWidget);
         hLayout.addMember(this.secondDatacageWidget);
 
-        // TODO: icon
         final Button plusBtn = new Button(this.MSG.datacage_add_pair());
         plusBtn.setAutoFit(true);
         plusBtn.addClickHandler(new ClickHandler() {
@@ -95,10 +81,13 @@
         final ToLoad toLoad1 = this.firstDatacageWidget.getSelection();
         final ToLoad toLoad2 = this.secondDatacageWidget.getSelection();
 
+        // FIXME: allows to select folders... but it should not
+
         if (toLoad1 == null || toLoad2 == null || toLoad1.toRecommendations().isEmpty() || toLoad2.toRecommendations().isEmpty()) {
             SC.say(this.MSG.warning_select_two_values());
             return;
         }
+
         if (this.grid.getTotalRows() >= this.maxCount) {
             SC.say(this.msgMaxCount);
             return;
@@ -106,5 +95,4 @@
 
         this.grid.addData(new RecommendationPairRecord(toLoad1.toRecommendations().get(0), toLoad2.toRecommendations().get(0)));
     }
-}
-// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
+}
\ No newline at end of file

http://dive4elements.wald.intevation.org