Showing
3 changed files
with
18 additions
and
6 deletions
@@ -21,7 +21,7 @@ class HomeView extends GetView<HomeController> { | @@ -21,7 +21,7 @@ class HomeView extends GetView<HomeController> { | ||
21 | return Scaffold( | 21 | return Scaffold( |
22 | body: GetRouterOutlet( | 22 | body: GetRouterOutlet( |
23 | initialRoute: Routes.DASHBOARD, | 23 | initialRoute: Routes.DASHBOARD, |
24 | - anchorRoute: Routes.HOME, | 24 | + // anchorRoute: Routes.HOME, |
25 | key: Get.nestedKey(Routes.HOME), | 25 | key: Get.nestedKey(Routes.HOME), |
26 | ), | 26 | ), |
27 | bottomNavigationBar: BottomNavigationBar( | 27 | bottomNavigationBar: BottomNavigationBar( |
@@ -19,7 +19,7 @@ class RootView extends GetView<RootController> { | @@ -19,7 +19,7 @@ class RootView extends GetView<RootController> { | ||
19 | ), | 19 | ), |
20 | body: GetRouterOutlet( | 20 | body: GetRouterOutlet( |
21 | initialRoute: Routes.HOME, | 21 | initialRoute: Routes.HOME, |
22 | - anchorRoute: '/', | 22 | + // anchorRoute: '/', |
23 | filterPages: (afterAnchor) { | 23 | filterPages: (afterAnchor) { |
24 | return afterAnchor.take(1); | 24 | return afterAnchor.take(1); |
25 | }, | 25 | }, |
@@ -83,8 +83,18 @@ class GetRouterOutlet extends RouterOutlet<GetDelegate, GetNavConfig> { | @@ -83,8 +83,18 @@ class GetRouterOutlet extends RouterOutlet<GetDelegate, GetNavConfig> { | ||
83 | GlobalKey<NavigatorState>? key, | 83 | GlobalKey<NavigatorState>? key, |
84 | }) : this.pickPages( | 84 | }) : this.pickPages( |
85 | pickPages: (config) { | 85 | pickPages: (config) { |
86 | - var ret = config.currentTreeBranch | ||
87 | - .pickAfterRoute(anchorRoute ?? initialRoute); | 86 | + Iterable<GetPage<dynamic>> ret; |
87 | + if (anchorRoute == null) { | ||
88 | + //anchorRoute = initialRoute minus last segment | ||
89 | + final parsedUri = Uri.parse(initialRoute); | ||
90 | + final replacedUri = parsedUri.replace( | ||
91 | + pathSegments: parsedUri.pathSegments.take( | ||
92 | + parsedUri.pathSegments.length - 1, | ||
93 | + ), | ||
94 | + ); | ||
95 | + anchorRoute = '/$replacedUri'; | ||
96 | + } | ||
97 | + ret = config.currentTreeBranch.pickAfterRoute(anchorRoute!); | ||
88 | if (filterPages != null) { | 98 | if (filterPages != null) { |
89 | ret = filterPages(ret); | 99 | ret = filterPages(ret); |
90 | } | 100 | } |
@@ -145,10 +155,12 @@ class GetRouterOutlet extends RouterOutlet<GetDelegate, GetNavConfig> { | @@ -145,10 +155,12 @@ class GetRouterOutlet extends RouterOutlet<GetDelegate, GetNavConfig> { | ||
145 | 155 | ||
146 | extension PagesListExt on List<GetPage> { | 156 | extension PagesListExt on List<GetPage> { |
147 | Iterable<GetPage> pickAtRoute(String route) { | 157 | Iterable<GetPage> pickAtRoute(String route) { |
148 | - return skipWhile((value) => value.name != route).toList(); | 158 | + return skipWhile((value) { |
159 | + return value.name != route; | ||
160 | + }); | ||
149 | } | 161 | } |
150 | 162 | ||
151 | Iterable<GetPage> pickAfterRoute(String route) { | 163 | Iterable<GetPage> pickAfterRoute(String route) { |
152 | - return skipWhile((value) => value.name != route).skip(1).toList(); | 164 | + return pickAtRoute(route).skip(1); |
153 | } | 165 | } |
154 | } | 166 | } |
-
Please register or login to post a comment