johnpaulmedina / nova-metric-polling
Laravel Nova Metrics 的扩展,允许进行间隔轮询。
v1.0.2
2023-07-08 18:11 UTC
Requires
- php: ^7.3|^8.0
- laravel/nova: ^4.0
This package is auto-updated.
Last update: 2024-09-08 20:39:22 UTC
README
Laravel Nova Metric Polling
Laravel Nova Metrics 的扩展,允许进行间隔轮询。想要在没有刷新或应用筛选器的情况下使您的 Nova 仪表板指标保持最新状态吗?这些指标扩展了现有的内置 Laravel Nova 4 指标,并允许设置一个间隔持续时间,这将触发自动刷新显示的任何数量的指标。
简单集成到现有的 Nova\Metrics
安装
您可以通过 composer 将包安装到使用 Nova 的 Laravel 应用中
composer require johnpaulmedina/nova-metric-polling
该包将通过 MetricPollingServiceProvider
自动注册
用法
首先,将以下特质 use Johnpaulmedina\NoveMetricPolling\ValueInterval
添加到您的任何 Nova 指标中
<?php namespace App\Nova\Metrics; use Johnpaulmedina\NoveMetricPolling\ValueInterval;
接下来,让您的指标类通过 use 关键字继承 ValueInterval
特质,如下所示
<?php namespace App\Nova\Metrics; use Laravel\Nova\Http\Requests\NovaRequest; use Laravel\Nova\Metrics\Value; use Laravel\Nova\Nova; use Johnpaulmedina\NovaMetricPolling\ValueInterval; class ActiveUsers extends Value { use ValueInterval;
最后,实例化您的指标并调用 refreshAtInterval(Int: n)
方法。该方法接受一个整数值,该值将按秒计算。
/** * Get the cards available for the request. * * @param \Laravel\Nova\Http\Requests\NovaRequest $request * @return array */ public function cards(NovaRequest $request) { return [ (new Metrics\ActiveUsers())->refreshAtInterval(300), // (IE: 300 seconds / 60 = 5 minutes) ]; }
或者,您也可以在公共属性 $refreshAtInterval
上设置一个整数值。
<?php namespace App\Nova\Metrics; use Laravel\Nova\Http\Requests\NovaRequest; use Laravel\Nova\Metrics\Value; use Laravel\Nova\Nova; use Johnpaulmedina\NovaMetricPolling\ValueInterval; class ActiveUsers extends Value { use ValueInterval; public $refreshAtInterval = 300; // (IE: 300 seconds / 60 = 5 minutes)
许可证
MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件。