Filter Dashboard Data by Multiple Criteria
The Report Filter Widget provides a multi-select filter panel that allows users to combine filters across area, organization level, date range, activity type, and peer mentor status. Filters stack and narrow results cumulatively. Filter state is persisted within the session so that the user can apply a filter, navigate to a peer mentor detail, and return to find their filters still applied. The widget integrates with the Coordinator Report Service, which passes the resolved filter parameters alongside the user's scope key when executing aggregation queries. All filters operate only within the authenticated user's data scope — a coordinator cannot filter to see another local association's data.
User Story
Acceptance Criteria
- Given the dashboard is open, when the user opens the filter panel, then filter options for area, date range, activity type, and peer mentor status are presented
- Given a date range filter is applied, when the dashboard refreshes, then all metrics and charts reflect only activities within that date range
- Given multiple filters are applied simultaneously, when the dashboard updates, then results match all applied filter criteria (AND logic between filter dimensions)
- Given the user has applied filters and navigates away from the dashboard, when they return in the same session, then the previously applied filters are still active
- Given a coordinator is filtering, when they attempt to select an area outside their organizational scope, then that option is not available in the filter panel
- Given no activities match the applied filter combination, when the filters are applied, then the dashboard displays an empty state message rather than showing zeros without context
Business Value
Without filtering, coordinators receive a single aggregate view that obscures which areas, periods, or activity types are underperforming. Multi-select filters allow coordinators to answer specific operational questions — such as which peer mentors have had no activities in the past 30 days, or how activity volumes compare across local associations in a region — without manual data extraction. This directly reduces the time coordinators spend preparing for management meetings and regional reporting.
Components
- Report Filter Widget ui
- Coordinator Report Service service
- Report Scope Resolver service
- Coordinator Stats Repository data