UNPKG

@linzjs/step-ag-grid

Version:

[![semantic-release: angular](https://img.shields.io/badge/semantic--release-angular-e10079?logo=semantic-release)](https://github.com/semantic-release/semantic-release) > Reusable [ag-grid](https://www.ag-grid.com/) component for LINZ / Toitū te whenua.

17 lines (13 loc) 595 B
import { useContext, useEffect } from 'react'; import { GridContext, GridFilterExternal } from '../../contexts/GridContext'; import { GridBaseRow } from '../Grid'; export const useGridFilter = <TData extends GridBaseRow>(filter: GridFilterExternal<TData> | undefined) => { const { addExternalFilter, removeExternalFilter } = useContext(GridContext); useEffect(() => { const thisFilter = filter; thisFilter && addExternalFilter(thisFilter); return () => { thisFilter && removeExternalFilter(thisFilter); }; }, [addExternalFilter, filter, removeExternalFilter]); };