Misc · Export and import: export, field mapping and a CSV importer

misc::ExportDialog offers the owner's formats as cards and hands the
chosen one over for the owner to write. misc::ImportDialog maps the
file's columns to the app's fields, matched by name to start, over a
preview, and asks for each required field's column. misc::CsvImporter
reads CSV as RFC 4180, lets the first row name the columns or not, and
maps it through the ImportDialog into records; text that does not read
says why.
This commit is contained in:
ZacharyZhang-NY committed 2026-09-28 05:20:03 -04:00
1 parent cbba4ddeec
commit 79fe78cefd
9 files changed
+1023 -4

No files matched your search

+3 -3
View File
@@ -348,9 +348,9 @@
## T42g Misc · Export and import
- [ ] ExportDialog — PDF, PNG, CSV, JSON
- [ ] ImportDialog — field mapping
- [ ] CSVImporter
- [x] ExportDialog — PDF, PNG, CSV, JSON → `misc::ExportDialog`: the owner's formats as cards, and Export hands the chosen one over for the owner to write; each way out answers once
- [x] ImportDialog — field mapping → `misc::ImportDialog`: a Select of the columns for each field, matched by name to start, over a preview of the first rows; Import asks for each required field's column
- [x] CSVImporter → `misc::CsvImporter`: CSV read as RFC 4180 (`misc::read_csv`), its first row naming the columns unless the box says otherwise, mapped through the ImportDialog into records; text that does not read says why
## T43 Library Tooling — `src/tooling`