Overview
A list-report floorplan standardizes table-first workflows: search, filter, review, and export.
Keep row density and action density balanced so people can process many rows quickly without losing query or selection context.
Treat filter, sort, pagination, visible columns, and export scope as one durable report state that can be shared, restored, and audited.
Query, configure, and export a governed report
Filter and sort records, change density and visible columns, select rows across the report, inspect export scope, and page through results.
Access requests
Review policy-sensitive requests across every operational team.
| Updated | ||||||
|---|---|---|---|---|---|---|
| Customer data exportREQ-2916 | Privacy | Priya Shah | High | Policy check | 34 min ago | |
| Production access exceptionREQ-2918 | Security | Maya Chen | High | In review | 8 min ago | |
| Retention policy exceptionREQ-2914 | Legal | Asha Mehta | Medium | Open | 2 hrs ago | |
| Vendor renewal assessmentREQ-2917 | Finance | Jon Bell | Medium | Open | 21 min ago | |
| Workspace role changeREQ-2915 | Platform | Liam Garcia | Low | Approved | 1 hr ago |
Anatomy
Use each piece in this order to keep interpretation and automation consistent.
- 1Filter header
Primary controls for scope and query intent.
- 2Report toolbar
Exports, density, and display mode controls.
- 3Data grid
Main content row rendering with row-level and bulk actions.
- 4Pager
Pagination with summary and jump points.
- 5Footer meta
Totals, generation details, and refresh state.
The ordering here is not visual-only; it reflects interaction priority and expected user cognition. Keep this order unless policy demands a specific domain exception.
When to use
Use this pattern when the user needs guided consistency, state, and reuse at scale.
Recommended
- Audit and operations reporting
Use for periodic analysis and review tasks.
- Large dataset management
Use when users filter and sort often.
- Governance exports
Use when data snapshots must be exported.
When not to use
Avoid forcing this pattern where simpler, direct interactions are sufficient.
Avoid
- Single item editors
Use detail floors for complex mutation flows.
- Informational pages
Use cards and callouts for static content.
- High-frequency events
Use streaming views for real-time logs.
Variants
A small number of variants helps teams choose correctly without adding complexity.
Analytic
Denser row model for internal operations.
Configurable
Column and filter customization.
Minimal
Reduced columns for quick triage.
States
States communicate readiness, risk, and expected user behavior.
| State | Trigger | Visual response | Interaction |
|---|---|---|---|
| Initial | Page load | Filter placeholders and skeleton | Collect filters before rendering heavy rows. |
| Filtered | User applies query | Updated row subset and totals | Preserve selected rows when possible. |
| Empty result | Valid query returns no rows | Filter-aware recovery guidance inside the table region | Allow users to clear or revise criteria without leaving the report. |
| Partial failure | Rows or metadata cannot be resolved | Keep independent controls and identify the affected source | Offer retry without discarding the query. |
| Export ready | Export command | Export confirmation and filename preview | Offer download and audit trace IDs. |
Behavior
Behavior should remain predictable across devices, permissions, and async edges.
Durable query state
Keep filter, sort, column, density, and page state deterministic and URL-compatible.
Governed export
Confirm scope, format, policy masking, and audit identity before file generation.
Selection memory
Keep selection state by immutable ID across pagination and explain when a query change clears it.
Accessibility
Keep interaction clarity high and ensure assistive technologies get the same meaning.
| Key | Action |
|---|---|
| Ctrl/CmdA | Select all rows in page or active result set when supported. |
| PageDown | Move to next row set where paging is keyboard accessible. |
| Ctrl/CmdE | Trigger report export flow. |
- Ensure table headers are exposed and sortable semantics are clear.
- Keep action buttons announced and grouped by row context.
- Give horizontally scrollable table regions keyboard access on narrow screens.
- Announce result totals, selection changes, export completion, and data errors.
- Keep column order consistent between headers and every data row.
Content guidelines
Consistency is achieved by language standards, not by design only.
Row naming
Use entity-first naming for quick scanning.
REQ-1024 · Payout request
Totals
Place totals where users expect them.
Showing 15–30 of 248 items
Export language
Use explicit retention and scope language.
Export current filtered list
Examples
Reference implementation style, payloads, and practical behavior.
Compose a controlled report
- Keep query state application-owned so the URL, request, saved view, and export share one contract.
- Use stable row identifiers to preserve selection across server-side pages.
- Generate visible columns from the same ordered definition used for persisted preferences.
Persist an auditable query contract
- Store domain field names and sort directions instead of component-internal state.
- Version visible-column and filter schemas before restoring older saved reports.
- Record the exact query, policy mask, source timestamp, and requester in the export audit event.
Props / API
Use these API entries as a baseline contract and validate them against your domain layer.
These names are implementation-oriented and should map to your local contracts.
Props