User Interface medium complexity frontend
2
Dependencies
0
Dependents
0
Entities
0
Integrations

Description

Layered onto the existing user management table, this component adds a sticky checkbox column for row selection and an action toolbar that activates when one or more users are selected. It presents a confirmation dialog showing the count of affected users before executing, and displays inline per-record success and failure counts after completion. For large selections (>100 users) it renders a live SSE progress indicator so admins can track job status without blocking.

Feature: Bulk Actions

bulk-action-controls

Sources & reasoning

The feature description explicitly requires a checkbox selection interface, a confirmation step showing affected count, and per-record result reporting after execution. The implementation notes add the SSE progress indicator for large selections. All of this is surface-level UI layered onto the existing user table - one cohesive component with a clear boundary.

No source references — this artifact was included based on reasoning alone (see above).

Responsibilities

  • Render sticky checkbox selection column integrated with the user list table
  • Show and hide the bulk action toolbar based on current selection state
  • Present confirmation dialog with action label and affected user count before execution
  • Display per-record result summary (success count, failure count, error details) inline after operation
  • Render real-time progress indicator fed by SSE stream for background batch jobs

Interfaces

selectAll()
deselectAll()
getSelectedUserIds(): string[]
showConfirmationDialog(action: BulkActionType, affectedCount: number): Promise<boolean>
renderResultSummary(results: BulkOperationResult[]): void
onActionSelect(action: BulkActionType): void
subscribeToProgress(jobId: string): void

Relationships

Dependencies (2)

Components this component depends on