momenoor/filament-table-field
A Filament form component that renders an editable table field, letting users add, edit, and manage rows inline without leaving the form. Ideal for repeatable structured data.
HasMany and BelongsToMany with create/edit/delete in modals, synced to the parent on save. This enables single-screen workflows (one save button, one validation surface) instead of forcing users into separate resource pages — a concrete reduction in clicks-per-task that can be cited in UX/flow reviews.beforeCreateRecord() / beforeUpdateRecord() with auto-merged return values and injected parent form state/model context let you push derived defaults (tenant ID, ownership, computed fields, status) into the child record without forking the field. That is a real reduction in duplicated logic — but it also means business rules will live in form hooks, which is a maintainability decision worth flagging to engineering leadership.beforeDeleteRecord() and afterCreateRecord()/event emit are the gaps most likely to block audit logging, cascading cleanup, and notification workflows. Drag-and-drop reordering blocks any ordered-collection use case. Plan these as your dependencies, not assumptions.Adopt when most of the following hold:
HasMany / BelongsToMany and you can express the child schema declaratively (no bespoke multi-column layouts or heavy conditional logic per row).composer.json.Look elsewhere or defer when:
beforeDeleteRecord() doesn't exist yet.Repeater with orderColumn or a custom implementation instead.RelationManager, which moves with the framework.For executives: This is a small, low-cost add-on that removes a repeated build task — editing related records without leaving a page. Instead of paying for custom CRUD screens for every parent-child relationship, we configure a field. Expect days, not weeks, of effort for the first use case, and a reusable pattern for the next several. The trade-off is maturity: it's a brand-new 1.0 release from a single maintainer with no automated tests yet, so we're recommending a scoped pilot in an internal admin area with the version pinned, and a re-evaluation before we depend on it anywhere customer-facing.
For engineering: It's a Filament form field backed by Filament Tables that handles HasMany/BelongsToMany child records through modals and syncs them on parent save. Configuration covers per-field enable/disable of create/edit/delete, custom heading and empty states, default record values, and dynamic schema/columns. Two lifecycle hooks — beforeCreateRecord() and beforeUpdateRecord() — receive parent form state and model context, and their return values merge into the modal form data, which is where we'd put tenant scoping and derived defaults. Known gaps: no beforeDeleteRecord(), no post-create event, no reordering, no test suite, and no official plugin packaging yet — so anything requiring delete-time side effects or ordered collections needs custom work today. Concrete asks before we merge: pin the version, confirm authorization against Filament policies, add feature tests around the save/sync path, and confirm transaction behavior on multi-record edits.
How can I help you explore Laravel packages today?