mirror of
https://github.com/SigNoz/signoz.git
synced 2025-12-20 00:46:46 +00:00
43 lines
999 B
TypeScript
43 lines
999 B
TypeScript
import { ResizeTable } from 'components/ResizeTable';
|
|
import { createTableColumnsFromQuery } from 'lib/query/createTableColumnsFromQuery';
|
|
import { useMemo } from 'react';
|
|
|
|
import { QueryTableProps } from './QueryTable.intefaces';
|
|
|
|
export function QueryTable({
|
|
queryTableData,
|
|
query,
|
|
renderActionCell,
|
|
modifyColumns,
|
|
renderColumnCell,
|
|
...props
|
|
}: QueryTableProps): JSX.Element {
|
|
const { columns, dataSource } = useMemo(
|
|
() =>
|
|
createTableColumnsFromQuery({
|
|
query,
|
|
queryTableData,
|
|
renderActionCell,
|
|
renderColumnCell,
|
|
}),
|
|
[query, queryTableData, renderColumnCell, renderActionCell],
|
|
);
|
|
|
|
const filteredColumns = columns.filter((item) => item.key !== 'timestamp');
|
|
|
|
const tableColumns = modifyColumns
|
|
? modifyColumns(filteredColumns)
|
|
: filteredColumns;
|
|
|
|
return (
|
|
<ResizeTable
|
|
columns={tableColumns}
|
|
tableLayout="fixed"
|
|
dataSource={dataSource}
|
|
scroll={{ x: true }}
|
|
// eslint-disable-next-line react/jsx-props-no-spreading
|
|
{...props}
|
|
/>
|
|
);
|
|
}
|