ZDDC/tables/js
ZDDC 83c3b332d5 feat(client): consume server-stamped audit body + render labels/readonly
tables/js/save.js: on 200/201, parse the YAML body the server now
echoes back (it carries the just-stamped audit fields) and replace
row.data with it. The previous local-merge code falsified the table
view — server stamping changes bytes the client doesn't predict
(revision, created_by, previous_sha), and the merge would have shown
stale values until a fresh GET. Falls back to local merge when the
response has no body (non-record write or older server).

form/js/widgets.js:
- honor schema.readOnly (alongside the existing ui:readonly UI
  override) so cascade-locked + audit fields render as disabled
- read x-labels for enums and render "<code> — <label>" in both
  <select> and radio variants (server-injected from
  field_codes:codes for human-readable dropdowns)
- propagate schema.pattern to <input pattern> as a UX hint
  (authoritative validation runs server-side via WriteWithHistory)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19 10:00:10 -05:00
..
add-row.js feat(tables): row editor — inline Add Row, Delete, multi-row paste, min row height 2026-05-15 16:07:28 -05:00
app.js feat(tables): editable cells phase 5 — undo + multi-cell ops 2026-05-09 10:39:26 -05:00
clipboard.js feat(tables): row editor — inline Add Row, Delete, multi-row paste, min row height 2026-05-15 16:07:28 -05:00
context.js feat: per-party RSK + project-level SSR/MDL/RSK rollup tables 2026-05-18 21:47:56 -05:00
editor.js feat(tables): explicit Save button + clearer dirty-row marker 2026-05-19 08:38:35 -05:00
export.js feat(tables): Export CSV button in the table toolbar 2026-05-19 07:00:23 -05:00
filters.js refactor(tables): in-dir convention + unified table+form HTML bundle 2026-05-09 09:15:26 -05:00
main.js feat(tables): explicit Save button + clearer dirty-row marker 2026-05-19 08:38:35 -05:00
mode.js refactor(tables): in-dir convention + unified table+form HTML bundle 2026-05-09 09:15:26 -05:00
render.js feat(tables): editable cells phase 1 — selection + keyboard nav 2026-05-09 09:16:39 -05:00
row-ops.js feat(tables): row context-menu opens the form, not raw YAML 2026-05-19 08:43:45 -05:00
save.js feat(client): consume server-stamped audit body + render labels/readonly 2026-05-19 10:00:10 -05:00
sort.js feat(tables): new sortable/filterable grid tool for directories of YAML files 2026-05-05 20:32:01 -05:00
undo.js feat(tables): editable cells phase 5 — undo + multi-cell ops 2026-05-09 10:39:26 -05:00
util.js feat(tables): new sortable/filterable grid tool for directories of YAML files 2026-05-05 20:32:01 -05:00