finity-labs/fin-modal-table-select
A Laravel/Filament package that adds a modal table select field, letting users browse, search, and choose records from a data table in a popup instead of a long dropdown. Ideal for large datasets and cleaner forms.
Architecture fit: fin-modal-table-select is a Filament-oriented Laravel package that provides a modal table picker for selecting records, usable in form schemas and record actions. It fits admin-panel workflows where a standard select is insufficient and users need searchable, paginated, relationship-aware record selection. The release note indicates two supported modes: standalone selection and relationship-scoped selection. That aligns with common Filament CRUD and relation-management patterns.
Integration feasibility: Likely feasible as a Composer package with Filament panel/plugin registration and schema component usage. v1.1.4 is a patch release and does not indicate migrations, config changes, or public API breaks. The main integration effort is validating the package against the host application’s Filament major version, Livewire version, and relationship/action patterns.
Technical risk: The v1.1.4 fix addresses a real runtime failure: 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. This reduces risk for action-modal usage and array-backed tables, but it also shows the component is sensitive to Filament’s internal schema-record shape. The key residual risk is reliance on Filament/Livewire internals around action modals, table records, and relationship scoping.
Key questions:
TPM recommendation: Treat v1.1.4 as the baseline version for evaluation because it fixes a user-blocking action-modal defect. Pilot it in a non-production Filament panel before broad adoption. Do not assume broad compatibility solely from the patch release.
Stack fit: Best suited to Laravel applications already using Filament for admin or operational back-office screens. It is a poor fit for non-Filament UIs, API-only services, or teams unwilling to track Filament release compatibility.
Migration path: If already on v1.1.x, upgrade to v1.1.4 as a low-risk patch, then re-test record actions on array-backed tables and relationship-scoped pickers. If adopting fresh, start with v1.1.4 rather than earlier releases. No data migration is indicated by the release notes.
Compatibility: Confirm the package’s declared support matrix against the application’s Filament, Laravel, PHP, and Livewire versions. Pay particular attention to Filament v3 versus v4 differences if the host application is upgrading. Validate both standalone mode and relationship-based table scoping, because the fix explicitly distinguishes those paths.
Sequencing:
Maintenance: Low-to-moderate. The package is narrow in scope, and v1.1.4 is a patch with no apparent migration burden. Maintenance risk comes mainly from coupling to Filament/Livewire internals and from needing to keep pace with Filament upgrades.
Support: Teams will need a Filament-capable developer to diagnose issues. TPMs should expect support questions around picker behavior, relationship scoping, authorization visibility, and differences between standalone and relationship-backed usage.
Scaling: Scaling depends more on the underlying Filament table query than on the modal component itself. Large datasets require server-side search, pagination, indexed relationship queries, and appropriate limits. The modal pattern can become slow or confusing if tables expose too many columns or unscoped records.
Failure modes: The fixed v1.1.3 failure was a hard TypeError when an array row reached a ?Model property. Similar class/type mismatches could recur around custom table records, non-Eloquent data sources, or future Filament schema changes. Other likely failure modes include picker not opening, incorrect relationship scoping, authorization leaks, slow search on large tables, and Livewire component state issues inside action modals.
Ramp-up: Low for developers already familiar with Filament schema components and Livewire. Moderate for teams new to Filament action modals and relationship scoping. TPMs should budget a short validation spike rather than a full migration project, unless the package becomes a dependency across many resources.
How can I help you explore Laravel packages today?