import TableHeader from '@/components/table/table-header'; import { Table, TableBody, TableCell, TableRow } from '@/components/ui/table'; import { cn } from '@/lib/utils'; import { IntroPageProps } from '@/types/page'; import { usePage } from '@inertiajs/react'; import { SortingState, flexRender, getCoreRowModel, getFilteredRowModel, getSortedRowModel, useReactTable } from '@tanstack/react-table'; import * as React from 'react'; import TableColumn from './partials/instructors-table-columns'; import TableFilter from './partials/table-filter'; import TableFooter from './partials/table-footer'; interface InstructorProps { instructors: Pagination; selectedIds?: number[]; onCourseSelect?: (id: number) => void; } const Instructors = ({ instructors, selectedIds = [], onCourseSelect }: InstructorProps) => { const page = usePage(); const routeName = page.props.type === 'demo' ? 'home.demo' : 'home'; const [sorting, setSorting] = React.useState([]); const table = useReactTable({ data: instructors.data, columns: TableColumn(page.props.translate), onSortingChange: setSorting, getCoreRowModel: getCoreRowModel(), getSortedRowModel: getSortedRowModel(), getFilteredRowModel: getFilteredRowModel(), state: { sorting }, }); return (
} // exportPath={route('users.export')} /> {table.getRowModel().rows?.length ? ( table.getRowModel().rows.map((row) => ( onCourseSelect && onCourseSelect(Number(row.original.id))} > {row.getVisibleCells().map((cell) => ( {flexRender(cell.column.columnDef.cell, cell.getContext())} ))} )) ) : ( No results. )}
); }; export default Instructors;