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
Jonatas
2021-02-12 13:13:53 -0300
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
51f85de6e990b365f18db57e03f228f0c4859e30
51f85de6
1 parent
9feafa28
added parameters to all named navigation methods
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
50 additions
and
31 deletions
lib/get_navigation/src/extension_navigation.dart
test/navigation/parse_route_test.dart
lib/get_navigation/src/extension_navigation.dart
View file @
51f85de
...
...
@@ -541,24 +541,22 @@ extension GetNavigation on GetInterface {
String
page
,
{
dynamic
arguments
,
int
id
,
Map
<
String
,
String
>
parameters
,
bool
preventDuplicates
=
true
,
Map
<
String
,
String
>
parameters
,
})
{
Get
.
parameters
=
({});
if
(
parameters
!=
null
)
{
for
(
var
item
in
parameters
.
keys
)
{
if
(
page
.
contains
(
'?'
))
{
page
+=
"&
$item
=
${parameters[item]}
"
;
}
else
{
page
+=
"?
$item
=
${parameters[item]}
"
;
}
}
}
if
(
preventDuplicates
&&
page
==
currentRoute
)
{
return
null
;
}
return
global
(
id
)?.
currentState
?.
pushNamed
<
T
>(
page
,
arguments:
arguments
);
if
(
parameters
!=
null
)
{
final
uri
=
Uri
(
path:
page
,
queryParameters:
parameters
);
page
=
uri
.
toString
();
}
return
global
(
id
)?.
currentState
?.
pushNamed
<
T
>(
page
,
arguments:
arguments
,
);
}
/// **Navigation.pushReplacementNamed()** shortcut.<br><br>
...
...
@@ -582,13 +580,20 @@ extension GetNavigation on GetInterface {
dynamic
arguments
,
int
id
,
bool
preventDuplicates
=
true
,
Map
<
String
,
String
>
parameters
,
})
{
if
(
preventDuplicates
&&
page
==
currentRoute
)
{
return
null
;
}
return
global
(
id
)
?.
currentState
?.
pushReplacementNamed
(
page
,
arguments:
arguments
);
if
(
parameters
!=
null
)
{
final
uri
=
Uri
(
path:
page
,
queryParameters:
parameters
);
page
=
uri
.
toString
();
}
return
global
(
id
)?.
currentState
?.
pushReplacementNamed
(
page
,
arguments:
arguments
,
);
}
/// **Navigation.popUntil()** shortcut.<br><br>
...
...
@@ -657,10 +662,18 @@ extension GetNavigation on GetInterface {
RoutePredicate
predicate
,
{
int
id
,
dynamic
arguments
,
Map
<
String
,
String
>
parameters
,
})
{
return
global
(
id
)
?.
currentState
?.
pushNamedAndRemoveUntil
<
T
>(
page
,
predicate
,
arguments:
arguments
);
if
(
parameters
!=
null
)
{
final
uri
=
Uri
(
path:
page
,
queryParameters:
parameters
);
page
=
uri
.
toString
();
}
return
global
(
id
)?.
currentState
?.
pushNamedAndRemoveUntil
<
T
>(
page
,
predicate
,
arguments:
arguments
,
);
}
/// **Navigation.popAndPushNamed()** shortcut.<br><br>
...
...
@@ -679,10 +692,17 @@ extension GetNavigation on GetInterface {
dynamic
arguments
,
int
id
,
dynamic
result
,
Map
<
String
,
String
>
parameters
,
})
{
return
global
(
id
)
?.
currentState
?.
popAndPushNamed
(
page
,
arguments:
arguments
,
result:
result
);
if
(
parameters
!=
null
)
{
final
uri
=
Uri
(
path:
page
,
queryParameters:
parameters
);
page
=
uri
.
toString
();
}
return
global
(
id
)?.
currentState
?.
popAndPushNamed
(
page
,
arguments:
arguments
,
result:
result
,
);
}
/// **Navigation.removeRoute()** shortcut.<br><br>
...
...
@@ -720,7 +740,13 @@ extension GetNavigation on GetInterface {
RoutePredicate
predicate
,
dynamic
arguments
,
int
id
,
Map
<
String
,
String
>
parameters
,
})
{
if
(
parameters
!=
null
)
{
final
uri
=
Uri
(
path:
newRouteName
,
queryParameters:
parameters
);
newRouteName
=
uri
.
toString
();
}
return
global
(
id
)?.
currentState
?.
pushNamedAndRemoveUntil
<
T
>(
newRouteName
,
predicate
??
(
_
)
=>
false
,
...
...
test/navigation/parse_route_test.dart
View file @
51f85de
...
...
@@ -95,7 +95,7 @@ void main() {
await
tester
.
pumpWidget
(
GetMaterialApp
(
initialRoute:
'/first/juan'
,
getPages:
[
GetPage
(
page:
()
=>
Container
(),
name:
'/
buda
'
),
GetPage
(
page:
()
=>
Container
(),
name:
'/
first/:name
'
),
GetPage
(
page:
()
=>
Container
(),
name:
'/italy'
),
],
));
...
...
@@ -107,20 +107,13 @@ void main() {
};
// print("Get.parameters: ${Get.parameters}");
parameters
.
addAll
({
"a"
:
"b"
,
"c"
:
"d"
});
Get
.
toNamed
(
"/
buda
"
,
parameters:
parameters
);
Get
.
toNamed
(
"/
italy
"
,
parameters:
parameters
);
await
tester
.
pumpAndSettle
();
expect
(
Get
.
parameters
[
'varginias'
],
'varginia'
);
expect
(
Get
.
parameters
[
'vinis'
],
'viniiss'
);
expect
(
Get
.
parameters
[
'a'
],
'b'
);
expect
(
Get
.
parameters
[
'c'
],
'd'
);
Map
<
String
,
String
>
italyParameters
;
italyParameters
=
{
"ja"
:
"ca"
,
"que"
:
"i"
};
Get
.
toNamed
(
"/italy"
,
parameters:
italyParameters
);
await
tester
.
pumpAndSettle
();
expect
(
Get
.
parameters
[
'ja'
],
'ca'
);
expect
(
Get
.
parameters
[
'que'
],
'i'
);
},
);
}
...
...
Please
register
or
login
to post a comment