Yevhen Shevchenko e6fa1383f3
refactor: dashboard views (#3175)
* refactor: dashboard views

* fix: switch component by another render approach

* fix: build

* feat: add table panel styles

* fix: render query data in table

* feat: add separated columns for group by

* fix: add return for creation label for formula

* fix: table columns

Remove label repeating, remove aggregate column if values don’t exist

* fix: render columns with empty value

* fix: pr comments for panel swither

* fix: change key to dataIndex

* chore: removed gridgraph component

---------

Co-authored-by: Palash Gupta <palashgdev@gmail.com>
2023-07-25 18:55:36 +05:30

39 lines
901 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 tableColumns = modifyColumns ? modifyColumns(columns) : columns;
return (
<ResizeTable
columns={tableColumns}
tableLayout="fixed"
dataSource={dataSource}
scroll={{ x: true }}
// eslint-disable-next-line react/jsx-props-no-spreading
{...props}
/>
);
}