From 901a99f1ad5f80f4402c8d8cc71ff52e947fe1a8 Mon Sep 17 00:00:00 2001 From: Zep Fietje Date: Sun, 29 Oct 2023 14:34:21 +0100 Subject: [PATCH] wip --- docs-assets/app/app/Livewire/TablesDemo.php | 2 +- packages/tables/docs/04-filters.md | 8 ++++---- .../src/Filters/Concerns/HasIndicators.php | 17 ++--------------- packages/tables/src/Filters/Filter.php | 2 +- packages/tables/src/Filters/SelectFilter.php | 2 +- packages/tables/src/Filters/TernaryFilter.php | 2 +- packages/tables/src/Filters/TrashedFilter.php | 2 +- 7 files changed, 11 insertions(+), 24 deletions(-) diff --git a/docs-assets/app/app/Livewire/TablesDemo.php b/docs-assets/app/app/Livewire/TablesDemo.php index 3d64e4306c..1ede8b1c16 100644 --- a/docs-assets/app/app/Livewire/TablesDemo.php +++ b/docs-assets/app/app/Livewire/TablesDemo.php @@ -709,7 +709,7 @@ class TablesDemo extends Component implements HasForms, HasTable return $this->filtersTable($table) ->filters([ Filter::make('dummy') - ->indicators(fn () => [ + ->indicateUsing(fn () => [ Indicator::make('Posted by administrator') ->removeField('one'), Indicator::make('Less than 1 year old') diff --git a/packages/tables/docs/04-filters.md b/packages/tables/docs/04-filters.md index f3eedff91c..1f27ed5844 100644 --- a/packages/tables/docs/04-filters.md +++ b/packages/tables/docs/04-filters.md @@ -314,11 +314,11 @@ Filter::make('is_admin') ->indicator('Administrators') ``` -If you are using a [custom filter form](#custom-filter-forms), you should use [`indicators()`](#custom-active-indicators) to display an active indicator. +If you are using a [custom filter form](#custom-filter-forms), you should use [`indicateUsing()`](#custom-active-indicators) to display an active indicator. ### Custom active indicators -Not all indicators are simple, so you may need to use `indicators()` to customize which indicators should be shown at any time. +Not all indicators are simple, so you may need to use `indicateUsing()` to customize which indicators should be shown at any time. For example, if you have a custom date filter, you may create a custom indicator that formats the selected date: @@ -329,7 +329,7 @@ use Filament\Tables\Filters\Filter; Filter::make('created_at') ->form([DatePicker::make('date')]) // ... - ->indicators(function (array $data): ?string { + ->indicateUsing(function (array $data): ?string { if (! $data['date']) { return null; } @@ -353,7 +353,7 @@ Filter::make('created_at') DatePicker::make('until'), ]) // ... - ->indicators(function (array $data): array { + ->indicateUsing(function (array $data): array { $indicators = []; if ($data['from'] ?? null) { diff --git a/packages/tables/src/Filters/Concerns/HasIndicators.php b/packages/tables/src/Filters/Concerns/HasIndicators.php index a62f38419f..59aa8358c2 100644 --- a/packages/tables/src/Filters/Concerns/HasIndicators.php +++ b/packages/tables/src/Filters/Concerns/HasIndicators.php @@ -12,11 +12,6 @@ trait HasIndicators protected Indicator | string | Closure | null $indicator = null; - /** - * @var array | Closure - */ - protected array | Closure $indicators = []; - public function indicator(Indicator | string | Closure | null $indicator): static { $this->indicator = $indicator; @@ -24,23 +19,15 @@ trait HasIndicators return $this; } - /** - * @param array | Closure $indicators - */ - public function indicators(array | Closure $indicators): static + public function indicateUsing(?Closure $indicators): static { $this->indicators = $indicators; return $this; } - public function indicateUsing(?Closure $callback): static - { - return $this->indicators($callback); - } - /** - * @return array | array + * @return array */ public function getIndicators(): array { diff --git a/packages/tables/src/Filters/Filter.php b/packages/tables/src/Filters/Filter.php index 08e0c814cb..4412a28b31 100644 --- a/packages/tables/src/Filters/Filter.php +++ b/packages/tables/src/Filters/Filter.php @@ -14,7 +14,7 @@ class Filter extends BaseFilter { parent::setUp(); - $this->indicators(function (array $state): array { + $this->indicateUsing(function (array $state): array { if (! ($state['isActive'] ?? false)) { return []; } diff --git a/packages/tables/src/Filters/SelectFilter.php b/packages/tables/src/Filters/SelectFilter.php index 0b1f1b8494..eb1d6cdccb 100644 --- a/packages/tables/src/Filters/SelectFilter.php +++ b/packages/tables/src/Filters/SelectFilter.php @@ -39,7 +39,7 @@ class SelectFilter extends BaseFilter __('filament-tables::table.filters.select.placeholder'), ); - $this->indicators(function (SelectFilter $filter, array $state): array { + $this->indicateUsing(function (SelectFilter $filter, array $state): array { if ($filter->isMultiple()) { if (blank($state['values'] ?? null)) { return []; diff --git a/packages/tables/src/Filters/TernaryFilter.php b/packages/tables/src/Filters/TernaryFilter.php index 29f3e1ac87..a1fc9daac4 100644 --- a/packages/tables/src/Filters/TernaryFilter.php +++ b/packages/tables/src/Filters/TernaryFilter.php @@ -22,7 +22,7 @@ class TernaryFilter extends SelectFilter $this->boolean(); - $this->indicators(function (TernaryFilter $filter, array $state): array { + $this->indicateUsing(function (TernaryFilter $filter, array $state): array { if (blank($state['value'] ?? null)) { return []; } diff --git a/packages/tables/src/Filters/TrashedFilter.php b/packages/tables/src/Filters/TrashedFilter.php index 81339e0912..5aa99f3fb7 100644 --- a/packages/tables/src/Filters/TrashedFilter.php +++ b/packages/tables/src/Filters/TrashedFilter.php @@ -34,7 +34,7 @@ class TrashedFilter extends TernaryFilter SoftDeletingScope::class, ])); - $this->indicators(function (array $state): array { + $this->indicateUsing(function (array $state): array { if ($state['value'] ?? null) { return [Indicator::make($this->getTrueLabel())]; }