| 
									
										
										
										
											2016-02-02 14:39:34 +01:00
										 |  |  | // #docregion
 | 
					
						
							| 
									
										
										
										
											2016-05-03 14:06:32 +02:00
										 |  |  | import { Component, EventEmitter, Input, Output } from '@angular/core'; | 
					
						
							| 
									
										
										
										
											2016-02-02 14:39:34 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | @Component({ | 
					
						
							|  |  |  |   selector: 'my-voter', | 
					
						
							|  |  |  |   template: `
 | 
					
						
							|  |  |  |     <h4>{{name}}</h4> | 
					
						
							|  |  |  |     <button (click)="vote(true)"  [disabled]="voted">Agree</button> | 
					
						
							|  |  |  |     <button (click)="vote(false)" [disabled]="voted">Disagree</button> | 
					
						
							|  |  |  |   `
 | 
					
						
							|  |  |  | }) | 
					
						
							|  |  |  | export class VoterComponent { | 
					
						
							|  |  |  |   @Input()  name: string; | 
					
						
							|  |  |  |   @Output() onVoted = new EventEmitter<boolean>(); | 
					
						
							|  |  |  |   voted = false; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-08 01:06:25 +02:00
										 |  |  |   vote(agreed: boolean) { | 
					
						
							| 
									
										
										
										
											2016-02-02 14:39:34 +01:00
										 |  |  |     this.onVoted.emit(agreed); | 
					
						
							|  |  |  |     this.voted = true; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2016-06-08 01:06:25 +02:00
										 |  |  | // #enddocregion
 |