Allows you to control the columns and filters shown on your nova resources.
digital-creative/nova-mega-filter is a Laravel package for allows you to control the columns and filters shown on your nova resources..
It currently has 85 GitHub stars and 168.683 downloads on Packagist (latest version v1.0.5).
Install it with composer require digital-creative/nova-mega-filter.
Discover more Laravel packages by digital-creative
or browse all Laravel packages to compare alternatives.
Last updated
Display all your filters in a card instead of a tiny dropdown!
You can install the package via composer:
composer require digital-creative/nova-mega-filter
Basic demo showing the power of this package:
use DigitalCreative\MegaFilter\MegaFilter;
use DigitalCreative\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 DigitalCreative\MegaFilter\MegaFilter;
use DigitalCreative\MegaFilter\MegaFilterTrait;
class ExampleNovaResource extends Resource {
use MegaFilterTrait;
public function filters(NovaRequest $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(NovaRequest $request): array
{
return [
MegaFilter::make([ ... ])->columns(3),
];
}
By default, the filter section is collapsed. If you want it to open or expanded initially, you can do:
public function filters(NovaRequest $request): array
{
return [
MegaFilter::make([ ... ])->open(),
];
}
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.
Please give a ⭐️ if this project helped you!
Help card that comes with Nova.The MIT License (MIT). Please see License File for more information.