-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Cannot read properties of undefined (reading 'colormap')
TypeError: Cannot read properties of undefined (reading 'colormap')
at eval (webpack-internal:///./node_modules/@ncsa/geo-explorer/dist/explore/Sidebar/MapLayers/LegendIcon/RasterLegendIcon.js:22:307)
at updateMemo (webpack-internal:///./node_modules/react-dom/cjs/react-dom.development.js:16427:19)
at Object.useMemo (webpack-internal:///./node_modules/react-dom/cjs/react-dom.development.js:17067:16)
at useMemo (webpack-internal:///./node_modules/react/cjs/react.development.js:1651:21)
at RasterLegendIcon (webpack-internal:///./node_modules/@ncsa/geo-explorer/dist/explore/Sidebar/MapLayers/LegendIcon/RasterLegendIcon.js:20:68)
at renderWithHooks (webpack-internal:///./node_modules/react-dom/cjs/react-dom.development.js:15486:18)
at updateFunctionComponent (webpack-internal:///./node_modules/react-dom/cjs/react-dom.development.js:19612:20)
at beginWork (webpack-internal:///./node_modules/react-dom/cjs/react-dom.development.js:21635:16)
at HTMLUnknownElement.callCallback (webpack-internal:///./node_modules/react-dom/cjs/react-dom.development.js:4164:14)
at Object.invokeGuardedCallbackDev (webpack-internal:///./node_modules/react-dom/cjs/react-dom.development.js:4213:16)
In some cases, the legend rendered for a dataset does not match the actual layer type. This is likely due to issues on the GeoServer side. For example, the legend response may look like this, but this is a "raster layer" in fact
{
"Legend": [{
"layerName": "642c31bcf27db66801023a2f",
"title": "642c31bcf27db66801023a2f",
"rules": [{
"name": "Grass",
"abstract": "Grass style that uses a texture",
"symbolizers": [{
"Polygon": {
"stroke": "#FF0000",
"stroke-width": "1",
"stroke-opacity": "1",
"stroke-linecap": "butt",
"stroke-linejoin": "miter",
"graphic-fill": {
"url": "https://dev.in-core.org/geoserver/styles/grass_fill.png",
"opacity": "1.0",
"rotation": "0.0",
"graphics": [{
"external-graphic-url": "https://dev.in-core.org/geoserver/styles/grass_fill.png",
"external-graphic-type": "image/png"
}]
}
}
}]
}]
}]
}This breaks the expected legend rendering, especially for raster layers where a colorMap is expected but not provided.
The legend rendering logic should be made more robust that can fall back to a default gray placeholder.