UNPKG

@stratio/egeo

Version:
106 lines 6.92 kB
/** * @fileoverview added by tsickle * Generated from: lib/utils/event-window-manager.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @abstract */ export class EventWindowManager { /** * @param {?} _renderer * @param {?} _cd * @param {?} _elementRef */ constructor(_renderer, _cd, _elementRef) { this._renderer = _renderer; this._cd = _cd; this._elementRef = _elementRef; } /** * @protected * @return {?} */ openElement() { if (this.isActive) { this.closeElement(); } else { this.isActive = !this.isActive; setTimeout((/** * @return {?} */ () => { this.globalListener = this._renderer.listen('document', 'click', this.onClickOutside.bind(this)); this.forceClose = this._renderer.listen('document', 'stForceClose', this.onForceClose.bind(this)); })); } } /** * @protected * @return {?} */ closeElement() { if (this.isActive) { this.isActive = !this.isActive; this._cd.markForCheck(); if (this.globalListener !== undefined && typeof (this.globalListener) === 'function') { this.globalListener(); this.forceClose(); } } } /** * @private * @param {?} event * @return {?} */ onClickOutside(event) { if (!this._elementRef.nativeElement.contains(event.target)) { this.closeElement(); } } /** * @private * @param {?} event * @return {?} */ onForceClose(event) { this.closeElement(); } } if (false) { /** @type {?} */ EventWindowManager.prototype.isActive; /** * @type {?} * @private */ EventWindowManager.prototype.globalListener; /** * @type {?} * @private */ EventWindowManager.prototype.forceClose; /** * @type {?} * @private */ EventWindowManager.prototype._renderer; /** * @type {?} * @private */ EventWindowManager.prototype._cd; /** * @type {?} * @private */ EventWindowManager.prototype._elementRef; /** * @abstract * @return {?} */ EventWindowManager.prototype.ngOnDestroy = function () { }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtd2luZG93LW1hbmFnZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3RyYXRpby9lZ2VvLyIsInNvdXJjZXMiOlsibGliL3V0aWxzL2V2ZW50LXdpbmRvdy1tYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBWUEsTUFBTSxPQUFnQixrQkFBa0I7Ozs7OztJQUtyQyxZQUFvQixTQUFvQixFQUFVLEdBQXNCLEVBQVUsV0FBdUI7UUFBckYsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUFVLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQVk7SUFBSSxDQUFDOzs7OztJQUlwRyxXQUFXO1FBQ2xCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNoQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDdEI7YUFBTTtZQUNKLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQy9CLFVBQVU7OztZQUFDLEdBQUcsRUFBRTtnQkFDYixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDakcsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsY0FBYyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDckcsQ0FBQyxFQUFDLENBQUM7U0FDTDtJQUNKLENBQUM7Ozs7O0lBRVMsWUFBWTtRQUNuQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDaEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDL0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN4QixJQUFJLElBQUksQ0FBQyxjQUFjLEtBQUssU0FBUyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssVUFBVSxFQUFFO2dCQUNuRixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUNwQjtTQUNIO0lBQ0osQ0FBQzs7Ozs7O0lBRU8sY0FBYyxDQUFDLEtBQWlCO1FBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ3pELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUN0QjtJQUNKLENBQUM7Ozs7OztJQUVPLFlBQVksQ0FBQyxLQUFpQjtRQUNuQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdkIsQ0FBQztDQUNIOzs7SUF4Q0Usc0NBQXlCOzs7OztJQUN6Qiw0Q0FBaUM7Ozs7O0lBQ2pDLHdDQUE2Qjs7Ozs7SUFFakIsdUNBQTRCOzs7OztJQUFFLGlDQUE4Qjs7Ozs7SUFBRSx5Q0FBK0I7Ozs7O0lBRXpHLDJEQUE2QiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiDCqSAyMDE3IFN0cmF0aW8gQmlnIERhdGEgSW5jLiwgU3VjdXJzYWwgZW4gRXNwYcOxYS5cbiAqXG4gKiBUaGlzIHNvZnR3YXJlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAuXG4gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZO1xuICogd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS5cbiAqIFNlZSB0aGUgdGVybXMgb2YgdGhlIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMC5cbiAqL1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIEVsZW1lbnRSZWYsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRXZlbnRXaW5kb3dNYW5hZ2VyIHtcbiAgIHB1YmxpYyBpc0FjdGl2ZTogYm9vbGVhbjtcbiAgIHByaXZhdGUgZ2xvYmFsTGlzdGVuZXI6IEZ1bmN0aW9uO1xuICAgcHJpdmF0ZSBmb3JjZUNsb3NlOiBGdW5jdGlvbjtcblxuICAgY29uc3RydWN0b3IocHJpdmF0ZSBfcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHJpdmF0ZSBfY2Q6IENoYW5nZURldGVjdG9yUmVmLCBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7IH1cblxuICAgYWJzdHJhY3QgbmdPbkRlc3Ryb3koKTogdm9pZDtcblxuICAgcHJvdGVjdGVkIG9wZW5FbGVtZW50KCk6IHZvaWQge1xuICAgICAgaWYgKHRoaXMuaXNBY3RpdmUpIHtcbiAgICAgICAgIHRoaXMuY2xvc2VFbGVtZW50KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAgdGhpcy5pc0FjdGl2ZSA9ICF0aGlzLmlzQWN0aXZlO1xuICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmdsb2JhbExpc3RlbmVyID0gdGhpcy5fcmVuZGVyZXIubGlzdGVuKCdkb2N1bWVudCcsICdjbGljaycsIHRoaXMub25DbGlja091dHNpZGUuYmluZCh0aGlzKSk7XG4gICAgICAgICAgICB0aGlzLmZvcmNlQ2xvc2UgPSB0aGlzLl9yZW5kZXJlci5saXN0ZW4oJ2RvY3VtZW50JywgJ3N0Rm9yY2VDbG9zZScsIHRoaXMub25Gb3JjZUNsb3NlLmJpbmQodGhpcykpO1xuICAgICAgICAgfSk7XG4gICAgICB9XG4gICB9XG5cbiAgIHByb3RlY3RlZCBjbG9zZUVsZW1lbnQoKTogdm9pZCB7XG4gICAgICBpZiAodGhpcy5pc0FjdGl2ZSkge1xuICAgICAgICAgdGhpcy5pc0FjdGl2ZSA9ICF0aGlzLmlzQWN0aXZlO1xuICAgICAgICAgdGhpcy5fY2QubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICBpZiAodGhpcy5nbG9iYWxMaXN0ZW5lciAhPT0gdW5kZWZpbmVkICYmIHR5cGVvZiAodGhpcy5nbG9iYWxMaXN0ZW5lcikgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHRoaXMuZ2xvYmFsTGlzdGVuZXIoKTtcbiAgICAgICAgICAgIHRoaXMuZm9yY2VDbG9zZSgpO1xuICAgICAgICAgfVxuICAgICAgfVxuICAgfVxuXG4gICBwcml2YXRlIG9uQ2xpY2tPdXRzaWRlKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICBpZiAoIXRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpKSB7XG4gICAgICAgICB0aGlzLmNsb3NlRWxlbWVudCgpO1xuICAgICAgfVxuICAgfVxuXG4gICBwcml2YXRlIG9uRm9yY2VDbG9zZShldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgdGhpcy5jbG9zZUVsZW1lbnQoKTtcbiAgIH1cbn1cbiJdfQ==