nemrutco/nova-filterable-metrics

该软件包已被弃用且不再维护。未建议替代软件包。

可筛选的 Laravel Nova 指标。

v1.3.0 2023-03-31 06:13 UTC

README

此软件包受 nova-filterable-cards 启发。

为您的 Laravel Nova 指标添加自定义筛选器。

screenshot screenshot

安装

您可以通过 composer 将此软件包安装到使用 Nova 的 Laravel 应用程序中。

composer require nemrutco/nova-filterable-metrics 

用法

要为您的 Laravel Nova 指标卡片添加筛选功能,您需要将 Filterable 特性之一添加到您的指标中。

根据您的指标类型,以下是可以用的特性

  • FilterableValue
  • FilterableTrend
  • FilterablePartition

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

// in your Nova value metric card class:
use Nemrutco\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。

如果您想启用日期范围,只需在您的 DateFilter 筛选器中添加以下内容

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

并确保在您的用例中调用它

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

在这种情况下,您不需要使用 Nova 的默认 ranges。相反,您可以使用日期筛选器。如果您同时使用范围和日期筛选器,您的日期筛选器将仅在选定的 Nova 范围内应用。因此,请尽量不要同时使用范围和日期筛选器。

致谢

许可

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