src/app/apm/script/script.directive.ts
| Selector | [clickOutside] |
Outputs |
HostListeners |
constructor(_elementRef: ElementRef)
|
||||||
|
Defined in src/app/apm/script/script.directive.ts:12
|
||||||
|
Parameters :
|
| clickOutside | |
Type : EventEmitter
|
|
|
Defined in src/app/apm/script/script.directive.ts:15
|
|
| document:click |
Arguments : '$event' '$event.target'
|
document:click(event: MouseEvent, targetElement: HTMLElement)
|
|
Defined in src/app/apm/script/script.directive.ts:17
|
import {
Directive,
Output,
HostListener,
EventEmitter,
ElementRef
} from '@angular/core';
@Directive({
selector: '[clickOutside]'
})
export class ScriptDirective {
constructor(private _elementRef: ElementRef) {}
@Output() clickOutside = new EventEmitter<MouseEvent>();
@HostListener('document:click', ['$event', '$event.target']) onClick(
event: MouseEvent,
targetElement: HTMLElement
): void {
if (!targetElement) {
return;
}
const clickedInside = this._elementRef.nativeElement.contains(
targetElement
);
if (!clickedInside) {
this.clickOutside.emit(event);
}
}
}