digital-creative/chartjs-widget

laravel nova-dashboard 的 chartjs 小部件。

v1.0.2 2023-10-28 11:44 UTC

This package is auto-updated.

Last update: 2024-08-28 16:37:05 UTC


README

Latest Version on Packagist Total Downloads License

一个用于 laravel Nova Dashboard 的 ChartJs 小部件。

安装

您可以通过 composer 安装此包。

composer require digital-creative/chartjs-widget

基本用法

大部分配置选项可以直接从官方的 Chart.js 文档 中推断出来。

use DigitalCreative\ChartJsWidget\Charts\BarChartWidget;
use DigitalCreative\NovaDashboard\Filters;
use Illuminate\Support\Collection;
use Laravel\Nova\Http\Requests\NovaRequest;

class Example extends BarChartWidget
{
    public function configure(NovaRequest $request): void
    {
        /**
         * These set the title and the button on the top-right if there are multiple "tabs" on this view
         */
        $this->title('Example BarChart');
        $this->buttonTitle('BarChart');
        $this->backgroundColor(dark: '#1e293b', light: '#ffffff');

        $this->padding(top: 30, bottom: 5);

        $this->tooltip([]); // https://chart.js.cn/docs/latest/configuration/tooltip.html#tooltip
        $this->scales([]);  // https://chart.js.cn/docs/latest/axes/#axes
        $this->legend([]);  // https://chart.js.cn/docs/latest/configuration/legend.html#legend
        $this->elements();  // https://chart.js.cn/docs/latest/configuration/elements.html#elements

        /**
         * These will create another tab on the same view, it doesn't necessarily need to be
         * another chart of the same type it can be any other chart.
         */
        $this->addTab(Chart2::class);
        $this->addTab(Chart3::class);
    }

    public function value(Filters $filters): array
    {
        return [
            'labels' => Collection::range(0, 5)->map(fn () => fake()->word()),
            'datasets' => Collection::range(0, 5)->map(fn () => [
                'data' => Collection::range(0, 5)->map(fn () => fake()->numberBetween(0, 100)),
            ]),
        ];
    }
}

所有图表类型都可用

⭐️ 显示您的支持

如果此项目对您有帮助,请给予 ⭐️!

您可能还喜欢的其他包

许可证

麻省理工学院许可(MIT)。请参阅许可文件获取更多信息。