-
Notifications
You must be signed in to change notification settings - Fork 615
[EPIC][UI]: Persist admin table filters across HTMX pagination and partial refresh #2992
Copy link
Copy link
Closed
Copy link
Labels
SHOULDP2: Important but not vital; high-value items that are not crucial for the immediate releaseP2: Important but not vital; high-value items that are not crucial for the immediate releaseenhancementNew feature or requestNew feature or requestfrontendFrontend development (HTML, CSS, JavaScript)Frontend development (HTML, CSS, JavaScript)javascriptJavascript or typescriptJavascript or typescriptuiUser InterfaceUser Interface
Milestone
Description
🔎 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?
- Current filtering is split between client-side DOM filtering and HTMX server responses.
- Pagination or refresh can reset user-applied filters.
- 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 filterUS-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 stateScope
- Centralize table filter state in one client-side source of truth
- Synchronize state with
pagination_controls.htmlURL 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
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
SHOULDP2: Important but not vital; high-value items that are not crucial for the immediate releaseP2: Important but not vital; high-value items that are not crucial for the immediate releaseenhancementNew feature or requestNew feature or requestfrontendFrontend development (HTML, CSS, JavaScript)Frontend development (HTML, CSS, JavaScript)javascriptJavascript or typescriptJavascript or typescriptuiUser InterfaceUser Interface