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
Jonny Borges
2021-07-17 22:57:50 -0300
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
aefbfe5514d24ceaf91a703edbb3ba91b4a33554
aefbfe55
1 parent
4f423d1f
fix linter errors
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
43 additions
and
149 deletions
example_nav2/lib/app/modules/root/views/drawer.dart
example_nav2/lib/app/routes/app_pages.dart
example_nav2/lib/main.dart
lib/get_navigation/src/extension_navigation.dart
lib/get_navigation/src/nav2/get_router_delegate.dart
lib/get_navigation/src/nav2/router_outlet.dart
lib/get_navigation/src/root/parse_route.dart
lib/get_navigation/src/root/root_controller.dart
lib/get_navigation/src/routes/get_page_route.dart
lib/get_navigation/src/routes/get_route.dart
lib/get_navigation/src/routes/transitions_component.dart
lib/get_utils/src/extensions/export.dart
example_nav2/lib/app/modules/root/views/drawer.dart
View file @
aefbfe5
import
'package:example_nav2/services/auth_service.dart'
;
import
'package:flutter/material.dart'
;
import
'package:get/get.dart'
;
import
'../../../../services/auth_service.dart'
;
import
'../../../routes/app_pages.dart'
;
class
DrawerWidget
extends
StatelessWidget
{
...
...
example_nav2/lib/app/routes/app_pages.dart
View file @
aefbfe5
import
'package:example_nav2/app/middleware/auth_middleware.dart'
;
import
'package:get/get.dart'
;
import
'package:get/get_navigation/src/nav2/router_outlet.dart'
;
import
'package:example_nav2/app/modules/login/bindings/login_binding.dart'
;
import
'package:example_nav2/app/modules/login/views/login_view.dart'
;
import
'../middleware/auth_middleware.dart'
;
import
'../modules/home/bindings/home_binding.dart'
;
import
'../modules/home/views/home_view.dart'
;
import
'../modules/login/bindings/login_binding.dart'
;
import
'../modules/login/views/login_view.dart'
;
import
'../modules/product_details/bindings/product_details_binding.dart'
;
import
'../modules/product_details/views/product_details_view.dart'
;
import
'../modules/products/bindings/products_binding.dart'
;
...
...
example_nav2/lib/main.dart
View file @
aefbfe5
import
'package:example_nav2/services/auth_service.dart'
;
import
'package:flutter/material.dart'
;
import
'package:get/get.dart'
;
import
'package:get/get_navigation/src/nav2/get_router_delegate.dart'
;
import
'app/routes/app_pages.dart'
;
import
'services/auth_service.dart'
;
void
main
(
)
{
runApp
(
...
...
lib/get_navigation/src/extension_navigation.dart
View file @
aefbfe5
...
...
@@ -1011,8 +1011,7 @@ you can only use widgets and widget functions here''';
}
GlobalKey
<
NavigatorState
>?
addKey
(
GlobalKey
<
NavigatorState
>
newKey
)
{
getxController
.
key
=
newKey
;
return
key
;
return
getxController
.
addKey
(
newKey
);
}
GlobalKey
<
NavigatorState
>?
nestedKey
(
dynamic
key
)
{
...
...
lib/get_navigation/src/nav2/get_router_delegate.dart
View file @
aefbfe5
...
...
@@ -73,7 +73,10 @@ class GetDelegate extends RouterDelegate<GetNavConfig>
}
GetNavConfig
?
runMiddleware
(
GetNavConfig
config
)
{
final
middlewares
=
config
.
currentTreeBranch
.
last
.
middlewares
??
[];
final
middlewares
=
config
.
currentTreeBranch
.
last
.
middlewares
;
if
(
middlewares
==
null
)
{
return
config
;
}
var
iterator
=
config
;
for
(
var
item
in
middlewares
)
{
var
redirectRes
=
item
.
redirectDelegate
(
iterator
);
...
...
@@ -105,9 +108,9 @@ class GetDelegate extends RouterDelegate<GetNavConfig>
return
history
.
removeAt
(
index
);
}
void
_unsafeHistoryClear
()
{
history
.
clear
();
}
// void _unsafeHistoryClear() {
// history.clear();
// }
/// Adds a new history entry and waits for the result
Future
<
T
?>
pushHistory
<
T
>(
...
...
@@ -260,7 +263,7 @@ class GetDelegate extends RouterDelegate<GetNavConfig>
if
(
currentHistory
==
null
)
return
<
GetPage
>[];
final
res
=
currentHistory
.
currentTreeBranch
.
where
((
r
)
=>
r
.
participatesInRootNavigator
!=
null
);
.
where
((
r
)
=>
r
.
participatesInRootNavigator
);
if
(
res
.
length
==
0
)
{
//default behavoir, all routes participate in root navigator
return
currentHistory
.
currentTreeBranch
;
...
...
@@ -312,6 +315,7 @@ class GetDelegate extends RouterDelegate<GetNavConfig>
Future
<
T
?>
toNamed
<
T
>(
String
fullRoute
)
{
final
decoder
=
Get
.
routeTree
.
matchRoute
(
fullRoute
);
return
pushHistory
<
T
>(
GetNavConfig
(
currentTreeBranch:
decoder
.
treeBranch
,
...
...
@@ -421,7 +425,14 @@ class GetNavigator extends Navigator {
'GetNavigator should either have a key or a name set'
),
super
(
key:
key
??
Get
.
nestedKey
(
name
),
onPopPage:
onPopPage
,
onPopPage:
onPopPage
??
(
route
,
result
)
{
final
didPop
=
route
.
didPop
(
result
);
if
(!
didPop
)
{
return
false
;
}
return
true
;
},
reportsRouteUpdateToEngine:
reportsRouteUpdateToEngine
,
pages:
pages
,
observers:
[
...
...
lib/get_navigation/src/nav2/router_outlet.dart
View file @
aefbfe5
...
...
@@ -116,7 +116,11 @@ class GetRouterOutlet extends RouterOutlet<GetDelegate, GetNavConfig> {
if
(
pageRes
.
length
>
0
)
{
return
GetNavigator
(
onPopPage:
onPopPage
??
(
a
,
c
)
{
(
route
,
result
)
{
final
didPop
=
route
.
didPop
(
result
);
if
(!
didPop
)
{
return
false
;
}
return
true
;
},
pages:
pageRes
,
...
...
lib/get_navigation/src/root/parse_route.dart
View file @
aefbfe5
...
...
@@ -91,12 +91,12 @@ class ParseRouteTree {
List
<
GetPage
>
_flattenPage
(
GetPage
route
)
{
final
result
=
<
GetPage
>[];
if
(
route
.
children
==
null
||
route
.
children
!
.
isEmpty
)
{
if
(
route
.
children
.
isEmpty
)
{
return
result
;
}
final
parentPath
=
route
.
name
;
for
(
var
page
in
route
.
children
!
)
{
for
(
var
page
in
route
.
children
)
{
// Add Parent middlewares to children
final
parentMiddlewares
=
[
if
(
page
.
middlewares
!=
null
)
...
page
.
middlewares
!,
...
...
lib/get_navigation/src/root/root_controller.dart
View file @
aefbfe5
...
...
@@ -29,7 +29,14 @@ class GetMaterialController extends GetxController {
CustomTransition
?
customTransition
;
var
key
=
GlobalKey
<
NavigatorState
>(
debugLabel:
'Key Created by default'
);
var
_key
=
GlobalKey
<
NavigatorState
>(
debugLabel:
'Key Created by default'
);
GlobalKey
<
NavigatorState
>
get
key
=>
_key
;
GlobalKey
<
NavigatorState
>?
addKey
(
GlobalKey
<
NavigatorState
>
newKey
)
{
_key
=
newKey
;
return
key
;
}
Map
<
dynamic
,
GlobalKey
<
NavigatorState
>>
keys
=
{};
...
...
lib/get_navigation/src/routes/get_page_route.dart
deleted
100644 → 0
View file @
4f423d1
// import 'package:flutter/material.dart';
// import '../../../get.dart';
// import 'custom_transition.dart';
// import 'get_transition_mixin.dart';
// import 'route_middleware.dart';
// import 'transitions_type.dart';
// class GetPageRoute<T> extends PageRoute<T>
// with GetPageRouteTransitionMixin<T> {
// /// Creates a page route for use in an iOS designed app.
// ///
// /// The [builder], [maintainState], and [fullscreenDialog] arguments must not
// /// be null.
// GetPageRoute({
// RouteSettings? settings,
// this.transitionDuration = const Duration(milliseconds: 300),
// this.opaque = true,
// this.parameter,
// this.curve,
// this.alignment,
// this.transition,
// this.popGesture,
// this.customTransition,
// this.barrierDismissible = false,
// this.barrierColor,
// this.binding,
// this.bindings,
// this.routeName,
// this.page,
// this.title,
// this.barrierLabel,
// this.maintainState = true,
// bool fullscreenDialog = false,
// this.middlewares,
// }) : reference = "$routeName: ${settings?.hashCode ?? page.hashCode}",
// super(settings: settings, fullscreenDialog: fullscreenDialog);
// @override
// final Duration transitionDuration;
// final GetPageBuilder? page;
// final String? routeName;
// final String reference;
// final CustomTransition? customTransition;
// final Bindings? binding;
// final Map<String, String>? parameter;
// final List<Bindings>? bindings;
// @override
// final bool opaque;
// final bool? popGesture;
// @override
// final bool barrierDismissible;
// final Transition? transition;
// final Curve? curve;
// final Alignment? alignment;
// final List<GetMiddleware>? middlewares;
// @override
// final Color? barrierColor;
// @override
// final String? barrierLabel;
// @override
// final bool maintainState;
// @override
// void dispose() {
// super.dispose();
// if (Get.smartManagement != SmartManagement.onlyBuilder) {
// WidgetsBinding.instance!.addPostFrameCallback((_) {
// if (Get.reference != reference) {
// GetInstance().removeDependencyByRoute("$reference");
// }
// });
// }
// // if (Get.smartManagement != SmartManagement.onlyBuilder) {
// // GetInstance().removeDependencyByRoute("$reference");
// // }
// final middlewareRunner = MiddlewareRunner(middlewares);
// middlewareRunner.runOnPageDispose();
// }
// @override
// Widget buildContent(BuildContext context) {
// Get.reference = reference;
// final middlewareRunner = MiddlewareRunner(middlewares);
// final bindingsToBind = middlewareRunner.runOnBindingsStart(bindings);
// binding?.dependencies();
// if (bindingsToBind != null) {
// for (final binding in bindingsToBind) {
// binding.dependencies();
// }
// }
// final pageToBuild = middlewareRunner.runOnPageBuildStart(page)!;
// return middlewareRunner.runOnPageBuilt(pageToBuild());
// }
// @override
// final String? title;
// @override
// String get debugLabel => '${super.debugLabel}(${settings.name})';
// }
lib/get_navigation/src/routes/get_route.dart
View file @
aefbfe5
...
...
@@ -34,7 +34,7 @@ class GetPage<T> extends Page<T> {
final
String
?
title
;
final
Transition
?
transition
;
final
Curve
curve
;
final
bool
?
participatesInRootNavigator
;
final
bool
participatesInRootNavigator
;
final
Alignment
?
alignment
;
final
bool
maintainState
;
final
bool
opaque
;
...
...
@@ -57,7 +57,7 @@ class GetPage<T> extends Page<T> {
@override
final
String
name
;
final
List
<
GetPage
>
?
children
;
final
List
<
GetPage
>
children
;
final
List
<
GetMiddleware
>?
middlewares
;
final
PathDecoded
path
;
final
GetPage
?
unknownRoute
;
...
...
@@ -66,7 +66,7 @@ class GetPage<T> extends Page<T> {
required
this
.
name
,
required
this
.
page
,
this
.
title
,
this
.
participatesInRootNavigator
,
this
.
participatesInRootNavigator
=
true
,
this
.
gestureWidth
=
20
,
// RouteSettings settings,
this
.
maintainState
=
true
,
...
...
@@ -81,7 +81,7 @@ class GetPage<T> extends Page<T> {
this
.
transition
,
this
.
customTransition
,
this
.
fullscreenDialog
=
false
,
this
.
children
,
this
.
children
=
const
<
GetPage
>[]
,
this
.
middlewares
,
this
.
unknownRoute
,
this
.
preventDuplicates
=
true
,
...
...
lib/get_navigation/src/routes/transitions_component.dart
deleted
100644 → 0
View file @
4f423d1
import
'package:flutter/widgets.dart'
;
class
TransitionComponent
{
Widget
buildChildWithTransition
(
BuildContext
context
,
Curve
curve
,
Alignment
alignment
,
Animation
<
double
>
animation
,
Animation
<
double
>
secondaryAnimation
,
Widget
child
)
{
return
child
;
}
}
lib/get_utils/src/extensions/export.dart
View file @
aefbfe5
...
...
@@ -4,7 +4,7 @@ export 'duration_extensions.dart';
export
'dynamic_extensions.dart'
;
export
'event_loop_extensions.dart'
;
export
'internacionalization.dart'
;
export
'iterable_extensions.dart'
;
export
'num_extensions.dart'
;
export
'string_extensions.dart'
;
export
'widget_extensions.dart'
;
export
'iterable_extensions.dart'
;
...
...
Please
register
or
login
to post a comment