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.

14 lines (10 loc) 456 B
import { useEffect, useRef } from 'react'; import { EventHandler, MenuChangeEvent } from '../types'; import { safeCall } from '../utils'; export const useMenuChange = (onMenuChange?: EventHandler<MenuChangeEvent>, isOpen?: boolean) => { const prevOpen = useRef(isOpen); useEffect(() => { if (onMenuChange && prevOpen.current !== isOpen) safeCall(onMenuChange, { open: !!isOpen }); prevOpen.current = isOpen; }, [onMenuChange, isOpen]); };