Introduction
In this small tip, I will talk about toastr.js. A simple JavaScript library to create toast notifications for websites and single page applications.
Background
I recently came across a requirement which needed toast notification on a website. This website was an ASP.NET MVC website and a part of it was a Single page application using backbone.js. So I decided to look around the web and see what libraries can be used for toast notification on any kind of web application. That is when I came across toastr.js (https://github.com/CodeSeven/toastr). I looked into this library and I have to say it appears to be the best toast notification JavaScript library available.
What I liked about toastr.js:
- Very easy to use
- Very easy to integrate
- Pure JavaScript library, no external dependency
- Fully responsive
- Nice customization options
- Any HTML element/control can be put on the toast notification
Using the Code
Using toastr
is as easy as including the required JavaScript and CSS files in our application.
<script src="~/Scripts/toastr.min.js"></script>
I did this in my main.html of my backbone single page application and for ASP.NET MVC application, I added these files in CSS and JS bundles in BundleConfig.cs.
As for the usage part, the usage of the toastr is pretty straight forward. It gives us 4 types of toast notifications:
Success
: toastr[success]("Message will come here", "Title")
Error
: Success: toastr[error]("Message will come here", "Title")
Warning
: Success: toastr[warning]("Message will come here", "Title")
Information
: Success: toastr[info]("Message will come here", "Title")
The position of toastr notification can also be simply specified by using the position enumeration. There are 6 possible positions for toastr
:
- Top Right:
toast-top-right
- Top Left:
toast-top-left
- Bottom Right:
toast-bottom-right
- Bottom Left:
toast-bottom-left
- Top Full Width:
toast-top-full-width
- Bottom Full Width:
toast-bottom-full-width
This position can be passed in the toastr
options. There are many other options available in toastr to configure the animation and behavior of the toastr
notification. Here is an example showing all the available options for toastr.js.
toastr.options = {
"closeButton": false,
"debug": false,
"positionClass": "toast-bottom-full-width",
"onclick": null,
"showDuration": "300",
"hideDuration": "1000",
"timeOut": "5000",
"extendedTimeOut": "1000",
"showEasing": "swing",
"hideEasing": "linear",
"showMethod": "fadeIn",
"hideMethod": "fadeOut"
}
Point of Interest
This simplicity and power is just phenomenal. I have decided to use this library for all my toast notification needs on websites and HTML5 apps.
toastr.js code, CDN access and documentation can be found at: https://github.com/CodeSeven/toastr
Here is a live demo for tastr.js: http://codeseven.github.io/toastr/demo.html