@appbuckets/react-ui
Version:
Just Another React UI Framework
25 lines (24 loc) • 711 B
TypeScript
import { RxTableColumnProps } from '../RxTable.types';
export interface UseDataFiltering<Data> {
/** Columns Array */
columns: RxTableColumnProps<Data>[];
/** The filter logic to apply */
filterLogic?: 'and' | 'or';
}
declare type UseDataFilteringAndData<Data> = UseDataFiltering<Data> & {
/** Data to filter */
data: Data[];
};
export interface DataFiltered<Data> {
/** Filtered Data */
filteredData: Data[];
/** Current filters */
filters: Record<string, any>;
/** Set filter at column */
setFilter: (columnKey: string, value: any) => void;
}
export default function useDataFiltering<Data>(
enabled: boolean,
config: UseDataFilteringAndData<Data>
): DataFiltered<Data>;
export {};