UNPKG

@asi-ngtools/lib

Version:

This project is a little components library, simple to use, which will help you to simplify your project.

145 lines (144 loc) 11.4 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import { Subject } from 'rxjs'; import { Component, ViewContainerRef, HostBinding } from '@angular/core'; import * as nh from '../../../native-helper'; var AsiNotificationContainer = /** @class */ (function () { function AsiNotificationContainer(viewContainerRef) { this.viewContainerRef = viewContainerRef; this.class = 'asi-component asi-notification-container'; this.subjectContainer = new Subject(); this.notifications = []; } /** * @param {?} position * @return {?} */ AsiNotificationContainer.prototype.setPosition = /** * @param {?} position * @return {?} */ function (position) { this._position = position; this.class += " " + this._position.toString(); }; /** * @return {?} */ AsiNotificationContainer.prototype.getPosition = /** * @return {?} */ function () { return this._position; }; /** * @return {?} */ AsiNotificationContainer.prototype.onContainerEmpty = /** * @return {?} */ function () { return this.subjectContainer.asObservable(); }; /** * @param {?} componentRef * @param {?} config * @return {?} */ AsiNotificationContainer.prototype.addNotification = /** * @param {?} componentRef * @param {?} config * @return {?} */ function (componentRef, config) { var _this = this; this.notifications.unshift(componentRef); setTimeout(function () { _this.updatePosition(); }, 5); if (config.delayInMs != null && config.delayInMs > 0) { setTimeout(function () { _this.removeNotification(componentRef); }, config.delayInMs); } }; /** * @param {?} componentRef * @return {?} */ AsiNotificationContainer.prototype.removeNotification = /** * @param {?} componentRef * @return {?} */ function (componentRef) { var _this = this; componentRef.location.nativeElement.style.opacity = '0'; setTimeout(function () { nh.remove(_this.notifications, function (notif) { return notif.instance === componentRef.instance; }); _this.updatePosition(); componentRef.destroy(); if (_this.notifications.length === 0) { _this.subjectContainer.next(_this); _this.subjectContainer.complete(); } }, 300); }; /** * @return {?} */ AsiNotificationContainer.prototype.updatePosition = /** * @return {?} */ function () { /** @type {?} */ var top = this._position.value.startsWith('top'); /** @type {?} */ var position = 0; /** @type {?} */ var notifHeight; this.notifications.forEach(function (notification) { notifHeight = notification.location.nativeElement.offsetHeight; /** @type {?} */ var pos = (position * notifHeight + (5 * position)) + 'px'; if (top) { notification.location.nativeElement.style.top = pos; } else { notification.location.nativeElement.style.bottom = pos; } position++; }); }; AsiNotificationContainer.decorators = [ { type: Component, args: [{ selector: 'asi-notification-container', template: "<div class=\"asi-notification-container-panel\"></div>" }] } ]; /** @nocollapse */ AsiNotificationContainer.ctorParameters = function () { return [ { type: ViewContainerRef } ]; }; AsiNotificationContainer.propDecorators = { class: [{ type: HostBinding, args: ['class',] }] }; return AsiNotificationContainer; }()); export { AsiNotificationContainer }; if (false) { /** @type {?} */ AsiNotificationContainer.prototype.class; /** @type {?} */ AsiNotificationContainer.prototype._position; /** @type {?} */ AsiNotificationContainer.prototype.subjectContainer; /** @type {?} */ AsiNotificationContainer.prototype.notifications; /** @type {?} */ AsiNotificationContainer.prototype.viewContainerRef; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNpLW5vdGlmaWNhdGlvbi1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGFzaS1uZ3Rvb2xzL2xpYi8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2FzaS1ub3RpZmljYXRpb24vY29udGFpbmVyL2FzaS1ub3RpZmljYXRpb24tY29udGFpbmVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUczQyxPQUFPLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFnQixXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkYsT0FBTyxLQUFLLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7SUFlM0Msa0NBQW1CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO3FCQVB2QiwwQ0FBMEM7Z0NBR1YsSUFBSSxPQUFPLEVBQUU7NkJBRWhCLEVBQUU7S0FHNUQ7Ozs7O0lBRUQsOENBQVc7Ozs7SUFBWCxVQUFZLFFBQWlDO1FBQzNDLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1FBQzFCLElBQUksQ0FBQyxLQUFLLElBQUksTUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBSSxDQUFDO0tBQy9DOzs7O0lBRUQsOENBQVc7OztJQUFYO1FBQ0UsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7S0FDdkI7Ozs7SUFFRCxtREFBZ0I7OztJQUFoQjtRQUNFLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLENBQUM7S0FDN0M7Ozs7OztJQUVELGtEQUFlOzs7OztJQUFmLFVBQWdCLFlBQWdELEVBQUUsTUFBNkI7UUFBL0YsaUJBVUM7UUFUQyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN6QyxVQUFVLENBQUM7WUFDVCxLQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDdkIsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNOLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLElBQUksSUFBSSxJQUFJLE1BQU0sQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyRCxVQUFVLENBQUM7Z0JBQ1QsS0FBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDO2FBQ3ZDLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQ3RCO0tBQ0Y7Ozs7O0lBRUQscURBQWtCOzs7O0lBQWxCLFVBQW1CLFlBQWdEO1FBQW5FLGlCQWVDO1FBZEMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7UUFFeEQsVUFBVSxDQUFDO1lBQ1QsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFJLENBQUMsYUFBYSxFQUFFLFVBQUMsS0FBSztnQkFDbEMsTUFBTSxDQUFDLEtBQUssQ0FBQyxRQUFRLEtBQUssWUFBWSxDQUFDLFFBQVEsQ0FBQzthQUNqRCxDQUFDLENBQUM7WUFDSCxLQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdEIsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3ZCLEVBQUUsQ0FBQyxDQUFDLEtBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BDLEtBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSSxDQUFDLENBQUM7Z0JBQ2pDLEtBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQzthQUNsQztTQUNGLEVBQUUsR0FBRyxDQUFDLENBQUM7S0FFVDs7OztJQUVELGlEQUFjOzs7SUFBZDs7UUFDRSxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUE7O1FBRWhELElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQzs7UUFDakIsSUFBSSxXQUFXLENBQUM7UUFDaEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsVUFBQSxZQUFZO1lBQ3JDLFdBQVcsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7O1lBQy9ELElBQUksR0FBRyxHQUFHLENBQUMsUUFBUSxHQUFHLFdBQVcsR0FBRyxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQztZQUMzRCxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUNSLFlBQVksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO2FBQ3JEO1lBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ04sWUFBWSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUM7YUFDeEQ7WUFDRCxRQUFRLEVBQUUsQ0FBQztTQUNaLENBQUMsQ0FBQTtLQUNIOztnQkF6RUYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSw0QkFBNEI7b0JBQ3RDLGtFQUF3RDtpQkFDekQ7Ozs7Z0JBUG1CLGdCQUFnQjs7O3dCQVVqQyxXQUFXLFNBQUMsT0FBTzs7bUNBYnRCOztTQVdhLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQXNpTm90aWZpY2F0aW9uIH0gZnJvbSAnLi4vbm90aWZpY2F0aW9uL2FzaS1ub3RpZmljYXRpb24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXNpTm90aWZpY2F0aW9uUG9zaXRpb24sIEFzaU5vdGlmaWNhdGlvbkNvbmZpZyB9IGZyb20gJy4uL2FzaS1ub3RpZmljYXRpb24tY29uZmlnJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3Q29udGFpbmVyUmVmLCBDb21wb25lbnRSZWYsIEhvc3RCaW5kaW5nIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgKiBhcyBuaCBmcm9tICcuLi8uLi8uLi9uYXRpdmUtaGVscGVyJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXNpLW5vdGlmaWNhdGlvbi1jb250YWluZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnYXNpLW5vdGlmaWNhdGlvbi1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBc2lOb3RpZmljYXRpb25Db250YWluZXIge1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgY2xhc3MgPSAnYXNpLWNvbXBvbmVudCBhc2ktbm90aWZpY2F0aW9uLWNvbnRhaW5lcic7XHJcblxyXG4gIHByaXZhdGUgX3Bvc2l0aW9uOiBBc2lOb3RpZmljYXRpb25Qb3NpdGlvbjtcclxuICBwcml2YXRlIHN1YmplY3RDb250YWluZXI6IFN1YmplY3Q8QXNpTm90aWZpY2F0aW9uQ29udGFpbmVyPiA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIG5vdGlmaWNhdGlvbnM6IEFycmF5PENvbXBvbmVudFJlZjxBc2lOb3RpZmljYXRpb248YW55Pj4+ID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmKSB7XHJcbiAgfVxyXG5cclxuICBzZXRQb3NpdGlvbihwb3NpdGlvbjogQXNpTm90aWZpY2F0aW9uUG9zaXRpb24pIHtcclxuICAgIHRoaXMuX3Bvc2l0aW9uID0gcG9zaXRpb247XHJcbiAgICB0aGlzLmNsYXNzICs9IGAgJHt0aGlzLl9wb3NpdGlvbi50b1N0cmluZygpfWA7XHJcbiAgfVxyXG5cclxuICBnZXRQb3NpdGlvbigpIHtcclxuICAgIHJldHVybiB0aGlzLl9wb3NpdGlvbjtcclxuICB9XHJcblxyXG4gIG9uQ29udGFpbmVyRW1wdHkoKTogT2JzZXJ2YWJsZTxBc2lOb3RpZmljYXRpb25Db250YWluZXI+IHtcclxuICAgIHJldHVybiB0aGlzLnN1YmplY3RDb250YWluZXIuYXNPYnNlcnZhYmxlKCk7XHJcbiAgfVxyXG5cclxuICBhZGROb3RpZmljYXRpb24oY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8QXNpTm90aWZpY2F0aW9uPGFueT4+LCBjb25maWc6IEFzaU5vdGlmaWNhdGlvbkNvbmZpZykge1xyXG4gICAgdGhpcy5ub3RpZmljYXRpb25zLnVuc2hpZnQoY29tcG9uZW50UmVmKTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLnVwZGF0ZVBvc2l0aW9uKCk7XHJcbiAgICB9LCA1KTtcclxuICAgIGlmIChjb25maWcuZGVsYXlJbk1zICE9IG51bGwgJiYgY29uZmlnLmRlbGF5SW5NcyA+IDApIHtcclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5yZW1vdmVOb3RpZmljYXRpb24oY29tcG9uZW50UmVmKTtcclxuICAgICAgfSwgY29uZmlnLmRlbGF5SW5Ncyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZW1vdmVOb3RpZmljYXRpb24oY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8QXNpTm90aWZpY2F0aW9uPGFueT4+KSB7XHJcbiAgICBjb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudC5zdHlsZS5vcGFjaXR5ID0gJzAnO1xyXG5cclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBuaC5yZW1vdmUodGhpcy5ub3RpZmljYXRpb25zLCAobm90aWYpID0+IHtcclxuICAgICAgICByZXR1cm4gbm90aWYuaW5zdGFuY2UgPT09IGNvbXBvbmVudFJlZi5pbnN0YW5jZTtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMudXBkYXRlUG9zaXRpb24oKTtcclxuICAgICAgY29tcG9uZW50UmVmLmRlc3Ryb3koKTtcclxuICAgICAgaWYgKHRoaXMubm90aWZpY2F0aW9ucy5sZW5ndGggPT09IDApIHtcclxuICAgICAgICB0aGlzLnN1YmplY3RDb250YWluZXIubmV4dCh0aGlzKTtcclxuICAgICAgICB0aGlzLnN1YmplY3RDb250YWluZXIuY29tcGxldGUoKTtcclxuICAgICAgfVxyXG4gICAgfSwgMzAwKTtcclxuXHJcbiAgfVxyXG5cclxuICB1cGRhdGVQb3NpdGlvbigpIHtcclxuICAgIGxldCB0b3AgPSB0aGlzLl9wb3NpdGlvbi52YWx1ZS5zdGFydHNXaXRoKCd0b3AnKVxyXG5cclxuICAgIGxldCBwb3NpdGlvbiA9IDA7XHJcbiAgICBsZXQgbm90aWZIZWlnaHQ7XHJcbiAgICB0aGlzLm5vdGlmaWNhdGlvbnMuZm9yRWFjaChub3RpZmljYXRpb24gPT4ge1xyXG4gICAgICBub3RpZkhlaWdodCA9IG5vdGlmaWNhdGlvbi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodDtcclxuICAgICAgbGV0IHBvcyA9IChwb3NpdGlvbiAqIG5vdGlmSGVpZ2h0ICsgKDUgKiBwb3NpdGlvbikpICsgJ3B4JztcclxuICAgICAgaWYgKHRvcCkge1xyXG4gICAgICAgIG5vdGlmaWNhdGlvbi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50LnN0eWxlLnRvcCA9IHBvcztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBub3RpZmljYXRpb24ubG9jYXRpb24ubmF0aXZlRWxlbWVudC5zdHlsZS5ib3R0b20gPSBwb3M7XHJcbiAgICAgIH1cclxuICAgICAgcG9zaXRpb24rKztcclxuICAgIH0pXHJcbiAgfVxyXG59XHJcbiJdfQ==