UNPKG

alert-notification

Version:

A lightweight easy to use module to display alert notifications inside you Angular web applications.

181 lines 9.51 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Injectable } from '@angular/core'; import { Subject } from 'rxjs'; import * as i0 from "@angular/core"; var AlertService = /** @class */ (function () { function AlertService() { this.position = 'bottom-right'; this.interval = 5000; this.autodismiss = true; this.alerts = []; this.positionUpdated = new Subject(); this.alertUpdated = new Subject(); } /** * @return {?} */ AlertService.prototype.getPosition = /** * @return {?} */ function () { return this.position; }; /** * @param {?} position * @return {?} */ AlertService.prototype.setPosition = /** * @param {?} position * @return {?} */ function (position) { this.position = position; console.log('set' + this.position); this.positionUpdated.next(this.position); }; /** * @return {?} */ AlertService.prototype.getPositionUpdateListner = /** * @return {?} */ function () { return this.positionUpdated.asObservable(); }; /** * @return {?} */ AlertService.prototype.getAlerts = /** * @return {?} */ function () { return this.alerts; }; /** * @param {?} newId * @param {?} newType * @param {?} newTitle * @param {?} newMessage * @return {?} */ AlertService.prototype.push = /** * @param {?} newId * @param {?} newType * @param {?} newTitle * @param {?} newMessage * @return {?} */ function (newId, newType, newTitle, newMessage) { var _this = this; this.alerts.push({ id: newId, title: newTitle, message: newMessage, type: newType.toLowerCase() }); this.alertUpdated.next(this.alerts); if (this.autodismiss) { setTimeout((/** * @return {?} */ function () { _this.removeAlert(newId); }), this.interval); } }; /** * @param {?} id * @return {?} */ AlertService.prototype.removeAlert = /** * @param {?} id * @return {?} */ function (id) { /** @type {?} */ var updatedAlerts = []; this.alerts.forEach((/** * @param {?} alert * @return {?} */ function (alert) { if (alert.id !== id) { updatedAlerts.push(alert); } })); this.alerts = updatedAlerts; this.alertUpdated.next(this.alerts); }; /** * @return {?} */ AlertService.prototype.getAlertUpdateListner = /** * @return {?} */ function () { return this.alertUpdated.asObservable(); }; /** * @param {?} time * @return {?} */ AlertService.prototype.setInterval = /** * @param {?} time * @return {?} */ function (time) { this.interval = time; }; /** * @param {?} dismiss * @return {?} */ AlertService.prototype.setAutoDismiss = /** * @param {?} dismiss * @return {?} */ function (dismiss) { this.autodismiss = dismiss; }; AlertService.decorators = [ { type: Injectable, args: [{ providedIn: 'root' },] } ]; /** @nocollapse */ AlertService.ngInjectableDef = i0.defineInjectable({ factory: function AlertService_Factory() { return new AlertService(); }, token: AlertService, providedIn: "root" }); return AlertService; }()); export { AlertService }; if (false) { /** * @type {?} * @private */ AlertService.prototype.position; /** * @type {?} * @private */ AlertService.prototype.interval; /** * @type {?} * @private */ AlertService.prototype.autodismiss; /** @type {?} */ AlertService.prototype.alerts; /** * @type {?} * @private */ AlertService.prototype.positionUpdated; /** * @type {?} * @private */ AlertService.prototype.alertUpdated; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQtbm90aWZpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbGVydC1ub3RpZmljYXRpb24vIiwic291cmNlcyI6WyJsaWIvYWxlcnQtbm90aWZpY2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFFL0I7SUFBQTtRQUlVLGFBQVEsR0FBRyxjQUFjLENBQUM7UUFDMUIsYUFBUSxHQUFHLElBQUksQ0FBQztRQUNoQixnQkFBVyxHQUFHLElBQUksQ0FBQztRQUMzQixXQUFNLEdBQVksRUFBRSxDQUFDO1FBQ2Isb0JBQWUsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO1FBQ3hDLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQVcsQ0FBQztLQTBEL0M7Ozs7SUF4REMsa0NBQVc7OztJQUFYO1FBQ0UsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7Ozs7O0lBRUQsa0NBQVc7Ozs7SUFBWCxVQUFZLFFBQWdCO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDM0MsQ0FBQzs7OztJQUVELCtDQUF3Qjs7O0lBQXhCO1FBQ0UsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzdDLENBQUM7Ozs7SUFFRCxnQ0FBUzs7O0lBQVQ7UUFDRSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQzs7Ozs7Ozs7SUFFRCwyQkFBSTs7Ozs7OztJQUFKLFVBQUssS0FBYSxFQUFFLE9BQWUsRUFBRSxRQUFnQixFQUFFLFVBQWtCO1FBQXpFLGlCQWNDO1FBYkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDZixFQUFFLEVBQUUsS0FBSztZQUNULEtBQUssRUFBRSxRQUFRO1lBQ2YsT0FBTyxFQUFFLFVBQVU7WUFDbkIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxXQUFXLEVBQUU7U0FDNUIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXBDLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQixVQUFVOzs7WUFBQztnQkFDVCxLQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzFCLENBQUMsR0FBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDbkI7SUFDSCxDQUFDOzs7OztJQUVELGtDQUFXOzs7O0lBQVgsVUFBWSxFQUFVOztZQUNkLGFBQWEsR0FBWSxFQUFFO1FBQ2pDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTzs7OztRQUFDLFVBQUEsS0FBSztZQUN2QixJQUFJLEtBQUssQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFO2dCQUNuQixhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQzNCO1FBQ0gsQ0FBQyxFQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQztRQUM1QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEMsQ0FBQzs7OztJQUVELDRDQUFxQjs7O0lBQXJCO1FBQ0UsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFDLENBQUM7Ozs7O0lBRUQsa0NBQVc7Ozs7SUFBWCxVQUFZLElBQVk7UUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7SUFDdkIsQ0FBQzs7Ozs7SUFFRCxxQ0FBYzs7OztJQUFkLFVBQWUsT0FBZ0I7UUFDN0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUM7SUFDN0IsQ0FBQzs7Z0JBbEVGLFVBQVUsU0FBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7Ozt1QkFORDtDQXVFQyxBQW5FRCxJQW1FQztTQWhFWSxZQUFZOzs7Ozs7SUFDdkIsZ0NBQWtDOzs7OztJQUNsQyxnQ0FBd0I7Ozs7O0lBQ3hCLG1DQUEyQjs7SUFDM0IsOEJBQXFCOzs7OztJQUNyQix1Q0FBZ0Q7Ozs7O0lBQ2hELG9DQUE4QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFsZXJ0IH0gZnJvbSAnLi9hbGVydC1ub3RpZmljYXRpb24ubW9kdWxlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQWxlcnRTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBwb3NpdGlvbiA9ICdib3R0b20tcmlnaHQnO1xuICBwcml2YXRlIGludGVydmFsID0gNTAwMDtcbiAgcHJpdmF0ZSBhdXRvZGlzbWlzcyA9IHRydWU7XG4gIGFsZXJ0czogQWxlcnRbXSA9IFtdO1xuICBwcml2YXRlIHBvc2l0aW9uVXBkYXRlZCA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcbiAgcHJpdmF0ZSBhbGVydFVwZGF0ZWQgPSBuZXcgU3ViamVjdDxBbGVydFtdPigpO1xuXG4gIGdldFBvc2l0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnBvc2l0aW9uO1xuICB9XG5cbiAgc2V0UG9zaXRpb24ocG9zaXRpb246IHN0cmluZykge1xuICAgIHRoaXMucG9zaXRpb24gPSBwb3NpdGlvbjtcbiAgICBjb25zb2xlLmxvZygnc2V0JyArIHRoaXMucG9zaXRpb24pO1xuICAgIHRoaXMucG9zaXRpb25VcGRhdGVkLm5leHQodGhpcy5wb3NpdGlvbik7XG4gIH1cblxuICBnZXRQb3NpdGlvblVwZGF0ZUxpc3RuZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMucG9zaXRpb25VcGRhdGVkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgZ2V0QWxlcnRzKCkge1xuICAgIHJldHVybiB0aGlzLmFsZXJ0cztcbiAgfVxuXG4gIHB1c2gobmV3SWQ6IHN0cmluZywgbmV3VHlwZTogc3RyaW5nLCBuZXdUaXRsZTogc3RyaW5nLCBuZXdNZXNzYWdlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmFsZXJ0cy5wdXNoKHtcbiAgICAgIGlkOiBuZXdJZCxcbiAgICAgIHRpdGxlOiBuZXdUaXRsZSxcbiAgICAgIG1lc3NhZ2U6IG5ld01lc3NhZ2UsXG4gICAgICB0eXBlOiBuZXdUeXBlLnRvTG93ZXJDYXNlKClcbiAgICB9KTtcbiAgICB0aGlzLmFsZXJ0VXBkYXRlZC5uZXh0KHRoaXMuYWxlcnRzKTtcblxuICAgIGlmICh0aGlzLmF1dG9kaXNtaXNzKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5yZW1vdmVBbGVydChuZXdJZCk7XG4gICAgICB9LCB0aGlzLmludGVydmFsKTtcbiAgICB9XG4gIH1cblxuICByZW1vdmVBbGVydChpZDogc3RyaW5nKSB7XG4gICAgY29uc3QgdXBkYXRlZEFsZXJ0czogQWxlcnRbXSA9IFtdO1xuICAgIHRoaXMuYWxlcnRzLmZvckVhY2goYWxlcnQgPT4ge1xuICAgICAgaWYgKGFsZXJ0LmlkICE9PSBpZCkge1xuICAgICAgICB1cGRhdGVkQWxlcnRzLnB1c2goYWxlcnQpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuYWxlcnRzID0gdXBkYXRlZEFsZXJ0cztcbiAgICB0aGlzLmFsZXJ0VXBkYXRlZC5uZXh0KHRoaXMuYWxlcnRzKTtcbiAgfVxuXG4gIGdldEFsZXJ0VXBkYXRlTGlzdG5lcigpIHtcbiAgICByZXR1cm4gdGhpcy5hbGVydFVwZGF0ZWQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBzZXRJbnRlcnZhbCh0aW1lOiBudW1iZXIpIHtcbiAgICB0aGlzLmludGVydmFsID0gdGltZTtcbiAgfVxuXG4gIHNldEF1dG9EaXNtaXNzKGRpc21pc3M6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmF1dG9kaXNtaXNzID0gZGlzbWlzcztcbiAgfVxufVxuIl19