hepplerdotnet/flash-toastr

Easy toastr.js flash notifications

5.6.1.1 2018-10-23 07:17 UTC

This package is auto-updated.

Last update: 2024-09-14 21:33:28 UTC


README

Latest Stable Version License Total Downloads

Flash Toastr

Flash Laravel Session Messages to Toastr.js

Installation

First, pull in the package through Composer.

Run composer require HepplerDotNet/flash-toastr

Only needed for Laravel < 5.6

And then include the service provider within config/app.php.

'providers' => [
    HepplerDotNet\FlashToastr\FlashServiceProvider::class,
];

And, for convenience, add a facade alias to this same file at the bottom:

'aliases' => [
    'Flash' => HepplerDotNet\FlashToastr\Flash::class,
];

Usage

Within your controllers, before you perform a redirect...

public function store()
{
    Flash::success('Welcome Aboard!','FlashToastr was successfully installed');

    return Redirect::home();
}

You may also do:

  • Flash::info('Title','Message')
  • Flash::success('Title','Message')
  • Flash::error('Title','Message')
  • Flash::warning('Title','Message')
  • Flash::notify('Title', 'Message','Level')

This will set a few keys in the session:

  • 'flash_notification.title' - The message title you're flashing
  • 'flash_notification.message' - The message you're flashing
  • 'flash_notification.level' - A string that represents the type of notification (good for applying CSS/Bootstrap class names)

Alternatively you may reference the flash() helper function, instead of the facade. Here's an example:

/**
 * Destroy the user's session (logout).
 *
 * @return Response
 */
public function destroy()
{
    Auth::logout();

    flash()->success('Logout successfull','You have been logged out.');

    return home();
}

You can even chain them to flash multiple messages at once.

/**
 * Destroy the user's session (logout).
 *
 * @return Response
 */
public function destroy()
{
    Auth::logout();

    flash()->success('Logout successfull','You have been logged out.')
    ->warning('Close Browser','You should close this Browser window now');

    return home();
}

With this messages flashed to the session, you may now display it in your view(s).

@include('flash-toastr::message')

This will include the message.blade.php in to your view.

If you need to modify the flash message partials, you can run:

php artisan vendor:publish --tag=flash-views

The message view will now be located in the resources/views/vendor/flash-toastr/ directory.

JavaScript Options for toastr.js

You can pass an array of options, which will be used to setup toastr.js

{{ Config::set('flash-toastr.options', ['progressBar' => false,'positionClass' => 'toast-top-left']) }}

You can also publish the config file:

php artisan vendor:publish --tag=flash-config

To publish both, config and views you can run:

php artisan vendor:publish --tag=flash

See Toastr Documentation for all available options