From 22f3b723015733fb934fe7dd9f52730f03c436f2 Mon Sep 17 00:00:00 2001 From: stefano bovio Date: Mon, 20 Jun 2022 12:09:57 +0200 Subject: [PATCH] [Fixes #976] Fix missing required accessToken for MapBox background when adding a map to a geostory (#1014) (#1041) --- geonode_mapstore_client/client/MapStore2 | 2 +- .../client/js/plugins/Share.jsx | 14 ++++++++++++-- .../js/plugins/layersettings/WMSLayerSettings.jsx | 2 +- geonode_mapstore_client/client/package.json | 3 ++- .../geonode-mapstore-client/_geonode_config.html | 3 +++ 5 files changed, 19 insertions(+), 5 deletions(-) diff --git a/geonode_mapstore_client/client/MapStore2 b/geonode_mapstore_client/client/MapStore2 index faee07b04c..6b69796836 160000 --- a/geonode_mapstore_client/client/MapStore2 +++ b/geonode_mapstore_client/client/MapStore2 @@ -1 +1 @@ -Subproject commit faee07b04ca5b475f2241b58fe48e59ab246de0b +Subproject commit 6b697968365d6b707e94435f14c1a4c82f63a0be diff --git a/geonode_mapstore_client/client/js/plugins/Share.jsx b/geonode_mapstore_client/client/js/plugins/Share.jsx index f85c80c110..d565da3bff 100644 --- a/geonode_mapstore_client/client/js/plugins/Share.jsx +++ b/geonode_mapstore_client/client/js/plugins/Share.jsx @@ -6,7 +6,7 @@ * LICENSE file in the root directory of this source tree. */ -import React, { useEffect, useState } from 'react'; +import React, { useEffect, useState, useRef } from 'react'; import PropTypes from 'prop-types'; import { connect } from 'react-redux'; import { createSelector } from 'reselect'; @@ -97,6 +97,14 @@ function Share({ embedUrl }) { + const isMounted = useRef(false); + useEffect(() => { + isMounted.current = true; + return () => { + isMounted.current = false; + }; + }, []); + const [permissionsObject, setPermissionsObject] = useState({}); useEffect(() => { getResourceTypes().then((data) => { @@ -107,7 +115,9 @@ function Share({ } else { // set a default permission object responseOptions = getResourcePermissions(data[0].allowed_perms.compact); } - setPermissionsObject(responseOptions); + if (isMounted.current) { + setPermissionsObject(responseOptions); + } }); }, [availableResourceTypes]); diff --git a/geonode_mapstore_client/client/js/plugins/layersettings/WMSLayerSettings.jsx b/geonode_mapstore_client/client/js/plugins/layersettings/WMSLayerSettings.jsx index 4d7985971b..f10a037a5a 100644 --- a/geonode_mapstore_client/client/js/plugins/layersettings/WMSLayerSettings.jsx +++ b/geonode_mapstore_client/client/js/plugins/layersettings/WMSLayerSettings.jsx @@ -14,7 +14,7 @@ import Button from '@js/components/Button'; import IntlNumberFormControl from '@mapstore/framework/components/I18N/IntlNumberFormControl'; import Message from '@mapstore/framework/components/I18N/Message'; import InfoPopover from '@mapstore/framework/components/widgets/widget/InfoPopover'; -import { DEFAULT_FORMAT_WMS, getSupportedFormat } from '@mapstore/framework/utils/CatalogUtils'; +import { DEFAULT_FORMAT_WMS, getSupportedFormat } from '@mapstore/framework/api/WMS'; import { getConfigProp } from '@mapstore/framework/utils/ConfigUtils'; import LegendImage from '@mapstore/framework/components/TOC/fragments/legend/Legend'; import Select from 'react-select'; diff --git a/geonode_mapstore_client/client/package.json b/geonode_mapstore_client/client/package.json index c3c1958fb3..63b0cad0a2 100644 --- a/geonode_mapstore_client/client/package.json +++ b/geonode_mapstore_client/client/package.json @@ -26,7 +26,7 @@ "author": "GeoSolutions", "license": "BSD-2-Clause", "devDependencies": { - "@mapstore/project": "1.0.21", + "@mapstore/project": "1.0.23", "dotenv": "10.0.0", "jsdoc-to-markdown": "7.1.0" }, @@ -37,6 +37,7 @@ "font-awesome": "4.7.0", "mapstore": "file:MapStore2", "react-helmet": "6.1.0", + "react-intl": "2.3.0", "three": "0.136.0" }, "mapstore": { diff --git a/geonode_mapstore_client/templates/geonode-mapstore-client/_geonode_config.html b/geonode_mapstore_client/templates/geonode-mapstore-client/_geonode_config.html index 18a552e6ad..a6819ba790 100644 --- a/geonode_mapstore_client/templates/geonode-mapstore-client/_geonode_config.html +++ b/geonode_mapstore_client/templates/geonode-mapstore-client/_geonode_config.html @@ -16,6 +16,8 @@ {% generate_proxyurl PROXY_URL|default:"/proxy/?url=" request as UPDATED_PROXY_URL %} {% retrieve_apikey request as user_apikey %} +{% mapbox_access_token as MAPBOX_ACCESS_TOKEN %} +