Laravel 5 Flash Notifications with icons and animations and with a timeout
Notify alert boxes to the browser with sound and font awesome icons and give it a timeout to fly out. Works great to notify the user after a successful action (CRUD). Flash the information from Laravel or create multiple from javascript., (*1)
First, pull in the package through Composer., (*2)
"require": { "bpocallaghan/notify": "3.*" }
OR, (*3)
composer require bpocallaghan/notify
See the documentation for detailed installation and usage instructions., (*4)
Include the service provider within config\app.php
., (*5)
'providers' => [ Bpocallaghan\Notify\NotifyServiceProvider::class, ];
Add a facade alias or use the globel helper function notify()
., (*6)
'aliases' => [ 'Notify' => Bpocallaghan\Notify\Facades\Notify::class, ];
Within any view file (preferable your master layout)., (*7)
@include('notify::notify')
Within any Controller., (*8)
public function index() { // helper function - default to the 'info' notify('Title', 'Description'); // return object first notify()->info('Title', 'Description'); // via the facade Notify::info('Title', 'Description'); return view('home'); }
The different 'levels' are:
- notify()->info('Title', 'Description');
- notify()->success('Title', 'Description');
- notify()->warning('Title', 'Description');
- notify()->error('Title', 'Description');
, (*9)
The different arguments:
- notify()->info('Title', 'Description', false);
// without the icon
- notify()->info('Title', 'Description', 'smile-o');
// specify the icon class
- notify()->message($level = 'info', $title, $content, $icon, $timeout = 5000)
// arguments
- notify()->message('info', 'Title', 'Description', 'smile-o');
// specify the type of level
- notify()->message('info', 'Title', 'Description', 'smile-o', 10000);
// specify the timeout, (*10)
If you need to modify the view partial, you can run:, (*11)
php artisan vendor:publish --provider="Bpocallaghan\Notify\NotifyServiceProvider" --tag=view
The view partial can be found here resources\views\vendor\notify\notify.blade
., (*12)
You need to publish the assets., (*13)
php artisan vendor:publish --provider="Bpocallaghan\Notify\NotifyServiceProvider" --tag=public
Find the files here public\vendor\notify\
.
Move the mp3s to public\sounds\
.
If you use Laravel Elixir, move the css and js to your resource\assets
and include them in your gulpfile.js, otherwise link to the individual files in your html header., (*14)