import { clx } from "@medusajs/ui" import { memo } from "react" import { NoRecords, NoResultsProps } from "../../common/empty-table-content" import { TableSkeleton } from "../../common/skeleton" import { DataTableQuery, DataTableQueryProps } from "./data-table-query" import { DataTableRoot, DataTableRootProps } from "./data-table-root" interface DataTableProps extends Omit, "noResults">, DataTableQueryProps { isLoading?: boolean pageSize: number queryObject?: Record noRecords?: Pick } // Maybe we should use the memoized version of DataTableRoot // const MemoizedDataTableRoot = memo(DataTableRoot) as typeof DataTableRoot const MemoizedDataTableQuery = memo(DataTableQuery) as typeof DataTableQuery /** * @deprecated Use the DataTable component from "/components/data-table" instead */ export const _DataTable = ({ table, columns, pagination, navigateTo, commands, count = 0, search = false, orderBy, filters, prefix, queryObject = {}, pageSize, isLoading = false, noHeader = false, layout = "fit", noRecords: noRecordsProps = {}, }: 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 (
) }