From 9f7cad3894de3e6e2878e363a393ea2be39c0d11 Mon Sep 17 00:00:00 2001 From: clchen Date: Fri, 5 Aug 2022 15:40:25 +0800 Subject: [PATCH] Public PaneItemKeys for support custom PaneItem --- lib/src/controls/navigation/navigation_view/body.dart | 8 ++++---- .../controls/navigation/navigation_view/pane_items.dart | 2 +- lib/src/controls/navigation/navigation_view/view.dart | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/src/controls/navigation/navigation_view/body.dart b/lib/src/controls/navigation/navigation_view/body.dart index 1e2ecdd09..ba5b3890c 100644 --- a/lib/src/controls/navigation/navigation_view/body.dart +++ b/lib/src/controls/navigation/navigation_view/body.dart @@ -255,8 +255,8 @@ class InheritedNavigationView extends InheritedWidget { } /// Makes the [GlobalKey]s for [PaneItem]s accesible on the scope. -class _PaneItemKeys extends InheritedWidget { - const _PaneItemKeys({ +class PaneItemKeys extends InheritedWidget { + const PaneItemKeys({ Key? key, required Widget child, required this.keys, @@ -267,12 +267,12 @@ class _PaneItemKeys extends InheritedWidget { /// Gets the item global key based on the index static GlobalKey of(int index, BuildContext context) { final reference = - context.dependOnInheritedWidgetOfExactType<_PaneItemKeys>()!; + context.dependOnInheritedWidgetOfExactType()!; return reference.keys[index]!; } @override - bool updateShouldNotify(_PaneItemKeys oldWidget) { + bool updateShouldNotify(PaneItemKeys oldWidget) { return keys != oldWidget.keys; } } diff --git a/lib/src/controls/navigation/navigation_view/pane_items.dart b/lib/src/controls/navigation/navigation_view/pane_items.dart index f868be0b0..8460de3b8 100644 --- a/lib/src/controls/navigation/navigation_view/pane_items.dart +++ b/lib/src/controls/navigation/navigation_view/pane_items.dart @@ -289,7 +289,7 @@ class PaneItem extends NavigationPaneItem { if (maybeBody?.pane?.indicator != null && index != null && !index.isNegative) { - final key = _PaneItemKeys.of(index, context); + final key = PaneItemKeys.of(index, context); return Stack(children: [ button, diff --git a/lib/src/controls/navigation/navigation_view/view.dart b/lib/src/controls/navigation/navigation_view/view.dart index 5ad60a27c..551e5eb32 100644 --- a/lib/src/controls/navigation/navigation_view/view.dart +++ b/lib/src/controls/navigation/navigation_view/view.dart @@ -527,7 +527,7 @@ class NavigationViewState extends State { minimalPaneOpen: _minimalPaneOpen, pane: widget.pane, oldIndex: oldIndex, - child: _PaneItemKeys(keys: _itemKeys, child: paneResult), + child: PaneItemKeys(keys: _itemKeys, child: paneResult), ), ); });