From fa05430e56df09b6a4c7a0d8efe910779b64bb7e Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Wed, 12 Jul 2023 18:50:50 +0200 Subject: [PATCH] feat: expose NavigationPage navigator observers --- .../navi_rail/yaru_navigation_page.dart | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/lib/src/widgets/navi_rail/yaru_navigation_page.dart b/lib/src/widgets/navi_rail/yaru_navigation_page.dart index 01e5583e0..45cc3cd22 100644 --- a/lib/src/widgets/navi_rail/yaru_navigation_page.dart +++ b/lib/src/widgets/navi_rail/yaru_navigation_page.dart @@ -28,6 +28,7 @@ class YaruNavigationPage extends StatefulWidget { this.leading, this.trailing, this.navigatorKey, + this.navigatorObservers = const [], this.initialRoute, this.onGenerateRoute, this.onUnknownRoute, @@ -67,13 +68,28 @@ class YaruNavigationPage extends StatefulWidget { /// A key to use when building the [Navigator] widget. final GlobalKey? navigatorKey; + /// A list of observers for the [Navigator] widget. + /// + /// See also: + /// * [Navigator.observers] + final List navigatorObservers; + /// The route name for the initial route. + /// + /// See also: + /// * [Navigator.initialRoute] final String? initialRoute; /// Called to generate a route for a given [RouteSettings]. + /// + /// See also: + /// * [Navigator.onGenerateRoute] final RouteFactory? onGenerateRoute; /// Called when [onGenerateRoute] fails to generate a route. + /// + /// See also: + /// * [Navigator.onUnknownRoute] final RouteFactory? onUnknownRoute; @override @@ -203,7 +219,7 @@ class _YaruNavigationPageState extends State { onGenerateRoute: widget.onGenerateRoute, onUnknownRoute: widget.onUnknownRoute, onPopPage: (route, result) => route.didPop(result), - observers: [HeroController()], + observers: [...widget.navigatorObservers, HeroController()], ), ), );