Skip to content

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

Merged
pull[bot] merged 6 commits into
code:latestfrom
ag-grid:latest
Jul 29, 2026
Merged

[pull] latest from ag-grid:latest#854
pull[bot] merged 6 commits into
code:latestfrom
ag-grid:latest

Conversation

@pull

@pull pull Bot commented Jul 29, 2026

Copy link
Copy Markdown

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 : )

sdwvit and others added 6 commits July 29, 2026 16:21
…ormatter docs (#14648)

* [AG-17044] Test(advanced-filter): bigint custom parser coverage and formatter docs

Adds regression coverage for the QA reproduction paths and documents
`bigintFormatter`, which had no prose documentation.

- Advanced Filter: a decimal operand entered in the Filter Builder is stored
  canonically, matches, and is displayed through the column's `bigintFormatter`.
- BigInt Filter: hex `from`/`to` values are both parsed for a range condition.
- Docs: `bigintFormatter` is the inverse of `bigintParser`; the model stores a
  canonical decimal string, so entered values are echoed back in the
  formatter's format in the floating filter and the Advanced Filter.

* [AG-17044] Test(advanced-filter): assert builder value pill formatting before apply

* [AG-17044] Fix(advanced-filter): open builder value editor with the formatted bigint operand

The builder value editor seeded its input from the raw model value, so a bigint
operand stored as canonical decimal replaced the formatted text shown on the pill
as soon as the editor opened. Edit the displayed text instead for bigint columns,
whose bigintFormatter output the column's parser accepts.

* [AG-17044] Fix(advanced-filter): keep the typed bigint operand syntax in the builder

The builder rebuilt its pills from the canonical model value, so a bigint operand
typed in a syntax only the column's bigintParser understands showed as decimal
while the filter text bar still showed what was typed. Seed the builder from the
expression parser's operand text so the two surfaces agree across an apply.

* [AG-17044] Refactor(advanced-filter): gate builder operand editing on a data type capability

Replace the two hardcoded bigint comparisons with a single
isOperandModelValueEditable predicate on AdvancedFilterExpressionService, and
take forBuilder off the bean's getModel in favour of a named getBuilderModel.
…a11y and sandbox IDs (#14660)

* AG-17996 - clear contact form errors as soon as a field is corrected

QA TC1: tabbing past the unchecked data processing consent checkbox showed
the required-consent error, and ticking the box left the error on screen
until focus moved away again.

react-hook-form's 'onBlur' mode validates on blur but does not re-validate
on change before the first submit, so the error state went stale.
'onTouched' keeps the same first-validation-on-blur behaviour and adds
re-validation on change, so the message clears immediately.

This applies to every field on the form, not just the checkbox - correcting
an invalid email now clears its error without needing to blur first.

* AG-17996 - Update default values for consent fields

* AG-17996 - address review findings on the consent field PRs

Studio trial form (P1): the privacy notice was removed without the form
gaining the consent controls that justified removing it elsewhere, leaving
it collecting name and email with no disclosure at all. It now gets the same
treatment as the other trial form - required data processing consent,
optional marketing consent, and a France/Italy declaration that reveals
optional email tracking consent - and sends all four in its JSON payload.

Consent errors are now exposed to assistive technology (P2): the checkbox
gets aria-invalid and aria-describedby pointing at the message, which
carries a matching id and role=alert. Previously the error was an
unassociated paragraph, so screen reader users had no way to learn why
submission failed.

Also fixes two pre-existing issues the review picked up (P2):

- submitUrl was missing from the submit callback dependencies, so a changed
  prop would have kept posting to the previous endpoint
- both trial forms were typed FunctionComponent rather than
  FunctionComponent<Props>, so the exported type was FunctionComponent<{}>
  and consumers could not type-check the submitUrl prop
… data types (#14662)

* Updated the calculatedColumns examples to enable selecting matching formatting via cellDataTypes

* Add a more detail cross link to calculated columns from formulas

* Drop redundant see also entry

* Declare the cost column in the dataTypes snippet
…filter input (#14587)

* AG-17967 - [Side Bar] Columns Tool Panel: restore Enter-to-toggle in filter input

Re-add a keydown listener on the Columns Tool Panel filter input so pressing
Enter toggles visibility of the columns matching the current filter text,
mirroring the still-present Set Filter mini-filter handler. Dropped in the v33
refactor. The toggle is deferred by the filter debounce delay so it targets the
freshly-filtered set.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* AG-17967 - guard Enter-to-toggle against IME composition and suppressColumnSelectAll

Codex review found the Columns Tool Panel filter Enter shortcut fired
during IME composition and while the select-all capability was suppressed.
Gate the shortcut on !e.isComposing and !suppressColumnSelectAll, mirroring
the select-all UI visibility and the sibling Set Filter mini-filter handler.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* AG-17967 - replace Enter-to-toggle setTimeout race with event-driven filter flush

On Enter in the Columns Tool Panel filter, flush any pending debounced
filter change synchronously and then toggle, instead of deferring the
toggle behind a DEBOUNCE_DELAY timer that guessed when the filter had
settled. Matches the Set Filter mini-filter, which applies its filter
immediately on Enter. A pending-flag guards the trailing debounce so it
no-ops after a flush; the IME and suppressColumnSelectAll guards are kept.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* AG-17967 - preventDefault on Enter-to-toggle to avoid enclosing form submit

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* AG-17967 - guard FakeHScrollComp deferred scrollbar apply against teardown

Leaked setTimeout fired after test teardown (document is not defined),
surfaced in the unit-test shard by this branch's new test file.
Out-of-scope CI unblock kept in its own commit.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* AG-17967 - track IME composition explicitly for Enter-to-toggle Safari guard

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…14664)

* AG-18019 Suppress Edit Column Name menu item on calculated columns

Add a !isCalculatedCol guard to the two default menu surfaces that offer
editColumnName (the main column menu and the Columns Tool Panel context
menu) so a calculated column exposes only the modal as its rename route,
removing the two-source-of-truth conflict with the inline header editor.

* AG-18019 Move calc-column edit guard into ColumnHeaderEditService.isEditable

Consolidate the "hide Edit Column Name on calculated columns" guard into the
single chokepoint both menu surfaces funnel through: ColumnHeaderEditService.
isEditable (now public, exposed on IColumnHeaderEditService). The column menu
factory and the Columns Tool Panel context menu delegate to it instead of
recomputing headerNameEditable / isCalculatedCol locally.

This also suppresses the item on the explicit-config path (array-form
mainMenuItems / columnMenuItems), which the per-site guards missed: a developer
opting the item in still gets the default of it being hidden for calculated
columns, keeping the rename modal the single source of truth for the header.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* AG-18019 Document Edit Column Name suppression on calculated columns

Add the editColumnName built-in item to the Column Menu items list (it was a
public DefaultColumnMenuItem token but absent from the list), noting it is never
shown on a calculated column. Add a matching note to the Editable Header Name
docs so both rename surfaces are covered.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@pull pull Bot locked and limited conversation to collaborators Jul 29, 2026
@pull pull Bot added the ⤵️ pull label Jul 29, 2026
@pull
pull Bot merged commit d9c8915 into code:latest Jul 29, 2026
5 checks passed
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.

4 participants