A date filter to use with Nova Dashboard.
You can install the package via composer:
composer require sunchain-fr/nova-dates-pill-filter
Register the DatesPillFilter
filter within your view`
use Sunchain\NovaDatesPillFilter\DatesPillFilter;
class MainView extends View
{
public function filters(): array
{
return [
new DatesPillFilter()
];
}
}
The filter will give you 2 fields, $from
and $to
<?php
namespace App\Nova\Dashboards\Widgets;
use Carbon\Carbon;
use DigitalCreative\NovaDashboard\Filters;
use DigitalCreative\ValueWidget\Widgets\ValueResult;
use DigitalCreative\ValueWidget\Widgets\ValueWidget;
use Illuminate\Support\Collection;
use Sunchain\NovaDatesPillFilter\DatesPillFilter;
class MyValueWidget extends ValueWidget
{
public function resolveValue(Collection $options, Filters $filters): ValueResult
{
$dates = $filters->getFilterValue(DatesPillFilter::class);
$from = Carbon::now()->subWeek();
$to = Carbon::now();
if (isset($dates['from']) && $dates['from'] != "") {
$from = $dates['from'];
}
if (isset($dates['to']) && $dates['to'] != "") {
$to = $dates['to'];
}
// build your query with $from and $to filters
// ...
}
}
Please give a ⭐️ if this project helped you!
The MIT License (MIT). Please see License File for more information.