ZDDC/classifier/js
ZDDC 1bb5d1ad97 feat(classifier): export filtered file list to TSV + direct path bind on paste-back
A round-trip workflow: export the file list, edit it in Excel, paste it back —
binding files by exact path or fuzzy name.

Export (left / folder tree, Classify mode):
- A "⬆ Export list" button in the Show toolbar copies the CURRENT filtered file
  set (name search + the Show toggles) to TSV — header `path<TAB>file`, files
  only, no folder rows. It honours every active filter but ignores expand/collapse
  (display-only), so files inside collapsed folders are included. `path` is the
  file's root-relative key; `file` is the bare filename. Clipboard copy, with a
  .tsv download fallback when the clipboard API is blocked (e.g. file://).
- Reuses the tree's computeVisible() so the export matches exactly what the
  filters show.

Paste-back (right / "Paste rows"): the Current name column now accepts either form
- Bare filename → today's behaviour: fuzzy name match / drop later.
- Full path (the exported `path`) → binds that EXACT file directly on paste:
  proposeMatches detects currentName === a file's key as a confidence-1 `via:'path'`
  match (the strongest signal), folded into the existing auto-assign pass. A path
  that matches nothing falls back to its basename for fuzzy matching.
- A pasted full path on a row with NO tracking number yet is still CLAIMED
  (recorded in row.bound); when a tracking/rev later lands, restampRow places the
  claimed file onto the new leaf. (User choice A.)

Tests: export TSV honours the filter + includes collapsed folders; a full-path
Current name binds the exact file (and leaves others untouched); a path with no
tracking is claimed then placed once tracking is filled. 69 classify green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 08:50:49 -05:00
..
app.js feat(classifier): export filtered file list to TSV + direct path bind on paste-back 2026-06-16 08:50:49 -05:00
classify.js feat(classifier): export filtered file list to TSV + direct path bind on paste-back 2026-06-16 08:50:49 -05:00
copy.js fix(browse,classifier): backdrop dismiss no longer fires on a drag out of an input 2026-06-15 10:36:07 -05:00
dir-picker.js fix(browse,classifier): backdrop dismiss no longer fires on a drag out of an input 2026-06-15 10:36:07 -05:00
dnd.js ZDDC: document-control tools + zddc-server 2026-06-11 13:32:31 -05:00
excel.js ZDDC: document-control tools + zddc-server 2026-06-11 13:32:31 -05:00
filter.js ZDDC: document-control tools + zddc-server 2026-06-11 13:32:31 -05:00
persist.js ZDDC: document-control tools + zddc-server 2026-06-11 13:32:31 -05:00
preview.js ZDDC: document-control tools + zddc-server 2026-06-11 13:32:31 -05:00
resize.js feat(classifier): By Tracking Number is now a flat editable grid (one row per file) 2026-06-15 16:51:39 -05:00
scanner.js ZDDC: document-control tools + zddc-server 2026-06-11 13:32:31 -05:00
selection.js ZDDC: document-control tools + zddc-server 2026-06-11 13:32:31 -05:00
sort.js ZDDC: document-control tools + zddc-server 2026-06-11 13:32:31 -05:00
spreadsheet.js ZDDC: document-control tools + zddc-server 2026-06-11 13:32:31 -05:00
store.js ZDDC: document-control tools + zddc-server 2026-06-11 13:32:31 -05:00
target-tree.js feat(classifier): export filtered file list to TSV + direct path bind on paste-back 2026-06-16 08:50:49 -05:00
tree.js feat(classifier): export filtered file list to TSV + direct path bind on paste-back 2026-06-16 08:50:49 -05:00
utils.js ZDDC: document-control tools + zddc-server 2026-06-11 13:32:31 -05:00
validator.js ZDDC: document-control tools + zddc-server 2026-06-11 13:32:31 -05:00
workspace.js ZDDC: document-control tools + zddc-server 2026-06-11 13:32:31 -05:00