open method
Attempts to open the modal.
Returns a future that completes with true
if it succeeds.
Implementation
@override
Future<bool> open() {
if (_pendingOpen == null) {
final controller = AsyncActionController<dynamic>();
controller.execute(_showModalOverlay);
_pendingOpen = controller.action!.onDone.then((completed) {
_pendingOpen = null;
if (completed == null) {
return false;
}
if (completed is bool) {
return completed;
}
return false;
});
_onOpen.add(controller.action);
}
return _pendingOpen ?? Future.value(false);
}