@stratio/egeo
Version:
128 lines • 7.51 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: lib/utils/event-window-manager.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @abstract
*/
var /**
* @abstract
*/
EventWindowManager = /** @class */ (function () {
function EventWindowManager(_renderer, _cd, _elementRef) {
this._renderer = _renderer;
this._cd = _cd;
this._elementRef = _elementRef;
}
/**
* @protected
* @return {?}
*/
EventWindowManager.prototype.openElement = /**
* @protected
* @return {?}
*/
function () {
var _this = this;
if (this.isActive) {
this.closeElement();
}
else {
this.isActive = !this.isActive;
setTimeout((/**
* @return {?}
*/
function () {
_this.globalListener = _this._renderer.listen('document', 'click', _this.onClickOutside.bind(_this));
_this.forceClose = _this._renderer.listen('document', 'stForceClose', _this.onForceClose.bind(_this));
}));
}
};
/**
* @protected
* @return {?}
*/
EventWindowManager.prototype.closeElement = /**
* @protected
* @return {?}
*/
function () {
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 {?}
*/
EventWindowManager.prototype.onClickOutside = /**
* @private
* @param {?} event
* @return {?}
*/
function (event) {
if (!this._elementRef.nativeElement.contains(event.target)) {
this.closeElement();
}
};
/**
* @private
* @param {?} event
* @return {?}
*/
EventWindowManager.prototype.onForceClose = /**
* @private
* @param {?} event
* @return {?}
*/
function (event) {
this.closeElement();
};
return EventWindowManager;
}());
/**
* @abstract
*/
export { EventWindowManager };
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtd2luZG93LW1hbmFnZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3RyYXRpby9lZ2VvLyIsInNvdXJjZXMiOlsibGliL3V0aWxzL2V2ZW50LXdpbmRvdy1tYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBWUE7Ozs7SUFLRyw0QkFBb0IsU0FBb0IsRUFBVSxHQUFzQixFQUFVLFdBQXVCO1FBQXJGLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFZO0lBQUksQ0FBQzs7Ozs7SUFJcEcsd0NBQVc7Ozs7SUFBckI7UUFBQSxpQkFVQztRQVRFLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNoQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDdEI7YUFBTTtZQUNKLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQy9CLFVBQVU7OztZQUFDO2dCQUNSLEtBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxLQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUNqRyxLQUFJLENBQUMsVUFBVSxHQUFHLEtBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxjQUFjLEVBQUUsS0FBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSSxDQUFDLENBQUMsQ0FBQztZQUNyRyxDQUFDLEVBQUMsQ0FBQztTQUNMO0lBQ0osQ0FBQzs7Ozs7SUFFUyx5Q0FBWTs7OztJQUF0QjtRQUNHLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNoQixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUMvQixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3hCLElBQUksSUFBSSxDQUFDLGNBQWMsS0FBSyxTQUFTLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxVQUFVLEVBQUU7Z0JBQ25GLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDdEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQ3BCO1NBQ0g7SUFDSixDQUFDOzs7Ozs7SUFFTywyQ0FBYzs7Ozs7SUFBdEIsVUFBdUIsS0FBaUI7UUFDckMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDekQsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ3RCO0lBQ0osQ0FBQzs7Ozs7O0lBRU8seUNBQVk7Ozs7O0lBQXBCLFVBQXFCLEtBQWlCO1FBQ25DLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBQ0oseUJBQUM7QUFBRCxDQUFDLEFBekNELElBeUNDOzs7Ozs7O0lBeENFLHNDQUF5Qjs7Ozs7SUFDekIsNENBQWlDOzs7OztJQUNqQyx3Q0FBNkI7Ozs7O0lBRWpCLHVDQUE0Qjs7Ozs7SUFBRSxpQ0FBOEI7Ozs7O0lBQUUseUNBQStCOzs7OztJQUV6RywyREFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogwqkgMjAxNyBTdHJhdGlvIEJpZyBEYXRhIEluYy4sIFN1Y3Vyc2FsIGVuIEVzcGHDsWEuXG4gKlxuICogVGhpcyBzb2Z0d2FyZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wLlxuICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTtcbiAqIHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuXG4gKiBTZWUgdGhlIHRlcm1zIG9mIHRoZSBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjAuXG4gKi9cbmltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBFbGVtZW50UmVmLCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEV2ZW50V2luZG93TWFuYWdlciB7XG4gICBwdWJsaWMgaXNBY3RpdmU6IGJvb2xlYW47XG4gICBwcml2YXRlIGdsb2JhbExpc3RlbmVyOiBGdW5jdGlvbjtcbiAgIHByaXZhdGUgZm9yY2VDbG9zZTogRnVuY3Rpb247XG5cbiAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX3JlbmRlcmVyOiBSZW5kZXJlcjIsIHByaXZhdGUgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZikgeyB9XG5cbiAgIGFic3RyYWN0IG5nT25EZXN0cm95KCk6IHZvaWQ7XG5cbiAgIHByb3RlY3RlZCBvcGVuRWxlbWVudCgpOiB2b2lkIHtcbiAgICAgIGlmICh0aGlzLmlzQWN0aXZlKSB7XG4gICAgICAgICB0aGlzLmNsb3NlRWxlbWVudCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgIHRoaXMuaXNBY3RpdmUgPSAhdGhpcy5pc0FjdGl2ZTtcbiAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5nbG9iYWxMaXN0ZW5lciA9IHRoaXMuX3JlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCAnY2xpY2snLCB0aGlzLm9uQ2xpY2tPdXRzaWRlLmJpbmQodGhpcykpO1xuICAgICAgICAgICAgdGhpcy5mb3JjZUNsb3NlID0gdGhpcy5fcmVuZGVyZXIubGlzdGVuKCdkb2N1bWVudCcsICdzdEZvcmNlQ2xvc2UnLCB0aGlzLm9uRm9yY2VDbG9zZS5iaW5kKHRoaXMpKTtcbiAgICAgICAgIH0pO1xuICAgICAgfVxuICAgfVxuXG4gICBwcm90ZWN0ZWQgY2xvc2VFbGVtZW50KCk6IHZvaWQge1xuICAgICAgaWYgKHRoaXMuaXNBY3RpdmUpIHtcbiAgICAgICAgIHRoaXMuaXNBY3RpdmUgPSAhdGhpcy5pc0FjdGl2ZTtcbiAgICAgICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgaWYgKHRoaXMuZ2xvYmFsTGlzdGVuZXIgIT09IHVuZGVmaW5lZCAmJiB0eXBlb2YgKHRoaXMuZ2xvYmFsTGlzdGVuZXIpID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICB0aGlzLmdsb2JhbExpc3RlbmVyKCk7XG4gICAgICAgICAgICB0aGlzLmZvcmNlQ2xvc2UoKTtcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgIH1cblxuICAgcHJpdmF0ZSBvbkNsaWNrT3V0c2lkZShldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgaWYgKCF0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSkge1xuICAgICAgICAgdGhpcy5jbG9zZUVsZW1lbnQoKTtcbiAgICAgIH1cbiAgIH1cblxuICAgcHJpdmF0ZSBvbkZvcmNlQ2xvc2UoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgIHRoaXMuY2xvc2VFbGVtZW50KCk7XG4gICB9XG59XG4iXX0=