UNPKG

ngx-tags

Version:
59 lines 3.74 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Directive, HostListener, ElementRef, Output, EventEmitter, Input } from '@angular/core'; /* tslint:disable:directive-selector */ export class CloseMenuDirective { /** * @param {?} $elem */ constructor($elem) { this.$elem = $elem; this.whenClickedOut = new EventEmitter(); } /** * @param {?} e * @return {?} */ onMouseUp(e) { if (this.closeMenu) { this.isOutside(e); } } /** * @param {?} e * @return {?} */ isOutside(e) { if (!this.$elem.nativeElement.contains(event.target) && this.$elem.nativeElement.style.display !== 'none') { this.whenClickedOut.emit(); } } } CloseMenuDirective.decorators = [ { type: Directive, args: [{ selector: '[closeMenu]' },] } ]; /** @nocollapse */ CloseMenuDirective.ctorParameters = () => [ { type: ElementRef } ]; CloseMenuDirective.propDecorators = { whenClickedOut: [{ type: Output }], closeMenu: [{ type: Input }], onMouseUp: [{ type: HostListener, args: ['document:mouseup', ['$event'],] }] }; if (false) { /** @type {?} */ CloseMenuDirective.prototype.whenClickedOut; /** @type {?} */ CloseMenuDirective.prototype.closeMenu; /** * @type {?} * @private */ CloseMenuDirective.prototype.$elem; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvc2UtbWVudS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtdGFncy8iLCJzb3VyY2VzIjpbImxpYi9kaXJlY3RpdmVzL2Nsb3NlLW1lbnUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTWpHLE1BQU0sT0FBTyxrQkFBa0I7Ozs7SUFNN0IsWUFBb0IsS0FBaUI7UUFBakIsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUwzQixtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFLTCxDQUFDOzs7OztJQUhJLFNBQVMsQ0FBQyxDQUFRO1FBQzlELElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FBRTtJQUM1QyxDQUFDOzs7OztJQUdELFNBQVMsQ0FBQyxDQUFRO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxPQUFPLEtBQUssTUFBTSxFQUFFO1lBQ3pHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDNUI7SUFDSCxDQUFDOzs7WUFmRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGFBQWE7YUFDeEI7Ozs7WUFMaUMsVUFBVTs7OzZCQU96QyxNQUFNO3dCQUNOLEtBQUs7d0JBQ0wsWUFBWSxTQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDOzs7O0lBRjVDLDRDQUE4Qzs7SUFDOUMsdUNBQTRCOzs7OztJQUloQixtQ0FBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciwgRWxlbWVudFJlZiwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qIHRzbGludDpkaXNhYmxlOmRpcmVjdGl2ZS1zZWxlY3RvciAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2Nsb3NlTWVudV0nXG59KVxuZXhwb3J0IGNsYXNzIENsb3NlTWVudURpcmVjdGl2ZSB7XG4gIEBPdXRwdXQoKSB3aGVuQ2xpY2tlZE91dCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQElucHV0KCkgY2xvc2VNZW51OiBib29sZWFuO1xuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDptb3VzZXVwJywgWyckZXZlbnQnXSkgb25Nb3VzZVVwKGU6IEV2ZW50KSB7XG4gICAgaWYgKHRoaXMuY2xvc2VNZW51KSB7IHRoaXMuaXNPdXRzaWRlKGUpOyB9XG4gIH1cbiAgY29uc3RydWN0b3IocHJpdmF0ZSAkZWxlbTogRWxlbWVudFJlZikgeyB9XG5cbiAgaXNPdXRzaWRlKGU6IEV2ZW50KSB7XG4gICAgaWYgKCF0aGlzLiRlbGVtLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSAmJiB0aGlzLiRlbGVtLm5hdGl2ZUVsZW1lbnQuc3R5bGUuZGlzcGxheSAhPT0gJ25vbmUnKSB7XG4gICAgICB0aGlzLndoZW5DbGlja2VkT3V0LmVtaXQoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==