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/notify
Laravel <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=view
The 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=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.
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.