diff --git a/resources/assets/src/components/Modal.tsx b/resources/assets/src/components/Modal.tsx index 21678959..5fb8fa4f 100644 --- a/resources/assets/src/components/Modal.tsx +++ b/resources/assets/src/components/Modal.tsx @@ -74,7 +74,6 @@ const Modal = React.forwardRef( useEffect(() => { const onHide = () => { - /* istanbul ignore else */ if (!hidden) { dismiss() } @@ -87,7 +86,7 @@ const Modal = React.forwardRef( return () => { el.off('hide.bs.modal', onHide).off('hidden.bs.modal', onHidden) } - }, []) + }, [hidden, props.onDismiss]) return (
= props => { props.onDisable(plugin) } }, - [], + [plugin], ) const handleDelete = useCallback(() => { props.onDelete(plugin) - }, []) + }, [plugin]) return (
diff --git a/resources/assets/tests/components/Modal.test.tsx b/resources/assets/tests/components/Modal.test.tsx index fcddd081..41a9725c 100644 --- a/resources/assets/tests/components/Modal.test.tsx +++ b/resources/assets/tests/components/Modal.test.tsx @@ -32,7 +32,14 @@ test('forward ref', () => { test('jQuery events', () => { const ref = React.createRef() - render() + const { getByText } = render() + act(() => { + $(ref.current!) + .trigger('hide.bs.modal') + .trigger('hidden.bs.modal') + }) + + fireEvent.click(getByText(trans('general.cancel'))) act(() => { $(ref.current!) .trigger('hide.bs.modal')