diff --git a/apps/builder/src/features/results/components/ResultsTable/ResultsActionButtons.tsx b/apps/builder/src/features/results/components/ResultsTable/ResultsActionButtons.tsx index 1eeaed74e..a8dfd9740 100644 --- a/apps/builder/src/features/results/components/ResultsTable/ResultsActionButtons.tsx +++ b/apps/builder/src/features/results/components/ResultsTable/ResultsActionButtons.tsx @@ -62,16 +62,17 @@ export const ResultsActionButtons = ({ const getAllTableData = async () => { if (!workspaceId || !typebotId) return [] const allResults = [] - let cursor: string | undefined | null + let cursor: string | undefined do { try { const { results, nextCursor } = await trpcContext.results.getResults.fetch({ typebotId, limit: '200', + cursor, }) allResults.push(...results) - cursor = nextCursor + cursor = nextCursor ?? undefined } catch (error) { showToast({ description: (error as TRPCError).message }) } diff --git a/apps/builder/src/features/results/components/ResultsTable/ResultsTable.tsx b/apps/builder/src/features/results/components/ResultsTable/ResultsTable.tsx index 69e988f9c..93c01983f 100644 --- a/apps/builder/src/features/results/components/ResultsTable/ResultsTable.tsx +++ b/apps/builder/src/features/results/components/ResultsTable/ResultsTable.tsx @@ -24,7 +24,7 @@ import { ResultsActionButtons } from './ResultsActionButtons' import { Row } from './Row' import { HeaderRow } from './HeaderRow' import { CellValueType, TableData } from '../../types' -import { HeaderIcon } from '../../utils' +import { HeaderIcon, parseAccessor } from '../../utils' import { IndeterminateCheckbox } from './IndeterminateCheckbox' type ResultsTableProps = { @@ -111,7 +111,7 @@ export const ResultsTable = ({ }, ...resultHeader.map>((header) => ({ id: header.id, - accessorKey: header.label, + accessorKey: parseAccessor(header.label), size: 200, header: () => ( @@ -120,14 +120,9 @@ export const ResultsTable = ({ ), cell: (info) => { - try { - const value = info?.getValue() as CellValueType | undefined - if (!value) return - return value.element || value.plainText || '' - } catch (err) { - console.error(err) - return - } + const value = info?.getValue() as CellValueType | undefined + if (!value) return + return value.element || value.plainText || '' }, })), { diff --git a/apps/builder/src/features/results/utils.tsx b/apps/builder/src/features/results/utils.tsx index 86b516d2d..f57ff0ab3 100644 --- a/apps/builder/src/features/results/utils.tsx +++ b/apps/builder/src/features/results/utils.tsx @@ -20,7 +20,9 @@ export const parseDateToReadable = (date: Date): string => minute: '2-digit', }) -export const parseSubmissionsColumns = ( +export const parseAccessor = (label: string) => label.replaceAll('.', '') + +export const parseHeaderCells = ( resultHeader: ResultHeaderCell[] ): HeaderCell[] => resultHeader.map((header) => ({ @@ -30,7 +32,7 @@ export const parseSubmissionsColumns = ( {header.label} ), - accessor: header.label, + accessor: parseAccessor(header.label), })) export const HeaderIcon = ({ header }: { header: ResultHeaderCell }) => @@ -66,7 +68,7 @@ export const convertResultsToTableData = ( if (!header || !header.blocks || !header.blockType) return o return { ...o, - [header.label]: { + [parseAccessor(header.label)]: { element: parseContent(answer.content, header.blockType), plainText: answer.content, }, @@ -80,7 +82,7 @@ export const convertResultsToTableData = ( if (isDefined(o[key])) return o return { ...o, - [key]: { plainText: variable.value?.toString() }, + [parseAccessor(key)]: { plainText: variable.value?.toString() }, } }, {}), }))