pf_app/routes
Paul Trowbridge b65da53360 Complete key dimension values as you type them in recode and clone
Recoding to a part meant typing a code from memory into a plain text box,
with the only feedback being that the sibling autofill either fired or
silently did nothing.

The values endpoint already existed but returned every distinct value with
no filter and no limit, which for part on osm_skinny is 11,290 rows -- too
slow to open and no easier to read than a short list. It now takes ?q= and
?limit=, so the field fetches matches for what has been typed so far,
debounced 200ms, and offers them through a native datalist.

Only key columns get it, which is the same condition the endpoint already
enforced, and the same one that decides whether the dim_group sibling
lookup runs on blur. So on osm_skinny it is part and customer: type 1601
and the eight parts containing it are offered; pick one and the nine
part-group columns fill themselves.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-16 23:55:37 -04:00
..
auth.js Put the app behind a login 2026-09-14 22:20:25 -04:00
log.js Stop totalling log entries the change log does not show 2026-09-16 23:31:49 -04:00
operations.js Ask whether a dollar change is price or volume 2026-09-16 23:11:05 -04:00
sources.js Complete key dimension values as you type them in recode and clone 2026-09-16 23:55:37 -04:00
tables.js Expose pf_note/pf_op in forecast data; fix tables list duplicates 2026-04-28 19:51:45 -04:00
versions.js Stop totalling log entries the change log does not show 2026-09-16 23:31:49 -04:00