diff --git a/src/Traits/Configuration/SortingConfiguration.php b/src/Traits/Configuration/SortingConfiguration.php index 2c0c86ab7..71eb4979d 100644 --- a/src/Traits/Configuration/SortingConfiguration.php +++ b/src/Traits/Configuration/SortingConfiguration.php @@ -4,6 +4,13 @@ trait SortingConfiguration { + protected function setupDefaultSorting(): void + { + if ($this->sortingIsEnabled() && $this->hasDefaultSort() && ! $this->hasSorts()) { + $this->setSort($this->getDefaultSortColumn(), $this->getDefaultSortDirection()); + } + } + public function setSortingStatus(bool $status): self { $this->sortingStatus = $status; diff --git a/src/Traits/WithSorting.php b/src/Traits/WithSorting.php index 67054e8a8..a4c093d7f 100644 --- a/src/Traits/WithSorting.php +++ b/src/Traits/WithSorting.php @@ -32,6 +32,11 @@ trait WithSorting public string $defaultSortingLabelDesc = 'Z-A'; + public function mountWithSorting(): void + { + $this->setupDefaultSorting(); + } + public function sortBy(string $columnSelectName): ?string { @@ -66,11 +71,7 @@ public function sortBy(string $columnSelectName): ?string public function applySorting(): Builder { - if ($this->hasDefaultSort() && ! $this->hasSorts()) { - $this->setBuilder($this->getBuilder()->orderBy($this->getDefaultSortColumn(), $this->getDefaultSortDirection())); - return $this->getBuilder(); - } $allCols = $this->getColumns(); foreach ($this->getSorts() as $column => $direction) {