diff --git a/superset-frontend/plugins/legacy-plugin-chart-world-map/src/WorldMap.js b/superset-frontend/plugins/legacy-plugin-chart-world-map/src/WorldMap.js index 2fd9e5f6a470..36fb436e2e32 100644 --- a/superset-frontend/plugins/legacy-plugin-chart-world-map/src/WorldMap.js +++ b/superset-frontend/plugins/legacy-plugin-chart-world-map/src/WorldMap.js @@ -31,6 +31,7 @@ const propTypes = { data: PropTypes.arrayOf( PropTypes.shape({ country: PropTypes.string, + code: PropTypes.string, latitude: PropTypes.number, longitude: PropTypes.number, name: PropTypes.string, @@ -116,7 +117,7 @@ function WorldMap(element, props) { const selected = Object.values(filterState.selectedValues || {}); const key = source.id || source.country; const country = - countryFieldtype === 'name' ? mapData[key]?.name : mapData[key]?.country; + countryFieldtype === 'name' ? mapData[key]?.name : mapData[key]?.code; if (!country) { return undefined; @@ -170,7 +171,7 @@ function WorldMap(element, props) { pointerEvent.preventDefault(); const key = source.id || source.country; const val = - countryFieldtype === 'name' ? mapData[key]?.name : mapData[key]?.country; + countryFieldtype === 'name' ? mapData[key]?.name : mapData[key]?.code; let drillToDetailFilters; let drillByFilters; if (val) { diff --git a/superset/viz.py b/superset/viz.py index b5a4d5217ba5..b9c242628cb4 100644 --- a/superset/viz.py +++ b/superset/viz.py @@ -1313,6 +1313,7 @@ def get_data(self, df: pd.DataFrame) -> VizData: self.form_data["country_fieldtype"], row["country"] ) if country: + row["code"] = country[self.form_data["country_fieldtype"]] row["country"] = country["cca3"] row["latitude"] = country["lat"] row["longitude"] = country["lng"]