outl1ne/nova-inline-text-field
Nova Inline Text Field lets you edit text values directly from the Laravel Nova resource index without opening a detail page. Click, type, save—fast inline updates for a smoother admin workflow.
InlineText method-signature incompatibility with its parent class — the classic symptom of a Nova major-version contract change. Two things are true at once: the maintainer is responsive and tracks the parent class, and 3.0.0 shipped broken. So the signal is maintenance hygiene, not quality assurance. There is no schema change, no config change, no migration; treat the upgrade as a composer update plus a one-screen smoke test.->rules(...) already enforce. Inline saves write through Nova's normal update endpoint, so they inherit standard model events, observers, updated_at, and audit behavior rather than creating a parallel write path. Do not accept requests that assume otherwise; push those to Nova's standard edit form or a different field suite.Adopt when:
Text::make(...).Look elsewhere when:
composer.json compatibility before committing; this package's majors have historically moved with Nova's.Practical guardrails for the adoption decision: pin ^3.0.1 or later and never install 3.0.0 (the patch exists precisely to make the 3.0 line installable); read the changelog and treat every future major as a staging review item rather than routine composer update traffic; mirror the detail-form validation rules on the field, since inline edit is a second write path into the same column; and explicitly test the view-only-user path with a real account — a user who can view but not update must not be able to write via inline edit.
For executives: A low-cost UX improvement to our internal admin tooling. It removes clicks from routine content edits, measurably shortening time-to-edit for ops and content teams on workflows they repeat constantly. Integration cost is negligible — one Composer dependency, no database changes, no migrations, no background jobs, no external services, no credentials. The field writes through Nova's normal update path, so existing permissions, audit logging, and model events continue to apply unchanged. Risk is contained to a single field type on a single admin screen, it degrades gracefully to the standard edit form, and it can be replaced in-house in roughly a day if the project is ever abandoned. The trade-off we are accepting: it is community-maintained with no support contract and no test suite — acceptable at this blast radius, and unacceptable if we ever ask it to carry permissions or audit requirements. We should not. Budget a few hours per Nova major to re-verify compatibility.
For engineering: Add outl1ne/nova-inline-text-field at ^3.0.1 — never 3.0.0, which shipped with a parent-class signature mismatch that 3.0.1 fixes. No migrations, no published config, no service-provider wiring beyond Nova's auto-discovery; register InlineText::make('Title')->rules(...) on the resource and it renders as text in the index table that switches to an editable input and saves through Nova's standard update endpoint. Because it uses that path, observers, updated_at, model events, and audit packages behave exactly as they do for a normal Nova update, and resource policies still govern who can write. Standing requests: pin the major and record the resolved version in composer.lock; mirror the detail-form validation rules on the field; prefer resolveUsing/fillUsing over overriding resolve/fill for transformations (this is exactly the class of bug 3.0.1 fixed); test the view-only-user path explicitly before promoting, since a parent-class mismatch fails loudly at resource registration and can take down the whole index view; flag any future major as a staging review item. Budget the work as a half-day including review and verification, and document the one-day custom-field fallback.
Recommendation: Adopt for narrow inline string editing in Nova admin panels where a specific workflow shows a real click burden. Do not extend it beyond that scope, do not place it on a critical path, and do not let it become load-bearing for permissions or audit requirements.
How can I help you explore Laravel packages today?