Skip to content

[pull] latest from ag-grid:latest#657

Merged
pull[bot] merged 15 commits intocode:latestfrom
ag-grid:latest
Mar 20, 2026
Merged

[pull] latest from ag-grid:latest#657
pull[bot] merged 15 commits intocode:latestfrom
ag-grid:latest

Conversation

@pull
Copy link

@pull pull bot commented Mar 20, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

JamesSwinton and others added 15 commits March 20, 2026 09:51
* Add grid translations for 35.2

* Fix missing ar-EG translations

* Apply suggestion from @StephenCooper

* Apply suggestion from @StephenCooper

* Remove deferMode as not required any more

---------

Co-authored-by: Stephen Cooper <scooperdev@gmail.com>
* Dont start example in pivot mode

* Fix Column Move Dropping

* revert example change
* [AG-3471] Fix remaining QA bugs for deferred apply mode

- Prevent Apply/Cancel buttons from being clipped in short grids (flex-shrink: 0)
- Fix off-by-1 column drop position by filtering to primary columns only
- Fix auto-group column displacement on Apply by offsetting target index
- Resolve default aggFunc string for new value columns to show "sum" not "agg"
- Skip staged state reset when external pill drag produces no net grid change

* [AG-3471] Revert flex-shrink: 0 on panel buttons — does not fix TC2

* [AG-3471] Revert getMoveTargetIndex primary column filter — does not fix TC5

* [AG-3471] Add sortState and aggFuncState to GridStateSnapshot

The snapshot equality check missed aggFunc changes where value column
IDs stayed the same, allowing external columnValueChanged events to
bypass the reset guard. Include both sort and aggFunc state so the
deferred mode correctly detects all external grid mutations.

* [AG-3471] Fix stale column refs, aggFunc serialisation, and function-typed aggFunc preservation

- Re-read allColumns inside the columnOrder commit loop after each
  moveColumns() call so subsequent iterations see the mutated state
- Serialise aggFunc by type name when non-string to avoid ambiguous
  "[object Object]" in snapshot equality checks
- Use != null instead of typeof === 'string' in setValueColumns to
  preserve function-typed aggFuncs rather than replacing with defaults

* [AG-3471] Use raw aggFunc references in snapshot instead of string serialisation

Store actual aggFunc values so _areEqual's reference comparison detects
custom function swaps that string serialisation collapsed to "function".

* [AG-3471] Add tests for GridStateSnapshot equality guard and aggFunc detection

Cover external aggFunc changes resetting staged edits, snapshot equality
preventing unnecessary resets, and custom function reference swaps being
detected by the snapshot comparison.
…13355)

* [AG-3471] Fix remaining QA bugs for deferred apply mode

- Prevent Apply/Cancel buttons from being clipped in short grids (flex-shrink: 0)
- Fix off-by-1 column drop position by filtering to primary columns only
- Fix auto-group column displacement on Apply by offsetting target index
- Resolve default aggFunc string for new value columns to show "sum" not "agg"
- Skip staged state reset when external pill drag produces no net grid change

* [AG-3471] Revert flex-shrink: 0 on panel buttons — does not fix TC2

* [AG-3471] Revert getMoveTargetIndex primary column filter — does not fix TC5

* [AG-3471] Add sortState and aggFuncState to GridStateSnapshot

The snapshot equality check missed aggFunc changes where value column
IDs stayed the same, allowing external columnValueChanged events to
bypass the reset guard. Include both sort and aggFunc state so the
deferred mode correctly detects all external grid mutations.

* [AG-3471] Fix stale column refs, aggFunc serialisation, and function-typed aggFunc preservation

- Re-read allColumns inside the columnOrder commit loop after each
  moveColumns() call so subsequent iterations see the mutated state
- Serialise aggFunc by type name when non-string to avoid ambiguous
  "[object Object]" in snapshot equality checks
- Use != null instead of typeof === 'string' in setValueColumns to
  preserve function-typed aggFuncs rather than replacing with defaults

* [AG-3471] Use raw aggFunc references in snapshot instead of string serialisation

Store actual aggFunc values so _areEqual's reference comparison detects
custom function swaps that string serialisation collapsed to "function".

