@ale-rainbow/rainbow-notification

Alcatel-Lucent Enterprise Rainbow Notification

Usage no npm install needed!

<script type="module">
  import aleRainbowRainbowNotification from 'https://cdn.skypack.dev/@ale-rainbow/rainbow-notification';
</script>

README

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