@ale-rainbow/rainbow-notification
Version:
Alcatel-Lucent Enterprise Rainbow Notification
65 lines (44 loc) • 2.51 kB
Markdown
# RAINBOW NOTIFICATION
Shared **notification component** for Rainbow's Web and Electron clients
## Content of this module
This component provide a vanilla JS implementation and an associated css file.
It is intended to be used by both the Web client and the Electron container.
Two classes in this module the **RainbowNotification** class and the **RainbowNotificationAction** class.
These two class are essentially "model" class which stored the notification data.
But the **RainbowNotification** class also provided rendering ang event binding methods.
###RainbowNotification : the main class which describes the notification###
public id: string; // The notif identifier
public type: string; // The notif type 'info' or 'call'
// Originator info
public origin: string; // The notification originator (most often a contact name)
// Content stuff
public message: string; // The notification message
public mdMessage: string; // A markdown isued message (with appropriate css styling)
public avatarURL: string; // The avatarURL of the oginator
public infoTitle: string; // Additional information title
public infoMessage: string; // Additional information message
public callSubject: string; // Another additional message (used for call subject)
// AutoClose stuff
public delay: number; // The automatic close delay in ms (default : 15000ms);
public delayTimeout; // Private data to store the delay timeout object
public autoCloseAction; // The handler funct called when notif automatically close
// Action buttons
public actions: RainbowNotificationAction[]; // Array of actions
// Rendering and event binding methods
public getHTMLContent(): string; // Return the html code of the notification
public attachActionHandlers(attach: boolean = true): void // Bind/Unbind event to actions
###RainbowNotificationAction : describe a notification action###
// Action button description
public label: string; // The action button label
public color: string; // The button color ("grren", "red" or null)
public icon: string; // The icon identifier
// Multiple choice stuff
public choice: any[]; // List of choices
public choiceTitleLabel: string; // Title label choice action (optional)
public choiceCloseLabel: string; // Label for close choice action
public choiceHandler: any; // handler function for choice
## How to build and deploy from sources
Change version number in package
npm login mcordebard the pwd
npm run build
npm publish --access public