UNPKG

@1771technologies/lytenyte-pro

Version:

Blazingly fast headless React data grid with 100s of features.

39 lines (38 loc) 1.33 kB
import type { Column, FilterDateOperator, FilterNumberOperator, FilterStringOperator, Grid } from "../+types"; export interface UseFilterSelectParams<T> { readonly grid: Grid<T>; readonly column: Column<T>; readonly maxCount?: number; } export type FilterSelectFlatFunc = { kind: "function"; func: any; }; export type FilterSelectFlatNumber = { kind: "number"; operator?: FilterNumberOperator; value?: string | number | null; nextExtender?: null | "AND" | "OR"; }; export type FilterSelectFlatString = { kind: "string"; operator?: FilterStringOperator; value?: string | number | null; nextExtender?: null | "AND" | "OR"; }; export type FilterSelectFlatDate = { kind: "date"; operator?: FilterDateOperator; value?: string | number | null; nextExtender?: null | "AND" | "OR"; }; export type FilterSelectFlat = FilterSelectFlatFunc | FilterSelectFlatNumber | FilterSelectFlatString | FilterSelectFlatDate; export declare const useFilterSelect: <T>({ grid, column, maxCount }: UseFilterSelectParams<T>) => { reset: () => void; apply: () => void; clear: () => void; defaultFilter: FilterSelectFlat; filters: FilterSelectFlat[]; setFilters: (v: FilterSelectFlat[] | ((v: FilterSelectFlat[]) => FilterSelectFlat[])) => void; maxCount: number; };