UNPKG

@adaptabletools/adaptable

Version:

Powerful data-agnostic HTML5 AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements

16 lines (15 loc) 728 B
import { useEffect, useState, useMemo } from 'react'; import debounce from 'lodash/debounce'; import { QUICK_SEARCH_DEBOUNCE_TIME } from '../../Utilities/Constants/GeneralConstants'; export const useQuickSearchDebounced = (props) => { const [searchText, setSearchText] = useState(props.QuickSearchText ?? ''); const debouncedRunQuickSearch = useMemo(() => debounce(props.onRunQuickSearch, QUICK_SEARCH_DEBOUNCE_TIME), [props.onRunQuickSearch]); useEffect(() => { setSearchText(props.QuickSearchText); }, [props.QuickSearchText]); const executeSearch = (searchText) => { setSearchText(searchText); debouncedRunQuickSearch(searchText); }; return [searchText, executeSearch]; };