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.~~

81 lines 14.6 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'; var NotificationsService = /** @class */ (function () { function NotificationsService(globalOptions) { this.globalOptions = globalOptions; this.emitter = new Subject(); this.icons = DEFAULT_ICONS; } NotificationsService.prototype.set = function (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; }; NotificationsService.prototype.success = function (title, content, override, context) { if (title === void 0) { title = ''; } if (content === void 0) { content = ''; } return this.set({ title: title, content: content || '', type: NotificationType.Success, icon: this.icons.success, override: override, context: context }, true); }; NotificationsService.prototype.error = function (title, content, override, context) { if (title === void 0) { title = ''; } if (content === void 0) { content = ''; } return this.set({ title: title, content: content || '', type: NotificationType.Error, icon: this.icons.error, override: override, context: context }, true); }; NotificationsService.prototype.alert = function (title, content, override, context) { if (title === void 0) { title = ''; } if (content === void 0) { content = ''; } return this.set({ title: title, content: content || '', type: NotificationType.Alert, icon: this.icons.alert, override: override, context: context }, true); }; NotificationsService.prototype.info = function (title, content, override, context) { if (title === void 0) { title = ''; } if (content === void 0) { content = ''; } return this.set({ title: title, content: content || '', type: NotificationType.Info, icon: this.icons.info, override: override, context: context }, true); }; NotificationsService.prototype.warn = function (title, content, override, context) { if (title === void 0) { title = ''; } if (content === void 0) { content = ''; } return this.set({ title: title, content: content || '', type: NotificationType.Warn, icon: this.icons.warn, override: override, context: context }, true); }; NotificationsService.prototype.bare = function (title, content, override, context) { if (title === void 0) { title = ''; } if (content === void 0) { content = ''; } return this.set({ title: title, content: content || '', type: NotificationType.Bare, icon: 'bare', override: override, context: context }, true); }; // With type method NotificationsService.prototype.create = function (title, content, type, override, context) { if (title === void 0) { title = ''; } if (content === void 0) { content = ''; } if (type === void 0) { type = NotificationType.Success; } return this.set({ title: title, content: content, type: type, icon: this.icons[type], override: override, context: context }, true); }; // HTML Notification method NotificationsService.prototype.html = function (html, type, override, icon, context) { if (type === void 0) { type = NotificationType.Success; } if (icon === void 0) { icon = 'bare'; } return this.set({ html: html, type: type, icon: this.icons[icon], override: override, context: context }, true); }; // Remove all notifications method NotificationsService.prototype.remove = function (id) { if (id) { this.emitter.next({ command: 'clean', id: id }); } else { this.emitter.next({ command: 'cleanAll' }); } }; NotificationsService.decorators = [ { type: Injectable } ]; /** @nocollapse */ NotificationsService.ctorParameters = function () { return [ { type: undefined, decorators: [{ type: Inject, args: ['options',] }] } ]; }; return NotificationsService; }()); export { NotificationsService }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9ucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhcjktbm90aWZpY2F0aW9ucy1ncHUvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvbm90aWZpY2F0aW9ucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxZQUFZLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBSTdCLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUM1RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUVqRTtJQUVFLDhCQUM0QixhQUFrQjtRQUFsQixrQkFBYSxHQUFiLGFBQWEsQ0FBSztRQUc5QyxZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQXFCLENBQUM7UUFDM0MsVUFBSyxHQUFVLGFBQWEsQ0FBQztJQUgxQixDQUFDO0lBS0osa0NBQUcsR0FBSCxVQUFJLFlBQTBCLEVBQUUsRUFBVztRQUN6QyxZQUFZLENBQUMsRUFBRSxHQUFHLFlBQVksQ0FBQyxRQUFRLElBQUksWUFBWSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6SSxZQUFZLENBQUMsS0FBSyxHQUFHLElBQUksWUFBWSxFQUFNLENBQUM7UUFDNUMsWUFBWSxDQUFDLFNBQVMsR0FBRyxJQUFJLFlBQVksRUFBTSxDQUFDO1FBQ2hELFlBQVksQ0FBQyxVQUFVLEdBQUcsSUFBSSxZQUFZLEVBQU0sQ0FBQztRQUVqRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFD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UUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDdkgsQ0FBQztJQUVELGtDQUFrQztJQUNsQyxxQ0FBTSxHQUFOLFVBQU8sRUFBVztRQUNoQixJQUFJLEVBQUUsRUFBRTtZQUNOLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFDLENBQUMsQ0FBQztTQUMvQzthQUFNO1lBQ0wsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBQyxPQUFPLEVBQUUsVUFBVSxFQUFDLENBQUMsQ0FBQztTQUMxQztJQUNILENBQUM7O2dCQTVERixVQUFVOzs7O2dEQUdOLE1BQU0sU0FBQyxTQUFTOztJQTBEckIsMkJBQUM7Q0FBQSxBQTdERCxJQTZEQztTQTVEWSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0V2ZW50RW1pdHRlciwgSW5qZWN0LCBJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7U3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge05vdGlmaWNhdGlvbkV2ZW50fSBmcm9tICcuLi9pbnRlcmZhY2VzL25vdGlmaWNhdGlvbi1ldmVudC50eXBlJztcbmltcG9ydCB7Tm90aWZpY2F0aW9ufSBmcm9tICcuLi9pbnRlcmZhY2VzL25vdGlmaWNhdGlvbi50eXBlJztcbmltcG9ydCB7SWNvbnN9IGZyb20gJy4uL2ludGVyZmFjZXMvaWNvbnMnO1xuaW1wb3J0IHtERUZBVUxUX0lDT05TfSBmcm9tICcuLi9jb25zdHMvZGVmYXVsdC1pY29ucy5jb25zdCc7XG5pbXBvcnQge05vdGlmaWNhdGlvblR5cGV9IGZyb20gJy4uL2VudW1zL25vdGlmaWNhdGlvbi10eXBlLmVudW0nO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTm90aWZpY2F0aW9uc1NlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KCdvcHRpb25zJykgcHVibGljIGdsb2JhbE9wdGlvbnM6IGFueVxuICApIHt9XG5cbiAgZW1pdHRlciA9IG5ldyBTdWJqZWN0PE5vdGlmaWNhdGlvbkV2ZW50PigpO1xuICBpY29uczogSWNvbnMgPSBERUZBVUxUX0lDT05TO1xuXG4gIHNldChub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbiwgdG86IGJvb2xlYW4pOiBOb3RpZmljYXRpb24ge1xuICAgIG5vdGlmaWNhdGlvbi5pZCA9IG5vdGlmaWNhdGlvbi5vdmVycmlkZSAmJiBub3RpZmljYXRpb24ub3ZlcnJpZGUuaWQgPyBub3RpZmljYXRpb24ub3ZlcnJpZGUuaWQgOiBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMyk7XG4gICAgbm90aWZpY2F0aW9uLmNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx7fT4oKTtcbiAgICBub3RpZmljYXRpb24uY2xpY2tJY29uID0gbmV3IEV2ZW50RW1pdHRlcjx7fT4oKTtcbiAgICBub3RpZmljYXRpb24udGltZW91dEVuZCA9IG5ldyBFdmVudEVtaXR0ZXI8e30+KCk7XG5cbiAgICB0aGlzLmVtaXR0ZXIubmV4dCh7Y29tbWFuZDogJ3NldCcsIG5vdGlmaWNhdGlvbjogbm90aWZpY2F0aW9uLCBhZGQ6IHRvfSk7XG4gICAgcmV0dXJuIG5vdGlmaWNhdGlvbjtcbiAgfVxuXG4gIHN1Y2Nlc3ModGl0bGU6IGFueSA9ICcnLCBjb250ZW50OiBhbnkgPSAnJywgb3ZlcnJpZGU/OiBhbnksIGNvbnRleHQ/OiBhbnkpOiBOb3RpZmljYXRpb24ge1xuICAgIHJldHVybiB0aGlzLnNldCh7dGl0bGU6IHRpdGxlLCBjb250ZW50OiBjb250ZW50IHx8ICcnLCB0eXBlOiBOb3RpZmljYXRpb25UeXBlLlN1Y2Nlc3MsIGljb246IHRoaXMuaWNvbnMuc3VjY2Vzcywgb3ZlcnJpZGU6IG92ZXJyaWRlLCBjb250ZXh0OiBjb250ZXh0fSwgdHJ1ZSk7XG4gIH1cblxuICBlcnJvcih0aXRsZTogYW55ID0gJycsIGNvbnRlbnQ6IGFueSA9ICcnLCBvdmVycmlkZT86IGFueSwgY29udGV4dD86IGFueSk6IE5vdGlmaWNhdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuc2V0KHt0aXRsZTogdGl0bGUsIGNvbnRlbnQ6IGNvbnRlbnQgfHwgJycsIHR5cGU6IE5vdGlmaWNhdGlvblR5cGUuRXJyb3IsIGljb246IHRoaXMuaWNvbnMuZXJyb3IsIG92ZXJyaWRlOiBvdmVycmlkZSwgY29udGV4dDogY29udGV4dH0sIHRydWUpO1xuICB9XG5cbiAgYWxlcnQodGl0bGU6IGFueSA9ICcnLCBjb250ZW50OiBhbnkgPSAnJywgb3ZlcnJpZGU/OiBhbnksIGNvbnRleHQ/OiBhbnkpOiBOb3RpZmljYXRpb24ge1xuICAgIHJldHVybiB0aGlzLnNldCh7dGl0bGU6IHRpdGxlLCBjb250ZW50OiBjb250ZW50IHx8ICcnLCB0eXBlOiBOb3RpZmljYXRpb25UeXBlLkFsZXJ0LCBpY29uOiB0aGlzLmljb25zLmFsZXJ0LCBvdmVycmlkZTogb3ZlcnJpZGUsIGNvbnRleHQ6IGNvbnRleHR9LCB0cnVlKTtcbiAgfVxuXG4gIGluZm8odGl0bGU6IGFueSA9ICcnLCBjb250ZW50OiBhbnkgPSAnJywgb3ZlcnJpZGU/OiBhbnksIGNvbnRleHQ/OiBhbnkpOiBOb3RpZmljYXRpb24ge1xuICAgIHJldHVybiB0aGlzLnNldCh7dGl0bGU6IHRpdGxlLCBjb250ZW50OiBjb250ZW50IHx8ICcnLCB0eXBlOiBOb3RpZmljYXRpb25UeXBlLkluZm8sIGljb246IHRoaXMuaWNvbnMuaW5mbywgb3ZlcnJpZGU6IG92ZXJyaWRlLCBjb250ZXh0OiBjb250ZXh0fSwgdHJ1ZSk7XG4gIH1cblxuICB3YXJuKHRpdGxlOiBhbnkgPSAnJywgY29udGVudDogYW55ID0gJycsIG92ZXJyaWRlPzogYW55LCBjb250ZXh0PzogYW55KTogTm90aWZpY2F0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5zZXQoe3RpdGxlOiB0aXRsZSwgY29udGVudDogY29udGVudCB8fCAnJywgdHlwZTogTm90aWZpY2F0aW9uVHlwZS5XYXJuLCBpY29uOiB0aGlzLmljb25zLndhcm4sIG92ZXJyaWRlOiBvdmVycmlkZSwgY29udGV4dDogY29udGV4dH0sIHRydWUpO1xuICB9XG5cbiAgYmFyZSh0aXRsZTogYW55ID0gJycsIGNvbnRlbnQ6IGFueSA9ICcnLCBvdmVycmlkZT86IGFueSwgY29udGV4dD86IGFueSk6IE5vdGlmaWNhdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuc2V0KHt0aXRsZTogdGl0bGUsIGNvbnRlbnQ6IGNvbnRlbnQgfHwgJycsIHR5cGU6IE5vdGlmaWNhdGlvblR5cGUuQmFyZSwgaWNvbjogJ2JhcmUnLCBvdmVycmlkZTogb3ZlcnJpZGUsIGNvbnRleHQ6IGNvbnRleHR9LCB0cnVlKTtcbiAgfVxuXG4gIC8vIFdpdGggdHlwZSBtZXRob2RcbiAgY3JlYXRlKHRpdGxlOiBhbnkgPSAnJywgY29udGVudDogYW55ID0gJycsIHR5cGUgPSBOb3RpZmljYXRpb25UeXBlLlN1Y2Nlc3MsIG92ZXJyaWRlPzogYW55LCBjb250ZXh0PzogYW55KTogTm90aWZpY2F0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5zZXQoe3RpdGxlOiB0aXRsZSwgY29udGVudDogY29udGVudCwgdHlwZTogdHlwZSwgaWNvbjogKDxhbnk+dGhpcy5pY29ucylbdHlwZV0sIG92ZXJyaWRlOiBvdmVycmlkZSwgY29udGV4dDogY29udGV4dH0sIHRydWUpO1xuICB9XG5cbiAgLy8gSFRNTCBOb3RpZmljYXRpb24gbWV0aG9kXG4gIGh0bWwoaHRtbDogYW55LCB0eXBlID0gTm90aWZpY2F0aW9uVHlwZS5TdWNjZXNzLCBvdmVycmlkZT86IGFueSwgaWNvbiA9ICdiYXJlJywgY29udGV4dD86IGFueSk6IE5vdGlmaWNhdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuc2V0KHtodG1sOiBodG1sLCB0eXBlOiB0eXBlLCBpY29uOiAoPGFueT50aGlzLmljb25zKVtpY29uXSwgb3ZlcnJpZGU6IG92ZXJyaWRlLCBjb250ZXh0OiBjb250ZXh0fSwgdHJ1ZSk7XG4gIH1cblxuICAvLyBSZW1vdmUgYWxsIG5vdGlmaWNhdGlvbnMgbWV0aG9kXG4gIHJlbW92ZShpZD86IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChpZCkge1xuICAgICAgdGhpcy5lbWl0dGVyLm5leHQoe2NvbW1hbmQ6ICdjbGVhbicsIGlkOiBpZH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVtaXR0ZXIubmV4dCh7Y29tbWFuZDogJ2NsZWFuQWxsJ30pO1xuICAgIH1cbiAgfVxufVxuIl19