rosamarsky/nova-range-filter

一个 Laravel Nova 范围过滤器。

1.0 2023-01-23 16:01 UTC

This package is auto-updated.

Last update: 2024-08-29 05:30:44 UTC


README

Latest Version on Packagist Total Downloads License: MIT

Laravel Nova 用于在最小/最大值之间选择范围的过滤器。此包基于 vue-slider-component

RangeFilter

要求

  • php: >=8.1
  • laravel/nova: ^4.0

安装

您可以通过 composer 安装此包

composer require rosamarsky/nova-range-filter

用法

在资源类中的过滤器方法中按常规使用

use Rosamarsky\RangeFilter\RangeFilter;
use App\Models\Invoice as InvoiceModel;

class Invoice extends Resource
{
    public function filters(Request $request)
    {
        return [
            RangeFilter::make('Amount', 'amount', [
                'min' => floor(InvoiceModel::query()->min()),
                'max' => ceil(InvoiceModel::query()->max()),
                'interval' => 10,
            ]),
        ];
    }
}

间隔值必须大于 0,并且可以被(最大值 - 最小值)整除。

您还可以提供以下选项

  • tooltip - 控制提示显示。默认 active
    • none - 从不显示;
    • always - 总是显示;
    • hover - 当滑动条被悬停时显示;
    • focus - 当滑动条获得焦点时显示;
    • active - 当提示同时具有悬停和焦点时显示。
  • minRange, maxRange - 滑动条之间的最小和最大距离。
  • clickable - 允许通过点击更改值。默认 - true
  • disabled - 启用/禁用组件。默认 - true
  • label - 标记和提示中显示的值的后缀。

许可证

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