import React from 'react'
function DataTable({ table, maxHeight = 320 }) {
if (!table || !table.columns || !table.rows) {
return
Sem dados.
}
const MAX_RENDER_ROWS = 1200
const rowsToRender = table.rows.length > MAX_RENDER_ROWS
? table.rows.slice(0, MAX_RENDER_ROWS)
: table.rows
const renderTruncated = rowsToRender.length < table.rows.length
return (
{table.columns.map((col) => (
| {col} |
))}
{rowsToRender.map((row, i) => (
{table.columns.map((col) => (
| {String(row[col] ?? '')} |
))}
))}
{renderTruncated ? (
Renderizando {rowsToRender.length} de {table.rows.length} linhas recebidas para manter desempenho.
) : null}
{table.truncated ? (
Mostrando {table.returned_rows} de {table.total_rows} linhas.
) : null}
)
}
export default React.memo(DataTable)