UNPKG

@disane/ngx-taskboard

Version:
80 lines 4.9 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3V0c2lkZS1ldmVudC1oYW5kbGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS90cmF2aXMvYnVpbGQvRGlzYW5lODcvbmd4LXRhc2tib2FyZC9wcm9qZWN0cy9uZ3gtdGFza2JvYXJkLWxpYi9zcmMvIiwic291cmNlcyI6WyJsaWIvZGlyZWN0aXZlcy9vdXRzaWRlLWV2ZW50LWhhbmRsZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUs1RyxNQUFNLE9BQU8sNEJBQTRCOzs7OztJQUMxQyxZQUFvQixNQUFjLEVBQVUsRUFBYztRQUF0QyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUMxQyxVQUFLLEdBQUcsT0FBTyxDQUFDO1FBQ00sWUFBTyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFGTixDQUFDOzs7O0lBSXZELFdBQVc7UUFDakIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckUsQ0FBQzs7OztJQUVNLFFBQVE7UUFDYixJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQjs7O1FBQUMsR0FBRyxFQUFFOztrQkFDOUIsYUFBYSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYTtZQUMzQyxJQUFJLENBQUMsT0FBTzs7OztZQUFHLE1BQU0sQ0FBQyxFQUFFO2dCQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM1QixDQUFDLENBQUEsQ0FBQztZQUdGLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDL0QsQ0FBQyxFQUFDLENBQUM7SUFDTCxDQUFDOzs7WUF0QkQsU0FBUyxTQUFDO2dCQUNWLFFBQVEsRUFBRSx1QkFBdUI7YUFDL0I7Ozs7WUFKa0QsTUFBTTtZQUF2QyxVQUFVOzs7b0JBTzVCLEtBQUs7c0JBQ0wsTUFBTSxTQUFDLHFCQUFxQjs7OztJQUQ3Qiw2Q0FBZ0M7O0lBQ2hDLCtDQUFtRTs7Ozs7SUFDbkUsK0NBQXNDOzs7OztJQUgxQiw4Q0FBc0I7Ozs7O0lBQUUsMENBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBOZ1pvbmUsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiAnW291dFNpZGVFdmVudEhhbmRsZXJdJ1xuICB9KVxuICBleHBvcnQgY2xhc3MgT3V0U2lkZUV2ZW50SGFuZGxlckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0IHtcblx0Y29uc3RydWN0b3IocHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSwgcHJpdmF0ZSBlbDogRWxlbWVudFJlZikge31cblx0QElucHV0KCkgcHVibGljIGV2ZW50ID0gJ2NsaWNrJztcblx0QE91dHB1dCgnb3V0U2lkZUV2ZW50SGFuZGxlcicpIHB1YmxpYyBlbWl0dGVyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXHRwcml2YXRlIGhhbmRsZXI6IChldmVudDogYW55KSA9PiB2b2lkO1xuXHRwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG5cdFx0dGhpcy5lbC5uYXRpdmVFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIodGhpcy5ldmVudCwgdGhpcy5oYW5kbGVyKTtcblx0fVxuXG5cdHB1YmxpYyBuZ09uSW5pdCgpIHtcblx0ICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XG5cdFx0Y29uc3QgbmF0aXZlRWxlbWVudCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcblx0XHR0aGlzLmhhbmRsZXIgPSAkZXZlbnQgPT4ge1xuXHRcdCAgdGhpcy5lbWl0dGVyLmVtaXQoJGV2ZW50KTtcblx0XHR9O1xuXG5cblx0XHRuYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIodGhpcy5ldmVudCwgdGhpcy5oYW5kbGVyLCBmYWxzZSk7XG5cdCAgfSk7XG5cdH1cbiAgfVxuIl19