Laravel Nova Range Filter
A clean and simple Laravel Nova filter for selecting values between a minimum and maximum range.
Built on top of vue-slider-component.
⚙️ Requirements
php:>=8.0laravel/nova:^4.0|^5.0
📦 Installation
composer require rosamarsky/nova-range-filter🚀 Usage
Register it inside your Nova resource as usual:
use Rosamarsky\RangeFilter\RangeFilter;
use App\Models\Invoice;
class Invoice extends Resource
{
public function filters(Request $request): array
{
return [
RangeFilter::make('Amount', 'amount', [
'min' => floor(Invoice::query()->min('amount')),
'max' => ceil(Invoice::query()->max('amount')),
'interval' => 10,
]),
];
}
}
⚠️ The interval value must be greater than 0 and divide evenly into (max - min).
🧱 Available Options
| Option | Description | Default |
|---|---|---|
tooltip |
Tooltip display mode: none, always, hover, focus, active |
active |
minRange |
Minimum distance between handles | — |
maxRange |
Maximum distance between handles | — |
clickable |
Allow changes by clicking on the slider | true |
disabled |
Disable the component | false |
label |
Value postfix (e.g. %, $, kg) |
— |
📜 License
This package is open-sourced software licensed under the MIT License.
