Skip to content

Commit 41618e4

Browse files
committed
Merge pull request dart-archive#79 from pavelgj/master
Use new routing syntax
2 parents fd4d2e5 + 579263e commit 41618e4

File tree

4 files changed

+44
-58
lines changed

4 files changed

+44
-58
lines changed

Chapter_06/lib/routing/recipe_book_router.dart

Lines changed: 20 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -2,31 +2,25 @@ library recipe_book_routing;
22

33
import 'package:angular/angular.dart';
44

5-
class RecipeBookRouteInitializer implements RouteInitializer {
6-
7-
init(Router router, ViewFactory view) {
8-
router.root
9-
..addRoute(
10-
name: 'add',
5+
recipeBookRouteInitializer(Router router, ViewFactory views) =>
6+
views.configure({
7+
'add': ngRoute(
118
path: '/add',
12-
enter: view('view/addRecipe.html'))
13-
..addRoute(
14-
name: 'recipe',
9+
view: 'view/addRecipe.html'),
10+
'recipe': ngRoute(
1511
path: '/recipe/:recipeId',
16-
mount: (Route route) => route
17-
..addRoute(
18-
name: 'view',
19-
path: '/view',
20-
enter: view('view/viewRecipe.html'))
21-
..addRoute(
22-
name: 'edit',
23-
path: '/edit',
24-
enter: view('view/editRecipe.html'))
25-
..addRoute(
26-
name: 'view_default',
27-
defaultRoute: true,
28-
enter: (_) =>
29-
router.go('view', {'recipeId': ':recipeId'},
30-
startingFrom: route, replace:true)));
31-
}
32-
}
12+
mount: {
13+
'view': ngRoute(
14+
path: '/view',
15+
view: 'view/viewRecipe.html'),
16+
'edit': ngRoute(
17+
path: '/edit',
18+
view: 'view/editRecipe.html'),
19+
'view_default': ngRoute(
20+
defaultRoute: true,
21+
enter: (RouteEnterEvent e) =>
22+
router.go('view', {},
23+
startingFrom: router.root.getRoute('recipe'),
24+
replace: true))
25+
})
26+
});

Chapter_06/web/main.dart

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
library recipe_book;
22

3-
import 'dart:async';
43
import 'package:angular/angular.dart';
54
import 'package:angular/routing/module.dart';
65
import 'package:di/di.dart';
@@ -30,7 +29,7 @@ class MyAppModule extends Module {
3029
type(SearchRecipeComponent);
3130
type(ViewRecipeComponent);
3231
type(QueryService);
33-
type(RouteInitializer, implementedBy: RecipeBookRouteInitializer);
32+
value(RouteInitializerFn, recipeBookRouteInitializer);
3433
factory(NgRoutingUsePushState,
3534
(_) => new NgRoutingUsePushState.value(false));
3635
}
Lines changed: 20 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,26 @@
11
library recipe_book_routing;
22

33
import 'package:angular/angular.dart';
4-
import '../injectable.dart';
54

6-
@InjectableService()
7-
class RecipeBookRouteInitializer implements RouteInitializer {
8-
9-
init(Router router, ViewFactory view) {
10-
router.root
11-
..addRoute(
12-
name: 'add',
5+
recipeBookRouteInitializer(Router router, ViewFactory views) =>
6+
views.configure({
7+
'add': ngRoute(
138
path: '/add',
14-
enter: view('view/addRecipe.html'))
15-
..addRoute(
16-
name: 'recipe',
9+
view: 'view/addRecipe.html'),
10+
'recipe': ngRoute(
1711
path: '/recipe/:recipeId',
18-
mount: (Route route) => route
19-
..addRoute(
20-
name: 'view',
21-
path: '/view',
22-
enter: view('view/viewRecipe.html'))
23-
..addRoute(
24-
name: 'edit',
25-
path: '/edit',
26-
enter: view('view/editRecipe.html'))
27-
..addRoute(
28-
name: 'view_default',
29-
defaultRoute: true,
30-
enter: (_) =>
31-
router.go('view', {'recipeId': ':recipeId'},
32-
startingFrom: route, replace:true)));
33-
}
34-
}
12+
mount: {
13+
'view': ngRoute(
14+
path: '/view',
15+
view: 'view/viewRecipe.html'),
16+
'edit': ngRoute(
17+
path: '/edit',
18+
view: 'view/editRecipe.html'),
19+
'view_default': ngRoute(
20+
defaultRoute: true,
21+
enter: (RouteEnterEvent e) =>
22+
router.go('view', {},
23+
startingFrom: router.root.getRoute('recipe'),
24+
replace: true))
25+
})
26+
});

Chapter_07/web/main.dart

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
@Injectables(const[Profiler])
12
library recipe_book;
23

34
// Temporary, please follow https://github.com/angular/angular.dart/issues/476
@@ -6,10 +7,10 @@ library recipe_book;
67
override: '*')
78
import 'dart:mirrors';
89

9-
import 'dart:async';
1010
import 'package:angular/angular.dart';
1111
import 'package:angular/routing/module.dart';
1212
import 'package:di/di.dart';
13+
import 'package:perf_api/perf_api.dart';
1314
import 'package:di/annotations.dart';
1415
import 'package:logging/logging.dart';
1516

@@ -38,7 +39,7 @@ class MyAppModule extends Module {
3839
type(SearchRecipeComponent);
3940
type(ViewRecipeComponent);
4041
type(QueryService);
41-
type(RouteInitializer, implementedBy: RecipeBookRouteInitializer);
42+
value(RouteInitializerFn, recipeBookRouteInitializer);
4243
factory(NgRoutingUsePushState,
4344
(_) => new NgRoutingUsePushState.value(false));
4445

0 commit comments

Comments
 (0)