ristodziuba/nova-filterable-metrics

可筛选的Laravel Nova度量指标。

v1.1.1 2020-04-28 19:10 UTC

This package is auto-updated.

Last update: 2024-09-25 18:44:44 UTC


README

此包受到nova-filterable-cards的启发

向您的Laravel Nova度量指标添加自定义过滤器。

screenshot screenshot

安装

您可以通过composer将此包安装到使用Nova的Laravel应用中

composer require ristodziuba/nova-filterable-metrics 

用法

要向您的Laravel Nova度量指标卡片添加筛选功能,您需要将其中一个Filterable特质添加到您的度量指标中。

根据您的度量指标类型,这些是可用的特质

  • FilterableValue
  • FilterableTrend
  • FilterablePartition

例如,在您的自定义Nova值度量指标卡片中

// in your Nova value metric card class:
use Ristodziuba\Filterable\FilterableValue;

use FilterableValue;

定义过滤器

您可以通过向您的度量指标添加返回Nova过滤器数组的filters方法来定义卡片上可用的过滤器。您可以使用在您的应用程序中定义的任何Nova过滤器。

示例

// in your filterable Nova metric:
use App\Nova\Filters\Date;
use App\Nova\Filters\Store;

public function filters()
{
	return [
		new Store,
		new Date,
	];
}

可用的筛选器类型

默认情况下,此包支持所有Nova筛选器类型。对于日期类型筛选器,它使用flatpicker。

如果您想启用日期范围,只需添加

public function range()
{
	return $this->withMeta(['mode' => 'range']);
}

在您的DateFilter筛选器中,并确保在您的用例中调用它

public function filters(Request $request)
{
	return [
		(new Date)->range(),
	]
}

在这种情况下,您不需要使用Nova的默认ranges。相反,您可以使用日期过滤器。如果您同时使用范围和日期过滤器,您的日期过滤器将只应用于所选的Nova范围。因此,请尽量避免同时使用范围和日期过滤器。

鸣谢

许可证

MIT许可证(MIT)。有关更多信息,请参阅许可证文件