Export Confirmation Dialog
Component Detail
Description
Modal dialog that presents a summary of export parameters (organisation, period, format, estimated row count) before the user confirms the export. Prevents accidental or mis-configured exports.
bufdir-export-confirmation-dialog
Summaries
The Export Confirmation Dialog protects the organisation from costly compliance errors by requiring explicit user confirmation before any Bufdir export is submitted. By surfacing a clear, human-readable summary of the selected organisation, reporting period, file format, and estimated row count, it eliminates the risk of accidental or misconfigured submissions that could trigger regulatory scrutiny or require costly re-reporting cycles. This safeguard directly improves data quality, reduces administrative rework, and builds staff confidence in the reporting process — supporting the organisation's regulatory obligations to Bufdir with minimal added friction to the user journey.
The Export Confirmation Dialog is a low-complexity frontend component with zero external service dependencies, making it straightforward to build and test in isolation. Delivery effort is minimal — approximately one to two days of frontend development with a simple test suite covering the confirm and cancel paths and edge cases. The primary coordination risk is UX alignment: the dialog's content (row count, period, format) must be accurately populated by the upstream export parameter form, creating an implicit dependency on the completeness of that state. Engage QA early to validate edge cases such as very large estimated row counts, unusual date ranges, and mobile layout rendering before sign-off.
The Export Confirmation Dialog is a self-contained frontend modal component deployed in both web and mobile execution contexts. It exposes four interfaces: `show(ExportSummary)` to render the dialog with export parameters, `onConfirmed()` and `onCancelled()` as event callbacks for the parent form, and `buildSummaryContent(ExportSummary)` to construct the rendered parameter block. The component holds no internal state beyond the provided `ExportSummary` object and carries no service dependencies, making it trivially unit-testable. Implement using the project's standard modal/dialog primitive, ensuring keyboard accessibility (Escape to cancel, Enter to confirm) and responsive layout for mobile.
The `ExportSummary` interface should be strictly typed to include organisation name, period start/end dates, format enum value, and estimated row count integer.
Responsibilities
- Display export summary for user review
- Require explicit confirmation before initiating export
- Allow the user to go back and adjust parameters
Interfaces
show(ExportSummary summary)
onConfirmed()
onCancelled()
buildSummaryContent(ExportSummary summary)