From 587254ab8a9e2343ce933847846c9d1c6ec6daa6 Mon Sep 17 00:00:00 2001 From: Ivan Date: Thu, 23 Nov 2023 11:59:27 +0100 Subject: [PATCH 1/2] Hotfix Parse array columns properly --- packages/react-ui/src/widgets/TableWidgetUI/TableWidgetUI.js | 4 ++++ packages/react-widgets/src/models/utils.js | 2 ++ 2 files changed, 6 insertions(+) diff --git a/packages/react-ui/src/widgets/TableWidgetUI/TableWidgetUI.js b/packages/react-ui/src/widgets/TableWidgetUI/TableWidgetUI.js index fe8fac517..75fcba819 100644 --- a/packages/react-ui/src/widgets/TableWidgetUI/TableWidgetUI.js +++ b/packages/react-ui/src/widgets/TableWidgetUI/TableWidgetUI.js @@ -185,6 +185,10 @@ function TableBodyComponent({ columns, rows, onRowClick }) { })?.[1]; if (typeof cellValue === 'bigint') { cellValue = cellValue.toString(); // otherwise TableCell will fail for displaying it + } else if (Array.isArray(cellValue)) { + cellValue = `[${cellValue + .map((c) => (typeof c === 'string' ? `"${c}"` : c)) + .join(', ')}]`; } return ( (headerName || field) && ( diff --git a/packages/react-widgets/src/models/utils.js b/packages/react-widgets/src/models/utils.js index 222999156..957d13360 100644 --- a/packages/react-widgets/src/models/utils.js +++ b/packages/react-widgets/src/models/utils.js @@ -65,6 +65,8 @@ export function formatTableNameWithFilters(props) { export function normalizeObjectKeys(el) { if (Array.isArray(el)) { return el.map(normalizeObjectKeys); + } else if (typeof el !== 'object') { + return el; } return Object.entries(el).reduce((acc, [key, value]) => { From 06cf5d4f921d99356373da72df475f2cd6cf4a58 Mon Sep 17 00:00:00 2001 From: Ivan Date: Thu, 23 Nov 2023 12:55:31 +0100 Subject: [PATCH 2/2] update CHANGELOG --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 846495b3e..a0d3fd9c1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ## Not released +- Fix TableWidget cannot render columns when it contains an array [#802](https://github.com/CartoDB/carto-react/pull/802) - Allow server-side table widget without hard limit [#798](https://github.com/CartoDB/carto-react/pull/798) ## 2.2