import { memo } from "react" import { NoRecords } from "../../common/empty-table-content" import { DataTableQuery, DataTableQueryProps } from "./data-table-query" import { DataTableRoot, DataTableRootProps } from "./data-table-root" import { DataTableSkeleton } from "./data-table-skeleton" interface DataTableProps extends DataTableRootProps, DataTableQueryProps { isLoading?: boolean rowCount: number queryObject?: Record } const MemoizedDataTableRoot = memo(DataTableRoot) as typeof DataTableRoot const MemoizedDataTableQuery = memo(DataTableQuery) export const DataTable = ({ table, columns, pagination, navigateTo, commands, count = 0, search = false, orderBy, filters, prefix, queryObject = {}, rowCount, isLoading = false, }: DataTableProps) => { if (isLoading) { return ( ) } const noQuery = Object.values(queryObject).filter((v) => Boolean(v)).length === 0 const noResults = !isLoading && count === 0 && !noQuery const noRecords = !isLoading && count === 0 && noQuery if (noRecords) { return } return (
) }