ardenthq/nova-table-metrics

Laravel Nova的高级表格指标。

1.1.0 2023-11-14 08:49 UTC

This package is auto-updated.

Last update: 2024-09-24 01:30:58 UTC


README

一个自定义卡片,允许您添加具有日期期间筛选器的表格指标

安装

composer require ardenthq/nova-table-metrics

使用

创建表格组件

class GreatestShows extends Table
{
    public function title() : string
    {
        return 'Greatest TV shows';
    }

    public function heading() : string
    {
        return 'Title';
    }

    public function detailHeading() : string
    {
        return 'Views';
    }

    public function defaultPeriod() : ?Period
    {
        return Period::Day;
    }

    /**
     * @return Collection<int, TableRow>
     */
    public function items(?Period $period) : Collection
    {
        return collect([
            TableRow::make('Silicon Valley', '42,184')
                    ->url('https://www.youtube.com/watch?v=dQw4w9WgXcQ')
                    ->openInNewTab(),

            //
        ]);
    }
}

禁用日期筛选器

要禁用日期筛选器,请在表格组件上重写hasPeriodSelector方法

class GreatestShows extends Table
{
    public function title() : string
    {
        return 'Greatest TV shows';
    }

    public function heading() : string
    {
        return 'Title';
    }

    public function detailHeading() : string
    {
        return 'Views';
    }

    public function defaultPeriod() : ?Period
    {
        return null;
    }

    /**
     * @return Collection<int, TableRow>
     */
    public function items(?Period $period) : Collection
    {
        return collect([
            TableRow::make('Silicon Valley', '42,184')
                    ->url('https://www.youtube.com/watch?v=dQw4w9WgXcQ')
                    ->openInNewTab(),

            //
        ]);
    }

    public function hasPeriodSelector() : bool
    {
        return false;
    }
}

注册表格

在您的Nova仪表板上,通过将其添加到cards方法中注册表格

class Main extends Dashboard
{
    public function name()
    {
        return 'Dashboard';
    }

    public function cards()
    {
        return [
            // ...
            GreatestShows::make()->width('1/3'),
        ];
    }
}

开发

  1. 运行yarn nova:installyarn install以安装编译视图组件所需的所有依赖项
  2. 在本地环境中对组件进行更改时,运行yarn run dev(或yarn run watch
  3. 如果您修改Vue组件,确保在提交PR之前进行生产编译

编译为生产环境

  1. 运行yarn nova:installyarn install以安装编译视图组件所需的所有依赖项。
  2. 运行yarn run production

使用phpstan分析代码

composer analyse

使用php rector重构代码

composer refactor

使用php-cs-fixer格式化代码

composer format

安全性

如果您在此包中发现安全漏洞,请发送电子邮件至security@ardenthq.com。所有安全漏洞都将得到及时处理。

鸣谢

此项目得益于所有贡献者

许可

MIT © ArdentHQ