huuloc4193/nova-range-input-filter

A Laravel Nova range input filter.

Maintainers

Package info

github.com/huuloc4193/nova-range-input-filter

Language:Vue

pkg:composer/huuloc4193/nova-range-input-filter

Statistics

Installs: 3

Dependents: 0

Suggesters: 0

Stars: 0

1.1.1 2026-01-22 03:45 UTC

This package is auto-updated.

Last update: 2026-03-24 13:44:21 UTC


README

Latest Version on Packagist Total Downloads License

A Laravel Nova range input filter.

RangeInputFilter in Action

Installation

You can install the package via composer:

composer require huuloc4193/nova-range-input-filter

Basic Usage

Create a filter as usual and extend the DigitalCreative\RangeInputFilter\RangeInputFilter class

use DigitalCreative\RangeInputFilter\RangeInputFilter;

class MyFilter extends RangeInputFilter {

    public function apply(NovaRequest $request, $query, $value)
    {
        $from = data_get($value, 'from');
        $to = data_get($value, 'to');

        return $query->where(function ($q) use ($from, $to) {
                    if ($from) {
                        $q->where('id', '>=', $from);
                    }
                    if ($to) {
                        $q->where('id', '<=', $to);
                    }
                });
    }

}

and use it as usual on the filters methods within your resource class:

class ExampleNovaResource extends Resource {

    public function filters(NovaRequest $request): array
    {
        return [
            MyFilter::make()
        ];
    }

}

Options

The available options are straight forward:

class ExampleNovaResource extends Resource {

    public function filters(NovaRequest $request): array
    {
        return [
            MyFilter::make()
                ->dividerLabel('<>') // control the divider label in between the inputs
                ->inputType('week') // supports any html input type
                ->placeholder('From', 'To') // control the placeholder of the inputs
                ->fromAttributes([ 'min' => 0 ]) // some inputs type like number accepts more attributes like min/max/step etc..
                ->toAttributes([ 'max' => 100 ]) 
        ];
    }

}

License

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