Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | 68x 68x | import { ScrollArea } from "@radix-ui/react-scroll-area";
import {
DataTable,
DataTableProps,
} from "@/ahuora-design-system/ui/data-table";
import Paginator from "@/ahuora-design-system/ui/paginator";
import { ScrollBar } from "@/ahuora-design-system/ui/scroll-area";
import { cn } from "@/lib/utils";
export interface PaginatedTableProps<TData, TValue>
extends DataTableProps<TData, TValue> {
data: any;
columns: any[];
page: number;
setPage: (page: number) => void;
className?: string;
[key: string]: any;
}
export function PaginatedTable<TData, TValue>({
data,
page,
setPage,
className,
...props
}: PaginatedTableProps<TData, TValue>) {
const fullTable = data?.results;
return (
<ScrollArea className="h-full">
<div
className={cn(
"h-full w-full p-4 flex flex-col gap-4 relative",
className,
)}
>
<DataTable
data={fullTable || []}
rowSelection={{}}
columnSelection
{...props}
/>
<Paginator page={page} setPage={setPage} data={data} />
<ScrollBar orientation="vertical" />
<ScrollBar orientation="horizontal" />
</div>
</ScrollArea>
);
}
|