Skip to content

data-peace/react-toastr

 
 

Repository files navigation

react-toastr

React.js toastr component

Version Travis CI Quality Coverage Dependencies Gitter

Installation

npm i --save react-toastr

Demo

Static hosted demo site on GitHub.

Example

Check src/app folder.

Usage

This module requires to be bundled with webpack/browserify and loads react/addons internally.
You'll need to download animate.css from here Animate @github

Link to css for styles:

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.5.2/animate.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/2.1.3/toastr.min.css">

Then:

var ReactToastr = require("react-toastr");
var {ToastContainer} = ReactToastr; // This is a React Element.
// For Non ES6...
// var ToastContainer = ReactToastr.ToastContainer;
var ToastMessageFactory = React.createFactory(ReactToastr.ToastMessage.animation);

  // In a react component:
  render () {
    return (
      <div>
        <ToastContainer ref="container"
                        toastMessageFactory={ToastMessageFactory}
                        className="toast-top-right" />
        <button onClick={this.addAlert}>GGininder</button>
      </div>
    );
  }

Here's a list of React Elements:

ToastContainer

This is the container where all ToastMessage elements will go. Use it by retaining a ref to publish a new toast message:

  addAlert () {
    this.refs.container.success(
      "Welcome welcome welcome!!",
      "You are now home my friend. Welcome home my friend.", {
      timeOut: 30000,
      extendedTimeOut: 10000
    });
    window.open("http://youtu.be/3SR75k7Oggg");
  }

or integrated with your flux architecture?

  componentDidMount: function() {
    InInDerStore.addChangeListener(this.addAlert);
  }

Options

Directly migrated from toastr.js library, and can be overrided via props in a React way:

ToastContainer::getDefaultProps

Close Button

The close button on the toastr is an optional functionality.

  closeButton:true
Time Out

Set the time(in ms) after which the toastr message should automatically close.

  timeOut:5000
Prevent Duplicates

This prevents duplicate messages from getting triggered.

  preventDuplicates:true

Displaying HTML

To display HTML simply pass JSX instead of strings for title and message arguments:

this.refs.container.success(
  <strong>I am a strong title</strong>,
  <em>I am an emphasized message</em>
});

ToastMessage

Base class for holding a toast message, it will not animate in and out during it's lifecycle. Provides ToastMessage.animation and ToastMessage.jQuery for your choice.

Options

Directly migrated from toastr.js library, and can be overrided via props in a React way:

Packages

No packages published

Languages

  • JavaScript 92.5%
  • CSS 5.1%
  • HTML 2.4%