@linzjs/step-ag-grid
Version:
[](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
text/typescript
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]);
};