dvarilek/filament-table-select
Select fields with a Filament Table UI, improving UX for complex relationships.belongsToMany, hasManyThrough). Poor fit for simple dropdowns or non-relational data.$model->belongsToMany(User::class)).selected callback).eagerLoad config or with() in relationships.perPage()) to limit UI load.| Risk Area | Mitigation Strategy |
|---|---|
| Filament Version Lock | Monitor Filament v4.x migration; test compatibility if upgrading. |
| Relationship Complexity | Validate relationships at compile-time (e.g., shouldBeRelatedTo() in Filament). |
| UI/UX Inconsistencies | Align table styling with Filament’s design system (CSS variables, Blade templates). |
| State Management | Use Filament’s useForm or useTable hooks to sync selected IDs with parent form. |
| Localization | Ensure table columns/actions respect Filament’s localization (e.g., __() helpers). |
User->Role->User) be handled?Select fields be gradually replaced without breaking workflows?hasMany, belongsToMany).TableSelect (if upgrading is feasible).Select fields using relationships.Select field with TableSelect in a non-critical module.belongsTo).belongsToMany with pivot data).value vs. selected array).| Component | Compatibility Notes |
|---|---|
| Filament v3.x | Fully supported (tested up to v3.5.x). |
| Laravel 9/10 | Works with both; no major differences. |
| Eloquent Relationships | Supports hasOne, hasMany, belongsTo, belongsToMany, morphTo. |
| Filament Plugins | May conflict with plugins overriding table behavior (e.g., Spatie Laravel Permissions). |
| JavaScript Frameworks | No JS dependencies; works with Filament’s React/Vue/Alpine. |
dvarilek/filament-table-select, filament/filament).composer require.AppServiceProvider (if not auto-discovered).getTableSelectTableColumns().getTableSelectRelationship().tableSelectTableBuilt).dd() or dump() in table callbacks.Select with with() for critical bugs.perPage(50) or serverSide() for large datasets.remember()).version column).dispatchSync in tests).| Failure Scenario | Impact | Mitigation |
|---|---|---|
| Relationship Data Corruption | Broken selections | Validate relationships in Form rules. |
| Table Rendering Hangs | UI freeze | Add timeout to AJAX requests. |
| CSRF Token Mismatch | Selection submission fails | Ensure Filament’s CSRF middleware is active. |
| JavaScript Errors |
How can I help you explore Laravel packages today?