solution-forest/filament-tree
Filament Tree adds a drag-and-drop hierarchical tree UI to Filament Admin for managing nested data (menus, categories, org charts) with unlimited depth. Works with Resources, Pages, and Widgets, plus customizable actions, icons, and translations.
jquery.nestable) and Tailwind CSS, requiring alignment with existing frontend tooling.parent_id/order structure, or will migrations be needed?ModelTree trait).parent_id/order columns.parent_id (default -1), order columns to target tables.parent_id for performance.Schema::table('categories', function (Blueprint $table) {
$table->integer('parent_id')->default(-1)->index();
$table->integer('order')->default(0);
});
ModelTree trait to Eloquent models.determineParentColumnName()).composer require solution-forest/filament-tree.php artisan filament:assets + vendor:publish.php artisan make:filament-tree-widget CategoryWidget --model=Category
php artisan make:filament-tree-page CategoryTree --resource=Category
npm run build for frontend assets.getTreeRecordTitle()) may need updates if the plugin evolves.log() helper.$maxDepth to limit nesting; pre-collapse nodes.parent_id/order columns are indexed.order column updates).| Risk | Mitigation | Workaround |
|---|---|---|
| Database Corruption | Use transactions for bulk updates. | Restore from backup; repair parent_id links. |
| Frontend JS Errors | Validate jQuery/Tailwind compatibility. | Fallback to server-side rendering. |
| Filament Plugin Conflict | Test in isolation before production. | Disable other plugins to identify conflicts. |
| Deep Nesting Issues | Enforce $maxDepth in config. |
Flatten structure or paginate tree views. |
make:filament-tree-widget).getTreeRecordTitle(), getTreeToolbarActions()).config/filament-tree.php).parent_id defaults, depth limits).How can I help you explore Laravel packages today?