From 97a9a383bacf86d5026ff205b2e7fffbe7c46dad Mon Sep 17 00:00:00 2001 From: Marcel Nowocyn Date: Fri, 1 Sep 2023 13:29:10 +0200 Subject: [PATCH 01/10] Update LivewireDatatables to support DB::raw with laravel version 10. --- src/Http/Livewire/LivewireDatatable.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Http/Livewire/LivewireDatatable.php b/src/Http/Livewire/LivewireDatatable.php index acffcef2..33835232 100644 --- a/src/Http/Livewire/LivewireDatatable.php +++ b/src/Http/Livewire/LivewireDatatable.php @@ -414,7 +414,12 @@ public function getSelectStatements($withAlias = false, $export = false) if ($column->select instanceof Expression) { $sep_string = config('database.default') === 'pgsql' ? '"' : '`'; - return new Expression($column->select->getValue() . ' AS ' . $sep_string . $column->name . $sep_string); + if(version_compare("10.0.0", app()->version()) == -1) { + return new Expression($column->select->getQuery(DB::getQueryGrammar()) . ' AS ' . $sep_string . $column->name . $sep_string); + } + else { + return new Expression($column->select->getQuery() . ' AS ' . $sep_string . $column->name . $sep_string); + } } if (is_array($column->select)) { From 79dea96b1b8e6b62246611e81e50da568809720a Mon Sep 17 00:00:00 2001 From: Marcel Nowocyn Date: Fri, 1 Sep 2023 13:44:58 +0200 Subject: [PATCH 02/10] Update style --- src/Http/Livewire/LivewireDatatable.php | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/Http/Livewire/LivewireDatatable.php b/src/Http/Livewire/LivewireDatatable.php index 33835232..ed805619 100644 --- a/src/Http/Livewire/LivewireDatatable.php +++ b/src/Http/Livewire/LivewireDatatable.php @@ -414,10 +414,9 @@ public function getSelectStatements($withAlias = false, $export = false) if ($column->select instanceof Expression) { $sep_string = config('database.default') === 'pgsql' ? '"' : '`'; - if(version_compare("10.0.0", app()->version()) == -1) { + if (version_compare("10.0.0", app()->version()) == -1) { return new Expression($column->select->getQuery(DB::getQueryGrammar()) . ' AS ' . $sep_string . $column->name . $sep_string); - } - else { + } else { return new Expression($column->select->getQuery() . ' AS ' . $sep_string . $column->name . $sep_string); } } From c138df8242a8dcd33b4cb97b69e8aadd69d7aeff Mon Sep 17 00:00:00 2001 From: Marcel Nowocyn Date: Fri, 1 Sep 2023 13:48:41 +0200 Subject: [PATCH 03/10] Switch to correct function. --- src/Http/Livewire/LivewireDatatable.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Http/Livewire/LivewireDatatable.php b/src/Http/Livewire/LivewireDatatable.php index ed805619..4ba0983e 100644 --- a/src/Http/Livewire/LivewireDatatable.php +++ b/src/Http/Livewire/LivewireDatatable.php @@ -415,7 +415,7 @@ public function getSelectStatements($withAlias = false, $export = false) $sep_string = config('database.default') === 'pgsql' ? '"' : '`'; if (version_compare("10.0.0", app()->version()) == -1) { - return new Expression($column->select->getQuery(DB::getQueryGrammar()) . ' AS ' . $sep_string . $column->name . $sep_string); + return new Expression($column->select->getValue(DB::getQueryGrammar()) . ' AS ' . $sep_string . $column->name . $sep_string); } else { return new Expression($column->select->getQuery() . ' AS ' . $sep_string . $column->name . $sep_string); } From e262b9fccd7baed405d2d066959a1c37c28ca2f7 Mon Sep 17 00:00:00 2001 From: Marcel Nowocyn Date: Fri, 1 Sep 2023 13:50:57 +0200 Subject: [PATCH 04/10] Switch to correct function. --- src/Http/Livewire/LivewireDatatable.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Http/Livewire/LivewireDatatable.php b/src/Http/Livewire/LivewireDatatable.php index 4ba0983e..ae4ff6e5 100644 --- a/src/Http/Livewire/LivewireDatatable.php +++ b/src/Http/Livewire/LivewireDatatable.php @@ -417,7 +417,7 @@ public function getSelectStatements($withAlias = false, $export = false) if (version_compare("10.0.0", app()->version()) == -1) { return new Expression($column->select->getValue(DB::getQueryGrammar()) . ' AS ' . $sep_string . $column->name . $sep_string); } else { - return new Expression($column->select->getQuery() . ' AS ' . $sep_string . $column->name . $sep_string); + return new Expression($column->select->getValue() . ' AS ' . $sep_string . $column->name . $sep_string); } } From 8e3041a60d73936aa56d25acea4aa250d3bf9070 Mon Sep 17 00:00:00 2001 From: Marcel Nowocyn Date: Fri, 1 Sep 2023 13:52:45 +0200 Subject: [PATCH 05/10] Fix style. --- src/Http/Livewire/LivewireDatatable.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Http/Livewire/LivewireDatatable.php b/src/Http/Livewire/LivewireDatatable.php index ae4ff6e5..5e8f2e19 100644 --- a/src/Http/Livewire/LivewireDatatable.php +++ b/src/Http/Livewire/LivewireDatatable.php @@ -414,7 +414,7 @@ public function getSelectStatements($withAlias = false, $export = false) if ($column->select instanceof Expression) { $sep_string = config('database.default') === 'pgsql' ? '"' : '`'; - if (version_compare("10.0.0", app()->version()) == -1) { + if (version_compare('10.0.0', app()->version()) == -1) { return new Expression($column->select->getValue(DB::getQueryGrammar()) . ' AS ' . $sep_string . $column->name . $sep_string); } else { return new Expression($column->select->getValue() . ' AS ' . $sep_string . $column->name . $sep_string); @@ -444,8 +444,8 @@ protected function resolveColumnName($column, $additional = null) return $this->query->getModel()->getTable() . '.' . ($column->base ?? Str::before($column->name, ':')); } - $relations = explode('.', Str::before(($additional ?: $column->name), ':')); - $aggregate = Str::after(($additional ?: $column->name), ':'); + $relations = explode('.', Str::before($additional ?: $column->name, ':')); + $aggregate = Str::after($additional ?: $column->name, ':'); if (! method_exists($this->query->getModel(), $relations[0])) { return $additional ?: $column->name; From 5503eefe690f5203b3e23a2de0dddc37f3438ac9 Mon Sep 17 00:00:00 2001 From: Marcel Nowocyn Date: Tue, 5 Sep 2023 08:42:14 +0200 Subject: [PATCH 06/10] Update x-datatables.x-circle to x-icon --- .../views/livewire/datatables/filters/datetime.blade.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/views/livewire/datatables/filters/datetime.blade.php b/resources/views/livewire/datatables/filters/datetime.blade.php index f7836120..3aea6dd6 100644 --- a/resources/views/livewire/datatables/filters/datetime.blade.php +++ b/resources/views/livewire/datatables/filters/datetime.blade.php @@ -6,7 +6,7 @@ />
@@ -17,7 +17,7 @@ />
From e72ee8a6e78ee5ef77a1b66089ed3dcc047b19ba Mon Sep 17 00:00:00 2001 From: Marcel Nowocyn Date: Tue, 5 Sep 2023 08:58:28 +0200 Subject: [PATCH 07/10] Update x-datatables.x-circle to x-icon --- .../views/livewire/datatables/filters/datetime.blade.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/views/livewire/datatables/filters/datetime.blade.php b/resources/views/livewire/datatables/filters/datetime.blade.php index 3aea6dd6..fbe7a116 100644 --- a/resources/views/livewire/datatables/filters/datetime.blade.php +++ b/resources/views/livewire/datatables/filters/datetime.blade.php @@ -6,7 +6,7 @@ />
@@ -17,7 +17,7 @@ />
From 4f113efbb17fc42484a5f2117455ff6d23bdcfd7 Mon Sep 17 00:00:00 2001 From: Nowocyn Date: Thu, 26 Oct 2023 11:48:54 +0200 Subject: [PATCH 08/10] Fixed wrong naming of the session key _hidden_columns. The session key _hidden_columns was saved with sessionStorageKey and the name a second time but reading the key was attempted only with $this->sessionStorageKey() --- src/Http/Livewire/LivewireDatatable.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Http/Livewire/LivewireDatatable.php b/src/Http/Livewire/LivewireDatatable.php index 5e8f2e19..8a93229f 100644 --- a/src/Http/Livewire/LivewireDatatable.php +++ b/src/Http/Livewire/LivewireDatatable.php @@ -554,7 +554,7 @@ public function setSessionStoredHidden() $hidden = collect($this->columns)->filter->hidden->keys()->toArray(); - session()->put([$this->sessionStorageKey() . $this->name . '_hidden_columns' => $hidden]); + session()->put([$this->sessionStorageKey() . '_hidden_columns' => $hidden]); } public function initialiseSearch() From 781d3a75b1014dcfb9b0e3c9434ca8af025aa8b1 Mon Sep 17 00:00:00 2001 From: Nowocyn Date: Thu, 26 Oct 2023 12:10:33 +0200 Subject: [PATCH 09/10] Fixing an other wrongly saved session key _per_page --- src/Http/Livewire/LivewireDatatable.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Http/Livewire/LivewireDatatable.php b/src/Http/Livewire/LivewireDatatable.php index 8a93229f..6ddbaf9a 100644 --- a/src/Http/Livewire/LivewireDatatable.php +++ b/src/Http/Livewire/LivewireDatatable.php @@ -511,7 +511,7 @@ public function getSessionStoredPerPage() return; } - $this->perPage = session()->get($this->sessionStorageKey() . $this->name . '_perpage', $this->perPage); + $this->perPage = session()->get($this->sessionStorageKey() . '_perpage', $this->perPage); } public function setSessionStoredSort() From 9915c1b57afdda31f2b81e2202367c9aece510d8 Mon Sep 17 00:00:00 2001 From: Nowocyn Date: Mon, 12 Aug 2024 14:22:23 +0200 Subject: [PATCH 10/10] Update composer.json --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 5222c22b..9fc855b1 100644 --- a/composer.json +++ b/composer.json @@ -30,7 +30,7 @@ "php": "^8.0", "illuminate/support": "^7.0|^8.0|^9.0|^10.0", "livewire/livewire": "^2.4.4", - "maatwebsite/excel": "^3.1", + "reedware/laravel-relation-joins": "^2.4|^3.0|^4.0" }, "require-dev": {