UNPKG

angular2-notifications

Version:

> A light and easy to use notifications library for Angular 2. ~~It features both regular page notifications (toasts) and push notifications.~~

67 lines 12.7 kB
import { EventEmitter, Inject, Injectable } from '@angular/core'; import { Subject } from 'rxjs'; import { DEFAULT_ICONS } from '../consts/default-icons.const'; import { NotificationType } from '../enums/notification-type.enum'; import * as i0 from "@angular/core"; export class NotificationsService { globalOptions; constructor(globalOptions) { this.globalOptions = globalOptions; } emitter = new Subject(); icons = DEFAULT_ICONS; set(notification, to) { notification.id = notification.override && notification.override.id ? notification.override.id : Math.random().toString(36).substring(3); notification.click = new EventEmitter(); notification.clickIcon = new EventEmitter(); notification.timeoutEnd = new EventEmitter(); this.emitter.next({ command: 'set', notification, add: to }); return notification; } success(title = '', content = '', override, context) { return this.set({ title, content: content || '', type: NotificationType.Success, icon: this.icons.success, override, context }, true); } error(title = '', content = '', override, context) { return this.set({ title, content: content || '', type: NotificationType.Error, icon: this.icons.error, override, context }, true); } alert(title = '', content = '', override, context) { return this.set({ title, content: content || '', type: NotificationType.Alert, icon: this.icons.alert, override, context }, true); } info(title = '', content = '', override, context) { return this.set({ title, content: content || '', type: NotificationType.Info, icon: this.icons.info, override, context }, true); } warn(title = '', content = '', override, context) { return this.set({ title, content: content || '', type: NotificationType.Warn, icon: this.icons.warn, override, context }, true); } bare(title = '', content = '', override, context) { return this.set({ title, content: content || '', type: NotificationType.Bare, icon: 'bare', override, context }, true); } // With type method create(title = '', content = '', type = NotificationType.Success, override, context) { return this.set({ title, content, type, icon: this.icons[type], override, context }, true); } // HTML Notification method html(html, type = NotificationType.Success, override, icon = 'bare', context) { return this.set({ html, type, icon: this.icons[icon], override, context }, true); } // Remove all notifications method remove(id) { if (id) { this.emitter.next({ command: 'clean', id }); } else { this.emitter.next({ command: 'cleanAll' }); } } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: NotificationsService, deps: [{ token: 'options' }], target: i0.ɵɵFactoryTarget.Injectable }); static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: NotificationsService }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.11", ngImport: i0, type: NotificationsService, decorators: [{ type: Injectable }], ctorParameters: function () { return [{ type: undefined, decorators: [{ type: Inject, args: ['options'] }] }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhcjItbm90aWZpY2F0aW9ucy9zcmMvbGliL3NlcnZpY2VzL25vdGlmaWNhdGlvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7O0FBTW5FLE1BQU0sT0FBTyxvQkFBb0I7SUFFSDtJQUQ1QixZQUM0QixhQUFrQjtRQUFsQixrQkFBYSxHQUFiLGFBQWEsQ0FBSztJQUMxQyxDQUFDO0lBRUwsT0FBTyxHQUFHLElBQUksT0FBTyxFQUFxQixDQUFDO0lBQzNDLEtBQUssR0FBVSxhQUFhLENBQUM7SUFFN0IsR0FBRyxDQUFDLFlBQTBCLEVBQUUsRUFBVztRQUN6QyxZQUFZLENBQUMsRUFBRSxHQUFHLFlBQVksQ0FBQyxRQUFRLElBQUksWUFBWSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNuRSxZQUFZLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzFCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFDLFlBQVksQ0FBQyxLQUFLLEdBQUcsSUFBSSxZQUFZLEVBQU0sQ0FBQztRQUM1QyxZQUFZLENBQUMsU0FBUyxHQUFHLElBQUksWUFBWSxFQUFNLENBQUM7UUFDaEQsWUFBWSxDQUFDLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBTSxDQUFDO1FB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LEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFHLElBQUksQ0FBQyxLQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3RHLENBQUM7SUFFRCwyQkFBMkI7SUFDM0IsSUFBSSxDQUFDLElBQVMsRUFBRSxJQUFJLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLFFBQWMsRUFBRSxJQUFJLEdBQUcsTUFBTSxFQUFFLE9BQWE7UUFDM0YsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUcsSUFBSSxDQUFDLEtBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDNUYsQ0FBQztJQUVELGtDQUFrQztJQUNsQyxNQUFNLENBQUMsRUFBVztRQUNoQixJQUFJLEVBQUUsRUFBRTtZQUNOLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQzdDO2FBQU07WUFDTCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1NBQzVDO0lBQ0gsQ0FBQzt3R0E3RFUsb0JBQW9CLGtCQUVyQixTQUFTOzRHQUZSLG9CQUFvQjs7NEZBQXBCLG9CQUFvQjtrQkFEaEMsVUFBVTs7MEJBR04sTUFBTTsyQkFBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBERUZBVUxUX0lDT05TIH0gZnJvbSAnLi4vY29uc3RzL2RlZmF1bHQtaWNvbnMuY29uc3QnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25UeXBlIH0gZnJvbSAnLi4vZW51bXMvbm90aWZpY2F0aW9uLXR5cGUuZW51bSc7XHJcbmltcG9ydCB7IEljb25zIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9pY29ucyc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvbkV2ZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9ub3RpZmljYXRpb24tZXZlbnQudHlwZSc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvbiB9IGZyb20gJy4uL2ludGVyZmFjZXMvbm90aWZpY2F0aW9uLnR5cGUnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uc1NlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdCgnb3B0aW9ucycpIHB1YmxpYyBnbG9iYWxPcHRpb25zOiBhbnlcclxuICApIHsgfVxyXG5cclxuICBlbWl0dGVyID0gbmV3IFN1YmplY3Q8Tm90aWZpY2F0aW9uRXZlbnQ+KCk7XHJcbiAgaWNvbnM6IEljb25zID0gREVGQVVMVF9JQ09OUztcclxuXHJcbiAgc2V0KG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uLCB0bzogYm9vbGVhbik6IE5vdGlmaWNhdGlvbiB7XHJcbiAgICBub3RpZmljYXRpb24uaWQgPSBub3RpZmljYXRpb24ub3ZlcnJpZGUgJiYgbm90aWZpY2F0aW9uLm92ZXJyaWRlLmlkID9cclxuICAgICAgbm90aWZpY2F0aW9uLm92ZXJyaWRlLmlkIDpcclxuICAgICAgTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDMpO1xyXG4gICAgbm90aWZpY2F0aW9uLmNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx7fT4oKTtcclxuICAgIG5vdGlmaWNhdGlvbi5jbGlja0ljb24gPSBuZXcgRXZlbnRFbWl0dGVyPHt9PigpO1xyXG4gICAgbm90aWZpY2F0aW9uLnRpbWVvdXRFbmQgPSBuZXcgRXZlbnRFbWl0dGVyPHt9PigpO1xyXG5cclxuICAgIHRoaXMuZW1pdHRlci5uZXh0KHsgY29tbWFuZDogJ3NldCcsIG5vdGlmaWNhdGlvbiwgYWRkOiB0byB9KTtcclxuICAgIHJldHVybiBub3RpZmljYXRpb247XHJcbiAgfVxyXG5cclxuICBzdWNjZXNzKHRpdGxlOiBhbnkgPSAnJywgY29udGVudDogYW55ID0gJycsIG92ZXJyaWRlPzogYW55LCBjb250ZXh0PzogYW55KTogTm90aWZpY2F0aW9uIHtcclxuICAgIHJldHVybiB0aGlzLnNldCh7IHRpdGxlLCBjb250ZW50OiBjb250ZW50IHx8ICcnLCB0eXBlOiBOb3RpZmljYXRpb25UeXBlLlN1Y2Nlc3MsIGljb246IHRoaXMuaWNvbnMuc3VjY2Vzcywgb3ZlcnJpZGUsIGNvbnRleHQgfSwgdHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBlcnJvcih0aXRsZTogYW55ID0gJycsIGNvbnRlbnQ6IGFueSA9ICcnLCBvdmVycmlkZT86IGFueSwgY29udGV4dD86IGFueSk6IE5vdGlmaWNhdGlvbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zZXQoeyB0aXRsZSwgY29udGVudDogY29udGVudCB8fCAnJywgdHlwZTogTm90aWZpY2F0aW9uVHlwZS5FcnJvciwgaWNvbjogdGhpcy5pY29ucy5lcnJvciwgb3ZlcnJpZGUsIGNvbnRleHQgfSwgdHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBhbGVydCh0aXRsZTogYW55ID0gJycsIGNvbnRlbnQ6IGFueSA9ICcnLCBvdmVycmlkZT86IGFueSwgY29udGV4dD86IGFueSk6IE5vdGlmaWNhdGlvbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zZXQoeyB0aXRsZSwgY29udGVudDogY29udGVudCB8fCAnJywgdHlwZTogTm90aWZpY2F0aW9uVHlwZS5BbGVydCwgaWNvbjogdGhpcy5pY29ucy5hbGVydCwgb3ZlcnJpZGUsIGNvbnRleHQgfSwgdHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBpbmZvKHRpdGxlOiBhbnkgPSAnJywgY29udGVudDogYW55ID0gJycsIG92ZXJyaWRlPzogYW55LCBjb250ZXh0PzogYW55KTogTm90aWZpY2F0aW9uIHtcclxuICAgIHJldHVybiB0aGlzLnNldCh7IHRpdGxlLCBjb250ZW50OiBjb250ZW50IHx8ICcnLCB0eXBlOiBOb3RpZmljYXRpb25UeXBlLkluZm8sIGljb246IHRoaXMuaWNvbnMuaW5mbywgb3ZlcnJpZGUsIGNvbnRleHQgfSwgdHJ1ZSk7XHJcbiAgfVxyXG5cclxuICB3YXJuKHRpdGxlOiBhbnkgPSAnJywgY29udGVudDogYW55ID0gJycsIG92ZXJyaWRlPzogYW55LCBjb250ZXh0PzogYW55KTogTm90aWZpY2F0aW9uIHtcclxuICAgIHJldHVybiB0aGlzLnNldCh7IHRpdGxlLCBjb250ZW50OiBjb250ZW50IHx8ICcnLCB0eXBlOiBOb3RpZmljYXRpb25UeXBlLldhcm4sIGljb246IHRoaXMuaWNvbnMud2Fybiwgb3ZlcnJpZGUsIGNvbnRleHQgfSwgdHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBiYXJlKHRpdGxlOiBhbnkgPSAnJywgY29udGVudDogYW55ID0gJycsIG92ZXJyaWRlPzogYW55LCBjb250ZXh0PzogYW55KTogTm90aWZpY2F0aW9uIHtcclxuICAgIHJldHVybiB0aGlzLnNldCh7IHRpdGxlLCBjb250ZW50OiBjb250ZW50IHx8ICcnLCB0eXBlOiBOb3RpZmljYXRpb25UeXBlLkJhcmUsIGljb246ICdiYXJlJywgb3ZlcnJpZGUsIGNvbnRleHQgfSwgdHJ1ZSk7XHJcbiAgfVxyXG5cclxuICAvLyBXaXRoIHR5cGUgbWV0aG9kXHJcbiAgY3JlYXRlKHRpdGxlOiBhbnkgPSAnJywgY29udGVudDogYW55ID0gJycsIHR5cGUgPSBOb3RpZmljYXRpb25UeXBlLlN1Y2Nlc3MsIG92ZXJyaWRlPzogYW55LCBjb250ZXh0PzogYW55KTogTm90aWZpY2F0aW9uIHtcclxuICAgIHJldHVybiB0aGlzLnNldCh7IHRpdGxlLCBjb250ZW50LCB0eXBlLCBpY29uOiAodGhpcy5pY29ucyBhcyBhbnkpW3R5cGVdLCBvdmVycmlkZSwgY29udGV4dCB9LCB0cnVlKTtcclxuICB9XHJcblxyXG4gIC8vIEhUTUwgTm90aWZpY2F0aW9uIG1ldGhvZFxyXG4gIGh0bWwoaHRtbDogYW55LCB0eXBlID0gTm90aWZpY2F0aW9uVHlwZS5TdWNjZXNzLCBvdmVycmlkZT86IGFueSwgaWNvbiA9ICdiYXJlJywgY29udGV4dD86IGFueSk6IE5vdGlmaWNhdGlvbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zZXQoeyBodG1sLCB0eXBlLCBpY29uOiAodGhpcy5pY29ucyBhcyBhbnkpW2ljb25dLCBvdmVycmlkZSwgY29udGV4dCB9LCB0cnVlKTtcclxuICB9XHJcblxyXG4gIC8vIFJlbW92ZSBhbGwgbm90aWZpY2F0aW9ucyBtZXRob2RcclxuICByZW1vdmUoaWQ/OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmIChpZCkge1xyXG4gICAgICB0aGlzLmVtaXR0ZXIubmV4dCh7IGNvbW1hbmQ6ICdjbGVhbicsIGlkIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5lbWl0dGVyLm5leHQoeyBjb21tYW5kOiAnY2xlYW5BbGwnIH0pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=