From 6fa74ac2c02a286dabe2a7e2aef77e723fe996a2 Mon Sep 17 00:00:00 2001 From: Gibah Joseph Date: Tue, 12 Jan 2021 08:24:10 +0100 Subject: [PATCH] added route generator to routes --- .../lib/src/core/interfaces/modular_route.dart | 2 +- flutter_modular/lib/src/core/models/child_route.dart | 11 ++++++++++- flutter_modular/lib/src/core/models/module_route.dart | 4 ++-- .../lib/src/core/models/wildcard_route.dart | 3 ++- 4 files changed, 15 insertions(+), 5 deletions(-) diff --git a/flutter_modular/lib/src/core/interfaces/modular_route.dart b/flutter_modular/lib/src/core/interfaces/modular_route.dart index 4d7fcf5c..4be00751 100644 --- a/flutter_modular/lib/src/core/interfaces/modular_route.dart +++ b/flutter_modular/lib/src/core/interfaces/modular_route.dart @@ -8,7 +8,7 @@ import '../models/modular_arguments.dart'; import 'child_module.dart'; import 'route_guard.dart'; -typedef RouteBuilder = MaterialPageRoute Function( +typedef RouteBuilder = Route Function( WidgetBuilder, RouteSettings); typedef ModularChild = Widget Function( BuildContext context, ModularArguments? args); diff --git a/flutter_modular/lib/src/core/models/child_route.dart b/flutter_modular/lib/src/core/models/child_route.dart index ff61b441..cfc9eb77 100644 --- a/flutter_modular/lib/src/core/models/child_route.dart +++ b/flutter_modular/lib/src/core/models/child_route.dart @@ -14,6 +14,15 @@ class ChildRoute extends ModularRouteImpl { List? guards, TransitionType transition = TransitionType.defaultTransition, CustomTransition? customTransition, + RouteBuilder? routeGenerator, Duration duration = const Duration(milliseconds: 300), - }) : super(routerName, routerOutlet: [], duration: duration, child: child, customTransition: customTransition, children: children, guards: guards, transition: transition); + }) : super(routerName, + routerOutlet: [], + duration: duration, + child: child, + routeGenerator: routeGenerator, + customTransition: customTransition, + children: children, + guards: guards, + transition: transition); } diff --git a/flutter_modular/lib/src/core/models/module_route.dart b/flutter_modular/lib/src/core/models/module_route.dart index f941c035..fe73b9d7 100644 --- a/flutter_modular/lib/src/core/models/module_route.dart +++ b/flutter_modular/lib/src/core/models/module_route.dart @@ -10,8 +10,8 @@ class ModuleRoute extends ModularRouteImpl { required ChildModule module, List? guards, TransitionType transition = TransitionType.defaultTransition, - CustomTransition? customTransition, + CustomTransition? customTransition, RouteBuilder? routeGenerator, Duration duration = const Duration(milliseconds: 300), }) : assert(!routerName.contains('/:'), 'ModuleRoute should not contain dynamic route'), - super(routerName, routerOutlet: [], duration: duration, module: module, customTransition: customTransition, guards: guards, transition: transition); + super(routerName, routerOutlet: [], duration: duration,routeGenerator: routeGenerator, module: module, customTransition: customTransition, guards: guards, transition: transition); } diff --git a/flutter_modular/lib/src/core/models/wildcard_route.dart b/flutter_modular/lib/src/core/models/wildcard_route.dart index 305ce808..a17077ab 100644 --- a/flutter_modular/lib/src/core/models/wildcard_route.dart +++ b/flutter_modular/lib/src/core/models/wildcard_route.dart @@ -13,6 +13,7 @@ class WildcardRoute extends ModularRouteImpl { List? guards, TransitionType transition = TransitionType.defaultTransition, CustomTransition? customTransition, + RouteBuilder? routeGenerator, Duration duration = const Duration(milliseconds: 300), - }) : super('**', routerOutlet: [], duration: duration, child: child, customTransition: customTransition, children: children, guards: guards, transition: transition); + }) : super('**', routerOutlet: [], duration: duration, child: child,routeGenerator: routeGenerator, customTransition: customTransition, children: children, guards: guards, transition: transition); }