UNPKG

@1771technologies/lytenyte-pro

Version:

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

39 lines (38 loc) 1.77 kB
import { type Dispatch, type JSX, type SetStateAction } from "react"; import type { Column, FilterIn, FilterInFilterItem, Grid } from "../../+types"; import type { PathRoot } from "@1771technologies/lytenyte-shared"; import type { TreeVirtualItem } from "../../tree-view/virtualized/make-virtual-tree"; export interface UseTreeFilterReturn<T> { readonly rootProps: { readonly fetchItems: () => void; readonly loading: boolean; readonly error: any; readonly pivotMode: boolean; readonly grid: Grid<T>; readonly expansions: Record<string, boolean>; readonly onExpansionChange: Dispatch<SetStateAction<Record<string, boolean>>>; readonly treeRef: (el: HTMLElement | null) => void; readonly getAllIds: () => Set<string>; readonly getIdsBetweenNodes: (left: HTMLElement, right: HTMLElement) => string[]; readonly onFocusChange: (el: HTMLElement | null) => void; readonly root: PathRoot<FilterInFilterItem>; readonly columnId: string; readonly items: FilterInFilterItem[]; readonly applyChangesImmediately: boolean; readonly filterIn: FilterIn; readonly filterInChange: Dispatch<SetStateAction<FilterIn>>; }; readonly tree: TreeVirtualItem<FilterInFilterItem>[]; readonly spacer: JSX.Element; readonly apply: () => void; readonly reset: () => void; } export interface UseFilterTreeArgs<T> { grid: Grid<T>; column: Column<T>; treeItemHeight?: number; pivotMode?: boolean; applyChangesImmediately?: boolean; query?: string; } export declare function useFilterTree<T>({ grid, column, treeItemHeight, pivotMode, applyChangesImmediately, query, }: UseFilterTreeArgs<T>): UseTreeFilterReturn<T>;