This is an automated email from the ASF dual-hosted git repository. michaelsmolina pushed a commit to branch 3.0 in repository https://gitbox.apache.org/repos/asf/superset.git
commit c816142a5ea08ba95fe5944ef2d590e60e17bbaa Author: Matthew Chiang <[email protected]> AuthorDate: Mon Jan 29 05:10:11 2024 -0800 fix(deck.gl Multiple Layer Chart): Add Contour and Heatmap Layer as options (#25923) --- .../plugins/legacy-preset-chart-deckgl/src/index.js | 2 ++ .../plugins/legacy-preset-chart-deckgl/src/layers/Arc/Arc.jsx | 8 ++++---- .../legacy-preset-chart-deckgl/src/layers/Geojson/Geojson.jsx | 4 ++-- .../legacy-preset-chart-deckgl/src/layers/Heatmap/Heatmap.tsx | 2 +- .../legacy-preset-chart-deckgl/src/layers/Path/Path.jsx | 2 +- .../legacy-preset-chart-deckgl/src/layers/Polygon/Polygon.jsx | 10 +++++----- .../legacy-preset-chart-deckgl/src/layers/Scatter/Scatter.jsx | 10 +++++----- .../src/layers/Screengrid/Screengrid.jsx | 4 ++-- .../plugins/legacy-preset-chart-deckgl/src/layers/index.js | 4 ++++ 9 files changed, 26 insertions(+), 20 deletions(-) diff --git a/superset-frontend/plugins/legacy-preset-chart-deckgl/src/index.js b/superset-frontend/plugins/legacy-preset-chart-deckgl/src/index.js index 819964173e..fc4aa7fca0 100644 --- a/superset-frontend/plugins/legacy-preset-chart-deckgl/src/index.js +++ b/superset-frontend/plugins/legacy-preset-chart-deckgl/src/index.js @@ -26,3 +26,5 @@ export { default as PathChartPlugin } from './layers/Path'; export { default as PolygonChartPlugin } from './layers/Polygon'; export { default as ScatterChartPlugin } from './layers/Scatter'; export { default as ScreengridChartPlugin } from './layers/Screengrid'; +export { default as ContourChartPlugin } from './layers/Contour'; +export { default as HeatmapChartPlugin } from './layers/Heatmap'; diff --git a/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Arc/Arc.jsx b/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Arc/Arc.jsx index 75cf8d09a1..07f3b55b8f 100644 --- a/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Arc/Arc.jsx +++ b/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Arc/Arc.jsx @@ -38,16 +38,16 @@ function setTooltipContent(formData) { <div className="deckgl-tooltip"> <TooltipRow label={t('Start (Longitude, Latitude): ')} - value={`${o.object.sourcePosition[0]}, ${o.object.sourcePosition[1]}`} + value={`${o.object?.sourcePosition?.[0]}, ${o.object?.sourcePosition?.[1]}`} /> <TooltipRow label={t('End (Longitude, Latitude): ')} - value={`${o.object.targetPosition[0]}, ${o.object.targetPosition[1]}`} + value={`${o.object?.targetPosition?.[0]}, ${o.object?.targetPosition?.[1]}`} /> {formData.dimension && ( <TooltipRow - label={`${formData.dimension}: `} - value={`${o.object.cat_color}`} + label={`${formData?.dimension}: `} + value={`${o.object?.cat_color}`} /> )} </div> diff --git a/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Geojson/Geojson.jsx b/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Geojson/Geojson.jsx index 263b576ec9..07e6972ea9 100644 --- a/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Geojson/Geojson.jsx +++ b/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Geojson/Geojson.jsx @@ -80,13 +80,13 @@ const recurseGeoJson = (node, propOverrides, extraProps) => { function setTooltipContent(o) { return ( - o.object.extraProps && ( + o.object?.extraProps && ( <div className="deckgl-tooltip"> {Object.keys(o.object.extraProps).map((prop, index) => ( <TooltipRow key={`prop-${index}`} label={`${prop}: `} - value={`${o.object.extraProps[prop]}`} + value={`${o.object.extraProps?.[prop]}`} /> ))} </div> diff --git a/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Heatmap/Heatmap.tsx b/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Heatmap/Heatmap.tsx index 2bd1f63ce7..72d27b2ba7 100644 --- a/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Heatmap/Heatmap.tsx +++ b/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Heatmap/Heatmap.tsx @@ -30,7 +30,7 @@ function setTooltipContent(o: any) { <div className="deckgl-tooltip"> <TooltipRow label={t('Centroid (Longitude and Latitude): ')} - value={`(${o.coordinate[0]}, ${o.coordinate[1]})`} + value={`(${o?.coordinate[0]}, ${o?.coordinate[1]})`} /> </div> ); diff --git a/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Path/Path.jsx b/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Path/Path.jsx index 0cea73e2b7..db47eb023d 100644 --- a/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Path/Path.jsx +++ b/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Path/Path.jsx @@ -26,7 +26,7 @@ import TooltipRow from '../../TooltipRow'; function setTooltipContent(o) { return ( - o.object.extraProps && ( + o.object?.extraProps && ( <div className="deckgl-tooltip"> {Object.keys(o.object.extraProps).map((prop, index) => ( <TooltipRow diff --git a/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Polygon/Polygon.jsx b/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Polygon/Polygon.jsx index 81df4384f9..f43009c9e0 100644 --- a/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Polygon/Polygon.jsx +++ b/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Polygon/Polygon.jsx @@ -53,27 +53,27 @@ function getElevation(d, colorScaler) { function setTooltipContent(formData) { return o => { - const metricLabel = formData.metric.label || formData.metric; + const metricLabel = formData?.metric?.label || formData?.metric; return ( <div className="deckgl-tooltip"> - {o.object.name && ( + {o.object?.name && ( <TooltipRow // eslint-disable-next-line prefer-template label={t('name') + ': '} value={`${o.object.name}`} /> )} - {o.object[formData.line_column] && ( + {o.object?.[formData?.line_column] && ( <TooltipRow label={`${formData.line_column}: `} value={`${o.object[formData.line_column]}`} /> )} - {formData.metric && ( + {formData?.metric && ( <TooltipRow label={`${metricLabel}: `} - value={`${o.object[metricLabel]}`} + value={`${o.object?.[metricLabel]}`} /> )} </div> diff --git a/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Scatter/Scatter.jsx b/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Scatter/Scatter.jsx index 5237523067..a08a3819f9 100644 --- a/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Scatter/Scatter.jsx +++ b/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Scatter/Scatter.jsx @@ -38,17 +38,17 @@ function setTooltipContent(formData, verboseMap) { <TooltipRow // eslint-disable-next-line prefer-template label={t('Longitude and Latitude') + ': '} - value={`${o.object.position[0]}, ${o.object.position[1]}`} + value={`${o.object?.position?.[0]}, ${o.object?.position?.[1]}`} /> - {o.object.cat_color && ( + {o.object?.cat_color && ( <TooltipRow // eslint-disable-next-line prefer-template label={t('Category') + ': '} - value={`${o.object.cat_color}`} + value={`${o.object?.cat_color}`} /> )} - {o.object.metric && ( - <TooltipRow label={`${label}: `} value={`${o.object.metric}`} /> + {o.object?.metric && ( + <TooltipRow label={`${label}: `} value={`${o.object?.metric}`} /> )} </div> ); diff --git a/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Screengrid/Screengrid.jsx b/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Screengrid/Screengrid.jsx index 7883dda17e..0d5ad72ac7 100644 --- a/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Screengrid/Screengrid.jsx +++ b/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/Screengrid/Screengrid.jsx @@ -42,12 +42,12 @@ function setTooltipContent(o) { <TooltipRow // eslint-disable-next-line prefer-template label={t('Longitude and Latitude') + ': '} - value={`${o.coordinate[0]}, ${o.coordinate[1]}`} + value={`${o?.coordinate?.[0]}, ${o?.coordinate?.[1]}`} /> <TooltipRow // eslint-disable-next-line prefer-template label={t('Weight') + ': '} - value={`${o.object.cellWeight}`} + value={`${o.object?.cellWeight}`} /> </div> ); diff --git a/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/index.js b/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/index.js index b77d5bd12c..9747a50b1e 100644 --- a/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/index.js +++ b/superset-frontend/plugins/legacy-preset-chart-deckgl/src/layers/index.js @@ -25,6 +25,8 @@ import { getLayer as deck_scatter } from './Scatter/Scatter'; import { getLayer as deck_geojson } from './Geojson/Geojson'; import { getLayer as deck_arc } from './Arc/Arc'; import { getLayer as deck_polygon } from './Polygon/Polygon'; +import { getLayer as deck_heatmap } from './Heatmap/Heatmap'; +import { getLayer as deck_contour } from './Contour/Contour'; const layerGenerators = { deck_grid, @@ -35,6 +37,8 @@ const layerGenerators = { deck_geojson, deck_arc, deck_polygon, + deck_heatmap, + deck_contour, }; export default layerGenerators;
