GetNavigator.onGenerateRoute constructor

GetNavigator.onGenerateRoute({
  1. required List<GetPage> pages,
  2. GlobalKey<NavigatorState>? key,
  3. bool onPopPage(
    1. Route,
    2. dynamic
    )?,
  4. List<NavigatorObserver>? observers,
  5. bool reportsRouteUpdateToEngine = false,
  6. TransitionDelegate? transitionDelegate,
  7. String? initialRoute,
  8. String? restorationScopeId,
})

Implementation

GetNavigator.onGenerateRoute({
  required List<GetPage> super.pages,
  GlobalKey<NavigatorState>? super.key,
  bool Function(Route<dynamic>, dynamic)? onPopPage,
  List<NavigatorObserver>? observers,
  super.reportsRouteUpdateToEngine,
  TransitionDelegate? transitionDelegate,
  super.initialRoute,
  super.restorationScopeId,
}) : super(
        //keys should be optional
        onPopPage: onPopPage ??
            (Route route, result) {
              final bool didPop = route.didPop(result);
              if (!didPop) {
                return false;
              }
              return true;
            },
        onGenerateRoute: (RouteSettings settings) {
          final Iterable<GetPage> selectedPageList =
              pages.where((GetPage element) => element.name == settings.name);
          if (selectedPageList.isNotEmpty) {
            final GetPage selectedPage = selectedPageList.first;
            return GetPageRoute(
              page: selectedPage.page,
              settings: settings,
            );
          }
          return null;
        },
        observers: <NavigatorObserver>[
          ...?observers,
        ],
        transitionDelegate:
            transitionDelegate ?? const DefaultTransitionDelegate<dynamic>(),
      );