codicastudio / pill-filter
A random Codica Studio package.
Installs: 4
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Language:Vue
Requires
- php: ^7.4 || ^8.0
This package is auto-updated.
Last update: 2024-10-25 14:04:56 UTC
README
A Laravel Nova filter that renders into clickable pills.
Installation
You can install the package via composer:
composer require digital-creative/nova-pill-filter
Basic Usage
Create a filter as usual and extend the DigitalCreative\PillFilter\PillFilter
class
use DigitalCreative\PillFilter\PillFilter; class MyFilter extends PillFilter { public function apply(Request $request, $query, $values) { // $values will always be an array } public function options(Request $request) { return [ 'Display Text 1' => 'value-1', 'Display Text 2' => 'value-2' ]; } }
and use it as usual on the filters methods within your resource class:
class ExampleNovaResource extends Resource { public function filters(Request $request) { return [ new MyFilter() ]; } }
By default multiple items can be selected, you can restrict it to a single item at time by calling ->single()
class ExampleNovaResource extends Resource { public function filters(Request $request) { return [ (new MyFilter())->single() ]; } }
Additionally you can customize the mode the filter is displayed, by default it wraps to show all pills at once, however there is also a drag mode:
class ExampleNovaResource extends Resource { public function filters(Request $request) { return [ (new MyFilter())->dragMode() ]; } }
License
The MIT License (MIT). Please see License File for more information.