codicastudio/pill-filter

一个随机的 Codica Studio 包。

1.0.0 2020-09-23 07:01 UTC

This package is auto-updated.

Last update: 2024-09-25 13:46:45 UTC


README

一个 Laravel Nova 过滤器,渲染为可点击的药丸。

PillFilter in Action

安装

您可以通过 composer 安装此包

composer require digital-creative/nova-pill-filter

基本用法

创建一个过滤器,通常扩展 DigitalCreative\PillFilter\PillFilter

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

}

并在您的资源类中通常使用过滤方法

class ExampleNovaResource extends Resource {

    public function filters(Request $request)
    {
        return [
            new MyFilter()
        ];
    }

}

默认情况下,可以选中多个项目,您可以通过调用 ->single() 将其限制为每次只能选中一个项目

class ExampleNovaResource extends Resource {

    public function filters(Request $request)
    {
        return [
            (new MyFilter())->single()
        ];
    }

}

此外,您还可以自定义过滤器显示的模式,默认情况下,它会包裹以一次显示所有药丸,但还有拖拽模式

PillFilter in Action

class ExampleNovaResource extends Resource {

    public function filters(Request $request)
    {
        return [
            (new MyFilter())->dragMode()
        ];
    }

}

许可证

MIT 许可证 (MIT)。请参阅许可证文件以获取更多信息。