No description
Find a file
Cursor Agent 53ca235bc2 feat(config): redesign file settings into a per-column role table
Replaces the ⚙ Columns modal's eight separate 'which column(s) for
role X?' sections (Category/Status/Notes/Anki-front dropdowns +
Habit/Card-field/Categorical checkbox grids) with a single vertical
list of per-column rows. Each row gets:

- a Role select (none/Category/Status/Notes/Image/Anki front) —
  mutually exclusive, since each of these was already a single-column
  slot; picking one for a column automatically clears it from
  whichever column held it before, and clears any other role the same
  column previously held.
- three independent toggles (Habit/Card field/Categorical) a column
  can hold any combination of.

Also folds in an Image-column picker (previously name-detection only,
no UI) and renames the toolbar button/menu entry from 'Columns' to
'Config' since it now covers more than columns.

Role/toggle edits stay in-memory (this.current) until Save, same as
before; only add/remove-column still refetches from disk immediately
since those persist right away. Split refresh() (disk refetch, for
structural changes) from a new renderRows() (local re-render, for
role/toggle changes) so editing roles never discards other unsaved
edits in the draft.

Tests: rewrote the categorical-toggle tests for the new row structure,
added coverage for role exclusivity (cross-column eviction, same-
column reassignment) and confirmed role/toggle edits never call
getFileCfg (no disk refetch).

Co-authored-by: SVM0N <SVM0N@users.noreply.github.com>
2026-07-06 08:19:57 +00:00
src feat(config): redesign file settings into a per-column role table 2026-07-06 08:19:57 +00:00
test-support fix(add-entry): exclude title/index column from categorical dropdown detection 2026-07-06 07:19:14 +00:00
bench-load.mjs SWITCH TO CSV AS MAIN: retire XLSX, drop SheetJS, simplify save path 2026-05-24 07:23:02 +00:00
esbuild.config.mjs feat(mobile+ui): kanban slim, table-lag cuts, modal keyboard fix, search collapse 2026-05-24 20:43:32 +00:00
main.js feat(config): redesign file settings into a per-column role table 2026-07-06 08:19:57 +00:00
main.ts feat(entries): add a highlight option for entry titles 2026-07-06 07:35:55 +00:00
styles.css feat(config): redesign file settings into a per-column role table 2026-07-06 08:19:57 +00:00
test-csv-parser.mjs SWITCH TO CSV AS MAIN: retire XLSX, drop SheetJS, simplify save path 2026-05-24 07:23:02 +00:00
test-plugin-logic.mjs feat: project-tag notes, Anki sync, file-template commands, Tasks refinements 2026-06-15 16:47:28 +00:00
test-view-smoke.mjs feat(config): redesign file settings into a per-column role table 2026-07-06 08:19:57 +00:00
world-map.svg feat(travel): world-map view, residency gauges, editable trips, modal UX 2026-06-06 14:08:10 +00:00