Toggle navigation
Toggle navigation
This project
Loading...
Sign in
flutter_package
/
fluttertpc_get
Go to a project
Toggle navigation
Projects
Groups
Snippets
Help
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
Ahmed Fwela
2021-07-22 02:13:28 +0200
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
360c76c12da951d75073b0afec16fcc611664f64
360c76c1
1 parent
8928406a
predict anchorRoute when null
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
18 additions
and
6 deletions
example_nav2/lib/app/modules/home/views/home_view.dart
example_nav2/lib/app/modules/root/views/root_view.dart
lib/get_navigation/src/nav2/router_outlet.dart
example_nav2/lib/app/modules/home/views/home_view.dart
View file @
360c76c
...
...
@@ -21,7 +21,7 @@ class HomeView extends GetView<HomeController> {
return
Scaffold
(
body:
GetRouterOutlet
(
initialRoute:
Routes
.
DASHBOARD
,
anchorRoute:
Routes
.
HOME
,
//
anchorRoute: Routes.HOME,
key:
Get
.
nestedKey
(
Routes
.
HOME
),
),
bottomNavigationBar:
BottomNavigationBar
(
...
...
example_nav2/lib/app/modules/root/views/root_view.dart
View file @
360c76c
...
...
@@ -19,7 +19,7 @@ class RootView extends GetView<RootController> {
),
body:
GetRouterOutlet
(
initialRoute:
Routes
.
HOME
,
anchorRoute:
'/'
,
//
anchorRoute: '/',
filterPages:
(
afterAnchor
)
{
return
afterAnchor
.
take
(
1
);
},
...
...
lib/get_navigation/src/nav2/router_outlet.dart
View file @
360c76c
...
...
@@ -83,8 +83,18 @@ class GetRouterOutlet extends RouterOutlet<GetDelegate, GetNavConfig> {
GlobalKey
<
NavigatorState
>?
key
,
})
:
this
.
pickPages
(
pickPages:
(
config
)
{
var
ret
=
config
.
currentTreeBranch
.
pickAfterRoute
(
anchorRoute
??
initialRoute
);
Iterable
<
GetPage
<
dynamic
>>
ret
;
if
(
anchorRoute
==
null
)
{
//anchorRoute = initialRoute minus last segment
final
parsedUri
=
Uri
.
parse
(
initialRoute
);
final
replacedUri
=
parsedUri
.
replace
(
pathSegments:
parsedUri
.
pathSegments
.
take
(
parsedUri
.
pathSegments
.
length
-
1
,
),
);
anchorRoute
=
'/
$replacedUri
'
;
}
ret
=
config
.
currentTreeBranch
.
pickAfterRoute
(
anchorRoute
!);
if
(
filterPages
!=
null
)
{
ret
=
filterPages
(
ret
);
}
...
...
@@ -145,10 +155,12 @@ class GetRouterOutlet extends RouterOutlet<GetDelegate, GetNavConfig> {
extension
PagesListExt
on
List
<
GetPage
>
{
Iterable
<
GetPage
>
pickAtRoute
(
String
route
)
{
return
skipWhile
((
value
)
=>
value
.
name
!=
route
).
toList
();
return
skipWhile
((
value
)
{
return
value
.
name
!=
route
;
});
}
Iterable
<
GetPage
>
pickAfterRoute
(
String
route
)
{
return
skipWhile
((
value
)
=>
value
.
name
!=
route
).
skip
(
1
).
toList
(
);
return
pickAtRoute
(
route
).
skip
(
1
);
}
}
...
...
Please
register
or
login
to post a comment