alert-notification
Version:
A lightweight easy to use module to display alert notifications inside you Angular web applications.
181 lines • 9.51 kB
JavaScript
/**
* @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