UNPKG

@justjarethb/table-core

Version:

Fork of @tanstack/table-core with support for event listeners in different windows

43 lines (42 loc) 2.26 kB
import { TableFeature } from '../core/table'; import { OnChangeFn, Table, Row, RowModel, Updater, RowData } from '../types'; export type RowSelectionState = Record<string, boolean>; export interface RowSelectionTableState { rowSelection: RowSelectionState; } export interface RowSelectionOptions<TData extends RowData> { enableRowSelection?: boolean | ((row: Row<TData>) => boolean); enableMultiRowSelection?: boolean | ((row: Row<TData>) => boolean); enableSubRowSelection?: boolean | ((row: Row<TData>) => boolean); onRowSelectionChange?: OnChangeFn<RowSelectionState>; } export interface RowSelectionRow { getIsSelected: () => boolean; getIsSomeSelected: () => boolean; getIsAllSubRowsSelected: () => boolean; getCanSelect: () => boolean; getCanMultiSelect: () => boolean; getCanSelectSubRows: () => boolean; toggleSelected: (value?: boolean) => void; getToggleSelectedHandler: () => (event: unknown) => void; } export interface RowSelectionInstance<TData extends RowData> { getToggleAllRowsSelectedHandler: () => (event: unknown) => void; getToggleAllPageRowsSelectedHandler: () => (event: unknown) => void; setRowSelection: (updater: Updater<RowSelectionState>) => void; resetRowSelection: (defaultState?: boolean) => void; getIsAllRowsSelected: () => boolean; getIsAllPageRowsSelected: () => boolean; getIsSomeRowsSelected: () => boolean; getIsSomePageRowsSelected: () => boolean; toggleAllRowsSelected: (value?: boolean) => void; toggleAllPageRowsSelected: (value?: boolean) => void; getPreSelectedRowModel: () => RowModel<TData>; getSelectedRowModel: () => RowModel<TData>; getFilteredSelectedRowModel: () => RowModel<TData>; getGroupedSelectedRowModel: () => RowModel<TData>; } export declare const RowSelection: TableFeature; export declare function selectRowsFn<TData extends RowData>(table: Table<TData>, rowModel: RowModel<TData>): RowModel<TData>; export declare function isRowSelected<TData extends RowData>(row: Row<TData>, selection: Record<string, boolean>): boolean; export declare function isSubRowSelected<TData extends RowData>(row: Row<TData>, selection: Record<string, boolean>, table: Table<TData>): boolean | 'some' | 'all';