From e20ae6e4435bcd37d73bd2aaf42fa157a149c854 Mon Sep 17 00:00:00 2001 From: Dan Harrin Date: Thu, 18 Jan 2024 15:03:57 +0000 Subject: [PATCH 1/2] fix: Remove deferred filters --- packages/tables/src/Concerns/HasFilters.php | 24 +++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/packages/tables/src/Concerns/HasFilters.php b/packages/tables/src/Concerns/HasFilters.php index 4425351d28..e3860de6e8 100644 --- a/packages/tables/src/Concerns/HasFilters.php +++ b/packages/tables/src/Concerns/HasFilters.php @@ -60,7 +60,7 @@ trait HasFilters $this->resetPage(); } - public function removeTableFilter(string $filterName, ?string $field = null, bool $shouldTriggerUpdatedFiltersHook = true): void + public function removeTableFilter(string $filterName, ?string $field = null, bool $isRemovingAllFilters = false): void { $filter = $this->getTable()->getFilter($filterName); $filterResetState = $filter->getResetState(); @@ -82,11 +82,17 @@ trait HasFilters }); } - if (! $shouldTriggerUpdatedFiltersHook) { + if ($isRemovingAllFilters) { return; } - $this->updatedTableFilters(); + if ($this->getTable()->hasDeferredFilters()) { + $this->applyTableFilters(); + + return; + } + + $this->handleTableFilterUpdates(); } public function removeTableFilters(): void @@ -96,14 +102,20 @@ trait HasFilters foreach ($filters as $filterName => $filter) { $this->removeTableFilter( $filterName, - shouldTriggerUpdatedFiltersHook: false, + isRemovingAllFilters: true, ); } - $this->updatedTableFilters(); - $this->resetTableSearch(); $this->resetTableColumnSearches(); + + if ($this->getTable()->hasDeferredFilters()) { + $this->applyTableFilters(); + + return; + } + + $this->handleTableFilterUpdates(); } public function resetTableFiltersForm(): void From 34f0d68fcec992b01143057707e5073c3e6f06cb Mon Sep 17 00:00:00 2001 From: Dan Harrin Date: Thu, 18 Jan 2024 15:06:50 +0000 Subject: [PATCH 2/2] Update HasFilters.php --- packages/tables/src/Concerns/HasFilters.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/tables/src/Concerns/HasFilters.php b/packages/tables/src/Concerns/HasFilters.php index e3860de6e8..20182ecfd6 100644 --- a/packages/tables/src/Concerns/HasFilters.php +++ b/packages/tables/src/Concerns/HasFilters.php @@ -122,6 +122,12 @@ trait HasFilters { $this->getTableFiltersForm()->fill(); + if ($this->getTable()->hasDeferredFilters()) { + $this->applyTableFilters(); + + return; + } + $this->handleTableFilterUpdates(); }