Allows you to control the columns and filters shown on any Nova resource index
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.