biplab-notifier
Version:
This is a notification npm package, it can be use as simple notification or modal dialog, a lot of customization option are available as well, checkout the github repo and examples
141 lines (119 loc) • 6.17 kB
Markdown
# biplab-notifier
Reference to use biplab-notifier
## Selector
biplab-notifier
### Properties
| Name | Description|
|-----------|-------------|
| () customTemplate: TemplateRef<any> | Design your own template and pass that to use |
| () notification: Notification | You must have to pass as instance of `Notification` |
| () notifierTemplates: NotifierTemplate | You can pass template to add icon for notification type, change ok button with something else, or add template in body or header |
### NotifierTemplate
| Name | Description|
|-----------|-------------|
| typeIcon?: TemplateRef<any> | Will be seen with the title text |
| head?: TemplateRef<any> | Will overried the existing head |
| body?: TemplateRef<any> | Will overried the existing body |
| button?: TemplateRef<any> | Will overried the existing default buttons |
| footer?: TemplateRef<any> | Will add footer |
| titleTemplate?: TemplateRef<any> | Will replace existing title template |
`Notification` is a class, which contain all configuration need to execute biplab-notifier
### Notification attibutes
| Name | Description|
|-----------|-------------|
| type: 'warn', 'error' , 'note' , 'success', 'help' | You must have to specify the type |
| timer?: Timer | You can set duration for message, once set it will hide notification, Default setting will not hide notification |
| message: string | You will use if you want to pass single value |
| message: string[] | You will use if you want to pass multiple values |
| layoutType: 'single' or 'multi' | Default is single, meaning you can only set data to `message` attribute, Always remember to set `layoutType` as 'multi' if you want to set list of values in notices attribute otherwise it will generate error |
| afterClosed: Observable<boolean> | Will notify you whenever notifaction closed |
| afterOpened: Observable<void> | Will notify you whenever notifaction opened |
| falseButton: string | Change text of false action button |
| trueButton: string | Change text of true action button |
| title: `show` or `hide` | Change title visibility, default is `show` |
| closeButton: `show` or `hide`| Change closeButton visibility, default is `show` |
| actionRow: `show` or `hide`| Change actionRow visibility, default is `show` |
| body: `show` or `hide`| Change body visibility, default is `show` |
| isDialog: boolean | Change notifier to dialog, default is false |
| isSnack: boolean | Change notifier to snackbar, default is false |
| disableOutsideClick: boolean| Prevent closing dialog if clicked outside |
| header: string| Add header text ( Only application of multi layout notifier ) |
| titleText: string| Set title of your notification |
| css: Css| Override width, height, color, background color of notifier |
| actionButtons: NotificationButton[]| These are the buttons appear in multi notification form |
| currentStatus: 'hide' or 'show'| return the current status of notification |
| trueActionButton: NotificationButton| You can access the true button properties |
### NotificationButton
| Name | Description|
|-----------|-------------|
| text: string | Will be seen button label |
| disabled: boolean | Will be seen disable button if set as true |
| type: 'button' or 'submit' | Default is button |
| emitValue: any | This is the value button will return after clicked |
| callBackFunction: { func: Function, param: any }[] | You can bind the function list with the button |
### css
| Name | Description|
|-----------|-------------|
| shadow: boolean | Will enable shadow if set as true |
| position: top, buttom, left, right, center | Will place the notifier into mentioned place |
| background: string | change background color in title bar |
| color: string | change text color in title bar |
| width: string | change the width of the notifier |
| height: string | change the height of the notifier |
### Notification methods
| Name | Description|
|-----------|-------------|
| show | Will show the notification |
| hide | Will hide the notification |
| buttonShadow('show'|'hide') | Will hide or show shadow in button |
| buttonColorReverse | Will change button font color into background and vise versa |
| buttonColorReverse | Will change button font color into background and vise versa |
| defaultButtons(actionButtons?: NotificationButton[]) | Will add 2 buttons ( Yes and Cancel ) if not provided |
|applyThemeColorInTrueButtons()| Will apply same color as applied in title|
|addNewButton(button: label: string)|Will add new button|
#### ng-content for followling selector available
- notifierIcon
- notifierTitle
- notifierMessages
- notifierTrueButton
- notifierFalseButton
- notifierFooter
In ng-template you can access `notificationClose` method will close the notification and `data`
```
<ng-template #custom let-message="data" let-notificationClose="notificationClose" >
<div style="background: red; color: white; padding: 15px;">
</div>
</ng-template>
```
### Implementation 1 ( Getting started )
Import NotifierModule from biplab-notifier
``` import { NotifierModule } from 'biplab-notifier ```
```
({
imports: [ BrowserModule, FormsModule, NotifierModule ],
declarations: [ AppComponent ],
bootstrap: [ AppComponent ]
})
export class AppModule { }
```
In component file import Notification from biplab-notifier and initilize it
```
// First Import Notification class
import { Notification } from 'biplab-notifier';
// Declare and Initiliza the variable
notification = new Notification()
// Now for testing, add following line to see message
constructor() {
//Setup the type, it can be success, error, warn, note, or help
this.notification.type = 'success';
//Send message to display
this.notification.message = 'You will see this message with success title';
//Calling function to display message
this.notification.show();
}
```
In Template file pass current notification instance ( HTML )
```
<biplab-notifier [(notification)]="notification"></biplab-notifier>
```
[Few examples are here ](https://stackblitz.com/edit/biplab-notifier-custom-template)