yuoppp / nova-input-filter

Simple Laravel Nova input filter. Works as additional search field out of the box.

Home Page:https://github.com/optimistdigital/nova-input-filter

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Nova Input Filter

Latest Version on Packagist Total Downloads

This Laravel Nova package allows you to create simple input filter.

Requirements

  • php: >=7.2
  • laravel/nova: ^3.0

Features

  • Out of the box, works like an additional search field.
  • Inline usage for simple use-cases.

Screenshots

Input filter

Installation

Install the package in to a Laravel app that uses Nova via composer:

composer require optimistdigital/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.

use OptimistDigital\NovaInputFilter\InputFilter;

public function filters(Request $request)
{
    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.

use OptimistDigital\NovaInputFilter\InputFilter;

class ExtendedInputFilter extends InputFilter
{
    public function apply(Request $request, $query, $search)
    {
        return $query->where('email', 'like', "%$search%");
    }
}

Credits

License

Nova Input Filter is open-sourced software licensed under the MIT license.

About

Simple Laravel Nova input filter. Works as additional search field out of the box.

https://github.com/optimistdigital/nova-input-filter

License:MIT License


Languages

Language:PHP 65.8%Language:Vue 28.8%Language:JavaScript 5.5%