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 Text Filter Laravel Package

yaoko/nova-text-filter

A Laravel Nova filter that adds a text input to resource index screens, letting users narrow listings by typing a search term. Simple to register and configure per resource, it keeps filtering lightweight and works alongside Nova's built-in filters.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Back-office/admin UX roadmap. If Nova is the internal control plane for support, ops, or finance, a per-column free-text filter is a recurring request ("let me type part of an email/order ref/tracking number"). This package is a pre-built answer to a narrow but frequent ask, so it directly informs how fast you can close out admin-tooling tickets without touching Vue.
  • Build vs. buy at the micro scale. Nova ships select, boolean, and date filters but no free-text input filter, so every team eventually writes one. This is the smallest possible build-vs-buy decision — the honest comparison is ~1–2 hours of engineering plus tests versus adopting an unmaintained 0-star dependency. Use it as a forcing function to set a team policy on micro-dependencies: vendor the code is often the right answer, and this package is a good candidate to copy in with attribution.
  • Lens support = reporting workflows. Because it applies to lenses as well as resources, it enables ad-hoc narrowing inside saved reporting views (e.g., "all invoices in this lens whose reference contains INV-2024"), which is usually the difference between an ops team using Nova versus exporting to spreadsheets.
  • Reducing queue latency on internal requests. A drop-in filter means an ops request that would otherwise wait for a sprint slot can ship in a config change. That's a measurable lever on internal satisfaction and support-handle-time metrics.
  • Portfolio signal on dependency hygiene. With 0 stars and 0 dependents, this should not enter the critical path of any product surface. Treat it as a candidate for vendoring/forking rather than a platform commitment — the decision itself is worth recording in your architecture-decision log.

When to Consider This Package

Adopt (or vendor) if:

  • You are on the matching Laravel Nova major version and have a concrete, named user request for free-text column filtering.
  • The team has no Vue/Nova filter experience and the cost of a custom component is genuinely higher than the cost of a copy-paste.
  • You are willing to fork or inline the source, pin the version, and own the code — i.e., you are buying code, not support.
  • The target columns are small-to-moderate cardinality and indexed; the filter is used interactively by a handful of internal users.

Look elsewhere (or build in-house) if:

  • Maintenance risk matters. Zero stars, zero dependents, no visible ecosystem means no security response, no Nova 5 compatibility guarantee, and no community bug triage. For a 60-line filter, the risk/benefit ratio is poor for anything long-lived.
  • Performance is a concern. Text filters of this shape typically compile to LIKE '%term%', which is non-sargable and will table-scan. On large tables, prefer Nova's built-in search (which can be backed by Laravel Scout/Meilisearch) or an indexed exact/prefix filter.
  • Cross-database correctness matters. Case sensitivity and collation differ between MySQL and Postgres; verify behavior before promising "just type anything."
  • You need richer semantics — multi-column search, relation filters, saved filter state, or operators (contains, starts with, equals). Scope has outgrown a single-input component.
  • Security review is strict. Audit the apply() method for wildcard injection (% / _ in user input), verify it uses bindings, and confirm it respects Nova's policy-scoped query so it cannot widen visibility.

How to Pitch It (Stakeholders)

To executives: "This is a small, free component that closes a specific gap in our admin panel — the ability for support and ops staff to search within a column instead of exporting to a spreadsheet. It is a convenience win, not a platform bet: no vendor relationship, no license cost, negligible implementation effort. Recommendation is to adopt it as copied-in code we own rather than as a live third-party dependency, which removes the maintenance and supply-chain risk while keeping the user benefit. Expected impact: faster turnaround on routine internal tooling requests and less spreadsheet shadow-IT."

To engineering: "It's a text-input Nova filter that works on resources and lenses — roughly the thing we'd write ourselves in an afternoon. Upside: skips the Vue boilerplate and gives us lens support for free. Downsides: zero stars, zero dependents, unverified maintenance, and a LIKE '%…%' query pattern that won't use indexes. Proposal: review the apply() method for correct binding and wildcard escaping, confirm Nova version compatibility, then either fork-and-pin or vendor the source into app/Nova/Filters with attribution. If either check fails, we build the ~60-line equivalent and keep our dependency count flat."

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.
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log