* [AG-3471] Add tests for GridStateSnapshot equality guard and aggFunc detection

Cover external aggFunc changes resetting staged edits, snapshot equality
preventing unnecessary resets, and custom function reference swaps being
detected by the snapshot comparison.

* [AG-3471] Fix drag icon showing 'hide' instead of 'notAllowed' in deferred mode

getDefaultIconName now checks isDeferredMode so the drag feedback matches the
actual no-op behaviour of onGridExit when deferred apply is active.

* [AG-3471] Make suppressSyncLayoutWithGrid block CTP reordering in deferred mode

Previously the deferred-mode exemption allowed column reordering even
when suppressSyncLayoutWithGrid was true. Remove the !isDeferredMode
guard so the setting consistently blocks both drag and keyboard
reordering regardless of mode.
* AG-3471 Fix deferred apply mode example and docs

* Other doc fixes
… Columns (#13357)

* [AG-3471] Fix remaining QA bugs for deferred apply mode

- Prevent Apply/Cancel buttons from being clipped in short grids (flex-shrink: 0)
- Fix off-by-1 column drop position by filtering to primary columns only
- Fix auto-group column displacement on Apply by offsetting target index
- Resolve default aggFunc string for new value columns to show "sum" not "agg"
- Skip staged state reset when external pill drag produces no net grid change

* [AG-3471] Revert flex-shrink: 0 on panel buttons — does not fix TC2

* [AG-3471] Revert getMoveTargetIndex primary column filter — does not fix TC5

* [AG-3471] Add sortState and aggFuncState to GridStateSnapshot

The snapshot equality check missed aggFunc changes where value column
IDs stayed the same, allowing external columnValueChanged events to
bypass the reset guard. Include both sort and aggFunc state so the
deferred mode correctly detects all external grid mutations.

* [AG-3471] Fix stale column refs, aggFunc serialisation, and function-typed aggFunc preservation

- Re-read allColumns inside the columnOrder commit loop after each
  moveColumns() call so subsequent iterations see the mutated state
- Serialise aggFunc by type name when non-string to avoid ambiguous
  "[object Object]" in snapshot equality checks
- Use != null instead of typeof === 'string' in setValueColumns to
  preserve function-typed aggFuncs rather than replacing with defaults

* [AG-3471] Use raw aggFunc references in snapshot instead of string serialisation

Store actual aggFunc values so _areEqual's reference comparison detects
custom function swaps that string serialisation collapsed to "function".

* [AG-3471] Add tests for GridStateSnapshot equality guard and aggFunc detection

Cover external aggFunc changes resetting staged edits, snapshot equality
preventing unnecessary resets, and custom function reference swaps being
detected by the snapshot comparison.

* [AG-3471] Fix drag icon showing 'hide' instead of 'notAllowed' in deferred mode

getDefaultIconName now checks isDeferredMode so the drag feedback matches the
actual no-op behaviour of onGridExit when deferred apply is active.

* [AG-3471] Make suppressSyncLayoutWithGrid block CTP reordering in deferred mode

Previously the deferred-mode exemption allowed column reordering even
when suppressSyncLayoutWithGrid was true. Remove the !isDeferredMode
guard so the setting consistently blocks both drag and keyboard
reordering regardless of mode.

* [AG-3471] Clear staged CTP changes on no-op applyColumnState and resetColumnState

Listen to columnEverythingChanged (fired by every applyColumnState call)
so that no-op state operations like Set State or Reset Columns clear
staged deferred changes. Remove the GridStateSnapshot equality guard
that was preventing resets when the grid state hadn't changed.

* [AG-3471] Clear staged CTP changes on no-op applyColumnState and resetColumnState

Listen to columnEverythingChanged with a full GridStateSnapshot comparison
(including width) to detect true no-op state operations. When the grid state
hasn't changed, reset staged deferred changes. Width-only changes are
correctly detected as non-no-ops and do not trigger a reset.
* Columns Fixes

* Rows review

* Cells section

* Filter updates

* Selection

* Corrections

* Corrections
@pull pull bot locked and limited conversation to collaborators Mar 20, 2026
@pull pull bot added the ⤵️ pull label Mar 20, 2026
@pull pull bot merged commit 953cd0a into code:latest Mar 20, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants