openDialog<T> method

  1. @override
Future<T?> openDialog<T>({
  1. required Widget dialog,
  2. bool barrierDismissible = true,
  3. Color? barrierColor = Colors.black54,
  4. String? barrierLabel,
  5. bool useSafeArea = true,
  6. bool useRootNavigator = false,
  7. RouteSettings? routeSettings,
  8. Offset? anchorPoint,
  9. TraversalEdgeBehavior? traversalEdgeBehavior,
})
override

Implementation

@override
Future<T?> openDialog<T>({
  required Widget dialog,
  bool barrierDismissible = true,
  Color? barrierColor = Colors.black54,
  String? barrierLabel,
  bool useSafeArea = true,
  bool useRootNavigator = false,
  RouteSettings? routeSettings,
  Offset? anchorPoint,
  TraversalEdgeBehavior? traversalEdgeBehavior,
}) async {
  String runtimeType = dialog.runtimeType.toString();
  registerPopUp(runtimeType: runtimeType, key: dialog.key, isDialog: true);
  String dialogNameAndKey = openedDialogOrBottomSheetList.last;

  T? output;
  output = await showDialog<T>(
    context: context,
    builder: (_) => dialog,
    barrierDismissible: barrierDismissible,
    barrierColor: barrierColor,
    barrierLabel: barrierLabel,
    useSafeArea: useSafeArea,
    useRootNavigator: useRootNavigator,
    routeSettings: routeSettings ?? RouteSettings(name: dialogNameAndKey),
    anchorPoint: anchorPoint,
    traversalEdgeBehavior: traversalEdgeBehavior,
  );

  removePopUpNameAndKey(nameAndKey: dialogNameAndKey, isDialog: true);
  return output;
}