Download the PHP package geekstek/filament-tree without Composer
On this page you can find all versions of the php package geekstek/filament-tree. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download geekstek/filament-tree
More information about geekstek/filament-tree
Files in geekstek/filament-tree
Package filament-tree
Short Description Tree form components for Filament v4
License MIT
Homepage https://github.com/geekstek/filament-tree
Informations about the package filament-tree
Geekstek Filament Tree
A Filament v4 plugin that provides tree form components including a cascading tree selector (Wunderbaum style) and a dropdown tree select.
Requirements
- PHP 8.2+
- Filament 4.0+
- Laravel 11+
Installation
The package will auto-register via Laravel's package discovery.
Components
1. Tree (Cascading Tree Selector)
A flat tree component with checkbox selection and cascade behavior - when you select a parent, all children are automatically selected.
Available Methods
| Method | Description |
|---|---|
options(array\|Closure $options) |
Set the tree data structure |
disabledOptions(array\|Closure $ids) |
Disable specific node IDs (they won't be selected when parent is clicked) |
showToolbar(bool\|Closure $show) |
Show/hide the expand/collapse toolbar |
hideToolbar() |
Hide the toolbar |
defaultExpanded(bool\|Closure $expanded) |
Set default expanded state |
collapsed() |
Start with all nodes collapsed |
expandSelected(bool\|Closure $expand) |
Expand nodes that contain selected items |
defaultOpenLevel(int\|Closure $level) |
Set default expand level (0 = all collapsed, 1 = first level, etc.) |
maxHeight(string\|int\|Closure $height) |
Set max height of the tree container (e.g., '400px', '50vh', 300) |
Height Control Example
2. TreeSelect (Dropdown Tree)
A dropdown component with tree structure support, powered by TreeselectJS.
Available Methods
| Method | Description |
|---|---|
options(array\|Closure $options) |
Set the tree data (supports both id/label and value/name formats) |
disabledOptions(array\|Closure $ids) |
Disable specific node IDs |
single(bool\|Closure $isSingle) |
Enable single select mode |
showTags(bool\|Closure $show) |
Show selected items as tags |
clearable(bool\|Closure $clearable) |
Allow clearing selection |
searchable(bool\|Closure $searchable) |
Enable search functionality |
placeholder(string\|Closure $placeholder) |
Set placeholder text |
expandSelected(bool\|Closure $expand) |
Expand nodes that contain selected items |
defaultOpenLevel(int\|Closure $level) |
Set default expand level (0 = all collapsed, 1 = first level, etc.) |
maxHeight(string\|int\|Closure $height) |
Set max height of the dropdown list (e.g., '300px', '50vh', 250) |
Height Control Example
3. TreeEntry (Infolist Display)
Display tree data in infoolists with selected items highlighted.
Available Methods
| Method | Description |
|---|---|
options(array\|Closure $options) |
Set the tree data structure |
defaultExpanded(bool\|Closure $expanded) |
Set default expanded state |
collapsed() |
Start with all nodes collapsed |
maxHeight(string\|int\|Closure $height) |
Set max height of the tree display (e.g., '400px', '50vh', 300) |
Data Structure
Tree & TreeEntry
The Tree and TreeEntry components expect data in this format:
TreeSelect
The TreeSelect component uses TreeselectJS format:
Features
- ✅ Full Filament v4 compatibility
- ✅ Inherits all standard Field methods (
label(),helperText(),required(),live(), etc.) - ✅ Dark mode support
- ✅ Cascade selection (select parent → auto-select children)
- ✅ Individual node disabling
- ✅ Expand/collapse all functionality
- ✅ Select all / Deselect all
- ✅ Alpine.js powered (no jQuery dependency)
License
MIT License. See LICENSE for more information.