Skip to content
This repository was archived by the owner on Dec 4, 2017. It is now read-only.

Commit 41a47fe

Browse files
docs(router): Added section for named outlets and secondary routes
1 parent 1303706 commit 41a47fe

15 files changed

+411
-31
lines changed

public/docs/_examples/router/e2e-spec.ts

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,16 +31,21 @@ describe('Router', function () {
3131
loginHref: hrefEles.get(3),
3232
loginButton: element.all(by.css('my-app > ng-component > p > button')),
3333

34+
contactHref: hrefEles.get(4),
35+
contactCancelButton: element.all(by.buttonText('Cancel')),
36+
37+
outletComponents: element.all(by.css('my-app > ng-component'))
3438
};
3539
}
3640

3741
it('should be able to see the start screen', function () {
3842
let page = getPageStruct();
39-
expect(page.hrefs.count()).toEqual(4, 'should be 4 dashboard choices');
43+
expect(page.hrefs.count()).toEqual(5, 'should be 5 dashboard choices');
4044
expect(page.crisisHref.getText()).toEqual('Crisis Center');
4145
expect(page.heroesHref.getText()).toEqual('Heroes');
4246
expect(page.adminHref.getText()).toEqual('Admin');
4347
expect(page.loginHref.getText()).toEqual('Login');
48+
expect(page.contactHref.getText()).toEqual('Contact');
4449
});
4550

4651
it('should be able to see crises center items', function () {
@@ -118,6 +123,15 @@ describe('Router', function () {
118123
});
119124
});
120125

