diff --git a/app/Filament/Pages/Statistic.php b/app/Filament/Pages/Statistic.php index fab7b630..1469e67a 100644 --- a/app/Filament/Pages/Statistic.php +++ b/app/Filament/Pages/Statistic.php @@ -6,7 +6,6 @@ use App\Actions\LoadSofaScoreCategory; use App\Actions\LoadStatisticFixturesLeaguesOptions; use App\Actions\LoadStatisticFixturesMatchOptions; use App\Filament\Pages\Selections\LoadPlayer; -use App\Filament\Pages\Selections\LoadSeasons; use App\Models\SofaScoreRosa; use App\Models\StatisticFixtures; use BackedEnum; @@ -24,6 +23,7 @@ use Filament\Schemas\Components\Utilities\Set; use Filament\Schemas\Schema; use Filament\Support\RawJs; use Illuminate\Contracts\Support\Htmlable; +use Livewire\Component; use Illuminate\Support\HtmlString; class Statistic extends BaseDashboard @@ -43,6 +43,30 @@ class Statistic extends BaseDashboard 'xl' => 3, ]; + public function resetFilters(): void + { + $filters = array_keys($this->filters); + foreach($filters as $filter){ + switch($filter){ + case 'similar_past_matches': + $this->filters[$filter] = 'none'; + break; + case 'team_position': + $this->filters[$filter] = 'all'; + break; + case 'statistic_type': + $this->filters[$filter] = 'gls'; + break; + case 'season_or_date': + $this->filters[$filter] = 'season'; + break; + default; + $this->filters[$filter] = null; + break; + } + } + } + public function getHeading(): string|Htmlable|null { return ''; @@ -69,6 +93,7 @@ class Statistic extends BaseDashboard // '2' => 'icon-icehockey', // '5' => 'icon-tennisball', // ]), + Grid::make([ 'default' => 1, 'sm' => 3, @@ -362,6 +387,11 @@ class Statistic extends BaseDashboard ->color('gray') ->action(fn (Set $set) => $set('end_date', null)) ), + Action::make('esc') + ->icon('phosphor-x-circle') + ->color('gray') + ->keyBindings(['esc']) + ->action('resetFilters'), ]); }