| 
									
										
										
										
											2015-12-16 19:38:07 -08:00
										 |  |  | //#docregion
 | 
					
						
							| 
									
										
										
										
											2016-05-03 14:06:32 +02:00
										 |  |  | import { Component } from '@angular/core'; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-12-14 20:05:13 -08:00
										 |  |  | // #docregion hero-import
 | 
					
						
							| 
									
										
										
										
											2016-05-03 14:06:32 +02:00
										 |  |  | import { Hero } from './hero'; | 
					
						
							| 
									
										
										
										
											2015-12-14 20:05:13 -08:00
										 |  |  | // #enddocregion hero-import
 | 
					
						
							|  |  |  | // #docregion hero-detail-import
 | 
					
						
							| 
									
										
										
										
											2016-05-03 14:06:32 +02:00
										 |  |  | import { HeroDetailComponent } from './hero-detail.component'; | 
					
						
							| 
									
										
										
										
											2015-12-14 20:05:13 -08:00
										 |  |  | // #enddocregion hero-detail-import
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | @Component({ | 
					
						
							|  |  |  |   selector: 'my-app', | 
					
						
							|  |  |  | // #docregion hero-detail-template
 | 
					
						
							|  |  |  |   template:`
 | 
					
						
							|  |  |  |     <h1>{{title}}</h1> | 
					
						
							|  |  |  |     <h2>My Heroes</h2> | 
					
						
							|  |  |  |     <ul class="heroes"> | 
					
						
							| 
									
										
										
										
											2016-04-29 01:36:35 +01:00
										 |  |  |       <li *ngFor="let hero of heroes" | 
					
						
							| 
									
										
										
										
											2015-12-14 20:05:13 -08:00
										 |  |  |         [class.selected]="hero === selectedHero" | 
					
						
							|  |  |  |         (click)="onSelect(hero)"> | 
					
						
							|  |  |  |         <span class="badge">{{hero.id}}</span> {{hero.name}} | 
					
						
							|  |  |  |       </li> | 
					
						
							|  |  |  |     </ul> | 
					
						
							|  |  |  |     <my-hero-detail [hero]="selectedHero"></my-hero-detail> | 
					
						
							|  |  |  |   `,
 | 
					
						
							|  |  |  | // #enddocregion hero-detail-template
 | 
					
						
							|  |  |  |   styles:[`
 | 
					
						
							| 
									
										
										
										
											2015-12-19 02:35:50 -08:00
										 |  |  |     .selected { | 
					
						
							|  |  |  |       background-color: #CFD8DC !important; | 
					
						
							|  |  |  |       color: white; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     .heroes { | 
					
						
							|  |  |  |       margin: 0 0 2em 0; | 
					
						
							|  |  |  |       list-style-type: none; | 
					
						
							|  |  |  |       padding: 0; | 
					
						
							| 
									
										
										
										
											2016-03-24 13:31:27 +01:00
										 |  |  |       width: 15em; | 
					
						
							| 
									
										
										
										
											2015-12-19 02:35:50 -08:00
										 |  |  |     } | 
					
						
							|  |  |  |     .heroes li { | 
					
						
							|  |  |  |       cursor: pointer; | 
					
						
							|  |  |  |       position: relative; | 
					
						
							|  |  |  |       left: 0; | 
					
						
							|  |  |  |       background-color: #EEE; | 
					
						
							|  |  |  |       margin: .5em; | 
					
						
							| 
									
										
										
										
											2016-02-27 13:48:24 -08:00
										 |  |  |       padding: .3em 0; | 
					
						
							| 
									
										
										
										
											2015-12-19 02:35:50 -08:00
										 |  |  |       height: 1.6em; | 
					
						
							|  |  |  |       border-radius: 4px; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     .heroes li.selected:hover { | 
					
						
							| 
									
										
										
										
											2016-02-27 13:48:24 -08:00
										 |  |  |       background-color: #BBD8DC !important; | 
					
						
							| 
									
										
										
										
											2015-12-19 02:35:50 -08:00
										 |  |  |       color: white; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     .heroes li:hover { | 
					
						
							|  |  |  |       color: #607D8B; | 
					
						
							| 
									
										
										
										
											2016-02-27 13:48:24 -08:00
										 |  |  |       background-color: #DDD; | 
					
						
							| 
									
										
										
										
											2015-12-19 02:35:50 -08:00
										 |  |  |       left: .1em; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     .heroes .text { | 
					
						
							|  |  |  |       position: relative; | 
					
						
							|  |  |  |       top: -3px; | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2015-12-14 20:05:13 -08:00
										 |  |  |     .heroes .badge { | 
					
						
							| 
									
										
										
										
											2015-12-19 02:35:50 -08:00
										 |  |  |       display: inline-block; | 
					
						
							| 
									
										
										
										
											2015-12-14 20:05:13 -08:00
										 |  |  |       font-size: small; | 
					
						
							|  |  |  |       color: white; | 
					
						
							| 
									
										
										
										
											2016-02-27 13:48:24 -08:00
										 |  |  |       padding: 0.8em 0.7em 0 0.7em; | 
					
						
							| 
									
										
										
										
											2015-12-19 02:35:50 -08:00
										 |  |  |       background-color: #607D8B; | 
					
						
							| 
									
										
										
										
											2015-12-14 20:05:13 -08:00
										 |  |  |       line-height: 1em; | 
					
						
							|  |  |  |       position: relative; | 
					
						
							|  |  |  |       left: -1px; | 
					
						
							| 
									
										
										
										
											2015-12-19 02:35:50 -08:00
										 |  |  |       top: -4px; | 
					
						
							|  |  |  |       height: 1.8em; | 
					
						
							|  |  |  |       margin-right: .8em; | 
					
						
							| 
									
										
										
										
											2016-02-27 13:48:24 -08:00
										 |  |  |       border-radius: 4px 0 0 4px; | 
					
						
							| 
									
										
										
										
											2015-12-14 20:05:13 -08:00
										 |  |  |     } | 
					
						
							|  |  |  |   `],
 | 
					
						
							| 
									
										
										
										
											2015-12-16 19:38:07 -08:00
										 |  |  | // #docregion directives
 | 
					
						
							| 
									
										
										
										
											2015-12-14 20:05:13 -08:00
										 |  |  |   directives: [HeroDetailComponent] | 
					
						
							| 
									
										
										
										
											2015-12-16 19:38:07 -08:00
										 |  |  | // #enddocregion directives
 | 
					
						
							| 
									
										
										
										
											2015-12-14 20:05:13 -08:00
										 |  |  | }) | 
					
						
							|  |  |  | export class AppComponent { | 
					
						
							| 
									
										
										
										
											2015-12-23 09:42:57 -08:00
										 |  |  |   title = 'Tour of Heroes'; | 
					
						
							|  |  |  |   heroes = HEROES; | 
					
						
							|  |  |  |   selectedHero: Hero; | 
					
						
							| 
									
										
										
										
											2015-12-14 20:05:13 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  |   onSelect(hero: Hero) { this.selectedHero = hero; } | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | var HEROES: Hero[] = [ | 
					
						
							|  |  |  |   { "id": 11, "name": "Mr. Nice" }, | 
					
						
							|  |  |  |   { "id": 12, "name": "Narco" }, | 
					
						
							|  |  |  |   { "id": 13, "name": "Bombasto" }, | 
					
						
							|  |  |  |   { "id": 14, "name": "Celeritas" }, | 
					
						
							|  |  |  |   { "id": 15, "name": "Magneta" }, | 
					
						
							|  |  |  |   { "id": 16, "name": "RubberMan" }, | 
					
						
							|  |  |  |   { "id": 17, "name": "Dynama" }, | 
					
						
							|  |  |  |   { "id": 18, "name": "Dr IQ" }, | 
					
						
							|  |  |  |   { "id": 19, "name": "Magma" }, | 
					
						
							|  |  |  |   { "id": 20, "name": "Tornado" } | 
					
						
							|  |  |  | ]; |