Skip to content

Commit 86a3d1f

Browse files
authored
Merge pull request #1 from inmanturbo/column-select
Column select
2 parents 3a03091 + 9d1f7a7 commit 86a3d1f

File tree

2 files changed

+15
-5
lines changed

2 files changed

+15
-5
lines changed

resources/views/components/tools/toolbar.blade.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -253,7 +253,7 @@ class="inline-flex items-center px-2 py-1 disabled:opacity-50 disabled:cursor-wa
253253
>
254254
<input
255255
class="text-indigo-600 transition duration-150 ease-in-out border-gray-300 rounded shadow-sm focus:border-indigo-300 focus:ring focus:ring-indigo-200 focus:ring-opacity-50 dark:bg-gray-900 dark:text-white dark:border-gray-600 dark:hover:bg-gray-600 dark:focus:bg-gray-600 disabled:opacity-50 disabled:cursor-wait"
256-
@if(count($component->selectedColumns) === count($component->getDefaultVisibleColumns()))
256+
@if($component->allDefaultVisibleColumnsAreSelected())
257257
checked
258258
wire:click="deselectAllColumns"
259259
@else
@@ -524,7 +524,7 @@ class="dropdown-menu dropdown-menu-right w-100 mt-0 mt-md-3"
524524
class="mb-1"
525525
>
526526
<input
527-
@if(count($component->selectedColumns) === count($component->getDefaultVisibleColumns()))
527+
@if($component->allDefaultVisibleColumnsAreSelected())
528528
checked
529529
wire:click="deselectAllColumns"
530530
@else
@@ -786,7 +786,7 @@ class="dropdown-menu dropdown-menu-end w-100"
786786
class="mb-1"
787787
>
788788
<input
789-
@if(count($component->selectedColumns) === count($component->getDefaultVisibleColumns()))
789+
@if($component->allDefaultVisibleColumnsAreSelected())
790790
checked
791791
wire:click="deselectAllColumns"
792792
@else

src/Traits/WithColumnSelect.php

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,11 +70,21 @@ public function deselectAllColumns()
7070
public function updatedSelectedColumns(): void
7171
{
7272
// The query string isn't needed if it's the same as the default
73-
if(count($this->selectedColumns) === count($this->getDefaultVisibleColumns())){
73+
if ($this->allDefaultVisibleColumnsAreSelected() && $this->allSelectedColumnsAreVisibleByDefault()) {
7474
$this->selectAllColumns();
75-
}else{
75+
} else {
7676
$this->{$this->tableName}['columns'] = $this->selectedColumns;
7777
session([$this->getColumnSelectSessionKey() => $this->{$this->tableName}['columns']]);
7878
}
7979
}
80+
81+
public function allDefaultVisibleColumnsAreSelected(): bool
82+
{
83+
return count(array_intersect($this->selectedColumns, $this->getDefaultVisibleColumns())) === count($this->getDefaultVisibleColumns());
84+
}
85+
86+
public function allSelectedColumnsAreVisibleByDefault(): bool
87+
{
88+
return count(array_intersect($this->selectedColumns, $this->getDefaultVisibleColumns())) === count($this->selectedColumns);
89+
}
8090
}

0 commit comments

Comments
 (0)