Commit Graph
2 Commits
Author SHA1 Message Date
David Richardson 211a91ae50 Improve Tests, CSVImport: Add progress, cancellation and chunked parsing
* AppController.j: Import through a progress panel driven by a CPProgress, with a Cancel button.
  - Parse in chunks between run loop passes.
  - Report the total import time, and rows past the browser's maximum element height.

* CSVParser.j: Parse incrementally, cutting each field with a single substring, and skip empty lines.

* Resources/Samples/.gitattributes: Preserve the sample files' bytes.
2026-11-02 15:31:20 -06:00
David Richardson 40c5c466c1 Tests: Add CSVImportTest manual application
* AppController.j: Import CSV files through CPOpenPanel into a table built from the header row.
  - Run the panel with a message and an options accessory view, or with neither.
  - Add options for a sheet, several files, a folder, and a delegate that rejects files.
  - Decode each file with a chosen encoding, or with encoding detection.
  - Assign columns to fixed fields in a sheet that shows sample values.

* CSVParser.j: Parse RFC 4180 records with any one-character delimiter, and detect the delimiter.

* main.j, Info.plist, index.html, index-debug.html, Jakefile: Add the application's entry points and build tasks.

* Resources/Samples: Add sample files in several encodings and delimiters, with files for the rejection paths.
2026-11-02 14:54:05 -06:00