johnpaulmedina/nova-metric-polling

Laravel Nova Metrics 的扩展,允许进行间隔轮询。

v1.0.2 2023-07-08 18:11 UTC

This package is auto-updated.

Last update: 2024-09-08 20:39:22 UTC


README

Latest Version on Packagist Total Downloads

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)。有关更多信息,请参阅 许可证文件