Skip to content

Feature ETP-4529: Emit dimensionsPanel column in generate-frontend#51

Open
Gremiger wants to merge 2 commits into
epic/ETP-3504from
feature/ETP-4529
Open

Feature ETP-4529: Emit dimensionsPanel column in generate-frontend#51
Gremiger wants to merge 2 commits into
epic/ETP-3504from
feature/ETP-4529

Conversation

@Gremiger

Copy link
Copy Markdown
Contributor

Summary

  • Adds an additive, opt-in dimensionsPanel: true decisions.json flag (alongside the existing grid boolean) that groups fields into a single synthetic dimensionsPanel grid column instead of individual columns, for the expand-row "Dimensiones contables" UX.
  • Wired through resolve-curated.js (FIELD_DECISION_COPY_PROPS) and generate-contract.js (applyGridHints), read independently of grid.
  • generate-frontend.js's generateTableComponent excludes dimensionsPanel fields from the normal grid-columns pass and emits one combined column (always last) via new buildDimensionsPanelColumn/buildDimensionFieldLiteral helpers.
  • Fixed a pre-existing SF_ROOT env fallback gap in resolve-curated.js that broke LOCAL_CORE dev-mode usage (every sibling script already had this fallback).
  • 3 new unit tests in cli/test/generate-frontend.test.js.

Why

Companion to etendo_schema_forge's ETP-4529 work (accounting dimension visibility) — the app-shell side already has a generic InlineLinesPanel dimensionsPanel column type (extracted from Amortización's existing expand-row pattern), but 4 windows (sales-invoice, purchase-invoice, goods-shipment, goods-receipt) turned out to have pipeline-generated line tables with no working custom-override point, so the generator itself needed to support emitting this column type.

Test plan

  • node --test 'cli/test/*.test.js' — 2439 pass, 0 fail (baseline 2436 + 3 new)
  • Additivity verified: regenerated physical-inventory (zero dimensionsPanel fields) before/after — byte-identical output, only updatedAt differs
  • LOCAL_CORE=1 end-to-end verification against all 4 target windows in etendo_schema_forge (sales-invoice, purchase-invoice, goods-shipment, goods-receipt) — generated tables correctly declare the new column with per-window field overrides
  • Pending: bump etendo_schema_forge's core pin to the preview package published from this PR, then Alex (reviewer) pass across both repos before merging to epic/ETP-3504

@github-actions

github-actions Bot commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

📦 Preview packages published — dist-tag alpha

0.3.12-preview.feature-ETP-4529.20260718224403.f35e27a

To exercise the published-package path (no LOCAL_CORE), bump all
core pins to this preview in the functional repo and reinstall:

make bump-core-version VERSION=0.3.12-preview.feature-ETP-4529.20260718224403.f35e27a

Auto-updated on each push to this branch; supersedes older previews.

Gremiger added 2 commits July 18, 2026 22:41
Collect fields flagged decisions.json dimensionsPanel:true into one
synthetic grid column instead of individual columns, so the shared
"Dimensiones contables" expand-row UX works on pipeline-generated
lines tables, not just hand-written custom components. Fully additive:
verified byte-identical output on an unaffected window. Also fixes
resolve-curated.js's missing SF_ROOT override, which silently broke
LOCAL_CORE dev mode for --write.
@sonarscanetendo

Copy link
Copy Markdown

Passed Quality Gate passed

Issues

Measures

Project ID: etendosoftware_schema_forge_core_976a1e0b-4b24-4757-a2f4-8afa9a5e0289

View in SonarQube

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant