Notify (Laravel)
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 successfull action (CRUD). Flash the information from Laravel or create multiple from javascript.
Want to see the current package in action, have a look at the project.
Laravel Starter Project
Installation
First, pull in the package through Composer.
"require": {
"bpocallaghan/notify": "3.*"
}OR
composer require bpocallaghan/notifyLaravel <5.4 only (Laravel 5.5 has automatic package discovery)
Include the service provider within config\app.php.
'providers' => [
Bpocallaghan\Notify\NotifyServiceProvider::class,
];Add a facade alias or use the globel helper function notify().
'aliases' => [
'Notify' => Bpocallaghan\Notify\Facades\Notify::class,
];Usage
Within any view file (preferable your master layout).
@include('notify::notify')Within any Controller.
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');
The different arguments:
notify()->info('Title', 'Description', false);// without the iconnotify()->info('Title', 'Description', 'smile-o');// specify the icon classnotify()->message($level = 'info', $title, $content, $icon, $timeout = 5000)// argumentsnotify()->message('info', 'Title', 'Description', 'smile-o');// specify the type of levelnotify()->message('info', 'Title', 'Description', 'smile-o', 10000);// specify the timeout
If you need to modify the view partial, you can run:
php artisan vendor:publish --provider="Bpocallaghan\Notify\NotifyServiceProvider" --tag=viewThe view partial can be found here resources\views\vendor\notify\notify.blade.
You need to publish the assets.
php artisan vendor:publish --provider="Bpocallaghan\Notify\NotifyServiceProvider" --tag=publicFind 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.
TODO
- Maybe a config file (sound on/off, sound path, position, fade in/out, etc)
Note
Please keep in mind this is for my personal workflow and might not fit your need. I developed this to help speed up my day to day workflow. Please let me know about any issues or if you have any suggestions.