Looking to hire Laravel developers? Try LaraJobs

laravel-toastr maintained by mauricioschmitz

Description
Toastr - Flash Messages for Laravel 5
Last update
2017/10/20 12:13 (dev-master)
License
Downloads
282

Comments
comments powered by Disqus

Toastr - Flash Messages for Laravel 5

Simple flash messagges system to use with Laravel 5 Framework. By default it relies on twitter bootstrap "alert" component. You can display multiple flash messages in different types (success, info, warning, danger) at once and to each message you can asign some custom params that will allow you for example mark some of them as important etc.


Installation

Via composer require command

Use composer require command to install this package.

$ composer require mauricioschmitz/laravel-toastr

Laravel version Compatibility

Laravel Package
5.0.x 1.0.x
5.1.x 1.0.x
5.2.x 2.0.x
5.3.x 2.0.x
5.4.x 2.0.x

Adding package to composer.json file manually

Add package to your composer.json file:

"require": {
  "mauricioschmitz/laravel-toastr": "2.0.*"
}

Use composer update command to install this package.

$ composer update

Registering the Package

Add the Toastr Service Provider to your config in config/app.php:

'providers' => array(
	Laraveltoastr\Toastr\Providers\ToastrServiceProvider::class,
),

and create an alias:

'aliases' => [
    'Laraveltoastr'    => Laraveltoastr\Toastr\Facades\Toastr::class,
],

Usage

First of all you need to add some code to your view scripts. In most cases it will be layout file (or other place where you want to flash message be displayed). You can use default view script distrubuted within this package by adding following code into your view file:

@include('toastr::alerts')

If you use VUE.JS, you need install vue-toastr

npm install --save vue-toastr

And then add to your app.js

import Toastr from 'vue-toastr';
require('vue-toastr/src/vue-toastr.less');
Vue.component('vue-toastr',Toastr);

or to gain more controll of the look and feel of your flash messages you can start with using following template (just copy and paste it into a place where your application allerts should be displayed):

@if(Session::has('toastr.alerts'))
    <script>
        $(document).ready(function() {
            setTimeout(function () {
                toastr.options = {
                    closeButton: true,
                    progressBar: true,
                    showMethod: 'slideDown',
                    timeOut: 4000
                };

                @foreach(Session::get('toastr.alerts') as $alert)
                toastr.{{ $alert['type'] }}('{{ $alert['message'] }}' @if( ! empty($alert['title'])), '{{ $alert['title'] }}' @endif);
                @endforeach
            }, 1300);
        });
    </script>
@endif

And add javascript and css plugin, you can download on CodeSeven

https://codeseven.github.io/toastr/
<link href="toastr.css" rel="stylesheet"/>

<script src="toastr.js"></script>

In your controllers/action before you perform a redirect:

public function login()
{
	Toastr::success('Welcom back!')->push();
    return Redirect::home();
}

you can push more than one alert at once:

public function login()
{
	Toastr::success('Welcom back!')->push();
	Toastr::warning('You don\'t look too good today!')->push();

    return Redirect::home();
}

Other usage examples:


// using alert() method - first param is an alert type socond one is a message:
Toastr::alert('danger','Error - generated by alert() method')->push();
Toastr::alert('danger','Error - generated by alert() method')->push();
Toastr::alert('info','Info - generated by alert() method')->push();
Toastr::alert('warning','Warning - generated by alert() method')->push();
Toastr::alert('success','Success - generated by alert() method')->push();

// error alert with title
Toastr::alert('danger',['Some title','Error - generated by alert() method'])->push();

// succes 
Toastr::success('This is success')->push();

// success with title
Toastr::success('Excelent','This is success')->push();

// info
Toastr::info('That is just short info')->push();

// warning
Toastr::warning('Thats a warning!')->push();

// error
Toastr::danger('We got an error!')->push();

// adding additional params to each alert (with() method allows you to pass some custom params that can be used later in a view script)
Toastr::danger('We got an error! And its marked as important')->with(['important' => true])->push();
Toastr::danger('We got an error!', 'But its not that important')->with(['important' => false])->push();