digital-creative/nova-pill-filter

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

资助包维护!
milewski

安装次数: 48,268

依赖关系: 1

建议者: 0

安全性: 0

星标: 17

关注者: 4

分支: 2

开放问题: 0

语言:Vue

v1.0.1 2023-10-02 07:49 UTC

This package is auto-updated.

Last update: 2024-08-28 10:25:06 UTC


README

Latest Version on Packagist Total Downloads License

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

安装

您可以通过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(NovaRequest $request): array
    {
        return [
           'Display Text 1' => 'value-1',
           'Display Text 2' => 'value-2'
        ];
    }

}

并在您资源类中的过滤器方法中使用它

class ExampleNovaResource extends Resource {

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

}

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

class ExampleNovaResource extends Resource {

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

}

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

class ExampleNovaResource extends Resource {

    public function filters(NovaRequest $request): array
    {
        return [
            MyFilter::make()->dragMode(),
            MyFilter::make()->stackMode(),
            MyFilter::make()->wrapMode(),
        ];
    }

}

⭐️ 表达您的支持

如果这个项目对您有帮助,请给一个⭐️!

您可能还喜欢的其他包

许可证

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