From e058462f415d7a68bbd70b0785ae66e9015a5137 Mon Sep 17 00:00:00 2001
From: Tor-Einar Skog <tor-einar.skog@nibio.no>
Date: Wed, 22 Nov 2023 15:57:21 +0100
Subject: [PATCH] Add support for multi language map legend

---
 spatial/static/spatial/js/gridmap.js | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)

diff --git a/spatial/static/spatial/js/gridmap.js b/spatial/static/spatial/js/gridmap.js
index a9413ea4..160bb955 100644
--- a/spatial/static/spatial/js/gridmap.js
+++ b/spatial/static/spatial/js/gridmap.js
@@ -6,8 +6,8 @@ proj4.defs(
 
 let layers = [];
 
-//let mapserverURL="https://testvips.nibio.no/cgi-bin/";
-let mapserverURL="https://gridweb.vips.nibio.no/cgi-bin/";
+let mapserverURL="https://testvips.nibio.no/cgi-bin/";
+//let mapserverURL="https://gridweb.vips.nibio.no/cgi-bin/";
 let modelId = undefined;
 let today = getSystemTime().format("YYYY-MM-DD");
 let todayLayerIndex = undefined;
@@ -29,11 +29,15 @@ async function switchLayer(dayIndex)
         layers[i].setVisible(i==currentLayerOrdering);
         if(layers[i].getVisible())
         {
-            document.getElementById("layerLegendImg").src=currentLayer.Style[0].LegendURL[0].OnlineResource;
-            //console.info(currentLayer.Style[0].LegendURL[0].OnlineResource);
-            // Get the legend!
-            //let legendURL = layers[i].getSource().getLegendUrl(map.getView().getResolution());
-            //console.info(legendURL);
+            // See if there is a language specific legend available
+            if(document.getElementById("layerLegend").innerHTML=currentLayer.Abstract != undefined)
+            {
+                document.getElementById("layerLegend").innerHTML=currentLayer.Abstract;
+            }
+            else // Fallback to auto generated legend
+            {
+                document.getElementById("layerLegend").innerHTML='<img id="layerLegendImg" src="' + currentLayer.Style[0].LegendURL[0].OnlineResource + '"/>';
+            }
         }
     }
     setCurrentDate(dayIndex);
@@ -146,6 +150,10 @@ msLoadMap(): Unable to access file. (/disks/data01/mapserver/wms/SEPTREFFUM/SEPT
         {
             let currentLayer = timestampLayers[params[j]];
             let currentLayerParam = currentLayer.Name.split(".")[1];
+            if(j==0)
+            {
+                console.info(currentLayer.Abstract);
+            }
             layers.push(
                 new ol.layer.Image({
                     source: new ol.source.ImageWMS({
-- 
GitLab