From 3ebc12f7ff9006996a8e2b2f84c1295e8f698a7d Mon Sep 17 00:00:00 2001 From: Luke Date: Wed, 26 Apr 2017 16:34:56 -0700 Subject: [PATCH] Add transitioned page router creation function --- lib/src/router.dart | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/lib/src/router.dart b/lib/src/router.dart index 94c10a3..7e3a3c3 100644 --- a/lib/src/router.dart +++ b/lib/src/router.dart @@ -8,7 +8,22 @@ class Router { AppRoute notFoundRoute; /// Creates a custom [Route] definition - void defineRoute>(String routePath, {@required RouteCreator creator}) { + void defineRoute(String routePath, {@required RouteCreator creator}) { + _routeTree.addRoute(new AppRoute(routePath, creator)); + } + + /// Creates a [PageRoute] definition for the passed [RouteHandler]. You can optionally provide a custom + /// transition builder for the route. + void defineRouteHandler(String routePath, {@required RouteHandler handler, RouteTransitionsBuilder transitionsBuilder, + Duration duration = const Duration(milliseconds: 250)}) + { + RouteCreator creator = (RouteSettings routeSettings, Map params) { + return new PageRouteBuilder(settings: routeSettings, transitionDuration: duration, + transitionsBuilder: transitionsBuilder, + pageBuilder: (BuildContext context, Animation animation, Animation secondaryAnimation) { + return handler(params); + }); + }; _routeTree.addRoute(new AppRoute(routePath, creator)); }