Bulk Action Controls
Component Detail
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.
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