Skip to content

SLASH2NL/nova-range-input-filter

 
 

Repository files navigation

Nova Range Input Filter

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 digital-creative/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');
    }

}

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 ]) 
        ];
    }

}

Due to the size limitation of the native nova filter box some input types may not look as expected, for this reason you can use Nova Mega Filter package instead which is a drop-in replacement for the native filter box.

⭐️ Show Your Support

Please give a ⭐️ if this project helped you!

Other Packages You Might Like

License

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

About

A Laravel Nova range input filter.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Vue 46.7%
  • PHP 29.9%
  • JavaScript 22.5%
  • CSS 0.9%