Skip to content

Add PivotFormat.style and enable PivotTable.formats - #53

Merged
borgar merged 2 commits into
jsfkit:mainfrom
gthb:pivot-format-records
Jun 18, 2026
Merged

Add PivotFormat.style and enable PivotTable.formats#53
borgar merged 2 commits into
jsfkit:mainfrom
gthb:pivot-format-records

Conversation

@gthb

@gthb gthb commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Enable PivotTable.formats and add style?: Style to PivotFormat, with each format's differential style inline.

JSF Style is already sparse (every property optional), which matches the differential-format semantics, so no separate dxf table is introduced; writers can dedupe inline styles into an OOXML dxfs table.

Document the area-tracking contract on PivotFormat: formats are re-resolved against the current layout, so formatting follows the targeted region rather than cell coordinates when the pivot reshapes.

Still defer conditionalFormats.

gthb added 2 commits June 11, 2026 10:59
PivotFormat and PivotArea have existed since 2.4.0, but PivotTable.formats
stayed commented out pending a representation for the differential (dxf)
styles the format records carry. Carry the differential style INLINE on each
PivotFormat as `style?: Style` instead of introducing a JSF dxf table: the JSF
Style type is already sparse (every property optional), which is exactly the
differential-format semantics, and converters can dedupe inline styles into
an OOXML dxfs table at write time.

Documents the area-tracking contract on PivotFormat: formats are the durable
representation of user formatting on pivot output, re-resolved against the
layout on every repaint so formatting follows regions (not cell coordinates)
across reshapes.

conditionalFormats stays deferred (its model is not finalized).

Bump to 2.5.0 (additive).
The version bump belongs in the release flow, not in this PR.
@borgar
borgar merged commit a14ec87 into jsfkit:main Jun 18, 2026
@gthb
gthb deleted the pivot-format-records branch June 18, 2026 14:08
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.

2 participants