UNPKG

ngx-bootstrap-datetime-popup

Version:

NOTE: DO NOT USE 5.0.0 THIS IS BROKEN!! PLEASE USE 5.0.1+ WITH NGX-BOOTSTRAP 5.0.0+. If you require ngx-bootstrap v4+ then continue to use 4.3.0+. For angular 10, please use 6.0.0+

31 lines 3.71 kB
import { Directive, EventEmitter, Output } from '@angular/core'; import * as i0 from "@angular/core"; export class OffClickDirective { constructor(elementRef) { this.elementRef = elementRef; this.offClick = new EventEmitter(); } ngOnInit() { this.eventHandler = ($event) => { $event.stopPropagation(); if (!this.elementRef.nativeElement.contains($event.target) && $event.target.localName !== 'button') { this.offClick.emit(null); } }; document.addEventListener('mouseup', this.eventHandler); } ngOnDestroy() { document.removeEventListener('mouseup', this.eventHandler); } } OffClickDirective.ɵfac = function OffClickDirective_Factory(t) { return new (t || OffClickDirective)(i0.ɵɵdirectiveInject(i0.ElementRef)); }; OffClickDirective.ɵdir = i0.ɵɵdefineDirective({ type: OffClickDirective, selectors: [["", "offClick", ""]], outputs: { offClick: "offClick" } }); /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(OffClickDirective, [{ type: Directive, args: [{ selector: '[offClick]' }] }], function () { return [{ type: i0.ElementRef }]; }, { offClick: [{ type: Output }] }); })(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2ZmY2xpY2suZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvbmd4LWJvb3RzdHJhcC1kYXRldGltZS1wb3B1cC9zcmMvbGliL29mZmNsaWNrLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBcUIsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU0vRixNQUFNLE9BQU8saUJBQWlCO0lBSzVCLFlBQW9CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFIbkMsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFLckMsQ0FBQztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsTUFBVyxFQUFFLEVBQUU7WUFDbEMsTUFBTSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBRXpCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxLQUFLLFFBQVEsRUFBRTtnQkFDbEcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDMUI7UUFDSCxDQUFDLENBQUM7UUFFRixRQUFRLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRU0sV0FBVztRQUNoQixRQUFRLENBQUMsbUJBQW1CLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM3RCxDQUFDOztrRkF2QlUsaUJBQWlCO3NEQUFqQixpQkFBaUI7a0RBQWpCLGlCQUFpQjtjQUo3QixTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLFlBQVk7YUFDdkI7NkRBSVEsUUFBUTtrQkFEZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW29mZkNsaWNrXSdcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBPZmZDbGlja0RpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgb2ZmQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIHB1YmxpYyBldmVudEhhbmRsZXI6IGFueTtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcclxuXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmV2ZW50SGFuZGxlciA9ICgkZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcblxyXG4gICAgICBpZiAoIXRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKCRldmVudC50YXJnZXQpICYmICRldmVudC50YXJnZXQubG9jYWxOYW1lICE9PSAnYnV0dG9uJykge1xyXG4gICAgICAgIHRoaXMub2ZmQ2xpY2suZW1pdChudWxsKTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgdGhpcy5ldmVudEhhbmRsZXIpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xyXG4gICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHRoaXMuZXZlbnRIYW5kbGVyKTtcclxuICB9XHJcbn1cclxuIl19