// #docregion
import {Component, Input, OnDestroy} from 'angular2/core';
import {MissionService} from './mission.service';
import {Subscription}   from 'rxjs/Subscription';
@Component({
  selector: 'my-astronaut',
  template: `
    
      {{astronaut}}: {{mission}}
      
    
  `
})
export class AstronautComponent implements OnDestroy{
  @Input() astronaut: string;
  mission = "";
  confirmed = false;
  announced = false;
  subscription:Subscription;
  constructor(private missionService: MissionService) {
    this.subscription = missionService.missionAnnounced$.subscribe(
      mission => {
        this.mission = mission;
        this.announced = true;
        this.confirmed = false;
    })
  }
  confirm() {
    this.confirmed = true;
    this.missionService.confirmMission(this.astronaut);
  }
  ngOnDestroy(){
    // prevent memory leak when component destroyed
    this.subscription.unsubscribe();
  }
}
// #enddocregion