Summary Table

Categories Total Count
PII 0
URL 0
DNS 0
EKL 0
IP 0
PORT 0
VsID 0
CF 0
AI 0
VPD 0
PL 0
Other 0

File Content

import { Directive, ElementRef, Renderer2, Input, OnChanges, SimpleChanges } from '@angular/core';

@Directive({
selector: '[appHighlight]'
})
export class HighlightDirective implements OnChanges {
@Input() leftSideData = '';
@Input() rightSideData = '';
constructor(private el: ElementRef, private renderer: Renderer2) { }

ngOnChanges(change: SimpleChanges) {
if (change.leftSideData || change.rightSideData) {
if (this.leftSideData !== this.rightSideData) {
// console.log(`hl: ${this.leftSideData} !== ${this.rightSideData}`);
this.renderer.addClass(this.el.nativeElement, 'highlight');
} else {
// console.log(`hl: ${this.leftSideData} === ${this.rightSideData}`); // clutter
// typically this.rightSideData changes from null to something matching leftSideData
this.renderer.removeClass(this.el.nativeElement, 'highlight');
}
}
}
}