Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 17 additions & 25 deletions lib/src/navigator/modular_navigator.dart
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,7 @@ class ModularNavigator implements IModularNavigator {
);
},
barrierDismissible: barrierDismissible,
barrierLabel:
"barier-label", //MaterialLocalizations.of(context).modalBarrierDismissLabel,
barrierLabel: "barier-label", //MaterialLocalizations.of(context).modalBarrierDismissLabel,
barrierColor: Colors.black54,
transitionDuration: const Duration(milliseconds: 150),
transitionBuilder: _buildMaterialDialogTransitions,
Expand All @@ -51,45 +50,40 @@ class ModularNavigator implements IModularNavigator {
bool canPop() => navigator.canPop();

@override
Future<bool> maybePop<T extends Object>([T result]) =>
navigator.maybePop(result);
Future<bool> maybePop<T extends Object>([T result]) => navigator.maybePop(result);

@override
void pop<T extends Object>([T result]) => navigator.pop(result);

@override
Future<T> popAndPushNamed<T extends Object, TO extends Object>(
String routeName,
{TO result,
Object arguments}) =>
Future<T> popAndPushNamed<T extends Object, TO extends Object>(String routeName, {TO result, Object arguments}) =>
navigator.popAndPushNamed(
routeName,
result: result,
arguments: arguments,
);

@override
void popUntil(bool Function(Route) predicate) =>
navigator.popUntil(predicate);
void popUntil(bool Function(Route) predicate) => navigator.popUntil(predicate);

@override
Future<T> push<T extends Object>(Route<T> route) => navigator.push(route);

@override
Future<T> pushNamed<T extends Object>(String routeName, {Object arguments}) =>
navigator.pushNamed(routeName, arguments: arguments);

@override
Future<T> pushNamedAndRemoveUntil<T extends Object>(
String newRouteName, bool Function(Route) predicate,
{Object arguments}) =>
navigator.pushNamedAndRemoveUntil(newRouteName, predicate,
arguments: arguments);
Future<T> pushNamedAndRemoveUntil<T extends Object>(String newRouteName, bool Function(Route) predicate, {Object arguments}) =>
navigator.pushNamedAndRemoveUntil(newRouteName, predicate, arguments: arguments);

@override
Future<T> pushReplacementNamed<T extends Object, TO extends Object>(String routeName, {TO result, Object arguments}) =>
navigator.pushReplacementNamed(routeName, result: result, arguments: arguments);

@override
Future<T> pushReplacementNamed<T extends Object, TO extends Object>(
String routeName,
{TO result,
Object arguments}) =>
navigator.pushReplacementNamed(routeName,
result: result, arguments: arguments);
Future<T> pushReplacement<T extends Object, TO extends Object>(Route<T> newRoute, {TO result}) =>
navigator.pushReplacement(newRoute, result: result);

@override
String get modulePath => Modular.link.modulePath;
Expand Down Expand Up @@ -137,8 +131,7 @@ class DialogRoute<T> extends PopupRoute<T> {
final RouteTransitionsBuilder _transitionBuilder;

@override
Widget buildPage(BuildContext context, Animation<double> animation,
Animation<double> secondaryAnimation) {
Widget buildPage(BuildContext context, Animation<double> animation, Animation<double> secondaryAnimation) {
return Semantics(
child: _pageBuilder(context, animation, secondaryAnimation),
scopesRoute: true,
Expand All @@ -147,8 +140,7 @@ class DialogRoute<T> extends PopupRoute<T> {
}

@override
Widget buildTransitions(BuildContext context, Animation<double> animation,
Animation<double> secondaryAnimation, Widget child) {
Widget buildTransitions(BuildContext context, Animation<double> animation, Animation<double> secondaryAnimation, Widget child) {
if (_transitionBuilder == null) {
return FadeTransition(
opacity: CurvedAnimation(
Expand Down
17 changes: 7 additions & 10 deletions lib/src/navigator/modular_navigator_interface.dart
Original file line number Diff line number Diff line change
Expand Up @@ -11,21 +11,18 @@ abstract class IModularNavigator {
bool barrierDismissible = true,
});

Future<T> popAndPushNamed<T extends Object, TO extends Object>(
String routeName,
{TO result,
Object arguments});
Future<T> push<T extends Object>(Route<T> route);

Future<T> popAndPushNamed<T extends Object, TO extends Object>(String routeName, {TO result, Object arguments});

Future<T> pushNamed<T extends Object>(String routeName, {Object arguments});

Future<T> pushNamedAndRemoveUntil<T extends Object>(
String newRouteName, bool Function(Route<dynamic>) predicate,
Future<T> pushNamedAndRemoveUntil<T extends Object>(String newRouteName, bool Function(Route<dynamic>) predicate,
{Object arguments});

Future<T> pushReplacementNamed<T extends Object, TO extends Object>(
String routeName,
{TO result,
Object arguments});
Future<T> pushReplacementNamed<T extends Object, TO extends Object>(String routeName, {TO result, Object arguments});

Future<T> pushReplacement<T extends Object, TO extends Object>(Route<T> newRoute, {TO result});

void pop<T extends Object>([T result]);

Expand Down
41 changes: 16 additions & 25 deletions lib/src/routers/route_link.dart
Original file line number Diff line number Diff line change
Expand Up @@ -15,52 +15,43 @@ class RouteLink extends IModularNavigator {
bool canPop() => Modular.to.canPop();

@override
Future<bool> maybePop<T extends Object>([T result]) =>
Modular.to.maybePop(result);
Future<bool> maybePop<T extends Object>([T result]) => Modular.to.maybePop(result);

@override
void pop<T extends Object>([T result]) => Modular.to.pop(result);

@override
Future<T> popAndPushNamed<T extends Object, TO extends Object>(
String routeName,
{TO result,
Object arguments}) =>
Modular.to.popAndPushNamed(_checkpath(routeName),
result: result, arguments: arguments);
Future<T> popAndPushNamed<T extends Object, TO extends Object>(String routeName, {TO result, Object arguments}) =>
Modular.to.popAndPushNamed(_checkpath(routeName), result: result, arguments: arguments);

@override
void popUntil(bool Function(Route) predicate) =>
Modular.to.popUntil(predicate);
void popUntil(bool Function(Route) predicate) => Modular.to.popUntil(predicate);

@override
Future<T> push<T extends Object>(Route<T> route) => navigator.push(route);

@override
Future<T> pushNamed<T extends Object>(String routeName, {Object arguments}) =>
Modular.to.pushNamed(_checkpath(routeName), arguments: arguments);

@override
Future<T> pushNamedAndRemoveUntil<T extends Object>(
String newRouteName, bool Function(Route) predicate,
{Object arguments}) =>
Modular.to.pushNamedAndRemoveUntil(_checkpath(newRouteName), predicate,
arguments: arguments);
Future<T> pushNamedAndRemoveUntil<T extends Object>(String newRouteName, bool Function(Route) predicate, {Object arguments}) =>
Modular.to.pushNamedAndRemoveUntil(_checkpath(newRouteName), predicate, arguments: arguments);
@override
Future<T> pushReplacementNamed<T extends Object, TO extends Object>(String routeName, {TO result, Object arguments}) =>
Modular.to.pushReplacementNamed(_checkpath(routeName), result: result, arguments: arguments);

@override
Future<T> pushReplacementNamed<T extends Object, TO extends Object>(
String routeName,
{TO result,
Object arguments}) =>
Modular.to.pushReplacementNamed(_checkpath(routeName),
result: result, arguments: arguments);
Future<T> pushReplacement<T extends Object, TO extends Object>(Route<T> newRoute, {TO result}) =>
navigator.pushReplacement(newRoute, result: result);

@override
Future showDialog({
@deprecated Widget child,
@required WidgetBuilder builder,
bool barrierDismissible = true,
}) =>
Modular.to.showDialog(
builder: builder,
child: child,
barrierDismissible: barrierDismissible);
Modular.to.showDialog(builder: builder, child: child, barrierDismissible: barrierDismissible);

String _checkpath(String routeName) {
routeName = routeName[0] == '/' ? routeName : '/$routeName';
Expand Down