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

Inline Boolean Field Update Laravel Package

wehaa/inline-boolean-field-update

A Laravel Nova package that lets you toggle boolean fields directly from the index list without opening a detail view. Enable inline editing for true/false columns, reducing clicks for quick status updates.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Where to spend internal-tooling budget. This package is a single micro-interaction: flipping a boolean directly from a Laravel Nova index table instead of opening each record's edit form. It only creates value where operators toggle flags at high frequency — moderation queues, catalog curation, is_active / is_featured / approved screens. Frame it as a cheap probe into whether that operator loop is worth optimizing at all, not as a platform decision.
  • Build vs. buy vs. skip on a micro-feature. With 3 stars, 0 dependents, and a last release of May 2021, treat this as a UX specification first and a library second. The decision it forces is small and honest: adopt as-is, fork and own ~100–200 lines, or reimplement natively from Nova's field scaffolding. That's roadmap triage, not an architecture commitment, and the cost of being wrong is measured in days.
  • Roadmap scoping for the admin surface. Evaluating it surfaces the hidden requirements behind a "simple toggle": audit trails (who flipped what, when), per-role toggle permissions, optimistic UI with rollback on failure, bulk actions, keyboard and accessibility support, and approval/reason capture for regulated flags. None of these are answered by the package. Discovering that in a spike re-scopes the estimate before a sprint is committed — which is the single most valuable output of this evaluation.
  • Compatibility gating for the internal-tooling roadmap. Nova 3-era custom fields commonly break on Nova 4/5 (Vue 2 + Laravel Mix → Vue 3 + Vite). A short spike is a binary gate: either the capability is available on your Nova version or it isn't. Settle that before anyone commits further evaluation effort or promises the feature to stakeholders.
  • Defining where an inline toggle is not allowed. This package is a natural forcing function for a policy decision: inline toggles are fine for display flags (is_featured, soft "active" markers, internal feature flags) and wrong for anything gating publication, access, billing, or tenant state — the exact fields where a mis-click is expensive and where the stripped reason/approval context matters.
  • Plausible use cases: content moderation queues, listing/inventory enable-disable, staff-driven feature-flag flips, user account activation — any back-office screen whose core operator loop is "scan, flip, next."

When to Consider This Package

Consider it when:

  • You are on Laravel Nova 3.x with no near-term upgrade planned, verified by actually rendering and toggling in a staging panel on your locked version — not by reading the README.
  • Operators genuinely live in the index view and toggle booleans many times per session. The efficiency gain must be measurable (the activity log you'd add gives you the count for free), not assumed.
  • The team is prepared to fork and own it: vendor into packages/ or a private repo, pin the exact version, rebuild assets against your Nova build, add a feature test around the update endpoint, and treat upstream as abandoned from day one.
  • Authorization is already handled at the Nova policy level (the write goes through /nova-api/{resource}/{id} so update policies, canSee, and readonly still apply), and you don't need per-field audit logging or a change-reason field on this particular flag.
  • You want a same-day spike to validate the interaction with real operators before building it properly.
  • Audit is recoverable through model events — updated/saved observers still fire on inline writes, so an activity-log observer can capture who flipped what without touching the package.

Look elsewhere (or build it) when:

  • You are on Nova 4 or 5 — assume incompatibility until proven otherwise. The compiled dist/js/field.js and its build toolchain were frozen in mid-2021, and rebuilding requires the laravel-nova build alias that only exists inside a licensed local Nova install. That's not something you can validate in CI, and it's exactly where upstream stopped being maintained.
  • The boolean gates something regulated — publication, access, billing, tenant state. It strips the approval and reason context those flows require.
  • You have accessibility or keyboard-navigation requirements. A 2021 custom toggle is usually a styled <div> with a click handler, not a real <input type="checkbox"> with focus states. Rebuilding it natively from Nova's official scaffolding is likely under a day at this surface area and cheaper than retrofitting.
  • Operators need to flip ten records at once. That's a Nova Action, not ten toggle clicks — don't let the toggle's presence substitute for the bulk affordance.
  • The write path turns out to be a custom route rather than Nova's standard update endpoint. That means inline writes bypass policies — a security failure mode, not a bug, and it ends the adoption conversation.
  • Anyone proposes depending on upstream as a floating Composer constraint. With 3 stars, 0 dependents, and no release since May 2021, that's an unowned dependency in a back-office tool.

Non-negotiable validation before any rollout: test the network call, not the UI. Confirm the request URL/method (policy enforcement path), that the UI reverts on a blocked request or 500, and use assertDatabaseHas to verify persistence. A toggle that renders correctly and silently does nothing is the expected failure mode for a stale compiled Vue asset against a mismatched Nova runtime.

How to Pitch It (Stakeholders)

To executives: This is a small, low-cost probe, not a platform bet. It tests whether a specific operator workflow — flipping flags in a back-office list — is worth optimizing. Cost is roughly a day of engineering for a spike, with a clear kill criterion: if operators don't measurably use the toggle within a week, we stop. The strategic value is less in the feature than in what the evaluation surfaces: the audit, permissions, and approval requirements hiding behind "just add a toggle," which we'd otherwise discover mid-sprint.

To engineering: Treat the repository as a reference implementation, not a dependency. The package is a few hundred lines (a Nova Field class plus a Vue component); we vendor it, pin it, rebuild the assets against our own Nova build, and read the write path before installing anything — specifically whether it posts to /nova-api/{resource}/{id} with PUT (policies, canSee, readonly, and validation all apply) or to a custom route (policies are bypassed). We add a feature test around the update endpoint so coverage survives a JS rebuild, wire audit through model events rather than the form, and keep the native Boolean field on the detail view via ->onlyOnIndex() / ->onlyOnDetail() so form-only context still exists where it matters. Rollout is one resource, one low-consequence flag, one week.

To whoever owns the Nova upgrade roadmap: this package is a line item. Every Nova major upgrade costs a rebuild plus smoke test for any forked custom field, because asset rebuilds can't be validated in CI without a licensed Nova install — a runbook step, budgeted explicitly, not discovered during the upgrade. If we're already planning Nova 4/5 within the next two quarters, skip the fork entirely and build the field natively from official scaffolding; the maintenance math inverts.

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.
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
frankyso/ipaymu
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core