mirror of
https://github.com/IRBorisov/ConceptPortal.git
synced 2025-06-26 13:00:39 +03:00
29 lines
726 B
TypeScript
29 lines
726 B
TypeScript
import { Table } from '@tanstack/react-table';
|
|
|
|
import CheckboxTristate from '@/components/ui/CheckboxTristate';
|
|
|
|
interface SelectAllProps<TData> {
|
|
table: Table<TData>;
|
|
resetLastSelected: () => void;
|
|
}
|
|
|
|
function SelectAll<TData>({ table, resetLastSelected }: SelectAllProps<TData>) {
|
|
function handleChange(value: boolean | null) {
|
|
resetLastSelected();
|
|
table.toggleAllPageRowsSelected(value !== false);
|
|
}
|
|
|
|
return (
|
|
<CheckboxTristate
|
|
tabIndex={-1}
|
|
title='Выделить все'
|
|
value={
|
|
!table.getIsAllPageRowsSelected() && table.getIsSomePageRowsSelected() ? null : table.getIsAllPageRowsSelected()
|
|
}
|
|
setValue={handleChange}
|
|
/>
|
|
);
|
|
}
|
|
|
|
export default SelectAll;
|