Skip to content

Allows you to control the columns and filters shown on any Nova resource index

License

Notifications You must be signed in to change notification settings

bocanhcam/nova-mega-filter

 
 

Repository files navigation

Nova Mega Filter

Latest Version on Packagist Total Downloads License

Display all your filters in a card instead of a tiny dropdown!

Nova Mega Filter in Action

Installation

You can install the package via composer:

composer require digital-creative/nova-mega-filter

Basic Usage

Basic demo showing the power of this package:

use Hoangdv\MegaFilter\MegaFilter;
use Hoangdv\MegaFilter\MegaFilterTrait;

class ExampleNovaResource extends Resource {

    use MegaFilterTrait;

    public function filters(RequestRequest $request): array
    {
        return [
            MegaFilter::make([
                DateOfBirthFilter::make(),
                UserTypeFilter::make(),
            ]),
        ];
    }

}

And you are done!

Previously this package also had the ability to toggle columns, but since the nova 4 upgrade this functionality has been moved away to its own package: https://github.com/dcasia/column-toggler


You can also add other fields alongside your Mega Filters, they will be rendered as usual:

use Hoangdv\MegaFilter\MegaFilter;
use Hoangdv\MegaFilter\MegaFilterTrait;

class ExampleNovaResource extends Resource {

    use MegaFilterTrait;

    public function filters(RequestRequest $request): array
    {
        return [
            MegaFilter::make([ ... ]),
            
            // These will be rendered as normal on the usual tiny filter dropdown
            DateOfBirthFilter::make(),
            UserTypeFilter::make(),
        ];
    }

}

You can also set how many columns you want to display your filters:

public function filters(RequestRequest $request): array
{
    return [
        MegaFilter::make([ ... ])->columns(3),
    ];
}

Note: At the moment this package only works with a single Mega Filter per resource, adding multiple on the same resource may result in unexpected behavior.

⭐️ Show Your Support

Please give a ⭐️ if this project helped you!

Other Packages You Might Like

License

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

About

Allows you to control the columns and filters shown on any Nova resource index

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Vue 53.9%
  • PHP 24.1%
  • JavaScript 21.7%
  • CSS 0.3%