Skip to content

[EPIC][UI]: Persist admin table filters across HTMX pagination and partial refresh #2992

@crivetimihai

Description

@crivetimihai

🔎 Persist admin table filters across HTMX pagination and partial refresh

Goal

Ensure search text, “show inactive” toggles, tag filters, and sort/page context stay consistent across HTMX swaps, pagination clicks, and reloads.

Why Now?

  1. Current filtering is split between client-side DOM filtering and HTMX server responses.
  2. Pagination or refresh can reset user-applied filters.
  3. The resulting behavior feels inconsistent and causes repeated manual re-filtering.

User Stories

US-1: Durable filtering

As an Admin
I want my table filters to persist while navigating pages
So that I can keep working in a stable filtered view

Acceptance Criteria:

Given I apply search and inactive filters on a table
When I paginate or refresh the partial
Then the same filter state remains applied
And visible row counts remain consistent with the active filter

US-2: Shareable filtered state

As an Admin
I want filter state encoded in URL query parameters
So that I can bookmark/share a specific view

Acceptance Criteria:

Given I modify filters
When the URL updates
Then filter parameters are namespaced per table
And opening that URL restores the same filtered state

Scope

  • Centralize table filter state in one client-side source of truth
  • Synchronize state with pagination_controls.html URL generation
  • Rehydrate and reapply filters after HTMX content swaps
  • Add visible status text for filtered row counts

Definition of Done

  • No filter loss across pagination or partial reload
  • URL state round-trips accurately
  • Behavior is consistent for servers/tools/resources/prompts/gateways tables
  • Accessibility status updates are present for filter result changes

Metadata

Metadata

Assignees

No one assigned

    Labels

    SHOULDP2: Important but not vital; high-value items that are not crucial for the immediate releaseenhancementNew feature or requestfrontendFrontend development (HTML, CSS, JavaScript)javascriptJavascript or typescriptuiUser Interface

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions