-
Notifications
You must be signed in to change notification settings - Fork 0
features saved work
Active contributors: Douwe de Vries
Saved work covers two different artifacts: pair-order files for repeat setup and comparison snapshots for completed results. Pair-order files remain editable after loading; snapshots reopen read-only results.
src/backend/pair_order.rs
src/backend/comparison_snapshot.rs
src/backend/persistence/v1/mod.rs
frontend/src/hooks/useWorkflowPersistenceActions.ts
frontend/src/components/app/ResultsStep.tsx
frontend/src/components/ui/LoadResultButton.tsx
| Name | File | Description |
|---|---|---|
PairOrderSelection |
src/backend/requests.rs, frontend/src/types/api.ts
|
Selected row-key and comparison-column order. |
PersistedPairOrder |
src/backend/pair_order.rs |
Internal versioned pair-order payload. |
SnapshotV1 |
src/backend/persistence/v1/mod.rs |
Versioned snapshot payload. |
snapshotReadOnly |
frontend/src/types/api.ts, frontend/src/hooks/useComparisonWorkflow.reducer.ts
|
UI state that blocks follow-on edits after snapshot load. |
Pair-order save validates selections against the current loaded CSV headers and emits pretty JSON text. Pair-order load validates the version, header multiset, and selected labels, then updates frontend mapping state.
Snapshot save serializes completed comparison inputs, mappings, normalization, results, and generated summary. Snapshot load validates the persisted model, hydrates the session with result data, and moves the UI to read-only results.
graph TD
Config[Current mapping config] --> PairOrder[Save pair-order]
PairOrder --> Editable[Load into configure step]
Results[Completed comparison] --> Snapshot[Save snapshot]
Snapshot --> ReadOnly[Load into read-only results]
HTTP routes are registered in src/api/app.rs; desktop dialog commands live in src-tauri/src/commands.rs; frontend actions live in frontend/src/hooks/useWorkflowPersistenceActions.ts.
Change file schema in src/backend/pair_order.rs or src/backend/persistence/v1/mod.rs. Add version migration behavior before accepting older persisted files. Update frontend read-only UX in frontend/src/components/app/ResultsStep.tsx and reducer logic in frontend/src/hooks/useComparisonWorkflow.reducer.ts.
| File | Purpose |
|---|---|
src/backend/pair_order.rs |
Pair-order save/load validation. |
src/backend/comparison_snapshot.rs |
Snapshot save/load workflow helpers. |
src/backend/persistence/v1/mod.rs |
Snapshot schema and validation. |
frontend/src/hooks/useWorkflowPersistenceActions.ts |
Save/load/export actions. |
frontend/src/hooks/useComparisonWorkflow.reducer.ts |
Snapshot and pair-order state transitions. |