ZDDC/browse/js
ZDDC 3823946d4f feat(browse): unify export formats via one matrix; add PDF to Export menu
The Export context-menu offered only md↔docx↔html (a symmetric set), so PDF
— which the server supports only as md→pdf — was missing. The markdown
editor's DOCX/HTML/PDF buttons hardcoded their own list, so the two could
drift.

Introduce a single source of truth in download.js: EXPORT_MATRIX mirrors
zddc/internal/convert.Convert() exactly (md→docx|html|pdf, docx→md|html,
html→md|docx), exposed as download.exportTargets(ext) + download.convertUrl().
The Export submenu and the editor's buttons both consume it, so a .md file now
offers PDF in the menu and the two surfaces can never disagree. PDF stays
markdown-only (no docx→pdf / html→pdf path exists server-side).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-05 08:12:01 -05:00
..
accept-transmittal.js refactor(browse): consolidate duplicated helpers into util.js; fix YAML save divergence 2026-06-03 15:07:00 -05:00
app.js feat(browse): capability/role/tier-driven, context-correct menu system 2026-06-04 07:21:02 -05:00
conflict.js feat(browse): lost-update protection for editors + shared conflict dialog 2026-06-03 16:24:15 -05:00
create-transmittal.js refactor(browse): consolidate duplicated helpers into util.js; fix YAML save divergence 2026-06-03 15:07:00 -05:00
download.js feat(browse): unify export formats via one matrix; add PDF to Export menu 2026-06-05 08:12:01 -05:00
events.js feat(browse): capability/role/tier-driven, context-correct menu system 2026-06-04 07:21:02 -05:00
grid.js feat(zddc): Phase 4b — grid mode driven by cascade default_tool 2026-05-11 16:15:25 -05:00
history.js refactor(browse): consolidate duplicated helpers into util.js; fix YAML save divergence 2026-06-03 15:07:00 -05:00
hovercard.js refine(browse): leaner menu — fold Navigate-into into Open, hide unpermitted actions, URL link in info box 2026-06-04 07:59:21 -05:00
init.js feat(browse): capability/role/tier-driven, context-correct menu system 2026-06-04 07:21:02 -05:00
loader.js refactor(browse): remove dead code, document state shape 2026-06-03 15:32:05 -05:00
menu-model.js feat(browse): unify export formats via one matrix; add PDF to Export menu 2026-06-05 08:12:01 -05:00
plan-review.js refactor(browse): consolidate duplicated helpers into util.js; fix YAML save divergence 2026-06-03 15:07:00 -05:00
preview-markdown.js feat(browse): unify export formats via one matrix; add PDF to Export menu 2026-06-05 08:12:01 -05:00
preview-yaml.js feat(server): add declarative views: cascade key + ViewAt resolver (schema) 2026-06-04 09:53:53 -05:00
preview.js feat(browse): lost-update protection for editors + shared conflict dialog 2026-06-03 16:24:15 -05:00
stage.js refactor(browse): consolidate duplicated helpers into util.js; fix YAML save divergence 2026-06-03 15:07:00 -05:00
tree.js feat(browse): capability/role/tier-driven, context-correct menu system 2026-06-04 07:21:02 -05:00
upload.js refactor(browse): remove dead code, document state shape 2026-06-03 15:32:05 -05:00
util.js feat(browse): lost-update protection for editors + shared conflict dialog 2026-06-03 16:24:15 -05:00