Skip to content

Commit 3083d71

Browse files
committed
Merge branch 'marcheffels-feature/deselect' into develop
2 parents e7f65bd + 6954b6a commit 3083d71

File tree

5 files changed

+32
-1
lines changed

5 files changed

+32
-1
lines changed

src/Traits/WithColumnSelect.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public function mountWithColumnSelect(): void
2929
// Get a list of visible default columns that are not excluded
3030
$columns = collect($this->getColumns())
3131
->filter(function ($column) {
32-
return $column->isVisible() && $column->isSelectable();
32+
return $column->isVisible() && $column->isSelectable() && $column->isSelected();
3333
})
3434
->map(fn ($column) => $column->getHash())
3535
->values()

src/Views/Column.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ class Column
4949
protected $labelCallback;
5050
protected bool $hidden = false;
5151
protected bool $selectable = true;
52+
protected bool $selected = true;
5253
protected bool $secondaryHeader = false;
5354
protected $secondaryHeaderCallback;
5455
protected bool $footer = false;

src/Views/Traits/Configuration/ColumnConfiguration.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,16 @@ public function excludeFromColumnSelect(): self
149149
return $this;
150150
}
151151

152+
/**
153+
* @return $this
154+
*/
155+
public function deselected(): self
156+
{
157+
$this->selected = false;
158+
159+
return $this;
160+
}
161+
152162
/**
153163
* @param string $field
154164
*

src/Views/Traits/Helpers/ColumnHelpers.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -413,6 +413,14 @@ public function isSelectable(): bool
413413
return $this->selectable === true;
414414
}
415415

416+
/**
417+
* @return bool
418+
*/
419+
public function isSelected(): bool
420+
{
421+
return $this->selected === true;
422+
}
423+
416424
/**
417425
* @return bool
418426
*/

tests/Views/Traits/Configuration/ColumnConfigurationTest.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,4 +96,16 @@ public function can_make_column_unclickable(): void
9696

9797
$this->assertFalse($column->isClickable());
9898
}
99+
100+
/** @test */
101+
public function can_deselect_column(): void
102+
{
103+
$column = Column::make('Name');
104+
105+
$this->assertTrue($column->isSelected());
106+
107+
$column->deselected();
108+
109+
$this->assertFalse($column->isSelected());
110+
}
99111
}

0 commit comments

Comments
 (0)