solution-forest/filament-nestable-tree
Nestable drag-and-drop tree component for Filament v4/v5. Works with Eloquent (incl. kalnoy/nestedset) or static arrays, supports per-node actions, multi-tree pages, cross-tree drag-and-drop, lazy loading, and async child loading for large, complex trees.
kalnoy/nestedset (a battle-tested nested hierarchy package), minimizing custom database logic.kalnoy/nestedset is robust, it may introduce complexity for teams not already using it (e.g., materialized path or closure tables).Category, Department).reorder/move logic for non-NestedSet models (e.g., manual SQL updates).parent_id permissions).kalnoy/nestedset, or will we need to adapt the package for another hierarchy strategy (e.g., materialized path)?kalnoy/nestedset.categories table) for compatibility with kalnoy/nestedset or alternative strategies.TestCategory).filament-nestable-tree:Tree).modify methods (e.g., custom node actions, styling).kalnoy/nestedset, implement a migration to add lft/rgt columns or use a custom reordering strategy.parent_id and lft/rgt columns.kalnoy/nestedset (if not already present) and migrate existing tables.Category::reorder()).use SolutionForest\FilamentNestableTree\Components\Tree;
Tree::make('categories')
->model(Category::class)
->columns([
TextColumn::make('name'),
])
->actions([
Action::make('edit'),
]);
modify methods.Tree::make()->asyncChildren(fn ($node) => $node->children()->load('subCategories'));
kalnoy/nestedset may require updates.kalnoy/nestedset scales well for reads but may struggle with high-write concurrency.| Failure Scenario | Impact | Mitigation |
|---|
How can I help you explore Laravel packages today?