UNPKG

ra-core

Version:

Core components of react-admin, a frontend Framework for building admin applications on top of REST services, using ES6, React

47 lines 1.56 kB
import { FilterPayload } from "../types.js"; interface UseFilterStateOptions { filterToQuery?: (v: string) => FilterPayload; permanentFilter?: FilterPayload; debounceTime?: number; } /** * @typedef UseFilterStateProps * @property {Object} filter: The filter object. * @property {setFilter} setFilter: Update the filter with the given string */ interface UseFilterStateProps { filter: FilterPayload; setFilter: (v: string) => void; } /** * Hooks to provide filter state and setFilter which updates the query part of the filter * * @example * * const { filter, setFilter } = useFilter({ * filterToQuery: v => ({ query: v }), * permanentFilter: { foo: 'bar' }, * debounceTime: 500, * }); * // filter initial value: * { * query: '', * foo: 'bar' * } * // after updating filter * setFilter('needle'); * { * query: 'needle', * foo: 'bar' * } * * @param {Object} option * @param {Function} option.filterToQuery Function to convert the filter string to a filter object. Defaults to v => ({ q: v }). * @param {Object} option.permanentFilter Permanent filter to be merged with the filter string. Defaults to {}. * @param {number} option.debounceTime Time in ms between filter updates - used to debounce the search. Defaults to 500ms. * * @returns {UseFilterStateOptions} The filter props */ declare const _default: ({ filterToQuery, permanentFilter, debounceTime, }: UseFilterStateOptions) => UseFilterStateProps; export default _default; //# sourceMappingURL=useFilterState.d.ts.map