Add callback for on modal dismiss with drag to be utilized in Navigator 2.0 #15
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds
onModalDismissedWithDrag
field to theWoltModalSheetRoute
to detect the modal dismiss with drag gesture.When using imperative API, it is enough to call
Navigator.of(context).pop()
to dismiss the modal. In fact, this is the default behavior when dismiss callbacks are not provided by the library users. However, using Navigator 2.0 requires actions in the callbacks to update the app state that builds the navigation stack on modal dismiss events.In this screen recording from navigator2 playground example, it can be seen that the address bar is updated with both barrier tap and dismiss by frag events.
Note that earlier, this was handled in router delegate with Navigator's
onPop
callback. We no longer need to handle this imperatively in the Navigator widget.on_dismissed_with_drag.mov