Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -1828,6 +1828,27 @@
(`model_edits_for`), so ones added after a table step follow its Undo/Redo;
the step's recorded `model_edits` still restore its `#REF!` cases.

## Pivot slicer and timeline caches on save (#1797)

- `remove_pivot` notes the pivot as `(sheetId, name)` in
`SheetPackage::removed_pivots` (sheetId of its sheet's `<sheet>`, name from
its table part; either not found means nothing is noted), and `remove_sheet`
goes through it. The save runs `drop_pivot_slicers` right after
`drop_table_slicers`: a cache in `xl/slicerCaches` or `xl/timelineCaches`
whose `<pivotTables><pivotTable tabId name/>` entries are all noted goes with
its slicers or timelines (`SlicerKind`: `SLICERS`, `TIMELINES`; part, sheet
and workbook ext entries, `tle:timeslicer` anchors, relationship, defined
name), through the `drop_slicer_caches` shared with tables; a cache that
also filters a pivot that stays only loses the noted entries. A pivot added later under a
noted pair keeps it noted (its cache is its own). `remove_pivot` keeps the
cache part, override, workbook rel and `<pivotCache>` entry while another
pivot shares the cache. Synthetic fixtures only, as for
table slicers; restoring slicers on a sheet restore is not done.
- The `Slicer_<name>` name of a dropped slicer cache stays in
`Workbook::defined_names` until a reload (the file is right on every save).
The suite's Go To leaves `Slicer_` and `NativeTimeline_` names whose formula
is `#N/A` out of its list (a user's own name over a range stays).

## Sheet hyperlinks in .xls, and file URI forms (#1726)

- `gridcore/src/legacy/hlink.rs` is the HLINK record both ways: `body` for
Expand Down
Loading
Loading