UNPKG

@terrencecastro/ngx-taskboard

Version:
80 lines 5.05 kB
/** * @fileoverview added by tsickle * Generated from: lib/directives/outside-event-handler.directive.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Directive, ElementRef, EventEmitter, Input, NgZone, Output } from '@angular/core'; export class OutSideEventHandlerDirective { /** * @param {?} ngZone * @param {?} el */ constructor(ngZone, el) { this.ngZone = ngZone; this.el = el; this.event = 'click'; this.emitter = new EventEmitter(); } /** * @return {?} */ ngOnDestroy() { this.el.nativeElement.removeEventListener(this.event, this.handler); } /** * @return {?} */ ngOnInit() { this.ngZone.runOutsideAngular((/** * @return {?} */ () => { /** @type {?} */ const nativeElement = this.el.nativeElement; this.handler = (/** * @param {?} $event * @return {?} */ $event => { this.emitter.emit($event); }); nativeElement.addEventListener(this.event, this.handler, false); })); } } OutSideEventHandlerDirective.decorators = [ { type: Directive, args: [{ selector: '[outSideEventHandler]' },] } ]; /** @nocollapse */ OutSideEventHandlerDirective.ctorParameters = () => [ { type: NgZone }, { type: ElementRef } ]; OutSideEventHandlerDirective.propDecorators = { event: [{ type: Input }], emitter: [{ type: Output, args: ['outSideEventHandler',] }] }; if (false) { /** @type {?} */ OutSideEventHandlerDirective.prototype.event; /** @type {?} */ OutSideEventHandlerDirective.prototype.emitter; /** * @type {?} * @private */ OutSideEventHandlerDirective.prototype.handler; /** * @type {?} * @private */ OutSideEventHandlerDirective.prototype.ngZone; /** * @type {?} * @private */ OutSideEventHandlerDirective.prototype.el; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0c2lkZS1ldmVudC1oYW5kbGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiJDOi9wcC9DUEhfVHJhaW5pbmcvUHJvamVjdHMvbmd4LXRhc2tib2FyZC9wcm9qZWN0cy9uZ3gtdGFza2JvYXJkLWxpYi9zcmMvIiwic291cmNlcyI6WyJsaWIvZGlyZWN0aXZlcy9vdXRzaWRlLWV2ZW50LWhhbmRsZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUs1RyxNQUFNLE9BQU8sNEJBQTRCOzs7OztJQUMxQyxZQUFvQixNQUFjLEVBQVUsRUFBYztRQUF0QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUMxQyxVQUFLLEdBQUcsT0FBTyxDQUFDO1FBQ00sWUFBTyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFGTixDQUFDOzs7O0lBSXZELFdBQVc7UUFDakIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckUsQ0FBQzs7OztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQjs7O1FBQUMsR0FBRyxFQUFFOztrQkFDOUIsYUFBYSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYTtZQUMzQyxJQUFJLENBQUMsT0FBTzs7OztZQUFHLE1BQU0sQ0FBQyxFQUFFO2dCQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM1QixDQUFDLENBQUEsQ0FBQztZQUdGLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDL0QsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7WUF0QkQsU0FBUyxTQUFDO2dCQUNWLFFBQVEsRUFBRSx1QkFBdUI7YUFDL0I7Ozs7WUFKa0QsTUFBTTtZQUF2QyxVQUFVOzs7b0JBTzVCLEtBQUs7c0JBQ0wsTUFBTSxTQUFDLHFCQUFxQjs7OztJQUQ3Qiw2Q0FBZ0M7O0lBQ2hDLCtDQUFtRTs7Ozs7SUFDbkUsK0NBQXNDOzs7OztJQUgxQiw4Q0FBc0I7Ozs7O0lBQUUsMENBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBOZ1pvbmUsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG5cdHNlbGVjdG9yOiAnW291dFNpZGVFdmVudEhhbmRsZXJdJ1xyXG4gIH0pXHJcbiAgZXhwb3J0IGNsYXNzIE91dFNpZGVFdmVudEhhbmRsZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIE9uSW5pdCB7XHJcblx0Y29uc3RydWN0b3IocHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSwgcHJpdmF0ZSBlbDogRWxlbWVudFJlZikge31cclxuXHRASW5wdXQoKSBwdWJsaWMgZXZlbnQgPSAnY2xpY2snO1xyXG5cdEBPdXRwdXQoJ291dFNpZGVFdmVudEhhbmRsZXInKSBwdWJsaWMgZW1pdHRlciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHRwcml2YXRlIGhhbmRsZXI6IChldmVudDogYW55KSA9PiB2b2lkO1xyXG5cdHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuXHRcdHRoaXMuZWwubmF0aXZlRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKHRoaXMuZXZlbnQsIHRoaXMuaGFuZGxlcik7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgbmdPbkluaXQoKSB7XHJcblx0ICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcblx0XHRjb25zdCBuYXRpdmVFbGVtZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xyXG5cdFx0dGhpcy5oYW5kbGVyID0gJGV2ZW50ID0+IHtcclxuXHRcdCAgdGhpcy5lbWl0dGVyLmVtaXQoJGV2ZW50KTtcclxuXHRcdH07XHJcblxyXG5cclxuXHRcdG5hdGl2ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcih0aGlzLmV2ZW50LCB0aGlzLmhhbmRsZXIsIGZhbHNlKTtcclxuXHQgIH0pO1xyXG5cdH1cclxuICB9XHJcbiJdfQ==