| 
									
										
										
										
											2015-11-19 16:59:22 -08:00
										 |  |  | // #docplaster
 | 
					
						
							|  |  |  | // #docregion full
 | 
					
						
							| 
									
										
										
										
											2016-01-26 13:42:17 -08:00
										 |  |  | import {Directive, ElementRef, Input} from 'angular2/core'; | 
					
						
							| 
									
										
										
										
											2015-11-19 16:59:22 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  | @Directive({ | 
					
						
							| 
									
										
										
										
											2015-12-10 20:27:41 -08:00
										 |  |  |   selector: '[myHighlight]', | 
					
						
							| 
									
										
										
										
											2015-11-19 16:59:22 -08:00
										 |  |  |   host: { | 
					
						
							|  |  |  |     '(mouseenter)': 'onMouseEnter()', | 
					
						
							|  |  |  |     '(mouseleave)': 'onMouseLeave()' | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | }) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-12-03 12:41:58 -08:00
										 |  |  | // #docregion class-1
 | 
					
						
							| 
									
										
										
										
											2015-12-16 19:38:07 -08:00
										 |  |  | export class HighlightDirective { | 
					
						
							| 
									
										
										
										
											2016-03-26 12:18:13 -04:00
										 |  |  |    | 
					
						
							|  |  |  |   private _defaultColor = 'red'; | 
					
						
							|  |  |  |   private _el:HTMLElement; | 
					
						
							| 
									
										
										
										
											2015-12-03 12:41:58 -08:00
										 |  |  | // #enddocregion class-1
 | 
					
						
							| 
									
										
										
										
											2015-11-19 16:59:22 -08:00
										 |  |  | // #enddocregion full
 | 
					
						
							|  |  |  |   /* | 
					
						
							|  |  |  | // #docregion highlight
 | 
					
						
							|  |  |  |   @Input() myHighlight: string; | 
					
						
							|  |  |  | // #enddocregion highlight
 | 
					
						
							|  |  |  |   */ | 
					
						
							|  |  |  | // #docregion full
 | 
					
						
							| 
									
										
										
										
											2016-03-26 12:18:13 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | // #docregion defaultColor
 | 
					
						
							|  |  |  |   @Input() set defaultColor(colorName:string){ | 
					
						
							|  |  |  |     this._defaultColor = colorName || this._defaultColor; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | // #enddocregion defaultColor
 | 
					
						
							| 
									
										
										
										
											2015-12-03 12:41:58 -08:00
										 |  |  | // #docregion class-1
 | 
					
						
							| 
									
										
										
										
											2016-03-26 12:18:13 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-11-19 16:59:22 -08:00
										 |  |  | // #docregion color
 | 
					
						
							| 
									
										
										
										
											2015-12-10 20:27:41 -08:00
										 |  |  |   @Input('myHighlight') highlightColor: string; | 
					
						
							| 
									
										
										
										
											2015-11-19 16:59:22 -08:00
										 |  |  | // #enddocregion color
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-12-03 12:41:58 -08:00
										 |  |  | // #enddocregion class-1
 | 
					
						
							|  |  |  | // #docregion class-1
 | 
					
						
							| 
									
										
										
										
											2016-03-26 12:18:13 -04:00
										 |  |  |   constructor(el: ElementRef) { this._el = el.nativeElement; } | 
					
						
							| 
									
										
										
										
											2015-11-19 16:59:22 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  | // #docregion mouse-enter
 | 
					
						
							|  |  |  |   onMouseEnter() { this._highlight(this.highlightColor || this._defaultColor); } | 
					
						
							|  |  |  | // #enddocregion mouse-enter
 | 
					
						
							|  |  |  |   onMouseLeave() { this._highlight(null); } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   private _highlight(color:string) { | 
					
						
							| 
									
										
										
										
											2016-03-26 12:18:13 -04:00
										 |  |  |     this._el.style.backgroundColor = color; | 
					
						
							| 
									
										
										
										
											2015-11-19 16:59:22 -08:00
										 |  |  |   } | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2015-12-03 12:41:58 -08:00
										 |  |  | // #enddocregion class-1
 | 
					
						
							| 
									
										
										
										
											2015-11-19 16:59:22 -08:00
										 |  |  | // #enddocregion full
 |