From c0e0357a43e242ef0b499bf85bdedc1bb547020f Mon Sep 17 00:00:00 2001 From: Henrik Hautakoski Date: Sun, 23 Jan 2022 12:50:22 +0100 Subject: [PATCH] app/Http/Livewire/Datatable.php: adding setTrashedColumns() and call it from mount() --- app/Http/Livewire/Datatable.php | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/app/Http/Livewire/Datatable.php b/app/Http/Livewire/Datatable.php index 498677f..1537d0c 100644 --- a/app/Http/Livewire/Datatable.php +++ b/app/Http/Livewire/Datatable.php @@ -81,6 +81,8 @@ class Datatable extends Component $this->route_edit = $route_edit; $this->route_delete = $route_delete; $this->route_restore = $route_restore; + + $this->setTrashedColumns(); } /** @@ -108,6 +110,25 @@ class Datatable extends Component return view('livewire.datatable', ['items' => $items]); } + private function setTrashedColumns() + { + if ($this->trashed) { + // Add deleted_at columns. + $this->columns['deleted_at'] = 'Deleted at'; + $this->sort_columns['deleted_at'] = 'deleted_at'; + } else { + // Unset deleted_at columns. + unset($this->columns['deleted_at']); + unset($this->sort_columns['deleted_at']); + + // if delete_at was the sorting column + // revert back to default sorting. + if ($this->sort == 'deleted_at') { + $this->sort = $this->default_sort; + } + } + } + public function getRouteKeyProperty() { return Str::slug(get_class($this->model));