ionic-framework icon indicating copy to clipboard operation
ionic-framework copied to clipboard

bug: modal with swipe gesture should call onWillDismiss once dismiss is confirmed

Open aeharding opened this issue 2 years ago • 0 comments

Prerequisites

Ionic Framework Version

v7.x

Current Behavior

When swiping to dismiss a modal, onWillDismiss is called after modal dismiss animation completes.

Expected Behavior

onWillDismiss should be called as soon as Ionic determines if the modal should be dismissed. For swipe to dismiss, I would expect this to happen after the user lifts their finger off the screen following the swipe to dismiss gesture, if Ionic calculates that the modal should dismiss.

Steps to Reproduce

  1. Run reproduction
  2. Swipe to dismiss
  3. Observe alert incorrectly presents after animation completes
  4. Additionally, observe tapping "close" button correctly presents alert before animation starts

Code Reproduction URL

https://stackblitz.com/edit/u8qciq-6x7ht2?file=src%2Fmain.tsx

Ionic Info

N/A - running codepen

Additional Information

Potentially related? https://github.com/ionic-team/ionic-framework/issues/17600

I am tagging this as a bug because when dismissing though a non-swipe button (programmatically or through dismiss button),onWillDismiss is correctly called before the dismiss animation starts.

This is a problem for my app because I would like to dismiss the keyboard as soon as I know the modal will dismiss, not after the modal finishes animating out.

Swipe down - Incorrect behavior

https://github.com/ionic-team/ionic-framework/assets/2166114/b6066444-482d-4c80-98b1-766fe6d32a22

Tap to dismiss - Correct behavior

https://github.com/ionic-team/ionic-framework/assets/2166114/64763dbb-6be0-4725-98b7-1b56a44cdd0b

aeharding avatar Nov 15 '23 23:11 aeharding