odannyc / laravel-alertify by odannyc

An alertify package for Laravel
5,978
7
3
Package Data
Maintainer Username: odannyc
Maintainer Contact: odannycx@gmail.com (Danny Carrillo)
Package Create Date: 2017-07-17
Package Last Update: 2023-04-26
Home Page:
Language: PHP
License: MIT
Last Refreshed: 2024-12-15 15:02:50
Package Statistics
Total Downloads: 5,978
Monthly Downloads: 1
Daily Downloads: 0
Total Stars: 7
Total Watchers: 3
Total Forks: 3
Total Open Issues: 4

laravel-alertify

An alerts library for Laravel using alertify

alertify()->success("The laravel-alertify package is awesome!");

laravel-alertify

Installation

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')

Usage

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:

laravel-alertify

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');