Workflow Pattern — Data

Control desk for table states.

This study defines how dense rows, row selection, sorting, pagination, bulk actions, loading, empty, and compact states compose into one operating surface.

Promotable table patterns need serializable row data, narrow callbacks, visible terminal states, and contained responsive overflow.

§01

Interactive study

The dominant metaphor is a control desk: a single operating surface with a live table, side readout, and visible terminal states. Promotion waits until this proves which contract belongs in ui-interactive.

Rows under review

5

Average fit

74%

Blocked

1

Control desk / operational matrix

One table, many operating states.

This study keeps the useful demo concepts visible while testing the canonical table organism: search, row selection, sorting, pagination, bulk action affordances, loading, compact and empty states.

AccountWorkflowOwnerFitPriorityStatusDue
Acme HealthSecurity responseMira92%highReviewToday
Northcare GroupRenewal deskTane84%highReadyTomorrow
CivicWorksEvidence packNoa78%mediumReviewMon
Rows per page
Page 1 of 2

Compact scan

A smaller table footprint for side panels and dense review surfaces.

AccountWorkflowOwnerFitPriorityStatusDue
Acme HealthSecurity responseMira92%highReviewToday
Northcare GroupRenewal deskTane84%highReadyTomorrow
Koru LogisticsAccess auditAri67%mediumBlockedFri

Loading and empty

Both terminal states need to be visible before a table contract is promoted.

AccountWorkflowOwnerFitPriorityStatusDue
AccountWorkflowOwnerFitPriorityStatusDue
No rows in this study state.

Virtualized scan

Large in-memory review modes render only visible rows while keeping the same columns, row actions, and responsive overflow contract.

AccountWorkflowOwnerFitPriorityStatusDue
Acme Health 01Security responseMira92%highReviewToday
Northcare Group 02Renewal deskTane83%highReadyTomorrow
Koru Logistics 03Access auditAri65%mediumBlockedFri
CivicWorks 04Evidence packNoa75%mediumReviewToday
Harbour Labs 05Intake triageIvy47%lowReadyTomorrow
Acme Health 06Security responseMira87%highReviewFri
Northcare Group 07Renewal deskTane78%highReadyToday
Koru Logistics 08Access auditAri60%mediumBlockedTomorrow
CivicWorks 09Evidence packNoa70%mediumReviewFri
Harbour Labs 10Intake triageIvy42%lowReadyToday
Acme Health 11Security responseMira82%highReviewTomorrow
Northcare Group 12Renewal deskTane73%highReadyFri

§02

Why this pattern is ready

Readiness is derived from checked-in scenario, quality, ownership, production-flow, and fixture-demand receipts—not assigned by catalogue copy.

Evidence-derived readiness

Scan, filter, sort, and act on dense operational rows without losing context.

Target user: Operators working through CRM and other row-based queues.

Promotion candidateverified 2026-07-14

Deterministic scenarios

  • libs/testing/data-fixtures/src/lib/data-table-workflow.fixtures.ts
  • libs/testing/data-fixtures/src/lib/make-data-table-rows.spec.ts

Reusable owners

  • DataTable

    @stackmates/ui-interactive · libs/app-client/ui-interactive/src/lib/organisms/DataTable/DESIGN.md

  • ContactsListClient

    @stackmates/app-client-crm · libs/app-client/app-client-crm/src/lib/contacts/ContactsListClient.tsx

Variant disposition

  • Controlled table

    promote

    Fixed: Serializable rows · Stable row identity · Visible terminal states

    Varied: Search and facet controls · Selection and bulk actions

    States: default · filtered · selected · loading · empty

    Falsifier: A repeated production pull cannot preserve context while filtering, sorting, paging, or acting on rows.

  • Compact table

    revise

    Fixed: Serializable rows · Stable row identity · Visible terminal states

    Varied: Reduced density · Side-panel fit

    States: default · compact · empty

    Falsifier: A second dense side-panel workflow proves compact mode is the primary table composition.

  • Virtualized scan

    lab-only

    Fixed: Serializable rows · Stable row identity · Visible terminal states

    Varied: Large in-memory row count · Virtualized viewport

    States: 90-row scan · search · vertical scroll

    Falsifier: Production measurement proves server pagination is insufficient for a repeated large in-memory review job.

Quality proof

  • accessibility

    pass

    Table proofs cover labelled selection, reset, column visibility, sortable headers, and visible empty results.

    • libs/app-client/ui-interactive/src/lib/organisms/DataTable/DataTable.spec.tsx
    • libs/app-client/ui-interactive/src/lib/organisms/DataTable/createSelectionColumn.tsx
  • responsive

    pass

    The reusable table owns horizontal overflow and CRM contacts verifies the scroll surface at mobile width.

    • libs/app-client/ui-interactive/src/lib/organisms/DataTable/DataTable.spec.tsx
    • apps/dreamineering/drmg-sales-e2e/src/e2e/crm/contacts/crm-contact-ui-flow.authenticated.spec.ts
  • interaction

    pass

    Focused proofs cover controlled search, facets, reset, sorting, pagination, selection, bulk actions, and virtualization.

    • libs/app-client/ui-interactive/src/lib/organisms/DataTableWorkflowStudy/DataTableWorkflowStudy.spec.tsx
    • libs/app-client/ui-interactive/src/lib/organisms/DataTable/DataTable.spec.tsx
  • performance

    pass

    The deterministic performance harness measures render and sort samples, while the study proves bounded virtual rendering.

    • libs/app-client/ui-interactive/src/lib/organisms/DataTablePerfHarness/DataTablePerfHarness.spec.tsx
    • libs/testing/data-fixtures/src/lib/make-data-table-rows.spec.ts

Production flow

Consumer
apps/dreamineering/drmg-sales/src/app/(app)/[orgSlug]/crm/contacts/page.tsx
Producer
libs/app-server/app-server/src/actions/crm-contacts.actions.ts#listCrmContactsWithSummaryAction
Application
libs/application/src/lib/use-cases/sales__crm/contact-crud.use-case.ts#createContactCrudUseCases
Port
IAgentProfileHumanContactRepository
Repository
AgentProfileHumanContactDrizzleRepository
Scope
end-to-end

Fixture → model findings

  • iddomain-truth

    Stable identity is required for row links, selection, and mutations. Owner: AgentProfileHumanContact.

  • account + workflow + ownerapplication-projection

    Operational labels may join several domain records and should be mapped for each table job. Owner: Application query/projection.

  • fit + priority + statuspresentation-state

    The generic study uses display signals; CRM maps only justified contact fields such as active status. Owner: Owning app-client mapper.

  • duefixture-only

    The due label creates useful table pressure but does not prove a CRM persistence requirement. Owner: @stackmates/testing/data-fixtures.

Readiness

Complete quality receipts and an end-to-end production pull support promotion review.

No blockers.

Next evidence

Repeat the controlled table anatomy on a second production row-operation surface before canonical promotion.