UNPKG

ngx-notification

Version:

Angular Library to display all types of notifications in a Toast Notification format. Tested on Angular 6

162 lines (153 loc) 14.9 kB
(function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('rxjs'), require('@angular/common'), require('@angular/platform-browser')) : typeof define === 'function' && define.amd ? define('ngx-notification', ['exports', '@angular/core', 'rxjs', '@angular/common', '@angular/platform-browser'], factory) : (factory((global['ngx-notification'] = {}),global.ng.core,null,global.ng.common,global.ng.platformBrowser)); }(this, (function (exports,i0,rxjs,common,platformBrowser) { 'use strict'; /** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ var NgxNotificationService = (function () { function NgxNotificationService() { this.subject = new rxjs.Subject(); } /** * @param {?} message * @param {?} theme * @param {?} position * @return {?} */ NgxNotificationService.prototype.sendMessage = /** * @param {?} message * @param {?} theme * @param {?} position * @return {?} */ function (message, theme, position) { this.subject.next({ text: message, theme: theme, position: position }); }; /** * @return {?} */ NgxNotificationService.prototype.clearMessage = /** * @return {?} */ function () { this.subject.next(); }; /** * @return {?} */ NgxNotificationService.prototype.getMessage = /** * @return {?} */ function () { return this.subject.asObservable(); }; NgxNotificationService.decorators = [ { type: i0.Injectable, args: [{ providedIn: 'root' },] }, ]; /** @nocollapse */ NgxNotificationService.ctorParameters = function () { return []; }; /** @nocollapse */ NgxNotificationService.ngInjectableDef = i0.defineInjectable({ factory: function NgxNotificationService_Factory() { return new NgxNotificationService(); }, token: NgxNotificationService, providedIn: "root" }); return NgxNotificationService; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ var NgxNotificationComponent = (function () { function NgxNotificationComponent(ngxNotificationService) { var _this = this; this.ngxNotificationService = ngxNotificationService; this.message = {}; this.subscription = this.ngxNotificationService.getMessage() .subscribe(function (message) { _this.show = true; _this.message = message; console.log(_this.message); _this.autoHideMessage(); }); } /** * @return {?} */ NgxNotificationComponent.prototype.ngOnInit = /** * @return {?} */ function () { }; /** * @return {?} */ NgxNotificationComponent.prototype.ngOnDestroy = /** * @return {?} */ function () { this.subscription.unsubscribe(); }; /** * @return {?} */ NgxNotificationComponent.prototype.autoHideMessage = /** * @return {?} */ function () { var _this = this; setTimeout(function () { _this.show = false; }, 5000); }; NgxNotificationComponent.decorators = [ { type: i0.Component, args: [{ selector: 'lib-ngx-notification', template: "<div *ngIf='show' class='ngx-notification {{ message.position }} {{ message.theme }} show'>{{message?.text }}</div>", styles: ["\n .ngx-notification.dark {\n background-color: #2d2d30;\n border-color: #272729;\n color: #c9c9c9;\n }\n .ngx-notification.light {\n background-color: #ffffff;\n border-color: #cccccc;\n color: #2d2d30;\n }\n .ngx-notification.success {\n background-color: #dff0d8;\n border-color: #d0e9c6;\n color: #3c763d;\n }\n .ngx-notification.info {\n background-color: #d9edf7;\n border-color: #bcdff1;\n color: #31708f;\n }\n .ngx-notification.warning {\n background-color: #fcf8e3;\n border-color: #faf2cc;\n color: #8a6d3b;\n }\n .ngx-notification.danger {\n background-color: #f2dede;\n border-color: #ebcccc;\n color: #a94442;\n }\n .ngx-notification.top-left {\n position: fixed;\n left: 10px;\n top: 10px;\n }\n .ngx-notification.top-right {\n position: fixed;\n right: 10px;\n top: 10px;\n }\n .ngx-notification.bottom-right {\n position: fixed;\n right: 10px;\n bottom: 10px;\n }\n .ngx-notification.bottom-left {\n position: fixed;\n left: 10px;\n bottom: 10px;\n }\n .ngx-notification.center {\n position:absolute;\n top: 50%;\n left: 50%;\n margin-top: -9em;\n margin-left: -15em;\n }\n .ngx-notification {\n padding: .75rem 1.25rem;\n margin-bottom: 1rem;\n border: 1px solid transparent;\n border-radius: .25rem;\n -webkit-animation: fadein 1.5s, fadeout 1.5s 3.5s;\n animation: fadein 1.5s, fadeout 1.5s 3.5s;\n z-index : 1;\n }\n\n /* Animations to fade the snackbar in and out */\n @-webkit-keyframes fadein {\n from {opacity: 0;}\n to {opacity: 1;}\n }\n\n @keyframes fadein {\n from {opacity: 0;}\n to {opacity: 1;}\n }\n\n @-webkit-keyframes fadeout {\n from {opacity: 1;}\n to {opacity: 0;}\n }\n\n @keyframes fadeout {\n from {opacity: 1;}\n to {opacity: 0;}\n }\n "] },] }, ]; /** @nocollapse */ NgxNotificationComponent.ctorParameters = function () { return [ { type: NgxNotificationService, }, ]; }; return NgxNotificationComponent; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ var NgxNotificationModule = (function () { function NgxNotificationModule() { } NgxNotificationModule.decorators = [ { type: i0.NgModule, args: [{ imports: [ common.CommonModule, platformBrowser.BrowserModule ], declarations: [NgxNotificationComponent], exports: [NgxNotificationComponent] },] }, ]; return NgxNotificationModule; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ /** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ exports.NgxNotificationService = NgxNotificationService; exports.NgxNotificationComponent = NgxNotificationComponent; exports.NgxNotificationModule = NgxNotificationModule; Object.defineProperty(exports, '__esModule', { value: true }); }))); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LW5vdGlmaWNhdGlvbi51bWQuanMubWFwIiwic291cmNlcyI6WyJuZzovL25neC1ub3RpZmljYXRpb24vbGliL25neC1ub3RpZmljYXRpb24uc2VydmljZS50cyIsIm5nOi8vbmd4LW5vdGlmaWNhdGlvbi9saWIvbmd4LW5vdGlmaWNhdGlvbi5jb21wb25lbnQudHMiLCJuZzovL25neC1ub3RpZmljYXRpb24vbGliL25neC1ub3RpZmljYXRpb24ubW9kdWxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBOZ3hOb3RpZmljYXRpb25TZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIHByaXZhdGUgc3ViamVjdCA9IG5ldyBTdWJqZWN0PGFueT4oKTtcblxuICBzZW5kTWVzc2FnZShtZXNzYWdlOiBzdHJpbmcsIHRoZW1lOiBzdHJpbmcsIHBvc2l0aW9uOiBzdHJpbmcpIHtcbiAgICB0aGlzLnN1YmplY3QubmV4dChcbiAgICAgIHtcbiAgICAgICAgdGV4dDogbWVzc2FnZSxcbiAgICAgICAgdGhlbWU6IHRoZW1lLFxuICAgICAgICBwb3NpdGlvbjogcG9zaXRpb25cbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgY2xlYXJNZXNzYWdlKCkge1xuICAgIHRoaXMuc3ViamVjdC5uZXh0KCk7XG4gIH1cblxuICBnZXRNZXNzYWdlKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuc3ViamVjdC5hc09ic2VydmFibGUoKTtcbiAgfVxuXG59XG4iLCJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE5neE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuL25neC1ub3RpZmljYXRpb24uc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1uZ3gtbm90aWZpY2F0aW9uJyxcbiAgdGVtcGxhdGU6IGA8ZGl2ICpuZ0lmPSdzaG93JyBjbGFzcz0nbmd4LW5vdGlmaWNhdGlvbiB7eyBtZXNzYWdlLnBvc2l0aW9uIH19IHt7IG1lc3NhZ2UudGhlbWUgfX0gc2hvdyc+e3ttZXNzYWdlPy50ZXh0IH19PC9kaXY+YCxcbiAgc3R5bGVzOiBbYFxuICAubmd4LW5vdGlmaWNhdGlvbi5kYXJrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQyZDMwO1xuICAgIGJvcmRlci1jb2xvcjogIzI3MjcyOTtcbiAgICBjb2xvcjogI2M5YzljOTtcbiAgfVxuICAubmd4LW5vdGlmaWNhdGlvbi5saWdodCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6ICNjY2NjY2M7XG4gICAgY29sb3I6ICMyZDJkMzA7XG4gIH1cbiAgLm5neC1ub3RpZmljYXRpb24uc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZjBkODtcbiAgICAgIGJvcmRlci1jb2xvcjogI2QwZTljNjtcbiAgICAgIGNvbG9yOiAjM2M3NjNkO1xuICB9XG4gIC5uZ3gtbm90aWZpY2F0aW9uLmluZm8ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkOWVkZjc7XG4gICAgYm9yZGVyLWNvbG9yOiAjYmNkZmYxO1xuICAgIGNvbG9yOiAjMzE3MDhmO1xuICB9XG4gIC5uZ3gtbm90aWZpY2F0aW9uLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmY2Y4ZTM7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmFmMmNjO1xuICAgIGNvbG9yOiAjOGE2ZDNiO1xuICB9XG4gIC5uZ3gtbm90aWZpY2F0aW9uLmRhbmdlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZGVkZTtcbiAgICBib3JkZXItY29sb3I6ICNlYmNjY2M7XG4gICAgY29sb3I6ICNhOTQ0NDI7XG4gIH1cbiAgLm5neC1ub3RpZmljYXRpb24udG9wLWxlZnQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBsZWZ0OiAxMHB4O1xuICAgIHRvcDogMTBweDtcbiAgfVxuICAubmd4LW5vdGlmaWNhdGlvbi50b3AtcmlnaHQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICByaWdodDogMTBweDtcbiAgICB0b3A6IDEwcHg7XG4gIH1cbiAgLm5neC1ub3RpZmljYXRpb24uYm90dG9tLXJpZ2h0IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IDEwcHg7XG4gICAgYm90dG9tOiAxMHB4O1xuICB9XG4gIC5uZ3gtbm90aWZpY2F0aW9uLmJvdHRvbS1sZWZ0IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgbGVmdDogMTBweDtcbiAgICBib3R0b206IDEwcHg7XG4gIH1cbiAgLm5neC1ub3RpZmljYXRpb24uY2VudGVyIHtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTllbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMTVlbTtcbiAgfVxuICAubmd4LW5vdGlmaWNhdGlvbiB7XG4gICAgcGFkZGluZzogLjc1cmVtIDEuMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiAuMjVyZW07XG4gICAgLXdlYmtpdC1hbmltYXRpb246IGZhZGVpbiAxLjVzLCBmYWRlb3V0IDEuNXMgMy41cztcbiAgICBhbmltYXRpb246IGZhZGVpbiAxLjVzLCBmYWRlb3V0IDEuNXMgMy41cztcbiAgICB6LWluZGV4IDogMTtcbiAgfVxuXG4gIC8qIEFuaW1hdGlvbnMgdG8gZmFkZSB0aGUgc25hY2tiYXIgaW4gYW5kIG91dCAqL1xuICBALXdlYmtpdC1rZXlmcmFtZXMgZmFkZWluIHtcbiAgICBmcm9tIHtvcGFjaXR5OiAwO31cbiAgICB0byB7b3BhY2l0eTogMTt9XG4gIH1cblxuICBAa2V5ZnJhbWVzIGZhZGVpbiB7XG4gICAgZnJvbSB7b3BhY2l0eTogMDt9XG4gICAgdG8ge29wYWNpdHk6IDE7fVxuICB9XG5cbiAgQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVvdXQge1xuICAgIGZyb20ge29wYWNpdHk6IDE7fVxuICAgIHRvIHtvcGFjaXR5OiAwO31cbiAgfVxuXG4gIEBrZXlmcmFtZXMgZmFkZW91dCB7XG4gICAgZnJvbSB7b3BhY2l0eTogMTt9XG4gICAgdG8ge29wYWNpdHk6IDA7fVxuICB9XG4gIGBdXG59KVxuZXhwb3J0IGNsYXNzIE5neE5vdGlmaWNhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBzaG93O1xuICBtZXNzYWdlOiBhbnkgPSB7fTtcbiAgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBuZ3hOb3RpZmljYXRpb25TZXJ2aWNlOiBOZ3hOb3RpZmljYXRpb25TZXJ2aWNlKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLm5neE5vdGlmaWNhdGlvblNlcnZpY2UuZ2V0TWVzc2FnZSgpXG4gICAgLnN1YnNjcmliZShcbiAgICAgIG1lc3NhZ2UgPT4ge1xuICAgICAgICB0aGlzLnNob3cgPSB0cnVlO1xuICAgICAgICB0aGlzLm1lc3NhZ2UgPSBtZXNzYWdlO1xuICAgICAgICBjb25zb2xlLmxvZyh0aGlzLm1lc3NhZ2UpO1xuICAgICAgICB0aGlzLmF1dG9IaWRlTWVzc2FnZSgpO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHt9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIGF1dG9IaWRlTWVzc2FnZSgpIHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuc2hvdyA9IGZhbHNlO1xuICB9LCA1MDAwKTtcbiAgfVxuXG59XG4iLCJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEJyb3dzZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcbmltcG9ydCB7IE5neE5vdGlmaWNhdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vbmd4LW5vdGlmaWNhdGlvbi5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEJyb3dzZXJNb2R1bGVcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbTmd4Tm90aWZpY2F0aW9uQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW05neE5vdGlmaWNhdGlvbkNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgTmd4Tm90aWZpY2F0aW9uTW9kdWxlIHsgfVxuIl0sIm5hbWVzIjpbIlN1YmplY3QiLCJJbmplY3RhYmxlIiwiQ29tcG9uZW50IiwiTmdNb2R1bGUiLCJDb21tb25Nb2R1bGUiLCJCcm93c2VyTW9kdWxlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUE7UUFRRTsyQkFFa0IsSUFBSUEsWUFBTyxFQUFPO1NBRm5COzs7Ozs7O1FBSWpCLDRDQUFXOzs7Ozs7WUFBWCxVQUFZLE9BQWUsRUFBRSxLQUFhLEVBQUUsUUFBZ0I7Z0JBQzFELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNmO29CQUNFLElBQUksRUFBRSxPQUFPO29CQUNiLEtBQUssRUFBRSxLQUFLO29CQUNaLFFBQVEsRUFBRSxRQUFRO2lCQUNuQixDQUNGLENBQUM7YUFDSDs7OztRQUVELDZDQUFZOzs7WUFBWjtnQkFDRSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO2FBQ3JCOzs7O1FBRUQsMkNBQVU7OztZQUFWO2dCQUNFLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQzthQUNwQzs7b0JBekJGQyxhQUFVLFNBQUM7d0JBQ1YsVUFBVSxFQUFFLE1BQU07cUJBQ25COzs7OztxQ0FMRDs7Ozs7OztBQ0FBO1FBdUdFLGtDQUFvQixzQkFBOEM7WUFBbEUsaUJBVUM7WUFWbUIsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjsyQkFIbkQsRUFBRTtZQUlmLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFVBQVUsRUFBRTtpQkFDM0QsU0FBUyxDQUNSLFVBQUEsT0FBTztnQkFDTCxLQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztnQkFDakIsS0FBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7Z0JBQ3ZCLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUMxQixLQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7YUFDeEIsQ0FDRixDQUFDO1NBQ0g7Ozs7UUFFRCwyQ0FBUTs7O1lBQVIsZUFBYTs7OztRQUViLDhDQUFXOzs7WUFBWDtnQkFDRSxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO2FBQ2pDOzs7O1FBRUQsa0RBQWU7OztZQUFmO2dCQUFBLGlCQUlDO2dCQUhDLFVBQVUsQ0FBQztvQkFDVCxLQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztpQkFDckIsRUFBRSxJQUFJLENBQUMsQ0FBQzthQUNSOztvQkF6SEZDLFlBQVMsU0FBQzt3QkFDVCxRQUFRLEVBQUUsc0JBQXNCO3dCQUNoQyxRQUFRLEVBQUUscUhBQXFIO3dCQUMvSCxNQUFNLEVBQUUsQ0FBQyxxMURBd0ZSLENBQUM7cUJBQ0g7Ozs7O3dCQTlGUSxzQkFBc0I7Ozt1Q0FGL0I7Ozs7Ozs7QUNBQTs7OztvQkFLQ0MsV0FBUSxTQUFDO3dCQUNSLE9BQU8sRUFBRTs0QkFDUEMsbUJBQVk7NEJBQ1pDLDZCQUFhO3lCQUNkO3dCQUNELFlBQVksRUFBRSxDQUFDLHdCQUF3QixDQUFDO3dCQUN4QyxPQUFPLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQztxQkFDcEM7O29DQVpEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OyJ9