UNPKG

angular9-notifications-gpu

Version:

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

62 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'; export class NotificationsService { constructor(globalOptions) { this.globalOptions = globalOptions; this.emitter = new Subject(); this.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: notification, add: to }); return notification; } success(title = '', content = '', override, context) { return this.set({ title: title, content: content || '', type: NotificationType.Success, icon: this.icons.success, override: override, context: context }, true); } error(title = '', content = '', override, context) { return this.set({ title: title, content: content || '', type: NotificationType.Error, icon: this.icons.error, override: override, context: context }, true); } alert(title = '', content = '', override, context) { return this.set({ title: title, content: content || '', type: NotificationType.Alert, icon: this.icons.alert, override: override, context: context }, true); } info(title = '', content = '', override, context) { return this.set({ title: title, content: content || '', type: NotificationType.Info, icon: this.icons.info, override: override, context: context }, true); } warn(title = '', content = '', override, context) { return this.set({ title: title, content: content || '', type: NotificationType.Warn, icon: this.icons.warn, override: override, context: context }, true); } bare(title = '', content = '', override, context) { return this.set({ title: title, content: content || '', type: NotificationType.Bare, icon: 'bare', override: override, context: context }, true); } // With type method create(title = '', content = '', type = NotificationType.Success, override, context) { return this.set({ title: title, content: content, type: type, icon: this.icons[type], override: override, context: context }, true); } // HTML Notification method html(html, type = NotificationType.Success, override, icon = 'bare', context) { return this.set({ html: html, type: type, icon: this.icons[icon], override: override, context: context }, true); } // Remove all notifications method remove(id) { if (id) { this.emitter.next({ command: 'clean', id: id }); } else { this.emitter.next({ command: 'cleanAll' }); } } } NotificationsService.decorators = [ { type: Injectable } ]; /** @nocollapse */ NotificationsService.ctorParameters = () => [ { type: undefined, decorators: [{ type: Inject, args: ['options',] }] } ]; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhcjktbm90aWZpY2F0aW9ucy1ncHUvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvbm90aWZpY2F0aW9ucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBSTdCLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUM1RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUdqRSxNQUFNLE9BQU8sb0JBQW9CO0lBQy9CLFlBQzRCLGFBQWtCO1FBQWxCLGtCQUFhLEdBQWIsYUFBYSxDQUFLO1FBRzlDLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBcUIsQ0FBQztRQUMzQyxVQUFLLEdBQVUsYUFBYSxDQUFDO0lBSDFCLENBQUM7SUFLSixHQUFHLENBQUMsWUFBMEIsRUFBRSxFQUFXO1FBQ3pDLFlBQVksQ0FBQyxFQUFFLEdBQUcsWUFBWSxDQUFDLFFBQVEsSUFBSSxZQUFZLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pJLFlBQVksQ0FBQyxLQUFLLEdBQUcsSUFBSSxZQUFZLEVBQU0sQ0FBQztRQUM1QyxZQUFZLENBQUMsU0FBUyxHQUFHLElBQUksWUFBWSxFQUFNLENBQUM7UUFDaEQsWUFBWSxDQUFDLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBTSxDQUFDO1FBRWpELElBQUksQ0FBQyxPQUFPLENBQUMsSUFB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Q0FHTixNQUFNLFNBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RXZlbnRFbWl0dGVyLCBJbmplY3QsIEluamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7Tm90aWZpY2F0aW9uRXZlbnR9IGZyb20gJy4uL2ludGVyZmFjZXMvbm90aWZpY2F0aW9uLWV2ZW50LnR5cGUnO1xuaW1wb3J0IHtOb3RpZmljYXRpb259IGZyb20gJy4uL2ludGVyZmFjZXMvbm90aWZpY2F0aW9uLnR5cGUnO1xuaW1wb3J0IHtJY29uc30gZnJvbSAnLi4vaW50ZXJmYWNlcy9pY29ucyc7XG5pbXBvcnQge0RFRkFVTFRfSUNPTlN9IGZyb20gJy4uL2NvbnN0cy9kZWZhdWx0LWljb25zLmNvbnN0JztcbmltcG9ydCB7Tm90aWZpY2F0aW9uVHlwZX0gZnJvbSAnLi4vZW51bXMvbm90aWZpY2F0aW9uLXR5cGUuZW51bSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb25zU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoJ29wdGlvbnMnKSBwdWJsaWMgZ2xvYmFsT3B0aW9uczogYW55XG4gICkge31cblxuICBlbWl0dGVyID0gbmV3IFN1YmplY3Q8Tm90aWZpY2F0aW9uRXZlbnQ+KCk7XG4gIGljb25zOiBJY29ucyA9IERFRkFVTFRfSUNPTlM7XG5cbiAgc2V0KG5vdGlmaWNhdGlvbjogTm90aWZpY2F0aW9uLCB0bzogYm9vbGVhbik6IE5vdGlmaWNhdGlvbiB7XG4gICAgbm90aWZpY2F0aW9uLmlkID0gbm90aWZpY2F0aW9uLm92ZXJyaWRlICYmIG5vdGlmaWNhdGlvbi5vdmVycmlkZS5pZCA/IG5vdGlmaWNhdGlvbi5vdmVycmlkZS5pZCA6IE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygzKTtcbiAgICBub3RpZmljYXRpb24uY2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHt9PigpO1xuICAgIG5vdGlmaWNhdGlvbi5jbGlja0ljb24gPSBuZXcgRXZlbnRFbWl0dGVyPHt9PigpO1xuICAgIG5vdGlmaWNhdGlvbi50aW1lb3V0RW5kID0gbmV3IEV2ZW50RW1pdHRlcjx7fT4oKTtcblxuICAgIHRoaXMuZW1pdHRlci5uZXh0KHtjb21tYW5kOiAnc2V0Jywgbm90aWZpY2F0aW9uOiBub3RpZmljYXRpb24sIGFkZDogdG99KTtcbiAgICByZXR1cm4gbm90aWZpY2F0aW9uO1xuICB9XG5cbiAgc3VjY2Vzcyh0aXRsZTogYW55ID0gJycsIGNvbnRlbnQ6IGFueSA9ICcnLCBvdmVycmlkZT86IGFueSwgY29udGV4dD86IGFueSk6IE5vdGlmaWNhdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuc2V0KHt0aXRsZTogdGl0bGUsIGNvbnRlbnQ6IGNvbnRlbnQgfHwgJycsIHR5cGU6IE5vdGlmaWNhdGlvblR5cGUuU3VjY2VzcywgaWNvbjogdGhpcy5pY29ucy5zdWNjZXNzLCBvdmVycmlkZTogb3ZlcnJpZGUsIGNvbnRleHQ6IGNvbnRleHR9LCB0cnVlKTtcbiAgfVxuXG4gIGVycm9yKHRpdGxlOiBhbnkgPSAnJywgY29udGVudDogYW55ID0gJycsIG92ZXJyaWRlPzogYW55LCBjb250ZXh0PzogYW55KTogTm90aWZpY2F0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5zZXQoe3RpdGxlOiB0aXRsZSwgY29udGVudDogY29udGVudCB8fCAnJywgdHlwZTogTm90aWZpY2F0aW9uVHlwZS5FcnJvciwgaWNvbjogdGhpcy5pY29ucy5lcnJvciwgb3ZlcnJpZGU6IG92ZXJyaWRlLCBjb250ZXh0OiBjb250ZXh0fSwgdHJ1ZSk7XG4gIH1cblxuICBhbGVydCh0aXRsZTogYW55ID0gJycsIGNvbnRlbnQ6IGFueSA9ICcnLCBvdmVycmlkZT86IGFueSwgY29udGV4dD86IGFueSk6IE5vdGlmaWNhdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuc2V0KHt0aXRsZTogdGl0bGUsIGNvbnRlbnQ6IGNvbnRlbnQgfHwgJycsIHR5cGU6IE5vdGlmaWNhdGlvblR5cGUuQWxlcnQsIGljb246IHRoaXMuaWNvbnMuYWxlcnQsIG92ZXJyaWRlOiBvdmVycmlkZSwgY29udGV4dDogY29udGV4dH0sIHRydWUpO1xuICB9XG5cbiAgaW5mbyh0aXRsZTogYW55ID0gJycsIGNvbnRlbnQ6IGFueSA9ICcnLCBvdmVycmlkZT86IGFueSwgY29udGV4dD86IGFueSk6IE5vdGlmaWNhdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuc2V0KHt0aXRsZTogdGl0bGUsIGNvbnRlbnQ6IGNvbnRlbnQgfHwgJycsIHR5cGU6IE5vdGlmaWNhdGlvblR5cGUuSW5mbywgaWNvbjogdGhpcy5pY29ucy5pbmZvLCBvdmVycmlkZTogb3ZlcnJpZGUsIGNvbnRleHQ6IGNvbnRleHR9LCB0cnVlKTtcbiAgfVxuXG4gIHdhcm4odGl0bGU6IGFueSA9ICcnLCBjb250ZW50OiBhbnkgPSAnJywgb3ZlcnJpZGU/OiBhbnksIGNvbnRleHQ/OiBhbnkpOiBOb3RpZmljYXRpb24ge1xuICAgIHJldHVybiB0aGlzLnNldCh7dGl0bGU6IHRpdGxlLCBjb250ZW50OiBjb250ZW50IHx8ICcnLCB0eXBlOiBOb3RpZmljYXRpb25UeXBlLldhcm4sIGljb246IHRoaXMuaWNvbnMud2Fybiwgb3ZlcnJpZGU6IG92ZXJyaWRlLCBjb250ZXh0OiBjb250ZXh0fSwgdHJ1ZSk7XG4gIH1cblxuICBiYXJlKHRpdGxlOiBhbnkgPSAnJywgY29udGVudDogYW55ID0gJycsIG92ZXJyaWRlPzogYW55LCBjb250ZXh0PzogYW55KTogTm90aWZpY2F0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5zZXQoe3RpdGxlOiB0aXRsZSwgY29udGVudDogY29udGVudCB8fCAnJywgdHlwZTogTm90aWZpY2F0aW9uVHlwZS5CYXJlLCBpY29uOiAnYmFyZScsIG92ZXJyaWRlOiBvdmVycmlkZSwgY29udGV4dDogY29udGV4dH0sIHRydWUpO1xuICB9XG5cbiAgLy8gV2l0aCB0eXBlIG1ldGhvZFxuICBjcmVhdGUodGl0bGU6IGFueSA9ICcnLCBjb250ZW50OiBhbnkgPSAnJywgdHlwZSA9IE5vdGlmaWNhdGlvblR5cGUuU3VjY2Vzcywgb3ZlcnJpZGU/OiBhbnksIGNvbnRleHQ/OiBhbnkpOiBOb3RpZmljYXRpb24ge1xuICAgIHJldHVybiB0aGlzLnNldCh7dGl0bGU6IHRpdGxlLCBjb250ZW50OiBjb250ZW50LCB0eXBlOiB0eXBlLCBpY29uOiAoPGFueT50aGlzLmljb25zKVt0eXBlXSwgb3ZlcnJpZGU6IG92ZXJyaWRlLCBjb250ZXh0OiBjb250ZXh0fSwgdHJ1ZSk7XG4gIH1cblxuICAvLyBIVE1MIE5vdGlmaWNhdGlvbiBtZXRob2RcbiAgaHRtbChodG1sOiBhbnksIHR5cGUgPSBOb3RpZmljYXRpb25UeXBlLlN1Y2Nlc3MsIG92ZXJyaWRlPzogYW55LCBpY29uID0gJ2JhcmUnLCBjb250ZXh0PzogYW55KTogTm90aWZpY2F0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5zZXQoe2h0bWw6IGh0bWwsIHR5cGU6IHR5cGUsIGljb246ICg8YW55PnRoaXMuaWNvbnMpW2ljb25dLCBvdmVycmlkZTogb3ZlcnJpZGUsIGNvbnRleHQ6IGNvbnRleHR9LCB0cnVlKTtcbiAgfVxuXG4gIC8vIFJlbW92ZSBhbGwgbm90aWZpY2F0aW9ucyBtZXRob2RcbiAgcmVtb3ZlKGlkPzogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKGlkKSB7XG4gICAgICB0aGlzLmVtaXR0ZXIubmV4dCh7Y29tbWFuZDogJ2NsZWFuJywgaWQ6IGlkfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZW1pdHRlci5uZXh0KHtjb21tYW5kOiAnY2xlYW5BbGwnfSk7XG4gICAgfVxuICB9XG59XG4iXX0=