[Bug] Campaign report filtering and count UX is inconsistent with DataGrid filters #65

Closed
opened 2026-07-14 20:08:40 +02:00 by zemion · 2 comments
Owner

Problem / User Need

The campaign report has duplicate filtering surfaces: column-header filters and a dropdown filter. The dropdown works better, while some column filters, such as IMAP status, behave like free-text filters instead of list filters. Counts shown above the report would also be useful as filter affordances.

Acceptance Criteria

  • Choose a single coherent filtering model for campaign reports and DataGrid-backed tables.
  • Status-like columns such as IMAP/SMTP use list/status filtering rather than free-text filtering.
  • Top-level counts can be used as filter shortcuts where appropriate.
  • The report does not present duplicate filter controls that disagree or confuse users.

Notes / Decisions

This likely depends on the shared DataGrid filtering direction.

## Problem / User Need The campaign report has duplicate filtering surfaces: column-header filters and a dropdown filter. The dropdown works better, while some column filters, such as IMAP status, behave like free-text filters instead of list filters. Counts shown above the report would also be useful as filter affordances. ## Acceptance Criteria - Choose a single coherent filtering model for campaign reports and DataGrid-backed tables. - Status-like columns such as IMAP/SMTP use list/status filtering rather than free-text filtering. - Top-level counts can be used as filter shortcuts where appropriate. - The report does not present duplicate filter controls that disagree or confuse users. ## Notes / Decisions This likely depends on the shared DataGrid filtering direction.
Author
Owner

Raised to P1 for the Campaign interface pass. Final interaction semantics depend on Core #263 fixing full-result DataGrid filtering; retain one coherent filter model and avoid Campaign-only DataGrid behavior.

Raised to P1 for the Campaign interface pass. Final interaction semantics depend on Core #263 fixing full-result DataGrid filtering; retain one coherent filter model and avoid Campaign-only DataGrid behavior.
Author
Owner

Codex State: done

Summary

  • Campaign report filtering, sorting, counts, and pagination now share the server-owned query model.
  • SMTP/IMAP outcome counts are exact toggleable shortcuts into the corresponding list filters and reset incompatible search/filter state coherently.

Verification

  • npm run test:report-grid (pass)
  • Core DataGrid component tests and production build (pass)
## Codex State: done ### Summary - Campaign report filtering, sorting, counts, and pagination now share the server-owned query model. - SMTP/IMAP outcome counts are exact toggleable shortcuts into the corresponding list filters and reset incompatible search/filter state coherently. ### Verification - `npm run test:report-grid (pass)` - `Core DataGrid component tests and production build (pass)`
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: GovOPlaN/govoplan-campaign#65
No description provided.