Skip to content

Commit

Permalink
feat: expose YaruNavigationPage.navigatorKey and onGenerateRoute (#730)
Browse files Browse the repository at this point in the history
  • Loading branch information
jpnurmi authored Jul 4, 2023
1 parent 8016dca commit dc9af5c
Showing 1 changed file with 11 additions and 1 deletion.
12 changes: 11 additions & 1 deletion lib/src/widgets/navi_rail/yaru_navigation_page.dart
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ class YaruNavigationPage extends StatefulWidget {
this.controller,
this.leading,
this.trailing,
this.onGenerateRoute,
this.navigatorKey,
}) : assert(initialIndex == null || controller == null),
assert((length == null) != (controller == null));

Expand Down Expand Up @@ -60,19 +62,26 @@ class YaruNavigationPage extends StatefulWidget {
/// The trailing widget in the rail that is placed below the destinations.
final Widget? trailing;

/// Called to generate a route for a given [RouteSettings].
final RouteFactory? onGenerateRoute;

/// A key to use when building the [Navigator] widget.
final GlobalKey<NavigatorState>? navigatorKey;

@override
State<YaruNavigationPage> createState() => _YaruNavigationPageState();
}

class _YaruNavigationPageState extends State<YaruNavigationPage> {
late final ScrollController _scrollController;
late YaruPageController _pageController;
final _navigatorKey = GlobalKey<NavigatorState>();
late final GlobalKey<NavigatorState> _navigatorKey;

@override
void initState() {
super.initState();
_scrollController = ScrollController();
_navigatorKey = widget.navigatorKey ?? GlobalKey<NavigatorState>();
_updatePageController();
}

Expand Down Expand Up @@ -182,6 +191,7 @@ class _YaruNavigationPageState extends State<YaruNavigationPage> {
: widget.pageBuilder(context, 0),
),
],
onGenerateRoute: widget.onGenerateRoute,
onPopPage: (route, result) => route.didPop(result),
observers: [HeroController()],
),
Expand Down

0 comments on commit dc9af5c

Please sign in to comment.