ngx-toast-notifier
Version:
This is a nofitications library for Angular
41 lines • 5.25 kB
JavaScript
import { Inject, Injectable } from '@angular/core';
import { BehaviorSubject } from 'rxjs';
import { NOTIFICATION_CONFIG, } from '../interfaces/i-notification';
import * as i0 from "@angular/core";
export class NgxToastNotifierService {
constructor(config) {
this.$notifications = new BehaviorSubject([]);
this.$notificationsObs = this.$notifications.asObservable();
this.defaultConfig = config;
}
get notifications() {
return this.$notifications.value;
}
onShowNotification(notification) {
this.$notifications.next([
...this.notifications,
{
...notification,
},
]);
setTimeout(() => {
this.onRemove();
}, this.defaultConfig.config.timeOut ? this.defaultConfig.config.timeOut : this.defaultConfig.default.timeOut);
}
onRemove() {
this.notifications.shift();
this.$notifications.next(this.notifications);
}
}
NgxToastNotifierService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.10", ngImport: i0, type: NgxToastNotifierService, deps: [{ token: NOTIFICATION_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
NgxToastNotifierService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.10", ngImport: i0, type: NgxToastNotifierService, providedIn: 'root' });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.10", ngImport: i0, type: NgxToastNotifierService, decorators: [{
type: Injectable,
args: [{
providedIn: 'root',
}]
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
type: Inject,
args: [NOTIFICATION_CONFIG]
}] }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXRvYXN0LW5vdGlmaWVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdG9hc3Qtbm90aWZpZXIvc3JjL2xpYi9zZXJ2aWNlcy9uZ3gtdG9hc3Qtbm90aWZpZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFHTCxtQkFBbUIsR0FDcEIsTUFBTSw4QkFBOEIsQ0FBQzs7QUFLdEMsTUFBTSxPQUFPLHVCQUF1QjtJQUtsQyxZQUF5QyxNQUF5QjtRQUoxRCxtQkFBYyxHQUNwQixJQUFJLGVBQWUsQ0FBa0IsRUFBRSxDQUFDLENBQUM7UUFDcEMsc0JBQWlCLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUc1RCxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQztJQUNuQyxDQUFDO0lBRUQsa0JBQWtCLENBQUMsWUFBMkI7UUFDNUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUM7WUFDdkIsR0FBRyxJQUFJLENBQUMsYUFBYTtZQUNyQjtnQkFDRSxHQUFHLFlBQVk7YUFDaEI7U0FDRixDQUFDLENBQUM7UUFFSCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFBO1FBQ2pCLENBQUMsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakgsQ0FBQztJQUVPLFFBQVE7UUFDZCxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQzFCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMvQyxDQUFDOztxSEE3QlUsdUJBQXVCLGtCQUtkLG1CQUFtQjt5SEFMNUIsdUJBQXVCLGNBRnRCLE1BQU07NEZBRVAsdUJBQXVCO2tCQUhuQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBTWMsTUFBTTsyQkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7XHJcbiAgSU5vdGlmaWNhdGlvbixcclxuICBOb3RpZmljYXRpb25Ub2tlbixcclxuICBOT1RJRklDQVRJT05fQ09ORklHLFxyXG59IGZyb20gJy4uL2ludGVyZmFjZXMvaS1ub3RpZmljYXRpb24nO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIE5neFRvYXN0Tm90aWZpZXJTZXJ2aWNlIHtcclxuICBwcml2YXRlICRub3RpZmljYXRpb25zOiBCZWhhdmlvclN1YmplY3Q8SU5vdGlmaWNhdGlvbltdPiA9XHJcbiAgICBuZXcgQmVoYXZpb3JTdWJqZWN0PElOb3RpZmljYXRpb25bXT4oW10pO1xyXG4gIHB1YmxpYyAkbm90aWZpY2F0aW9uc09icyA9IHRoaXMuJG5vdGlmaWNhdGlvbnMuYXNPYnNlcnZhYmxlKCk7XHJcbiAgcHVibGljIGRlZmF1bHRDb25maWchOiBOb3RpZmljYXRpb25Ub2tlbjtcclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KE5PVElGSUNBVElPTl9DT05GSUcpIGNvbmZpZzogTm90aWZpY2F0aW9uVG9rZW4pIHtcclxuICAgIHRoaXMuZGVmYXVsdENvbmZpZyA9IGNvbmZpZztcclxuICB9XHJcblxyXG4gIGdldCBub3RpZmljYXRpb25zKCk6IElOb3RpZmljYXRpb25bXSB7XHJcbiAgICByZXR1cm4gdGhpcy4kbm90aWZpY2F0aW9ucy52YWx1ZTtcclxuICB9XHJcblxyXG4gIG9uU2hvd05vdGlmaWNhdGlvbihub3RpZmljYXRpb246IElOb3RpZmljYXRpb24pOiB2b2lkIHtcclxuICAgIHRoaXMuJG5vdGlmaWNhdGlvbnMubmV4dChbXHJcbiAgICAgIC4uLnRoaXMubm90aWZpY2F0aW9ucyxcclxuICAgICAge1xyXG4gICAgICAgIC4uLm5vdGlmaWNhdGlvbixcclxuICAgICAgfSxcclxuICAgIF0pO1xyXG5cclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLm9uUmVtb3ZlKClcclxuICAgIH0sIHRoaXMuZGVmYXVsdENvbmZpZy5jb25maWcudGltZU91dCA/IHRoaXMuZGVmYXVsdENvbmZpZy5jb25maWcudGltZU91dCA6IHRoaXMuZGVmYXVsdENvbmZpZy5kZWZhdWx0LnRpbWVPdXQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvblJlbW92ZSgpOiB2b2lkIHtcclxuICAgIHRoaXMubm90aWZpY2F0aW9ucy5zaGlmdCgpXHJcbiAgICB0aGlzLiRub3RpZmljYXRpb25zLm5leHQodGhpcy5ub3RpZmljYXRpb25zKTtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==