An alerts library for Laravel using alertify
alertify()->success("The laravel-alertify package is awesome!");
This package uses composer, so require it like so:
composer require odannyc/laravel-alertify
You'll also need to pull in the alertify.js
project. This is located here: https://alertifyjs.org/
You can use NPM:
npm install --save alertify.js
Or include the CDN version of it in your app.blade.php
template. (File may vary on your Laravel installation):
<script src="https://cdn.rawgit.com/alertifyjs/alertify.js/v1.0.10/dist/js/alertify.js"></script>
Include the service provider in config/app.php
:
'providers' => [
odannyc\Alertify\AlertifyServiceProvider::class,
];
Also, include the Alias in config/app.php
'aliases' => [
'Alertify' => odannyc\Alertify\Alertify::class,
];
Then, in the template of your Laravel installation, include the view anywhere in the body of your HTML:
@include('alertify::alertify')
Make sure you include alertify.js
prior to using this package. (See installation instructions above)
You can call the alertify()
helper function before returning/redirecting to a view:
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function update(Request $request)
{
alertify()->success('Updated record successfully');
// You can also add multiple alerts!
alertify('You are awesome!');
return redirect()->back();
}
You can either use the alertify()
helper or use the static Facade:
Alertify::standard('I like alerts')
There are 3 types of alerts:
alertify('this is a standard alert (shows black)');
alertify()->success('this is a success alert (shows green)');
alertify()->error('this is an error alert (shows red)');
You can also show multiple alerts by calling that function multiple times:
alertify('alert 1');
alertify('alert 2');
You can save the alert and edit it based on logic:
$alert = alertify('i am an alert');
if ($error) {
$alert->error();
} else {
$alert->success();
}
There's many options you can add per alert:
// Show the alert for 5000 milliseconds and then dismisses itself (default: 4000)
alertify('delayed 5 seconds')->delay(5000);
// Alert stays displayed with no timeout
alertify('i stay displayed on the screen')->persistent();
// Alert can be clicked to be dismissed
alertify('i can be clicked to be dismissed')->clickToClose();
// You can position alerts (default: 'top right')
alertify('i am on the bottom left')->position('bottom left');
// You can attach the alert to some other HTML element (default: 'document.body')
alertify('i am displayed on a different parent')->attach('.some-html-accessor')
You can also daisy chain options:
alertify()->success('i am daisychained')->delay(10000)->clickToClose()->position('bottom right');