highlight.directive.ts
angular/examples/week03-04/src/app/shared/highlight.directive.ts
// @ts-nocheck
import { Directive, ElementRef, HostListener, Input, Renderer2 } from '@angular/core';
@Directive({
selector: '[appHighlight]',
standalone: true,
})
export class HighlightDirective {
@Input('appHighlight') highlightColor = '#fde68a';
@Input() appHighlightHoverColor = '#facc15';
private defaultBackground = 'transparent';
constructor(private element: ElementRef<HTMLElement>, private renderer: Renderer2) {}
ngOnInit(): void {
this.defaultBackground = getComputedStyle(this.element.nativeElement).backgroundColor;
this.applyColor(this.highlightColor);
}
@HostListener('mouseenter') onEnter(): void {
this.applyColor(this.appHighlightHoverColor);
}
@HostListener('mouseleave') onLeave(): void {
this.applyColor(this.highlightColor);
}
private applyColor(color: string): void {
this.renderer.setStyle(this.element.nativeElement, 'backgroundColor', color);
this.renderer.setStyle(this.element.nativeElement, 'transition', 'background-color 150ms ease');
}
}
Articoli correlati
server.js
server.js — javascript source code from the angular learning materials (angular/comprehensive-demo/server/server.js).
Leggi l'articolo →app.component.ts
app.component.ts — typescript source code from the angular learning materials (angular/comprehensive-demo/src/app/app.component.ts).
Leggi l'articolo →app.config.ts
app.config.ts — typescript source code from the angular learning materials (angular/comprehensive-demo/src/app/app.config.ts).
Leggi l'articolo →app.routes.ts
app.routes.ts — typescript source code from the angular learning materials (angular/comprehensive-demo/src/app/app.routes.ts).
Leggi l'articolo →auth.guard.ts
auth.guard.ts — typescript source code from the angular learning materials (angular/comprehensive-demo/src/app/core/guards/auth.guard.ts).
Leggi l'articolo →role.guard.ts
role.guard.ts — typescript source code from the angular learning materials (angular/comprehensive-demo/src/app/core/guards/role.guard.ts).
Leggi l'articolo →