abordage/nova-total-card

A Laravel Nova card that displays the total number of records of a specific model

Downloads

221

Stars

2

Version

0.1.2

Nova Total Card

A Laravel Nova card that displays the total number of records for a specific model, or the number of records that matches a condition.

Laravel Nova Total Card

Packagist Version GitHub Code Style Status Laravel Nova Version PHP Version Support License

Requirements

  • PHP 7.4 or higher
  • Nova 4

Installation

You can install the package via composer:

composer require abordage/nova-total-card

Usage

To add this card to the dashboard or resource add it to the cards method like this:

namespace App\Nova\Dashboards;

use Abordage\TotalCard\TotalCard;
use Laravel\Nova\Dashboard;

class Main extends Dashboard
{
    public function cards(): array
    {
        $cards = [
            new TotalCard(\App\Models\User::class),
            
            /* with custom title */
            new TotalCard(\App\Models\User::class, 'All users'),
            
            /* with cache expiry time */
            new TotalCard(\App\Models\User::class, 'All users',  now()->addHour()),
            
            /* with condition */
            new TotalCard(\App\Models\User::where('is_active', 1), 'Active users'),
        ];
    }
}

You can set the size of the card using the methods width and height:

public function cards(): array
{
    $cards = [
        (new TotalCard(\App\Models\User::class))->height('dynamic'),
        (new TotalCard(\App\Models\User::class))->height('dynamic')->width('2/3'),
    ];
}

Laravel Nova Total Card

Feedback

If you have any feedback, comments or suggestions, please feel free to open an issue within this repository.

Credits

Thanks to

The original idea comes from the total-records, so many thanks to its author and contributors!

License

The MIT License (MIT). Please see License File for more information.

abordage

Author

abordage