Skip to content

Commit 14fa7fe

Browse files
Added grouped option
1 parent 7819993 commit 14fa7fe

File tree

5 files changed

+24
-4
lines changed

5 files changed

+24
-4
lines changed

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,9 @@ SelectTree::make('category_id')
5454

5555
// When 'independent' is set to false, the tree will open with the selected values by default.
5656
->expandSelected(false)
57+
58+
// Display individual leaf nodes instead of the main group when all leaf nodes are selected.
59+
->grouped(false)
5760

5861
// By default, the clearable icon is enabled, but you can hide it with:
5962
->clearable(false)

resources/dist/tree.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

resources/js/index.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ export default function tree({
1515
isIndependentNodes = true,
1616
alwaysOpen = false,
1717
emptyText,
18-
expandSelected = true
18+
expandSelected = true,
19+
grouped = true,
1920
}) {
2021
return {
2122
state,
@@ -42,7 +43,8 @@ export default function tree({
4243
isIndependentNodes,
4344
alwaysOpen,
4445
emptyText,
45-
expandSelected
46+
expandSelected,
47+
grouped
4648
});
4749

4850
this.tree.srcElement.addEventListener('input', (e) => {

resources/views/select-tree.blade.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@
2626
alwaysOpen: '{{ $getAlwaysOpen() }}',
2727
clearable: '{{ $getClearable() }}',
2828
emptyText: '{{ $getEmptyLabel() }}',
29-
expandSelected: '{{ $getExpandSelected() }}'
29+
expandSelected: '{{ $getExpandSelected() }}',
30+
grouped: '{{ $getGrouped() }}',
3031
})"
3132
>
3233
<div x-ref="tree"></div>

src/SelectTree.php

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ class SelectTree extends Field
3333

3434
protected bool $disabledBranchNode = false;
3535

36+
protected bool $grouped = true;
37+
3638
protected ?string $treeModel = null;
3739

3840
protected array $options = [];
@@ -57,6 +59,13 @@ public function clearable(bool $clearable = true): static
5759
return $this;
5860
}
5961

62+
public function grouped(bool $grouped = true): static
63+
{
64+
$this->grouped = $grouped;
65+
66+
return $this;
67+
}
68+
6069
public function expandSelected(bool $expandSelected = true): static
6170
{
6271
$this->expandSelected = $expandSelected;
@@ -116,6 +125,11 @@ public function getExpandSelected(): bool
116125
return $this->evaluate($this->expandSelected);
117126
}
118127

128+
public function getGrouped(): bool
129+
{
130+
return $this->evaluate($this->grouped);
131+
}
132+
119133
public function getIndependent(): bool
120134
{
121135
return $this->evaluate($this->independent);

0 commit comments

Comments
 (0)