diff --git a/spatial/static/spatial/js/gridmap.js b/spatial/static/spatial/js/gridmap.js index 3ebe69bed030bb088d31c3a184af0ca44f99f279..249d75423294b4f138e5b0c1334bff68ee90de58 100644 --- a/spatial/static/spatial/js/gridmap.js +++ b/spatial/static/spatial/js/gridmap.js @@ -107,7 +107,7 @@ function getLegendHTML(jsonDataStr) let legendHTML = `<ul style="list-style: none; padding: 0;">`; for(var i=0;i<jsonData.legendItems.length; i++) { - legendHTML += `<li style="margin-bottom: 5px;"><span style="width: 25px; ${jsonData.legendItems[i].legendIconCSS}"> </span> ${jsonData.legendItems[i].legendLabel}</li>`; + legendHTML += `<li style="margin-bottom: 5px;"><span style="display: inline-block; ${jsonData.legendItems[i].legendIconCSS}"> </span> ${jsonData.legendItems[i].legendLabel}</li>`; } legendHTML += `<ul>`; return legendHTML; @@ -369,7 +369,7 @@ async function displayQueryResult(evt) let currentWMSLayer = WMSLayersDateBucket[currentTimestamp][currentParameter]; - console.info(currentWMSLayer.Abstract); + let currentWarningStatusLayer = WMSLayersDateBucket[currentTimestamp]["WARNING_STATUS"]; // Need to get all layers for today, and combine results from querying all layers let layersForCurrentTimestamp = getLayersForCurrentTimestamp(); @@ -420,12 +420,6 @@ async function displayQueryResult(evt) return; } - let warningStatusTitle = warningStatus == 0 ? gettext("No forecast available") - : warningStatus == 1 ? gettext("Missing data") - : warningStatus == 2 ? gettext("No risk of infection") - : warningStatus == 3 ? gettext("Medium risk of infection") - : warningStatus == 4 ? gettext("High risk of infection") : ""; - let paramHTML = "<ul>"; paramCodes = Object.keys(parameters); for(let i=0;i<paramCodes.length;i++) @@ -440,8 +434,33 @@ async function displayQueryResult(evt) 'placement': 'top', 'animation': false, 'html': true, - 'content': '<h4>' + warningStatusTitle + '</h4>' + paramHTML + 'content': '<h4>' + getWarningStatusTitle(currentWarningStatusLayer.Abstract, warningStatus) + '</h4>' + paramHTML }); $(popupElement).popover('show'); +} + +function getWarningStatusTitle(jsonDataStr, warningStatus) +{ + try + { + let jsonData = JSON.parse(jsonDataStr); + for(let i=0; i<jsonData.legendItems.length; i++) + { + let legendItem = jsonData.legendItems[i]; + if(legendItem.classification == warningStatus) + { + return legendItem.legendLabel; + } + } + return gettext("Could not determine warning status"); + } + catch(e) + { + return warningStatus == 0 ? gettext("No forecast available") + : warningStatus == 1 ? gettext("Missing data") + : warningStatus == 2 ? gettext("No risk of infection") + : warningStatus == 3 ? gettext("Medium risk of infection") + : warningStatus == 4 ? gettext("High risk of infection") : ""; + } } \ No newline at end of file