https://github.com/outl1ne/nova-input-filter
Simple Laravel Nova input filter. Works as additional search field out of the box.
https://github.com/outl1ne/nova-input-filter
filter input laravel laravel-nova nova
Last synced: about 2 months ago
JSON representation
Simple Laravel Nova input filter. Works as additional search field out of the box.
- Host: GitHub
- URL: https://github.com/outl1ne/nova-input-filter
- Owner: outl1ne
- License: mit
- Created: 2021-01-19T08:51:16.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-01-17T12:53:39.000Z (9 months ago)
- Last Synced: 2025-07-04T15:12:13.130Z (3 months ago)
- Topics: filter, input, laravel, laravel-nova, nova
- Language: PHP
- Homepage:
- Size: 672 KB
- Stars: 25
- Watchers: 5
- Forks: 18
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/funding.yml
- License: LICENSE.md
Awesome Lists containing this project
README
# Nova Input Filter
[](https://packagist.org/packages/outl1ne/nova-input-filter)
[](https://packagist.org/packages/outl1ne/nova-input-filter)This [Laravel Nova](https://nova.laravel.com/) package allows you to create simple input filters.
## Requirements
- `php: >=8.1`
- `laravel/nova: ^5.0`## Features
- Out of the box, works like an additional search field.
- Inline usage for simple use-cases.## Screenshots

## Installation
Install the package in to a Laravel app that uses [Nova](https://nova.laravel.com) via composer:
```bash
composer require outl1ne/nova-input-filter
```## Usage
Accepts an array of columns as first parameter and filter name as second parameter. Can optionally pass in multiple
columns: `['email', 'id']`, similarly to nova's search.```php
use Outl1ne\NovaInputFilter\InputFilter;
use Laravel\Nova\Http\Requests\NovaRequest;// ..
public function filters(NovaRequest $request): array
{
return [
InputFilter::make()->forColumns(['email'])->withName('Email'),// Or
InputFilter::make(['email'], 'email'),
];
}
```## Customizing
Out of the box, `InputFilter` works exactly like Nova's search field. If you wish to change it, you can extend
the `InputFilter` class and override `apply()` function.```php
use Outl1ne\NovaInputFilter\InputFilter;
use Illuminate\Contracts\Database\Eloquent\Builder;
use Laravel\Nova\Http\Requests\NovaRequest;class ExtendedInputFilter extends InputFilter
{
public function apply(NovaRequest $request, Builder $query, mixed $value)
{
return $query->where('email', 'like', "%$value%");
}
}
```## Credits
- [Kaspar Rosin](https://github.com/kasparrosin)
## License
Nova Input Filter is open-sourced software licensed under the [MIT license](LICENSE.md).