-
Notifications
You must be signed in to change notification settings - Fork 0
features results review and export
Active contributors: Douwe de Vries
Results review presents the comparison summary, filters, searchable/sortable rows, expandable differences, and export actions. Users can export CSV through the backend or HTML from the frontend.
frontend/src/components/app/ResultsStep.tsx
frontend/src/components/SummaryStats.tsx
frontend/src/components/FilterBar.tsx
frontend/src/components/ResultsTable.tsx
frontend/src/features/results/
src/data/export.rs
| Name | File | Description |
|---|---|---|
ResultsStep |
frontend/src/components/app/ResultsStep.tsx |
Step 3 layout and save/export actions. |
SummaryStats |
frontend/src/components/SummaryStats.tsx |
Summary cards and banners. |
ResultRowViewModel |
frontend/src/features/results/presentation.ts |
Render-ready row model. |
buildSearchFields |
frontend/src/features/results/search.ts |
Field-scoped searchable text. |
export_results_to_bytes |
src/data/export.rs |
Backend CSV export. |
buildResultsHtmlDocument |
frontend/src/features/results/htmlExport.ts |
Frontend standalone HTML export. |
src/comparison/engine.rs returns RowComparisonResult values and summary counts. src/presentation/responses.rs serializes them for the frontend. The frontend builds view models, applies the selected filter and query, sorts rows, and renders rows in chunks of 200 in frontend/src/components/ResultsTable.tsx.
graph LR
Engine[RowComparisonResult] --> Response[ResultResponse]
Response --> VM[buildResultRows]
VM --> Filter[filter/search/sort]
Filter --> Table[ResultsTable]
Response --> CSV[src/data/export.rs]
Response --> HTML[htmlExport.ts]
CSV export goes through src/api/handlers.rs or src-tauri/src/commands.rs. HTML export is built client-side and saved through browser download or Tauri save dialog from frontend/src/services/tauri.ts.
Add result types in src/data/types.rs, src/presentation/responses.rs, frontend/src/types/api.ts, and frontend/src/features/results/presentation.ts together. Change export columns in src/data/export.rs or frontend/src/features/results/htmlExportTemplate.ts.
| File | Purpose |
|---|---|
frontend/src/components/ResultsTable.tsx |
Detailed result table. |
frontend/src/features/results/presentation.ts |
View-model, filtering, summary, detail logic. |
frontend/src/features/results/search.ts |
Search field model. |
frontend/src/features/results/htmlExport.ts |
HTML export document. |
src/data/export.rs |
CSV export. |