feat(harmonia): Export CSV + Print on every list surface - #6354
Merged
Conversation
…t, master, personal, partner) Every generated list page gains toolbar Export and Print actions, closing the gap where only documents (.print) and report pages could produce an output file: - shared basePage helpers: exportRowsCsv() downloads the rows as UTF-8 CSV (BOM so Excel decodes localized text, RFC-quoted cells, translated headers) and printRows() renders them into a minimal print window (the browser dialog covers paper and Save as PDF) - one implementation for all shells; - each list template (manage list, plain list, master list, personal my-list, partner list) emits its exportColumns metadata mirroring the table columns and resolves cells exactly like the table: FK columns export their referenced labels, dates their formatted form - never raw ids or serialized arrays; - exports cover the FULL filtered(+sorted) set, not the current page; the personal/partner lists export only the own rows the scoped controller serves (sensitive/owner columns are absent from their column sets by construction); - new defaults.export catalog key; the report table/chart toolbar labels (Refresh/Export/Print) now translate through the same defaults keys; - IntentEmissionCoverageIT asserts the helpers + toolbar buttons on the manage, master, personal and partner list fixtures (ran green locally, 1/1). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Every generated list surface - the manage list, plain list, master list, personal (my) list and partner list - gains toolbar Export (CSV download) and Print (browser print window; Save as PDF via the dialog) actions. Until now only documents (
.print) and the report pages could produce an output file; entity lists had no export at all.How
basePage.js(application-core, one implementation for all shells):exportRowsCsv(rows, columns, cellText, filename)- UTF-8 CSV with a BOM (Excel decodes localized text without an import wizard), RFC-quoted cells, headers translated through the columntkey;printRows(rows, columns, cellText, title)- the report page's minimal print-window pattern, right-aligned number columns.exportColumnsmetadata array mirroring its table columns and resolves cells exactly like the table: FK columns export their referenced labels, EntityStatus its status text, dates their formatted form - never raw ids or Jackson date arrays.defaults.exportcatalog key; the report table/chart toolbar labels (Refresh/Export/Print) now translate through the samedefaults.*keys instead of hard-coded English.Verification
IntentEmissionCoverageITextended per the engine-intent contract: assertsexportRowsCsv/printRowswiring in the generated manage/master/personal/partner list pages and the Export/Print buttons in their views. Ran green locally (1/1).🤖 Generated with Claude Code