ngx-tags
Version:
To install this library, run:
66 lines • 4.13 kB
JavaScript
/**
* @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 */
var CloseMenuDirective = /** @class */ (function () {
function CloseMenuDirective($elem) {
this.$elem = $elem;
this.whenClickedOut = new EventEmitter();
}
/**
* @param {?} e
* @return {?}
*/
CloseMenuDirective.prototype.onMouseUp = /**
* @param {?} e
* @return {?}
*/
function (e) {
if (this.closeMenu) {
this.isOutside(e);
}
};
/**
* @param {?} e
* @return {?}
*/
CloseMenuDirective.prototype.isOutside = /**
* @param {?} e
* @return {?}
*/
function (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 = function () { return [
{ type: ElementRef }
]; };
CloseMenuDirective.propDecorators = {
whenClickedOut: [{ type: Output }],
closeMenu: [{ type: Input }],
onMouseUp: [{ type: HostListener, args: ['document:mouseup', ['$event'],] }]
};
return CloseMenuDirective;
}());
export { CloseMenuDirective };
if (false) {
/** @type {?} */
CloseMenuDirective.prototype.whenClickedOut;
/** @type {?} */
CloseMenuDirective.prototype.closeMenu;
/**
* @type {?}
* @private
*/
CloseMenuDirective.prototype.$elem;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvc2UtbWVudS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtdGFncy8iLCJzb3VyY2VzIjpbImxpYi9kaXJlY3RpdmVzL2Nsb3NlLW1lbnUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBR2pHO0lBU0UsNEJBQW9CLEtBQWlCO1FBQWpCLFVBQUssR0FBTCxLQUFLLENBQVk7UUFMM0IsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBS0wsQ0FBQzs7Ozs7SUFISSxzQ0FBUzs7OztJQUF2RCxVQUF3RCxDQUFRO1FBQzlELElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FBRTtJQUM1QyxDQUFDOzs7OztJQUdELHNDQUFTOzs7O0lBQVQsVUFBVSxDQUFRO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxPQUFPLEtBQUssTUFBTSxFQUFFO1lBQ3pHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDNUI7SUFDSCxDQUFDOztnQkFmRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGFBQWE7aUJBQ3hCOzs7O2dCQUxpQyxVQUFVOzs7aUNBT3pDLE1BQU07NEJBQ04sS0FBSzs0QkFDTCxZQUFZLFNBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUM7O0lBVTlDLHlCQUFDO0NBQUEsQUFoQkQsSUFnQkM7U0FiWSxrQkFBa0I7OztJQUM3Qiw0Q0FBOEM7O0lBQzlDLHVDQUE0Qjs7Ozs7SUFJaEIsbUNBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIEVsZW1lbnRSZWYsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKiB0c2xpbnQ6ZGlzYWJsZTpkaXJlY3RpdmUtc2VsZWN0b3IgKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tjbG9zZU1lbnVdJ1xufSlcbmV4cG9ydCBjbGFzcyBDbG9zZU1lbnVEaXJlY3RpdmUge1xuICBAT3V0cHV0KCkgd2hlbkNsaWNrZWRPdXQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBJbnB1dCgpIGNsb3NlTWVudTogYm9vbGVhbjtcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6bW91c2V1cCcsIFsnJGV2ZW50J10pIG9uTW91c2VVcChlOiBFdmVudCkge1xuICAgIGlmICh0aGlzLmNsb3NlTWVudSkgeyB0aGlzLmlzT3V0c2lkZShlKTsgfVxuICB9XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgJGVsZW06IEVsZW1lbnRSZWYpIHsgfVxuXG4gIGlzT3V0c2lkZShlOiBFdmVudCkge1xuICAgIGlmICghdGhpcy4kZWxlbS5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkgJiYgdGhpcy4kZWxlbS5uYXRpdmVFbGVtZW50LnN0eWxlLmRpc3BsYXkgIT09ICdub25lJykge1xuICAgICAgdGhpcy53aGVuQ2xpY2tlZE91dC5lbWl0KCk7XG4gICAgfVxuICB9XG59XG4iXX0=