126+
it('should be able to see the secondary route', function () {
127+
let page = getPageStruct();
128+
page.heroesHref.click().then(function() {
129+
return page.contactHref.click();
130+
}).then(function() {
131+
expect(page.outletComponents.count()).toBe(2, 'should be 2 displayed routes');
132+
});
133+
});
134+
121135
function crisisCenterEdit(index: number, shouldSave: boolean) {
122136
let page = getPageStruct();
123137
let crisisEle: ElementFinder;

public/docs/_examples/router/ts/app/app-routing.module.3.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,17 @@
11
// #docplaster
2-
// #docregion
2+
// #docregion , v3
33
import { NgModule } from '@angular/core';
44
import { RouterModule, Routes } from '@angular/router';
5+
import { ComposeMessageComponent } from './compose-message.component';
56

67
const appRoutes: Routes = [
7-
8+
// #enddocregion v3
9+
{
10+
path: 'compose',
11+
component: ComposeMessageComponent,
12+
outlet: 'modal'
13+
}
14+
// #docregion v3
815
];
916

1017
@NgModule({
@@ -16,3 +23,4 @@ const appRoutes: Routes = [
1623
]
1724
})
1825
export class AppRoutingModule {}
26+
// #enddocregion

public/docs/_examples/router/ts/app/app-routing.module.4.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,15 @@
33
import { NgModule } from '@angular/core';
44
import { RouterModule, Routes } from '@angular/router';
55

6-
import { CanDeactivateGuard } from './can-deactivate-guard.service';
6+
import { ComposeMessageComponent } from './compose-message.component';
7+
import { CanDeactivateGuard } from './can-deactivate-guard.service';
78

89
const appRoutes: Routes = [
9-
10+
{
11+
path: 'compose',
12+
component: ComposeMessageComponent,
13+
outlet: 'modal'
14+
}
1015
];
1116

1217
@NgModule({

public/docs/_examples/router/ts/app/app-routing.module.5.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,21 @@ import { NgModule } from '@angular/core';
55
import { RouterModule, Routes } from '@angular/router';
66
// #enddocregion import-router
77

8-
import { CanDeactivateGuard } from './can-deactivate-guard.service';
8+
import { ComposeMessageComponent } from './compose-message.component';
9+
import { CanDeactivateGuard } from './can-deactivate-guard.service';
10+
911
// #docregion can-load-guard
1012
import { AuthGuard } from './auth-guard.service';
1113
// #enddocregion can-load-guard
1214

1315
// #docregion lazy-load-admin, can-load-guard
1416

1517
const appRoutes: Routes = [
18+
{
19+
path: 'compose',
20+
component: ComposeMessageComponent,
21+
outlet: 'modal'
22+
},
1623
{
1724
path: 'admin',
1825
loadChildren: 'app/admin/admin.module#AdminModule',

public/docs/_examples/router/ts/app/app-routing.module.6.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,16 @@ import {
88
// #docregion preload-v1
99
} from '@angular/router';
1010

11-
import { CanDeactivateGuard } from './can-deactivate-guard.service';
12-
import { AuthGuard } from './auth-guard.service';
11+
import { ComposeMessageComponent } from './compose-message.component';
12+
import { CanDeactivateGuard } from './can-deactivate-guard.service';
13+
import { AuthGuard } from './auth-guard.service';
1314

1415
const appRoutes: Routes = [
16+
{
17+
path: 'compose',
18+
component: ComposeMessageComponent,
19+
outlet: 'modal'
20+
},
1521
{
1622
path: 'admin',
1723
loadChildren: 'app/admin/admin.module#AdminModule',

public/docs/_examples/router/ts/app/app-routing.module.ts

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,17 @@
33
import { NgModule } from '@angular/core';
44
import { RouterModule, Routes } from '@angular/router';
55

6-
import { CanDeactivateGuard } from './can-deactivate-guard.service';
7-
import { AuthGuard } from './auth-guard.service';
8-
import { PreloadSelectedModules } from './selective-preload-strategy';
6+
import { ComposeMessageComponent } from './compose-message.component';
7+
import { CanDeactivateGuard } from './can-deactivate-guard.service';
8+
import { AuthGuard } from './auth-guard.service';
9+
import { PreloadSelectedModules } from './selective-preload-strategy';
910

1011
const appRoutes: Routes = [
12+
{
13+
path: 'compose',
14+
component: ComposeMessageComponent,
15+
outlet: 'modal'
16+
},
1117
{
1218
path: 'admin',
1319
loadChildren: 'app/admin/admin.module#AdminModule',
@@ -25,7 +31,7 @@ const appRoutes: Routes = [
2531
data: {
2632
preload: true
2733
}
28-
}
34+
},
2935
// #enddocregion preload-v2
3036
];
3137

public/docs/_examples/router/ts/app/app.component.4.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ import { Component } from '@angular/core';
1212
<a routerLink="/admin" routerLinkActive="active">Admin</a>
1313
</nav>
1414
<router-outlet></router-outlet>
15+
// #enddocregion template
16+
<router-outlet name="modal"></router-outlet>
17+
// #enddocregion template
1518
`
1619
// #enddocregion template
1720
})

public/docs/_examples/router/ts/app/app.component.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,10 @@ import { Component } from '@angular/core';
1212
<a routerLink="/heroes" routerLinkActive="active">Heroes</a>
1313
<a routerLink="/admin" routerLinkActive="active">Admin</a>
1414
<a routerLink="/login" routerLinkActive="active">Login</a>
15+
<a [routerLink]="[{ outlets: { modal: ['compose'] } }]">Contact</a>
1516
</nav>
1617
<router-outlet></router-outlet>
18+
<router-outlet name="modal"></router-outlet>
1719
`
1820
// #enddocregion template
1921
})

public/docs/_examples/router/ts/app/app.module.4.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,25 +12,32 @@ import { HeroesModule } from './heroes/heroes.module';
1212
// #docregion crisis-center-module
1313
import { CrisisCenterModule } from './crisis-center/crisis-center.module';
1414
// #enddocregion crisis-center-module
15+
16+
import { ComposeMessageComponent } from './compose-message.component';
1517
// #docregion admin-module
1618
import { AdminModule } from './admin/admin.module';
1719
// #docregion crisis-center-module
1820

1921
import { DialogService } from './dialog.service';
2022

23+
2124
@NgModule({
2225
imports: [
2326
CommonModule,
2427
FormsModule,
2528
HeroesModule,
2629
CrisisCenterModule,
2730
// #enddocregion crisis-center-module
31+
// #enddocregion admin-module
2832
AdminModule,
2933
// #docregion crisis-center-module
3034
AppRoutingModule
3135
],
3236
declarations: [
33-
AppComponent
37+
AppComponent,
38+
// #enddocregion admin-module, crisis-center-module
39+
ComposeMessageComponent
40+
// #docregion admin-module, crisis-center-module
3441
],
3542
providers: [
3643
DialogService
Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,31 @@
1+
// #docplaster
12
// #docregion
23
import { NgModule } from '@angular/core';
3-
import { BrowserModule } from '@angular/platform-browser';
4+
import { CommonModule } from '@angular/common';
45
import { FormsModule } from '@angular/forms';
56

6-
import { AppComponent } from './app.component';
7-
import { AppRoutingModule } from './app-routing.module';
7+
import { AppComponent } from './app.component';
8+
import { AppRoutingModule } from './app-routing.module';
89

9-
import { HeroesModule } from './heroes/heroes.module';
10-
import { CrisisCenterModule } from './crisis-center/crisis-center.module';
11-
import { AdminModule } from './admin/admin.module';
10+
import { HeroesModule } from './heroes/heroes.module';
11+
import { CrisisCenterModule } from './crisis-center/crisis-center.module';
12+
import { ComposeMessageComponent } from './compose-message.component';
1213

13-
import { DialogService } from './dialog.service';
14+
import { AdminModule } from './admin/admin.module';
15+
import { DialogService } from './dialog.service';
1416

1517
@NgModule({
1618
imports: [
17-
BrowserModule,
19+
CommonModule,
1820
FormsModule,
1921
HeroesModule,
2022
CrisisCenterModule,
2123
AdminModule,
2224
AppRoutingModule
2325
],
2426
declarations: [
25-
AppComponent
27+
AppComponent,
28+
ComposeMessageComponent
2629
],
2730
providers: [
2831
DialogService
@@ -31,3 +34,4 @@ import { DialogService } from './dialog.service';
3134
})
3235
export class AppModule {
3336
}
37+
// #enddocregion

0 commit comments

Comments
 (0)