From 48f4c208b6cbba839d65c0d55374ae00443a3274 Mon Sep 17 00:00:00 2001
From: Olivier Maury <Olivier.Maury@inrae.fr>
Date: Tue, 5 Mar 2024 09:53:05 +0100
Subject: [PATCH] =?UTF-8?q?Corriger=20l'affichage=20du=20bouton=20comparai?=
 =?UTF-8?q?son=20=C3=A0=20la=20normale.=20fixes=20#59?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../www/client/presenter/MapPresenter.java    | 21 ++++++++++++++-----
 .../www/client/view/LayoutView.java           |  3 ++-
 .../agrometinfo/www/client/public/style.css   |  3 +++
 3 files changed, 21 insertions(+), 6 deletions(-)

diff --git a/www-client/src/main/java/fr/agrometinfo/www/client/presenter/MapPresenter.java b/www-client/src/main/java/fr/agrometinfo/www/client/presenter/MapPresenter.java
index 07d1ba7..aa6c13d 100644
--- a/www-client/src/main/java/fr/agrometinfo/www/client/presenter/MapPresenter.java
+++ b/www-client/src/main/java/fr/agrometinfo/www/client/presenter/MapPresenter.java
@@ -1,5 +1,6 @@
 package fr.agrometinfo.www.client.presenter;
 
+import java.util.ArrayList;
 import java.util.List;
 
 import org.dominokit.domino.ui.utils.DominoElement;
@@ -12,6 +13,7 @@ import com.google.gwt.core.client.GWT;
 import elemental2.dom.HTMLDivElement;
 import fr.agrometinfo.www.client.App;
 import fr.agrometinfo.www.client.event.FeatureSelectEvent;
+import fr.agrometinfo.www.client.i18n.AppConstants;
 import fr.agrometinfo.www.client.util.ApplicationUtils;
 import fr.agrometinfo.www.client.view.BaseView;
 import fr.agrometinfo.www.client.view.MapView;
@@ -47,6 +49,11 @@ public final class MapPresenter implements Presenter {
         void setTitle(List<String> lines);
     }
 
+    /**
+     * I18N constants.
+     */
+    private static final AppConstants CSTS = GWT.create(AppConstants.class);
+
     /**
      * URL to get indicator values.
      */
@@ -73,6 +80,14 @@ public final class MapPresenter implements Presenter {
      */
     public void loadValues(final ChoiceDTO choice, final IndicatorDTO indicator, final String periodName,
             final String regionName) {
+        final List<String> titleLines = new ArrayList<>();
+        titleLines.add(periodName);
+        if (choice.getComparison()) {
+            titleLines.add(CSTS.normalComparison());
+        }
+        titleLines.add(indicator.getDescription() + "(" + indicator.getUnit() + ")");
+        titleLines.add(regionName);
+        titleLines.add(choice.getYear().toString());
         final JsRestfulRequestFactory factory = new JsRestfulRequestFactory();
         final RestfulRequest request = factory.get(VALUES_URL);
         request.addQueryParam("indicator", choice.getIndicator());
@@ -86,11 +101,7 @@ public final class MapPresenter implements Presenter {
         request.addQueryParam("comparison", String.valueOf(choice.getComparison()));
         request.onSuccess(response -> {
             view.setGeoJson(response.getBodyAsString(), indicator);
-            view.setTitle(List.of(//
-                    periodName, //
-                    indicator.getDescription() + "(" + indicator.getUnit() + ")", //
-                    regionName, //
-                    choice.getYear().toString()));
+            view.setTitle(titleLines);
         }).send();
     }
 
diff --git a/www-client/src/main/java/fr/agrometinfo/www/client/view/LayoutView.java b/www-client/src/main/java/fr/agrometinfo/www/client/view/LayoutView.java
index 9b42fee..cab741e 100644
--- a/www-client/src/main/java/fr/agrometinfo/www/client/view/LayoutView.java
+++ b/www-client/src/main/java/fr/agrometinfo/www/client/view/LayoutView.java
@@ -294,9 +294,10 @@ public final class LayoutView extends AbstractBaseView<LayoutPresenter> implemen
 
         //
         GWT.log("initLeftPanel() comparison");
-        final SwitchButton comparisonBtn = SwitchButton.create(CSTS.normalComparison(), CSTS.yes(), CSTS.no()) //
+        final SwitchButton comparisonBtn = SwitchButton.create(CSTS.normalComparison(), CSTS.no(), CSTS.yes()) //
                 .value(false);
         comparisonBtn.addChangeHandler(this::onComparisonChange);
+        comparisonBtn.addCss("comparison-btn");
         final HTMLElement info = Elements.createElement("details", HTMLElement.class);
         final HTMLElement sum = Elements.createElement("summary", HTMLElement.class);
         sum.innerHTML = "<i class='material-icons'>info_outline</i>";
diff --git a/www-client/src/main/resources/fr/agrometinfo/www/client/public/style.css b/www-client/src/main/resources/fr/agrometinfo/www/client/public/style.css
index fd5987e..5188697 100644
--- a/www-client/src/main/resources/fr/agrometinfo/www/client/public/style.css
+++ b/www-client/src/main/resources/fr/agrometinfo/www/client/public/style.css
@@ -116,6 +116,9 @@ select {
     z-index: 0;
     visibility: hidden;
 }
+.comparison-btn {
+    min-width: 10em;
+}
 .float-right {
     float: right;
 }
-- 
GitLab