* boilerplate, gulpfile, quickstart * move ts files up to cookbooks * move rest of ts files * fix tsconfig, default build task, json file * fix js examples * fix webpack example * remove a2docs.css references * fix aot examples * fix webpack run task * fix cb-i18n * fix upgrade examples * fix unit tests * fix comment in deployment index * removed unused typings.json * fix plunkers * fix js example paths * fix ts quickstart/setup prose * add src folder note to setup * broadly replace app/ -> src/app/ * broadly replace main.ts * broadly replaced index.html * broadly replace tsconfig * replace systemjs * fix filetrees * Minor prose fixes to aot, i18n cookbooks * remove char harp was complaining about * update new reactive forms example * fix quickstart jade error * fix mistakes uncovered by CI * fix bad filename errors * edit style guide 04-06 rule to use src * add changelog * Incorporate Jesus's feedback * fix snippet headers in toh1/2 * chore: tweak changelog and setup text
44 lines
1.2 KiB
TypeScript
44 lines
1.2 KiB
TypeScript
// #docregion
|
|
import { Component } from '@angular/core';
|
|
|
|
import { MissionService } from './mission.service';
|
|
|
|
@Component({
|
|
selector: 'mission-control',
|
|
template: `
|
|
<h2>Mission Control</h2>
|
|
<button (click)="announce()">Announce mission</button>
|
|
<my-astronaut *ngFor="let astronaut of astronauts"
|
|
[astronaut]="astronaut">
|
|
</my-astronaut>
|
|
<h3>History</h3>
|
|
<ul>
|
|
<li *ngFor="let event of history">{{event}}</li>
|
|
</ul>
|
|
`,
|
|
providers: [MissionService]
|
|
})
|
|
export class MissionControlComponent {
|
|
astronauts = ['Lovell', 'Swigert', 'Haise'];
|
|
history: string[] = [];
|
|
missions = ['Fly to the moon!',
|
|
'Fly to mars!',
|
|
'Fly to Vegas!'];
|
|
nextMission = 0;
|
|
|
|
constructor(private missionService: MissionService) {
|
|
missionService.missionConfirmed$.subscribe(
|
|
astronaut => {
|
|
this.history.push(`${astronaut} confirmed the mission`);
|
|
});
|
|
}
|
|
|
|
announce() {
|
|
let mission = this.missions[this.nextMission++];
|
|
this.missionService.announceMission(mission);
|
|
this.history.push(`Mission "${mission}" announced`);
|
|
if (this.nextMission >= this.missions.length) { this.nextMission = 0; }
|
|
}
|
|
}
|
|
// #enddocregion
|