- What is finity-labs/fin-modal-table-select and what problem does it solve?
- It is a Laravel/Filament package that adds a modal table select field to Filament form schemas and record actions. Instead of scrolling a long dropdown, users open a popup and browse, search, and choose records from a data table. It is aimed at admin-panel workflows where a standard Select is too limited for large or relationship-driven datasets. The package also prefills form fields from the chosen record and can turn multi-selects into editable repeater rows.
- How do I install fin-modal-table-select in a Laravel Filament application?
- Install it with Composer as finity-labs/fin-modal-table-select and register it through your Filament panel or plugin setup, then use the component inside your form schema. Start with v1.1.4 as the baseline release because it fixes a user-blocking defect in record-action modals on array-backed tables. Install it in a sandbox or preview panel first and exercise both standalone and relationship-scoped selection before rolling it out. No data migrations are indicated by the release notes, so the main effort is compatibility validation rather than schema changes.
- Which Filament, Laravel, PHP, and Livewire versions are supported?
- The package is built for Filament, so you must confirm its declared support matrix against your application's Filament, Laravel, PHP, and Livewire versions before adopting it. The v1.1.4 release notes are a patch and do not restate a compatibility matrix, so check the package metadata and README rather than assuming broad support. Pay particular attention to Filament v3 versus v4 differences if you are mid-upgrade. Validating the package on your exact stack is the fastest way to avoid surprises.
- Does it support both standalone selection and relationship-scoped selection?
- Yes. The package exposes two modes: standalone record selection and relationship-scoped selection, which aligns with common Filament CRUD and relation-management patterns. Both paths should be tested separately because the v1.1.4 fix explicitly distinguishes them. Verify that relationship constraints, empty states, and authorization behave consistently in each mode. If your resource uses relationship scoping heavily, include that scenario in your pilot checklist.
- What was fixed in fin-modal-table-select v1.1.4?
- v1.1.4 fixes a real runtime failure where clicking a picker trigger from a record action on an array-backed table threw a TypeError because an array row was passed into a Model-typed property. The fix narrows record forwarding to Eloquent models only, which reduces risk for action-modal usage and array-backed tables. It is a patch release with no indicated migrations, config changes, or public API breaks. Treat v1.1.4 as the baseline version for evaluation rather than any earlier release.
- Can I use the modal table picker inside a Filament record action?
- Yes, the component is usable in form schemas and record actions, and the array-backed record-action scenario is exactly what v1.1.4 was released to fix. Even so, re-test that specific path in your own panel, because the fix shows the component is sensitive to Filament's internal schema-record shape. Run a regression pass on existing resource pages before production rollout. The residual risk is reliance on Filament and Livewire internals around action modals and table records.
- How does the picker perform with large datasets and search?
- Handling large datasets is the package's core use case, since users search and paginate inside a modal table instead of loading a giant dropdown. Confirm during your pilot that search, pagination, and table queries run server-side and perform acceptably on your largest tables. Test with realistic row counts, filters, and relationship scoping rather than a small demo dataset. If queries are slow, tune your Filament table query and indexes before blaming the component.
- Can it prefill form fields and turn a multi-select into repeater rows?
- Yes. The package is described as prefilling form fields from the selection, so choosing a record in the modal can populate related inputs in your form. It also converts multi-selects into editable repeater rows, which is useful when users need to pick several records and then adjust per-row values. Validate the prefill behavior on both fresh creates and edit forms. Also check how it behaves when a user changes the selection after fields have been filled.
- Does the package enforce authorization and tenancy constraints?
- The package is a selection UI, so authorization and tenancy should ultimately be backed by your Laravel policies, Filament resource scoping, and relationship constraints. Test both standalone and relationship-scoped modes to confirm that users cannot see or pick records outside their tenant or permissions. Include edge cases such as empty result sets and restricted relationships in your pilot. Do not assume the picker enforces constraints for you unless your own testing confirms it.
- Is fin-modal-table-select production ready, and how is it maintained?
- It is a narrow, Filament-focused package, and v1.1.4 is a patch with no migrations or public API breaks, so it is reasonable to pilot. Because it is a small ecosystem package, check the maintainer's responsiveness, release cadence, and whether regression tests cover the array-backed record-action scenario fixed in v1.1.4. Run it in a non-production Filament panel first, including large result sets, action modals, and relationship scoping. Only promote it to production after a regression pass on your existing Filament resource pages.