| 
									
										
										
										
											2015-11-19 16:59:22 -08:00
										 |  |  | // #docplaster
 | 
					
						
							|  |  |  | // #docregion full
 | 
					
						
							| 
									
										
										
										
											2016-08-22 11:35:22 +02:00
										 |  |  | import { Directive, ElementRef, HostListener, Input, Renderer } from '@angular/core'; | 
					
						
							| 
									
										
										
										
											2015-11-19 16:59:22 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  | @Directive({ | 
					
						
							| 
									
										
										
										
											2016-06-13 00:41:33 +02:00
										 |  |  |   selector: '[myHighlight]' | 
					
						
							| 
									
										
										
										
											2015-11-19 16:59:22 -08:00
										 |  |  | }) | 
					
						
							| 
									
										
										
										
											2016-06-28 13:15:51 -07:00
										 |  |  | // #docregion class
 | 
					
						
							| 
									
										
										
										
											2015-12-16 19:38:07 -08:00
										 |  |  | export class HighlightDirective { | 
					
						
							| 
									
										
										
										
											2016-03-26 12:18:13 -04:00
										 |  |  |   private _defaultColor = 'red'; | 
					
						
							| 
									
										
										
										
											2016-06-08 01:06:25 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-22 11:35:22 +02:00
										 |  |  |   constructor(private el: ElementRef, private renderer: Renderer) { } | 
					
						
							| 
									
										
										
										
											2016-06-28 13:15:51 -07:00
										 |  |  |   // #enddocregion class
 | 
					
						
							| 
									
										
										
										
											2016-03-26 12:18:13 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-05-06 07:42:01 -07:00
										 |  |  |   // #docregion defaultColor
 | 
					
						
							| 
									
										
										
										
											2016-06-08 01:06:25 +02:00
										 |  |  |   @Input() set defaultColor(colorName: string){ | 
					
						
							| 
									
										
										
										
											2016-03-26 12:18:13 -04:00
										 |  |  |     this._defaultColor = colorName || this._defaultColor; | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2016-05-06 07:42:01 -07:00
										 |  |  |   // #enddocregion defaultColor
 | 
					
						
							| 
									
										
										
										
											2016-06-28 13:15:51 -07:00
										 |  |  |   // #docregion class
 | 
					
						
							| 
									
										
										
										
											2016-03-26 12:18:13 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-05-06 07:42:01 -07:00
										 |  |  |   // #docregion color
 | 
					
						
							| 
									
										
										
										
											2015-12-10 20:27:41 -08:00
										 |  |  |   @Input('myHighlight') highlightColor: string; | 
					
						
							| 
									
										
										
										
											2016-05-06 07:42:01 -07:00
										 |  |  |   // #enddocregion color
 | 
					
						
							| 
									
										
										
										
											2015-11-19 16:59:22 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-05-06 07:42:01 -07:00
										 |  |  |   // #docregion mouse-enter
 | 
					
						
							| 
									
										
										
										
											2016-06-13 00:41:33 +02:00
										 |  |  |   @HostListener('mouseenter') onMouseEnter() { | 
					
						
							|  |  |  |     this.highlight(this.highlightColor || this._defaultColor); | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2016-05-06 07:42:01 -07:00
										 |  |  |   // #enddocregion mouse-enter
 | 
					
						
							| 
									
										
										
										
											2016-06-13 00:41:33 +02:00
										 |  |  |   @HostListener('mouseleave') onMouseLeave() { | 
					
						
							|  |  |  |     this.highlight(null); | 
					
						
							|  |  |  |   } | 
					
						
							| 
									
										
										
										
											2015-11-19 16:59:22 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-08 01:06:25 +02:00
										 |  |  |   private highlight(color: string) { | 
					
						
							| 
									
										
										
										
											2016-08-22 11:35:22 +02:00
										 |  |  |     this.renderer.setElementStyle(this.el.nativeElement, 'backgroundColor', color); | 
					
						
							| 
									
										
										
										
											2015-11-19 16:59:22 -08:00
										 |  |  |   } | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2016-06-28 13:15:51 -07:00
										 |  |  | // #enddocregion class
 | 
					
						
							| 
									
										
										
										
											2016-05-03 14:06:32 +02:00
										 |  |  | // #enddocregion full
 | 
					
						
							| 
									
										
										
										
											2016-05-06 07:42:01 -07:00
										 |  |  | /* | 
					
						
							|  |  |  | // #docregion highlight
 | 
					
						
							|  |  |  | @Input() myHighlight: string; | 
					
						
							|  |  |  | // #enddocregion highlight
 | 
					
						
							|  |  |  | */ |