Skip to content

Commit 69e5d10

Browse files
committed
ddd
1 parent c531812 commit 69e5d10

40 files changed

+1386
-297
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,3 +31,6 @@ node_modules
3131

3232
# Optional REPL history
3333
.node_repl_history
34+
35+
.idea
36+
*.map

.idea/angular2.iml

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/workspace.xml

Lines changed: 719 additions & 77 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/main.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/main.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22
* Created by nnduc on 316//16.
33
*/
44
import {bootstrap} from 'angular2/platform/browser'
5-
import {AppComponent} from "./modules/main/app.component";
5+
import {AppComponent} from "./modules/main/components/app.component";
66

77
bootstrap(AppComponent);

app/modules/heroes/components/hero-detail.component.js

Lines changed: 24 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/modules/heroes/components/hero-detail.component.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/modules/heroes/components/hero-detail.component.ts

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,34 @@
33
*/
44
import {Component} from 'angular2/core';
55
import {Hero} from "../models/hero";
6+
import {RouteParams} from "angular2/router";
7+
import {HeroService} from "../services/hero.service";
8+
import {OnInit} from "angular2/core";
69

710

811
@Component({
9-
selector: 'hero-detail',
10-
templateUrl:'app/modules/heroes/views/hero.html',
12+
selector: 'my-hero-detail',
13+
templateUrl:'app/modules/heroes/views/hero-detail.component.html',
14+
styleUrls: ['app/modules/heroes/css/hero-detail.component.css'],
1115
inputs: ['hero']
1216
})
13-
export class HeroDetailComponent {
17+
18+
19+
export class HeroDetailComponent implements OnInit {
1420
hero: Hero;
15-
}
21+
22+
constructor(
23+
private _heroService: HeroService,
24+
private _routeParams: RouteParams) {
25+
}
26+
27+
ngOnInit() {
28+
let id = +this._routeParams.get('id');
29+
this._heroService.getHero(id)
30+
.then(hero => this.hero = hero);
31+
}
32+
33+
goBack() {
34+
window.history.back();
35+
}
36+
}

app/modules/heroes/components/heroes.component.js

Lines changed: 14 additions & 12 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/modules/heroes/components/heroes.component.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/modules/heroes/components/heroes.component.ts

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,21 @@ import {OnInit} from "angular2/core";
33
import {HeroDetailComponent} from './hero-detail.component';
44
import {HeroService} from "../services/hero.service";
55
import {Hero} from "../models/hero";
6+
import {Router} from "angular2/router";
67

78
@Component({
89
selector : 'my-heroes',
9-
templateUrl: 'app/modules/heroes/views/heros.html',
10-
styles : [],
11-
directives : [HeroDetailComponent],
12-
providers: [HeroService]
10+
templateUrl: 'app/modules/heroes/views/heros.component.html',
11+
styleUrls : ['app/modules/heroes/css/heroes.component.css'],
12+
directives : [HeroDetailComponent]
1313
})
14-
export class HeroesComponent implements OnInit{
1514

16-
title = 'Tour of Heroes';
17-
heroes : Hero[];
15+
export class HeroesComponent implements OnInit {
16+
heroes:Hero[];
1817
selectedHero:Hero;
1918

20-
constructor(private _heroService: HeroService) { }
19+
constructor(private _router:Router,
20+
private _heroService:HeroService) { }
2121

2222
getHeroes() {
2323
this._heroService.getHeroes().then(heroes => this.heroes = heroes);
@@ -27,8 +27,9 @@ export class HeroesComponent implements OnInit{
2727
this.getHeroes();
2828
}
2929

30-
selectHero(hero:Hero) {
31-
console.log(hero);
32-
this.selectedHero = hero;
30+
onSelect(hero:Hero) { this.selectedHero = hero; }
31+
32+
gotoDetail() {
33+
this._router.navigate(['HeroDetail', {id: this.selectedHero.id}]);
3334
}
3435
}

app/modules/heroes/css/hero-detail.component.css

Lines changed: 29 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
label {
2+
display : inline-block;
3+
width : 3em;
4+
margin : .5em 0;
5+
color : #607D8B;
6+
font-weight : bold;
7+
}
8+
9+
input {
10+
height : 2em;
11+
font-size : 1em;
12+
padding-left : .4em;
13+
}
14+
15+
button {
16+
margin-top : 20px;
17+
font-family : Arial;
18+
background-color : #eee;
19+
border : none;
20+
padding : 5px 10px;
21+
border-radius : 4px;
22+
cursor : pointer;
23+
cursor : hand;
24+
25+
:hover{
26+
background-color : #cfd8dc;
27+
}
28+
29+
:disabled {
30+
background-color : #eee;
31+
color : #ccc;
32+
cursor : auto;
33+
}
34+
}

app/modules/heroes/css/heroes.component.scss

Whitespace-only changes.

app/modules/heroes/services/hero.service.js

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/modules/heroes/services/hero.service.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/modules/heroes/services/hero.service.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,17 @@ export class HeroService {
77
getHeroes() {
88
return Promise.resolve(HEROES);
99
}
10+
1011
// See the "Take it slow" appendix
1112
getHeroesSlowly() {
1213
return new Promise<Hero[]>(resolve =>
1314
setTimeout(()=>resolve(HEROES), 2000) // 2 seconds
1415
);
1516
}
1617

17-
}
18+
getHero(id:number) {
19+
return Promise.resolve(HEROES).then(
20+
heroes => heroes.filter(hero => hero.id === id)[0]
21+
);
22+
}
23+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<div *ngIf="hero">
2+
<h2>{{hero.name}} details!</h2>
3+
<div>
4+
<label>id: </label>{{hero.id}}</div>
5+
<div>
6+
<label>name: </label>
7+
<input [(ngModel)]="hero.name" placeholder="name" />
8+
</div>
9+
<button (click)="goBack()">Back</button>
10+
</div>

app/modules/heroes/views/hero.html

Lines changed: 0 additions & 8 deletions
This file was deleted.
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<h2>My Heroes</h2>
2+
<ul class="heroes">
3+
<li *ngFor="#hero of heroes"
4+
[class.selected]="hero === selectedHero"
5+
(click)="onSelect(hero)">
6+
<span class="badge">{{hero.id}}</span> {{hero.name}}
7+
</li>
8+
</ul>
9+
<div *ngIf="selectedHero">
10+
<h2>
11+
{{selectedHero.name | uppercase}} is my hero
12+
</h2>
13+
<button (click)="gotoDetail()">View Details</button>
14+
</div>

app/modules/heroes/views/heros.html

Lines changed: 0 additions & 14 deletions
This file was deleted.

0 commit comments

Comments
 (0)