craftware/laravel-nova-date-range-filter

一个 Laravel Nova 日期范围过滤器。由 pos-lifestyle/laravel-nova-date-range-filter 分支而来

dev-master 2024-04-05 15:09 UTC

This package is auto-updated.

Last update: 2024-09-05 15:58:15 UTC


README

Packagist Packagist Version

关于

这是一个可配置并可直接使用的过滤器,用于 Laravel Nova 2,基于 Nova 自身的日期过滤器,可以显示日期范围选择器。

安装

要安装此过滤器,请在您的 Laravel Nova 项目中运行以下命令

composer require craftware/laravel-nova-date-range-filter

使用方法

只需将此过滤器添加到您的 Nova 资源中的 filters 方法。

use Illuminate\Http\Request;
use Craftware\DateRangeFilter\DateRangeFilter;

class CustomResource extends Resource
{
    public function filters(Request $request): array
    {
        return [
            new DateRangeFilter(),
        ];
    }
}

默认情况下,这将创建一个名为 "创建于" 的过滤器,该过滤器将所选日期范围应用于 created_at 数据库列。

自定义

该过滤器接受最多三个参数,以便根据您的需求进行自定义。

配置

所有可用设置均由包含的 Config 枚举提供。请参阅下面的完整示例了解如何使用它。

完整示例

use Illuminate\Http\Request;
use Craftware\DateRangeFilter\DateRangeFilter;
use Craftware\DateRangeFilter\Enums\Config;

class CustomResource extends Resource
{
    public function filters(Request $request): array
    {
        return [
            new DateRangeFilter('Created at', 'created_at', [
                Config::ALLOW_INPUT => false,
                Config::DATE_FORMAT => 'Y-m-d',
                Config::DEFAULT_DATE => ['2019-06-01', '2019-06-30'],
                Config::DISABLED => false,
                Config::ENABLE_TIME => false,
                Config::ENABLE_SECONDS => false,
                Config::FIRST_DAY_OF_WEEK => 0,
                Config::LOCALE => 'default',
                Config::MAX_DATE => '2019-12-31',
                Config::MIN_DATE => '2019-01-01',
                Config::PLACEHOLDER => __('Choose date range'),
                Config::SHORTHAND_CURRENT_MONTH => false,
                Config::SHOW_MONTHS => 1,
                Config::TIME24HR => false,
                Config::WEEK_NUMBERS => false,
            ]),
        ];
    }
}

屏幕截图