mauricioschmitz/laravel-toastr

Toastr - Flash Messages for Laravel 5

dev-master 2017-10-20 10:13 UTC

This package is auto-updated.

Last update: 2024-10-26 12:18:32 UTC


README

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

LaravelPackage
5.0.x1.0.x
5.1.x1.0.x
5.2.x2.0.x
5.3.x2.0.x
5.4.x2.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();