Jonny Borges
Committed by GitHub

Merge pull request #727 from unacorbatanegra/master

Navigation Generic && Arguments
@@ -104,7 +104,7 @@ extension ExtensionSnackbar on GetInterface { @@ -104,7 +104,7 @@ extension ExtensionSnackbar on GetInterface {
104 return key?.currentState?.push(SnackRoute<T>(snack: snackbar)); 104 return key?.currentState?.push(SnackRoute<T>(snack: snackbar));
105 } 105 }
106 106
107 - void snackbar( 107 + void snackbar<T>(
108 String title, 108 String title,
109 String message, { 109 String message, {
110 Color colorText, 110 Color colorText,
@@ -199,11 +199,11 @@ extension ExtensionSnackbar on GetInterface { @@ -199,11 +199,11 @@ extension ExtensionSnackbar on GetInterface {
199 userInputForm: userInputForm); 199 userInputForm: userInputForm);
200 200
201 if (instantInit) { 201 if (instantInit) {
202 - showSnackbar(getBar); 202 + showSnackbar<T>(getBar);
203 } else { 203 } else {
204 routing.isSnackbar = true; 204 routing.isSnackbar = true;
205 SchedulerBinding.instance.addPostFrameCallback((_) { 205 SchedulerBinding.instance.addPostFrameCallback((_) {
206 - showSnackbar(getBar); 206 + showSnackbar<T>(getBar);
207 }); 207 });
208 } 208 }
209 } 209 }
@@ -220,9 +220,11 @@ extension ExtensionDialog on GetInterface { @@ -220,9 +220,11 @@ extension ExtensionDialog on GetInterface {
220 Color barrierColor, 220 Color barrierColor,
221 bool useSafeArea = true, 221 bool useSafeArea = true,
222 bool useRootNavigator = true, 222 bool useRootNavigator = true,
223 - RouteSettings routeSettings, 223 + Object arguments,
224 Duration transitionDuration, 224 Duration transitionDuration,
225 Curve transitionCurve, 225 Curve transitionCurve,
  226 + String name,
  227 + RouteSettings routeSettings,
226 }) { 228 }) {
227 assert(widget != null); 229 assert(widget != null);
228 assert(barrierDismissible != null); 230 assert(barrierDismissible != null);
@@ -231,7 +233,7 @@ extension ExtensionDialog on GetInterface { @@ -231,7 +233,7 @@ extension ExtensionDialog on GetInterface {
231 assert(debugCheckHasMaterialLocalizations(context)); 233 assert(debugCheckHasMaterialLocalizations(context));
232 234
233 final theme = Theme.of(context, shadowThemeOnly: true); 235 final theme = Theme.of(context, shadowThemeOnly: true);
234 - return generalDialog( 236 + return generalDialog<T>(
235 pageBuilder: (buildContext, animation, secondaryAnimation) { 237 pageBuilder: (buildContext, animation, secondaryAnimation) {
236 final pageChild = widget; 238 final pageChild = widget;
237 Widget dialog = Builder(builder: (context) { 239 Widget dialog = Builder(builder: (context) {
@@ -258,7 +260,8 @@ extension ExtensionDialog on GetInterface { @@ -258,7 +260,8 @@ extension ExtensionDialog on GetInterface {
258 ); 260 );
259 }, 261 },
260 useRootNavigator: useRootNavigator, 262 useRootNavigator: useRootNavigator,
261 - routeSettings: routeSettings, 263 + routeSettings:
  264 + routeSettings ?? RouteSettings(arguments: arguments, name: name),
262 ); 265 );
263 } 266 }
264 267
@@ -360,7 +363,7 @@ extension ExtensionDialog on GetInterface { @@ -360,7 +363,7 @@ extension ExtensionDialog on GetInterface {
360 } 363 }
361 } 364 }
362 365
363 - return dialog( 366 + return dialog<T>(
364 AlertDialog( 367 AlertDialog(
365 titlePadding: EdgeInsets.all(8), 368 titlePadding: EdgeInsets.all(8),
366 contentPadding: EdgeInsets.all(8), 369 contentPadding: EdgeInsets.all(8),
@@ -484,8 +487,8 @@ extension GetNavigation on GetInterface { @@ -484,8 +487,8 @@ extension GetNavigation on GetInterface {
484 if (preventDuplicates && routeName == currentRoute) { 487 if (preventDuplicates && routeName == currentRoute) {
485 return null; 488 return null;
486 } 489 }
487 - return global(id)?.currentState?.push(  
488 - GetPageRoute( 490 + return global(id)?.currentState?.push<T>(
  491 + GetPageRoute<T>(
489 opaque: opaque ?? true, 492 opaque: opaque ?? true,
490 page: () => page, 493 page: () => page,
491 routeName: routeName, 494 routeName: routeName,
@@ -528,7 +531,7 @@ extension GetNavigation on GetInterface { @@ -528,7 +531,7 @@ extension GetNavigation on GetInterface {
528 if (preventDuplicates && page == currentRoute) { 531 if (preventDuplicates && page == currentRoute) {
529 return null; 532 return null;
530 } 533 }
531 - return global(id)?.currentState?.pushNamed(page, arguments: arguments); 534 + return global(id)?.currentState?.pushNamed<T>(page, arguments: arguments);
532 } 535 }
533 536
534 /// **Navigation.pushReplacementNamed()** shortcut.<br><br> 537 /// **Navigation.pushReplacementNamed()** shortcut.<br><br>
@@ -601,7 +604,7 @@ extension GetNavigation on GetInterface { @@ -601,7 +604,7 @@ extension GetNavigation on GetInterface {
601 Future<T> offUntil<T>(Route<T> page, RoutePredicate predicate, {int id}) { 604 Future<T> offUntil<T>(Route<T> page, RoutePredicate predicate, {int id}) {
602 // if (key.currentState.mounted) // add this if appear problems on future with route navigate 605 // if (key.currentState.mounted) // add this if appear problems on future with route navigate
603 // when widget don't mounted 606 // when widget don't mounted
604 - return global(id)?.currentState?.pushAndRemoveUntil(page, predicate); 607 + return global(id)?.currentState?.pushAndRemoveUntil<T>(page, predicate);
605 } 608 }
606 609
607 /// **Navigation.pushNamedAndRemoveUntil()** shortcut.<br><br> 610 /// **Navigation.pushNamedAndRemoveUntil()** shortcut.<br><br>
@@ -629,7 +632,7 @@ extension GetNavigation on GetInterface { @@ -629,7 +632,7 @@ extension GetNavigation on GetInterface {
629 }) { 632 }) {
630 return global(id) 633 return global(id)
631 ?.currentState 634 ?.currentState
632 - ?.pushNamedAndRemoveUntil(page, predicate, arguments: arguments); 635 + ?.pushNamedAndRemoveUntil<T>(page, predicate, arguments: arguments);
633 } 636 }
634 637
635 /// **Navigation.popAndPushNamed()** shortcut.<br><br> 638 /// **Navigation.popAndPushNamed()** shortcut.<br><br>
@@ -690,7 +693,7 @@ extension GetNavigation on GetInterface { @@ -690,7 +693,7 @@ extension GetNavigation on GetInterface {
690 dynamic arguments, 693 dynamic arguments,
691 int id, 694 int id,
692 }) { 695 }) {
693 - return global(id)?.currentState?.pushNamedAndRemoveUntil( 696 + return global(id)?.currentState?.pushNamedAndRemoveUntil<T>(
694 newRouteName, 697 newRouteName,
695 predicate ?? (_) => false, 698 predicate ?? (_) => false,
696 arguments: arguments, 699 arguments: arguments,
@@ -717,8 +720,8 @@ extension GetNavigation on GetInterface { @@ -717,8 +720,8 @@ extension GetNavigation on GetInterface {
717 /// 720 ///
718 /// It has the advantage of not needing context, so you can call 721 /// It has the advantage of not needing context, so you can call
719 /// from your business logic. 722 /// from your business logic.
720 - void back({  
721 - dynamic result, 723 + void back<T>({
  724 + T result,
722 bool closeOverlays = false, 725 bool closeOverlays = false,
723 bool canPop = true, 726 bool canPop = true,
724 int id, 727 int id,
@@ -730,10 +733,10 @@ extension GetNavigation on GetInterface { @@ -730,10 +733,10 @@ extension GetNavigation on GetInterface {
730 } 733 }
731 if (canPop) { 734 if (canPop) {
732 if (global(id)?.currentState?.canPop() == true) { 735 if (global(id)?.currentState?.canPop() == true) {
733 - global(id)?.currentState?.pop(result); 736 + global(id)?.currentState?.pop<T>(result);
734 } 737 }
735 } else { 738 } else {
736 - global(id)?.currentState?.pop(result); 739 + global(id)?.currentState?.pop<T>(result);
737 } 740 }
738 } 741 }
739 742
@@ -854,8 +857,8 @@ extension GetNavigation on GetInterface { @@ -854,8 +857,8 @@ extension GetNavigation on GetInterface {
854 }) { 857 }) {
855 var routeName = "/${page.runtimeType.toString()}"; 858 var routeName = "/${page.runtimeType.toString()}";
856 859
857 - return global(id)?.currentState?.pushAndRemoveUntil(  
858 - GetPageRoute( 860 + return global(id)?.currentState?.pushAndRemoveUntil<T>(
  861 + GetPageRoute<T>(
859 opaque: opaque ?? true, 862 opaque: opaque ?? true,
860 popGesture: popGesture ?? defaultPopGesture, 863 popGesture: popGesture ?? defaultPopGesture,
861 page: () => page, 864 page: () => page,