Skip to content

[Feature] Cross-entity search from dashboard quick search and hold list add-item #64

@andrewyager

Description

@andrewyager

Description

The dashboard quick search bar and hold list add-item search currently only search Asset records. Users expect these to also surface Locations, Categories, and Hold Lists when the query matches — providing a unified "search everything" experience.

With the recent consolidation of all asset search callers onto build_asset_search (FTS + ranking), the asset search path is solid. But the quick search and hold list resolution don't reach beyond the Asset model.

Use Case

  • A user types a location name into the dashboard search bar expecting to navigate there — gets no results.
  • A user searching for a category by name in the dashboard expects to see assets in that category or a link to the category itself.
  • Hold list add-item search could benefit from matching location-scoped assets or surfacing category context to help users find the right item faster.

Proposed Approach

  1. Dashboard quick search (asset_search autocomplete): Return grouped results — Assets (existing), Locations, Categories — each as a labelled section in the dropdown. FTS for assets (already done), icontains for locations/categories (small tables, FTS unnecessary).
  2. Hold list add-item: The resolve_asset_from_input fallback (step 3e) already searches assets broadly. Consider whether location/category context should narrow results or just improve disambiguation messaging.
  3. Build a lightweight search_locations / search_categories helper alongside build_asset_search to keep the pattern consistent.

Spec Consideration

  • Would extend the application into new territory

S2.6.1 covers asset text search only. Cross-entity search from the dashboard/hold list is new scope that would need a spec addition (likely a new S2.6.5 or extension to S2.6.1).

Additional Context

Related work: Group 1–2 of the search consolidation (build_asset_search FTS service + caller migration) is complete. This issue builds on that foundation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions