Based on ng-notify for Angular 1.x by Mat Owens
$ npm install --save ng2-notify-popup
Configure your System.config
System.config({
defaultJSExtensions: true,
map: {
'@angular/core': 'npm:@angular/core/bundles/core.umd.js',
"rxjs": "node_modules/rxjs",
...
'ng2-notify-popup' : 'npm:ng2-notify-popup',
},
packages: {
'app': {
main : './main.ts',
defaultJSExtensions : 'ts'
},
"ng2-notify-popup" : {
main:'./index.js',
defaultExtension : 'js'
}
}
});
and then from your Angular AppModule
:
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
/** IMPORTANT : IE10 and IE11 requires the following to support `@angular/animation` (which is used by this module).
Run `npm install --save web-animations-js`.
*/
import 'web-animations-js';
// Import library
import { NgNotifyPopup } from 'ng2-notify-popup';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
// Add module to imports
NgNotifyPopup
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
Once your library is imported, you can use its Notification service
// You can now use this library service to show popup anywhere in angular app
import { Component } from '@angular/core';
import { NotificationService } from 'ng2-notify-popup';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css'],
providers: [NotificationService]
})
export class AppComponent {
constructor(private notify: NotificationService) { }
// to append in body
show(text: string, type: string): void {
this.notify.show(text, { position:'top', duration:'2000', type: 'success' });
}
// to append in any other component.
showModular(text: string, type: string): void {
this.notify.show(text, { position:'top', duration:'2000', type: 'success', location: '#modular' });
}
This method can be used to override the default configuration provided by the module. All params are optinal
NotificationService.setConfig({
position: 'top/bottom',
type: 'info/success/warn/error/grimace/default',
duration: 4000,
sticky: true/false,
})
show()
method can be called with an optional second argument to override the global default config
// Simple notification
NotificationService.show("Success");
// Notification with options
NotificationService.show("Error occured", { position: 'top', type: 'error' })
//Show notification inside a division (MUST have position:relative)
NotificationService.show("Inside a div", { location: '#my-div' })
// Destroy any active notification
NotificationService.destroy();
You can create your own type
in CSS as follows
.ngn-wild {
background-color: #f4a460;
}
To generate all *.js
, *.d.ts
and *.metadata.json
files:
$ npm run build
To lint all *.ts
files:
$ npm run lint
MIT © Shubhangi Gupta