ngx-admin-lte
Version:
AdminLTE theme for angular
42 lines • 6.39 kB
JavaScript
import * as tslib_1 from "tslib";
import { Injectable } from '@angular/core';
import { Subject, ReplaySubject } from 'rxjs';
import { map } from 'rxjs/operators';
const initialNotifications = [];
let NotificationsService = class NotificationsService {
// public markThreadAsRead: Subject<any> = new Subject<any>();
constructor() {
this.notificationsList = [];
// a stream that publishes new notifications only once
this.newNotifications = new Subject();
// `notifications` is a stream that emits an array of the most up to date notifications
this.notifications = new ReplaySubject(1);
// `updates` receives _operations_ to be applied to our `notifications`
// it's a way we can perform changes on *all* notifications (that are currently
// stored in `notifications`)
this.updates = new Subject();
// action streams
this.create = new Subject();
// recois des operation, et les fais sur la liste interne, puis diffuse le resultat sur notifications
this.updates.subscribe((ope) => {
this.notificationsList = ope(this.notificationsList);
console.log(this.notificationsList);
this.notifications.next(this.notificationsList);
});
this.newNotifications.pipe(map(function (notification) {
return (notifications) => {
return notifications.concat(notification);
};
}))
.subscribe(this.updates);
}
// an imperative function call to this action stream
addNotification(notification) {
this.newNotifications.next(notification);
}
};
NotificationsService = tslib_1.__decorate([
Injectable()
], NotificationsService);
export { NotificationsService };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWFkbWluLWx0ZS8iLCJzb3VyY2VzIjpbInNlcnZpY2VzL25vdGlmaWNhdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBR0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUM5QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsTUFBTSxvQkFBb0IsR0FBbUIsRUFBRSxDQUFDO0FBS2hELElBQWEsb0JBQW9CLEdBQWpDLE1BQWEsb0JBQW9CO0lBZS9CLDhEQUE4RDtJQUU5RDtRQWhCUSxzQkFBaUIsR0FBbUIsRUFBRSxDQUFDO1FBQy9DLHNEQUFzRDtRQUMvQyxxQkFBZ0IsR0FBMEIsSUFBSSxPQUFPLEVBQWdCLENBQUM7UUFFN0UsdUZBQXVGO1FBQ2hGLGtCQUFhLEdBQWtDLElBQUksYUFBYSxDQUFpQixDQUFDLENBQUMsQ0FBQztRQUUzRix1RUFBdUU7UUFDdkUsK0VBQStFO1FBQy9FLDZCQUE2QjtRQUN0QixZQUFPLEdBQWlCLElBQUksT0FBTyxFQUFPLENBQUM7UUFFbEQsaUJBQWlCO1FBQ1YsV0FBTSxHQUEwQixJQUFJLE9BQU8sRUFBZ0IsQ0FBQztRQUlqRSxxR0FBcUc7UUFDckcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUM3QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQ3JELE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7WUFDcEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDbEQsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUN4QixHQUFHLENBQUMsVUFBUyxZQUEwQjtZQUNyQyxPQUFPLENBQUMsYUFBNkIsRUFBRSxFQUFFO2dCQUN2QyxPQUFPLGFBQWEsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDNUMsQ0FBQyxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQ0g7YUFDRSxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRTdCLENBQUM7SUFFRCxvREFBb0Q7SUFDN0MsZUFBZSxDQUFDLFlBQTBCO1FBQy9DLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDM0MsQ0FBQztDQUVGLENBQUE7QUF6Q1ksb0JBQW9CO0lBRGhDLFVBQVUsRUFBRTtHQUNBLG9CQUFvQixDQXlDaEM7U0F6Q1ksb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiXG4vLyBiYXNlZCBvbiBodHRwczovL2dpdGh1Yi5jb20vbmctYm9vay9hbmd1bGFyMi1yeGpzLWNoYXQvYmxvYi9tYXN0ZXIvYXBwL3RzL3NlcnZpY2VzL05vdGlmaWNhdGlvbnNTZXJ2aWNlLnRzXG5pbXBvcnQgeyBOb3RpZmljYXRpb24gfSBmcm9tICcuLi9tb2RlbHMvbm90aWZpY2F0aW9uJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuY29uc3QgaW5pdGlhbE5vdGlmaWNhdGlvbnM6IE5vdGlmaWNhdGlvbltdID0gW107XG5cbnR5cGUgSU5vdGlmaWNhdGlvbnNPcGVyYXRpb24gPSAobm90aWZpY2F0aW9uczogTm90aWZpY2F0aW9uW10pID0+IE5vdGlmaWNhdGlvbltdO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uc1NlcnZpY2Uge1xuICBwcml2YXRlIG5vdGlmaWNhdGlvbnNMaXN0OiBOb3RpZmljYXRpb25bXSA9IFtdO1xuICAvLyBhIHN0cmVhbSB0aGF0IHB1Ymxpc2hlcyBuZXcgbm90aWZpY2F0aW9ucyBvbmx5IG9uY2VcbiAgcHVibGljIG5ld05vdGlmaWNhdGlvbnM6IFN1YmplY3Q8Tm90aWZpY2F0aW9uPiA9IG5ldyBTdWJqZWN0PE5vdGlmaWNhdGlvbj4oKTtcblxuICAvLyBgbm90aWZpY2F0aW9uc2AgaXMgYSBzdHJlYW0gdGhhdCBlbWl0cyBhbiBhcnJheSBvZiB0aGUgbW9zdCB1cCB0byBkYXRlIG5vdGlmaWNhdGlvbnNcbiAgcHVibGljIG5vdGlmaWNhdGlvbnM6IFJlcGxheVN1YmplY3Q8Tm90aWZpY2F0aW9uW10+ID0gbmV3IFJlcGxheVN1YmplY3Q8Tm90aWZpY2F0aW9uW10+KDEpO1xuXG4gIC8vIGB1cGRhdGVzYCByZWNlaXZlcyBfb3BlcmF0aW9uc18gdG8gYmUgYXBwbGllZCB0byBvdXIgYG5vdGlmaWNhdGlvbnNgXG4gIC8vIGl0J3MgYSB3YXkgd2UgY2FuIHBlcmZvcm0gY2hhbmdlcyBvbiAqYWxsKiBub3RpZmljYXRpb25zICh0aGF0IGFyZSBjdXJyZW50bHlcbiAgLy8gc3RvcmVkIGluIGBub3RpZmljYXRpb25zYClcbiAgcHVibGljIHVwZGF0ZXM6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0PGFueT4oKTtcblxuICAvLyBhY3Rpb24gc3RyZWFtc1xuICBwdWJsaWMgY3JlYXRlOiBTdWJqZWN0PE5vdGlmaWNhdGlvbj4gPSBuZXcgU3ViamVjdDxOb3RpZmljYXRpb24+KCk7XG4gIC8vIHB1YmxpYyBtYXJrVGhyZWFkQXNSZWFkOiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdDxhbnk+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgLy8gcmVjb2lzIGRlcyBvcGVyYXRpb24sIGV0IGxlcyBmYWlzIHN1ciBsYSBsaXN0ZSBpbnRlcm5lLCBwdWlzIGRpZmZ1c2UgbGUgcmVzdWx0YXQgc3VyIG5vdGlmaWNhdGlvbnNcbiAgICB0aGlzLnVwZGF0ZXMuc3Vic2NyaWJlKChvcGUpID0+IHtcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uc0xpc3QgPSBvcGUodGhpcy5ub3RpZmljYXRpb25zTGlzdCk7XG4gICAgICBjb25zb2xlLmxvZyh0aGlzLm5vdGlmaWNhdGlvbnNMaXN0KTtcbiAgICAgIHRoaXMubm90aWZpY2F0aW9ucy5uZXh0KHRoaXMubm90aWZpY2F0aW9uc0xpc3QpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5uZXdOb3RpZmljYXRpb25zLnBpcGUoXG4gICAgICBtYXAoZnVuY3Rpb24obm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb24pOiBJTm90aWZpY2F0aW9uc09wZXJhdGlvbiB7XG4gICAgICAgIHJldHVybiAobm90aWZpY2F0aW9uczogTm90aWZpY2F0aW9uW10pID0+IHtcbiAgICAgICAgICByZXR1cm4gbm90aWZpY2F0aW9ucy5jb25jYXQobm90aWZpY2F0aW9uKTtcbiAgICAgICAgfTtcbiAgICAgIH0pXG4gICAgKVxuICAgICAgLnN1YnNjcmliZSh0aGlzLnVwZGF0ZXMpO1xuXG4gIH1cblxuICAvLyBhbiBpbXBlcmF0aXZlIGZ1bmN0aW9uIGNhbGwgdG8gdGhpcyBhY3Rpb24gc3RyZWFtXG4gIHB1YmxpYyBhZGROb3RpZmljYXRpb24obm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb24pOiB2b2lkIHtcbiAgICB0aGlzLm5ld05vdGlmaWNhdGlvbnMubmV4dChub3RpZmljYXRpb24pO1xuICB9XG5cbn1cbiJdfQ==