Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ability to handle overlay/close clicks in Dialog component, onBeforeClose #1649

Open
malimccalla opened this issue Jun 4, 2023 · 2 comments
Labels
improvement question A question around API, functionality, etc.

Comments

@malimccalla
Copy link

I am implementing the Dialog component and need to show a "are you sure you want to discard" confirmation message when the user attempts to close the dialog.

Is it possible to run logic before closing the Dialog?

I am able to do this with the onCancel property but it appears it only triggers when the cancel button is clicked not when the modal is closed by clicking the overlay when shouldCloseOnOverlayClick is set to true.

@brandongregoryscott
Copy link
Contributor

I don't think this is currently possible without hacking around the props exposed by the Dialog component. Our SideSheet component has this functionality (exposed through an onBeforeClose prop which you can return false from to prevent closing), so it wouldn't be hard to add.

In the meantime, you might want to set shouldCloseOnOverlayClick to false if you're worried about users closing your dialog without saving first.

@brandongregoryscott brandongregoryscott added improvement question A question around API, functionality, etc. labels Jun 5, 2023
@malimccalla
Copy link
Author

Thank @brandongregoryscott. I have indeed set shouldCloseOnOverlayClick to prevent this. Will leave the issue open as it's not ideal for our case, but feel free to close it if you want to reduce noise

@brandongregoryscott brandongregoryscott changed the title Dialog onCancel not called on overlay click Ability to handle overlay/close clicks in Dialog component, onBeforeClose Jun 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
improvement question A question around API, functionality, etc.
Projects
None yet
Development

No branches or pull requests

2 participants