illizian/nova-carbon-modifier-field

允许用户配置 "Carbon Modifier" 的字段

v0.1.4 2020-11-29 22:22 UTC

This package is auto-updated.

Last update: 2024-09-29 05:48:58 UTC


README

Latest Version on Packagist License

描述

Laravel Nova 字段,用于使用 Carbon 方法描述 DateTime 修改。

演示

Demo

安装

该包可以通过 Composer 安装。

composer require illizian/nova-carbon-modifier-field

用法

\Illizian\NovaCarbonModifier\NovaCarbonModifier 字段添加到你的字段中,如下所示

/* ... */
use \Illizian\NovaCarbonModifier\NovaCarbonModifier;
/* ... */

class Example extends Resource
{
    /* ... */
    public function fields(Request $request)
    {
        return [
            /* ... */
            NovaCarbonModifier::make(__('Modifier'), 'modifier'),
        ];
    }

你也可以通过 popular(array $modifiers) 方法提供一系列流行修饰符

/* ... */
use \Illizian\NovaSuggestWrapper\NovaSuggestWrapper;
/* ... */

class Example extends Resource
{
    /* ... */
    public function fields(Request $request)
    {
        return [
            /* ... */
            NovaCarbonModifier::make(__('Modifier'), 'modifier')
                ->popular('startOfWeek,hour:10,minute:0', 'subDays:1,hour:13,minute:0'),
        ];
    }

如上图所示,修饰符以逗号分隔的字符串形式存储,其格式如下

"<method>:<parameter>"
"<method>:<parameter>,<method>:<parameter>,<method>:<parameter>"
"<method>"
"<method>,<method>,<method>"
"<method>,<method>:<parameter>,<method>:<parameter>,<method>,<method>:<parameter>,<method>"

etc...

该字段类提供了一个静态辅助工具,方便将此修饰符字符串应用于 Carbon 实例

use \Carbon\Carbon;
use \Illizian\NovaSuggestWrapper\NovaSuggestWrapper;

$date = Carbon::now();
$modifiers = 'startOfWeek,hour:10,minute:0';

$date_modified = NovaCarbonModifier::applyModifier($date, $modifiers);

许可证

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