Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Nova Grouped Field Laravel Package

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.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Admin tooling vs. product roadmap — keep them separate. This is a presentation-layer convenience for Laravel Nova index and detail views: it merges related attributes (name + email, address parts, timestamps) into one labeled column with a configurable separator. It touches no domain model, no persistence, no customer-facing surface, and requires no data migration. The correct framing is "internal ops polish with near-zero exit cost," not "product capability" — which is itself a decision input. It should not consume roadmap capacity, launch risk, or product risk budget.

  • Build vs. buy — default to build unless a short spike proves otherwise. The underlying capability is roughly 30–50 lines: join attributes into a string and render through a Nova Text field with displayUsing. The package's differentiated value is declarative config plus the 0.11 correctness fixes. Against that: a single maintainer, last release January 2020, zero downstream dependents, pre-1.0 semantics. The defensible default is in-house unless a time-boxed compatibility spike shows the package works cleanly on your Nova major. Treat adoption as a reversible experiment, not a commitment.

  • Operational throughput decisions. Grouping reduces column sprawl and horizontal scrolling for support and ops staff reading tables at scale. The measurable outcome is fewer columns per index view and faster row scanning — a productivity gain, not a new workflow.

  • Use cases the 0.11 release history unlocks:

    • Timeline-style grouped cells — date formatting (PR #9) lets timestamps live inside grouped values without raw or default output.
    • Stacked multi-line cells — line-break separators (PR #8) enable name-over-email layout, the difference between legible and unreadable at table scale.
    • Partial-record hygiene — separator suppression on empty fields (PR #7) removes artifacts like Acme — — Amsterdam, which read as corrupted data and generate internal support noise. This is the strongest single justification for taking the dependency rather than hand-rolling.
  • Roadmap risk posture. All three shipped changes are cosmetic or correctness fixes with no API or schema implications. Nothing here alters integration cost, reporting, or downstream systems — precisely why it can be trialed and reversed inside a single sprint.

When to Consider This Package

Consider it when all of the following hold:

  • The admin surface is Laravel Nova. The package is meaningless outside it, and Nova is a separately licensed, paid product — this is a decision made inside an existing Nova commitment, never a reason to adopt Nova.
  • The need is scanability (fewer columns, related values adjacent), not per-attribute filtering or sorting. Grouping trades away per-column sort and search affordances; if operators need to sort by email, grouped display fights them.
  • Grouped values are simple scalars — strings, numbers, dates. Complex relations, computed aggregates, or per-row conditional logic belong in a custom field or model accessor.
  • You have verified Nova major compatibility. This is the critical gate: the last release predates Nova 4 and 5, neither the README nor the release notes declare a supported Nova / Laravel / PHP matrix, and Nova's field API has moved across majors. "Works on our Nova version" is an unproven assumption until spiked.
  • You accept a pre-1.0, single-maintainer, unmaintained-since-2020 dependency. Pin the exact version and budget for vendoring or forking — the code surface is small enough that either is cheap, but that budget should exist before adoption.

Look elsewhere when:

  • You are not on Nova. Use Filament's first-party stacked/TextColumn equivalents, or plain Blade plus Eloquent accessors — better maintained and first-party.
  • You need interactive cells — per-segment links, badges, copy-to-clipboard. This is a formatting field, not a UI component library; you will hit its ceiling immediately.
  • You need sorting or filtering on group members, or inline editing of grouped attributes.
  • Dependency hygiene is strict (security review, SBOM, maintenance SLA). A 2020-era, single-maintainer 0.x package with zero dependents will fail that bar for anything beyond internal tooling.
  • A house pattern already exists for computed index columns. Extending it is almost certainly cheaper than onboarding a dependency for a trivial concern.

How to Pitch It (Stakeholders)

One line: A small MIT-licensed add-on for the Nova admin panel that packs several related record attributes into a single table column, so ops and support staff read more per screen with fewer visual artifacts.

For executives: This is admin-panel polish, not a product capability. It touches no customer-facing code or data model and can be removed with a one-line change. The benefit is operational: faster row scanning for internal users, and the newest release fixes the dangling-separator rendering bug that makes partially filled records look corrupted — a recurring source of internal confusion and tickets. Important caveat: the package has not shipped a release since January 2020, has 40 stars and no downstream dependents, so the recommendation is a time-boxed spike first, not a standing commitment. If it does not cleanly support our Nova version, the fallback — a computed accessor plus a stock Nova field — is under a day of engineering. Treat the whole thing as a low-cost, reversible experiment with a fork contingency already priced in.

For engineering: Three formatting improvements landed in 0.11 — date formatting inside grouped values, newline separators for stacked layout, and suppression of separators around empty fields — all additive, no API or data changes. The real work is verification, not integration: confirm the package's declared Nova / Laravel / PHP support against ours (release notes are silent and 0.11 is from 2020); check that date formatting degrades safely on non-date values; confirm separator escaping behaves correctly in index versus detail renderers; and test all-empty groups (blank, placeholder, or stray separator?). Also confirm whether it supports detail and any inline-edit/preview contexts, or is display-only. Then: pin 0.11.x exactly, keep usage isolated inside resource definitions so a swap to a custom field stays contained, avoid grouping relationship-backed attributes unless eager-loaded (otherwise N+1 on index views), and record the pinned version plus separator/format conventions in the admin-panel docs. If any of those checks turns awkward, build the equivalent field in-house — the surface is small and we already understand it.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
alphabalex/messaging-made-easy
rawphp/warp
shootkiran/merobug
narakode/fineauth
numencode/wn-syncops-plugin
ibnnajjaar/mib-global-pay
ably/pubsub-server
mstfkhazaal/defender
mfonte/base62x
karnoweb/metapilot
tobya/bcsapiwrapper
swalker2/cpanel
vish4395/laravel-translation-manager
morningtrain/economic
teksite/systeminfo-laravel
atomcms/voting
run6/weather
siokas/laravelembeddirectives
adamlien/pkuuids
gilsonsouza/lara-doc-generator