Open dragongesa opened 2 months ago
Hello @dragongesa
Could you provide code example?
@feduke-nukem
I've updated the description and method for this issue:
Current behavior: Dialogs can be dismissed using navigator.pop()
, router.pop()
, or the .hide()
method.
Desired behavior: Dialogs should only be dismissible through the .hide()
method.
Problem: Using navigator.pop()
or router.pop()
currently dismisses the dialog, which is not the intended functionality.
Proposed solution: Make dialogs immune to navigator.pop()
and router.pop()
methods. They should only respond to the .hide()
method.
Impact: This change will provide better control over dialog behavior and prevent unexpected dismissals in complex navigation scenarios.
Could you please review this updated description and consider implementing this functionality? It would greatly improve the predictability and usability of FlutterEasyDialogs in various navigation contexts.
Let me know if you need any additional information or clarification on this issue.
What type of dialog do you use? @dragongesa
Fullscreen or Positioned ?
@feduke-nukem hi, i tried it with FullScreen, not sure if the Positioned also have that issue
@feduke-nukem hi, i tried it with FullScreen, not sure if the Positioned also have that issue
Please try to pass androidWillPop
argument into FullScreenDialog
.
Let me know if it helps.
FlutterEasyDialogs: Dialogs can be dismissed with navigator.pop or router.pop
Description
In the current implementation of FlutterEasyDialogs, dialogs can be dismissed using
navigator.pop()
orrouter.pop()
. This behavior is undesirable as it allows dialogs to be closed through methods other than the intended.hide()
method. Dialogs should only be dismissible through the.hide()
method to ensure proper control and functionality.Steps to Reproduce
navigator.pop()
orrouter.pop()
Expected Behavior
The dialog should remain visible when
navigator.pop()
orrouter.pop()
is called. It should only be dismissible through the.hide()
method provided by FlutterEasyDialogs.Actual Behavior
The dialog is dismissed when
navigator.pop()
orrouter.pop()
is called, bypassing the intended dismissal method.Additional Information
Proposed Solution
Modify the FlutterEasyDialogs implementation to intercept or override the default pop behavior. This could involve:
.hide()
methodMinimal Reproducible Example