dismissByIds method
Dismisses multiple modals by their IDs
This method attempts to dismiss each modal in the provided list of IDs. It's useful when you need to clean up multiple modals at once.
Parameters:
ids: List of modal IDs to dismissonDismissed: Optional callback executed after all modals are dismissed
Returns a list of IDs that were successfully dismissed.
Example:
final dismissed = await Modal.dismissByIds(['modal1', 'modal2', 'modal3']);
print('Dismissed: $dismissed');
Implementation
Future<List<String>> dismissByIds(List<String> ids,
{VoidCallback? onDismissed}) async {
if (_showDebugPrints) {
debugPrint('Modal.dismissByIds: dismissing IDs: $ids');
}
final dismissedIds = <String>[];
for (final id in ids) {
final wasFound = await dismissById(id);
if (wasFound) {
dismissedIds.add(id);
}
}
onDismissed?.call();
if (_showDebugPrints) {
debugPrint('Modal.dismissByIds: successfully dismissed: $dismissedIds');
}
return dismissedIds;
}