dillingham/nova-grouped-field
A Laravel Nova field that groups multiple form fields into one visual panel, keeping long forms tidy and organized. Drop it into your resource, nest the fields, and Nova renders them together as a single grouped block.
dillingham/nova-grouped-field is a Laravel Nova custom field that merges several related record attributes into a single displayed column with a configurable separator. It is a presentation-layer convenience for internal admin tooling, not a product capability — it touches no domain model, persistence, migration, or customer-facing surface. The TPM decision reduces to a single trade: depend on ~50 lines of third-party formatting code, or write the equivalent field in-house.
Architecture fit
Text::make() columns or displayUsing() closures with declarative config. No new capability — less column sprawl and cleaner rendering of partially filled rows.Integration feasibility
composer require plus field registration in a resource. No service provider wiring, queues, cron, or infrastructure change. A Nova-fluent developer can stand it up in under an hour.Acme — — Amsterdam) read as corrupted data to admin users and generate internal support noise — the single strongest reason to take the dependency rather than hand-roll.Technical risk
Carbon values and separator escaping (newline vs. <br> vs. plain text) across index vs. detail renderers are unverified behaviors that surface as visual bugs, not exceptions.Key questions
composer.json declare, and does the field actually render on our Nova major?Stack fit
TextColumn instead), and any need for interactive grouped cells (per-segment links, badges, copy-to-clipboard) — that hits the package ceiling immediately.Migration path
Text::make() set (or displayUsing closure) with one grouped field, diff rendered output against the incumbent, then delete the old columns. Keep prior definitions in version control as the rollback artifact.Compatibility
0.11.x exactly; do not float. Given the 2020 last release, assume no forward compatibility with any Nova upgrade and re-validate on each Nova major.Sequencing
composer.json and README, confirm Nova/Laravel/PHP support against our stack, render the field in one low-traffic resource.Maintenance
Support
Scaling
with() coverage.Failure modes
Ramp-up
Grouped::make()->fields([...]) API immediately; the package mirrors native field conventions.Bottom line for the TPM: This is admin-panel polish with near-zero exit cost and no product risk. Approve it as a time-boxed, reversible experiment inside an existing Nova commitment — gated on a compatibility spike against our Nova major, pinned exactly, with a fork/vendor contingency already priced. If the spike turns awkward, the fallback is a computed accessor plus a stock Nova field in under a day of engineering.
How can I help you explore Laravel packages today?