UNPKG

@addapptables/notifier

Version:
147 lines 12.1 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Inject } from '@angular/core'; import { DOCUMENT } from '@angular/common'; import { take } from 'rxjs/operators'; /** * @abstract */ var AbstractStrategy = /** @class */ (function () { function AbstractStrategy(_document) { this._document = _document; this.notifiers = []; this.margin = 30; this.maxNotifiers = 5; this.notifiers = []; } /** * @param {?} notifierRef * @return {?} */ AbstractStrategy.prototype.newNotifier = /** * @param {?} notifierRef * @return {?} */ function (notifierRef) { var _this = this; notifierRef.afterClosed().pipe(take(1)).subscribe(this.deletePortal.bind(this)); notifierRef.changedStyle(this.getStyleNewNotifier(notifierRef)); setTimeout((/** * @return {?} */ function () { if (_this.notifiers.length >= _this.maxNotifiers) { /** @type {?} */ var notifier = _this.notifiers.shift(); notifier.close(); } /** @type {?} */ var element = _this._document.querySelector("#" + notifierRef.component._id + " > addapptable-notifier > .addapptable-notifier"); _this.notifiers.forEach((/** * @param {?} notifier * @return {?} */ function (notifier) { /** @type {?} */ var elementNotifier = _this._document .querySelector("#" + notifier.component._id + " > addapptable-notifier > .addapptable-notifier"); notifier.changedStyle(_this.getStyleNotifierPosition(elementNotifier, element.clientHeight)); })); _this.notifiers.push(notifierRef); })); }; /** * @private * @param {?} id * @return {?} */ AbstractStrategy.prototype.deletePortal = /** * @private * @param {?} id * @return {?} */ function (id) { /** @type {?} */ var notifier = this.notifiers.findIndex((/** * @param {?} x * @return {?} */ function (x) { return x.component._id === id; })); if (notifier >= 0) { /** @type {?} */ var element = this._document .querySelector("#" + this.notifiers[notifier].component._id + " > addapptable-notifier > .addapptable-notifier"); /** @type {?} */ var clientHeightElementDelete = element.clientHeight; this.notifiers.splice(notifier, 1); for (var index = notifier - 1; index >= 0; index--) { /** @type {?} */ var notifierStyle = this.notifiers[index]; /** @type {?} */ var elementChange = this._document .querySelector("#" + notifierStyle.component._id + " > addapptable-notifier > .addapptable-notifier"); notifierStyle.changedStyle(this.getStyleDeleteNotifier(elementChange, clientHeightElementDelete)); } } }; /** * @return {?} */ AbstractStrategy.prototype.ngOnDestroy = /** * @return {?} */ function () { this.notifiers.forEach((/** * @param {?} notifier * @return {?} */ function (notifier) { notifier.close(); })); }; /** @nocollapse */ AbstractStrategy.ctorParameters = function () { return [ { type: HTMLDocument, decorators: [{ type: Inject, args: [DOCUMENT,] }] } ]; }; return AbstractStrategy; }()); export { AbstractStrategy }; if (false) { /** @type {?} */ AbstractStrategy.prototype.notifiers; /** @type {?} */ AbstractStrategy.prototype.margin; /** @type {?} */ AbstractStrategy.prototype.maxNotifiers; /** * @type {?} * @private */ AbstractStrategy.prototype._document; /** * @abstract * @protected * @param {?} notifierRef * @return {?} */ AbstractStrategy.prototype.getStyleNewNotifier = function (notifierRef) { }; /** * @abstract * @protected * @param {?} divNotifier * @param {?} clientHeight * @return {?} */ AbstractStrategy.prototype.getStyleNotifierPosition = function (divNotifier, clientHeight) { }; /** * @abstract * @protected * @param {?} elementChange * @param {?} clientHeightElementDelete * @return {?} */ AbstractStrategy.prototype.getStyleDeleteNotifier = function (elementChange, clientHeightElementDelete) { }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3Qtc3RyYXRlZ3kuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AYWRkYXBwdGFibGVzL25vdGlmaWVyLyIsInNvdXJjZXMiOlsibGliL3N0cmF0ZWdpZXMvYWJzdHJhY3Qtc3RyYXRlZ3kudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUd0QztJQU9JLDBCQUFzQyxTQUF1QjtRQUF2QixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBTjdELGNBQVMsR0FBa0IsRUFBRSxDQUFDO1FBRTlCLFdBQU0sR0FBRyxFQUFFLENBQUM7UUFFWixpQkFBWSxHQUFHLENBQUMsQ0FBQztRQUdiLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7Ozs7O0lBRUQsc0NBQVc7Ozs7SUFBWCxVQUFZLFdBQXdCO1FBQXBDLGlCQWdCQztRQWZHLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDaEYsV0FBVyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUNoRSxVQUFVOzs7UUFBQztZQUNQLElBQUksS0FBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLElBQUksS0FBSSxDQUFDLFlBQVksRUFBRTs7b0JBQ3RDLFFBQVEsR0FBRyxLQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRTtnQkFDdkMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQ3BCOztnQkFDSyxPQUFPLEdBQUcsS0FBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsTUFBSSxXQUFXLENBQUMsU0FBUyxDQUFDLEdBQUcsb0RBQWlELENBQUM7WUFDNUgsS0FBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPOzs7O1lBQUMsVUFBQSxRQUFROztvQkFDckIsZUFBZSxHQUFHLEtBQUksQ0FBQyxTQUFTO3FCQUNqQyxhQUFhLENBQWlCLE1BQUksUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLG9EQUFpRCxDQUFDO2dCQUMvRyxRQUFRLENBQUMsWUFBWSxDQUFDLEtBQUksQ0FBQyx3QkFBd0IsQ0FBQyxlQUFlLEVBQUUsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7WUFDaEcsQ0FBQyxFQUFDLENBQUM7WUFDSCxLQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNyQyxDQUFDLEVBQUMsQ0FBQztJQUNQLENBQUM7Ozs7OztJQU1PLHVDQUFZOzs7OztJQUFwQixVQUFxQixFQUFVOztZQUNyQixRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTOzs7O1FBQUMsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsS0FBSyxFQUFFLEVBQXRCLENBQXNCLEVBQUM7UUFDdEUsSUFBSSxRQUFRLElBQUksQ0FBQyxFQUFFOztnQkFDVCxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVM7aUJBQ3pCLGFBQWEsQ0FBaUIsTUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLG9EQUFpRCxDQUFDOztnQkFDekgseUJBQXlCLEdBQUcsT0FBTyxDQUFDLFlBQVk7WUFDdEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ25DLEtBQUssSUFBSSxLQUFLLEdBQUcsUUFBUSxHQUFHLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFOztvQkFDMUMsYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDOztvQkFDckMsYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTO3FCQUMvQixhQUFhLENBQWlCLE1BQUksYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLG9EQUFpRCxDQUFDO2dCQUNwSCxhQUFhLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxhQUFhLEVBQUUseUJBQXlCLENBQUMsQ0FBQyxDQUFDO2FBQ3JHO1NBQ0o7SUFDTCxDQUFDOzs7O0lBSUQsc0NBQVc7OztJQUFYO1FBQ0ksSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPOzs7O1FBQUMsVUFBQSxRQUFRO1lBQzNCLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNyQixDQUFDLEVBQUMsQ0FBQztJQUNQLENBQUM7OztnQkFoRGdELFlBQVksdUJBQWhELE1BQU0sU0FBQyxRQUFROztJQWlEaEMsdUJBQUM7Q0FBQSxBQXhERCxJQXdEQztTQXhEcUIsZ0JBQWdCOzs7SUFDbEMscUNBQThCOztJQUU5QixrQ0FBWTs7SUFFWix3Q0FBaUI7Ozs7O0lBRUwscUNBQWlEOzs7Ozs7O0lBc0I3RCw0RUFBaUU7Ozs7Ozs7O0lBRWpFLCtGQUErRjs7Ozs7Ozs7SUFrQi9GLDRHQUE0RyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5vdGlmaWVyUmVmIH0gZnJvbSAnLi4vbm90aWZpZXItcmVmJztcclxuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBTdHJhdGVneSB9IGZyb20gJy4vc3RyYXRlZ3knO1xyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0U3RyYXRlZ3kgaW1wbGVtZW50cyBTdHJhdGVneSwgT25EZXN0cm95IHtcclxuICAgIG5vdGlmaWVyczogTm90aWZpZXJSZWZbXSA9IFtdO1xyXG5cclxuICAgIG1hcmdpbiA9IDMwO1xyXG5cclxuICAgIG1heE5vdGlmaWVycyA9IDU7XHJcblxyXG4gICAgY29uc3RydWN0b3IoQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBfZG9jdW1lbnQ6IEhUTUxEb2N1bWVudCkge1xyXG4gICAgICAgIHRoaXMubm90aWZpZXJzID0gW107XHJcbiAgICB9XHJcblxyXG4gICAgbmV3Tm90aWZpZXIobm90aWZpZXJSZWY6IE5vdGlmaWVyUmVmKSB7XHJcbiAgICAgICAgbm90aWZpZXJSZWYuYWZ0ZXJDbG9zZWQoKS5waXBlKHRha2UoMSkpLnN1YnNjcmliZSh0aGlzLmRlbGV0ZVBvcnRhbC5iaW5kKHRoaXMpKTtcclxuICAgICAgICBub3RpZmllclJlZi5jaGFuZ2VkU3R5bGUodGhpcy5nZXRTdHlsZU5ld05vdGlmaWVyKG5vdGlmaWVyUmVmKSk7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLm5vdGlmaWVycy5sZW5ndGggPj0gdGhpcy5tYXhOb3RpZmllcnMpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IG5vdGlmaWVyID0gdGhpcy5ub3RpZmllcnMuc2hpZnQoKTtcclxuICAgICAgICAgICAgICAgIG5vdGlmaWVyLmNsb3NlKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuX2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYCMke25vdGlmaWVyUmVmLmNvbXBvbmVudC5faWR9ID4gYWRkYXBwdGFibGUtbm90aWZpZXIgPiAuYWRkYXBwdGFibGUtbm90aWZpZXJgKTtcclxuICAgICAgICAgICAgdGhpcy5ub3RpZmllcnMuZm9yRWFjaChub3RpZmllciA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBlbGVtZW50Tm90aWZpZXIgPSB0aGlzLl9kb2N1bWVudFxyXG4gICAgICAgICAgICAgICAgICAgIC5xdWVyeVNlbGVjdG9yPEhUTUxEaXZFbGVtZW50PihgIyR7bm90aWZpZXIuY29tcG9uZW50Ll9pZH0gPiBhZGRhcHB0YWJsZS1ub3RpZmllciA+IC5hZGRhcHB0YWJsZS1ub3RpZmllcmApO1xyXG4gICAgICAgICAgICAgICAgbm90aWZpZXIuY2hhbmdlZFN0eWxlKHRoaXMuZ2V0U3R5bGVOb3RpZmllclBvc2l0aW9uKGVsZW1lbnROb3RpZmllciwgZWxlbWVudC5jbGllbnRIZWlnaHQpKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHRoaXMubm90aWZpZXJzLnB1c2gobm90aWZpZXJSZWYpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXRTdHlsZU5ld05vdGlmaWVyKG5vdGlmaWVyUmVmOiBOb3RpZmllclJlZik7XHJcblxyXG4gICAgcHJvdGVjdGVkIGFic3RyYWN0IGdldFN0eWxlTm90aWZpZXJQb3NpdGlvbihkaXZOb3RpZmllcjogSFRNTERpdkVsZW1lbnQsIGNsaWVudEhlaWdodDogbnVtYmVyKTtcclxuXHJcbiAgICBwcml2YXRlIGRlbGV0ZVBvcnRhbChpZDogc3RyaW5nKSB7XHJcbiAgICAgICAgY29uc3Qgbm90aWZpZXIgPSB0aGlzLm5vdGlmaWVycy5maW5kSW5kZXgoeCA9PiB4LmNvbXBvbmVudC5faWQgPT09IGlkKTtcclxuICAgICAgICBpZiAobm90aWZpZXIgPj0gMCkge1xyXG4gICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5fZG9jdW1lbnRcclxuICAgICAgICAgICAgICAgIC5xdWVyeVNlbGVjdG9yPEhUTUxEaXZFbGVtZW50PihgIyR7dGhpcy5ub3RpZmllcnNbbm90aWZpZXJdLmNvbXBvbmVudC5faWR9ID4gYWRkYXBwdGFibGUtbm90aWZpZXIgPiAuYWRkYXBwdGFibGUtbm90aWZpZXJgKTtcclxuICAgICAgICAgICAgY29uc3QgY2xpZW50SGVpZ2h0RWxlbWVudERlbGV0ZSA9IGVsZW1lbnQuY2xpZW50SGVpZ2h0O1xyXG4gICAgICAgICAgICB0aGlzLm5vdGlmaWVycy5zcGxpY2Uobm90aWZpZXIsIDEpO1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpbmRleCA9IG5vdGlmaWVyIC0gMTsgaW5kZXggPj0gMDsgaW5kZXgtLSkge1xyXG4gICAgICAgICAgICAgICAgY29uc3Qgbm90aWZpZXJTdHlsZSA9IHRoaXMubm90aWZpZXJzW2luZGV4XTtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRDaGFuZ2UgPSB0aGlzLl9kb2N1bWVudFxyXG4gICAgICAgICAgICAgICAgICAgIC5xdWVyeVNlbGVjdG9yPEhUTUxEaXZFbGVtZW50PihgIyR7bm90aWZpZXJTdHlsZS5jb21wb25lbnQuX2lkfSA+IGFkZGFwcHRhYmxlLW5vdGlmaWVyID4gLmFkZGFwcHRhYmxlLW5vdGlmaWVyYCk7XHJcbiAgICAgICAgICAgICAgICBub3RpZmllclN0eWxlLmNoYW5nZWRTdHlsZSh0aGlzLmdldFN0eWxlRGVsZXRlTm90aWZpZXIoZWxlbWVudENoYW5nZSwgY2xpZW50SGVpZ2h0RWxlbWVudERlbGV0ZSkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBnZXRTdHlsZURlbGV0ZU5vdGlmaWVyKGVsZW1lbnRDaGFuZ2U6IEhUTUxEaXZFbGVtZW50LCBjbGllbnRIZWlnaHRFbGVtZW50RGVsZXRlOiBudW1iZXIpO1xyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMubm90aWZpZXJzLmZvckVhY2gobm90aWZpZXIgPT4ge1xyXG4gICAgICAgICAgICBub3RpZmllci5jbG9zZSgpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==