ristodziuba / nova-filterable-metrics
可筛选的Laravel Nova度量指标。
v1.1.1
2020-04-28 19:10 UTC
Requires
- php: >=7.1.0
- laravel/nova: >=2.0
This package is auto-updated.
Last update: 2024-09-25 18:44:44 UTC
README
此包受到nova-filterable-cards的启发
向您的Laravel Nova度量指标添加自定义过滤器。
安装
您可以通过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)。有关更多信息,请参阅许可证文件。