Skip to content

CardView: fix editing form fill when customizeItem set (T1335190) - #35166

Merged
anna-shakhova merged 2 commits into
DevExpress:mainfrom
anna-shakhova:T1335190_cardview_form_main
Sep 14, 2026
Merged

anna-shakhova merged 2 commits into
DevExpress:mainfrom
anna-shakhova:T1335190_cardview_form_main

Conversation

@anna-shakhova

Copy link
Copy Markdown
Contributor

No description provided.

@anna-shakhova anna-shakhova self-assigned this Sep 11, 2026
Copilot AI lite review requested due to automatic review settings September 11, 2026 10:45
@anna-shakhova
anna-shakhova requested a review from a team as a code owner September 11, 2026 10:45

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

Runtime changes to editing.form.customizeItem are not propagated to the underlying dxForm.

Pull request overview

Updates CardView editing-form customization when editing.form.customizeItem is configured.

Changes:

  • Composes built-in and user customizeItem handlers.
  • Preserves internal customization precedence.
  • Adds integration coverage for form population and customization.
File summaries
File Summary
packages/devextreme/js/__internal/grids/new/grid_core/editing/popup/view.ts Combines customization handlers. Moderate finding (1 vote): runtime callback changes are not propagated to the underlying dxForm.
packages/devextreme/js/__internal/grids/new/grid_core/editing/popup/view.integration.test.ts Adds integration coverage for editing-form customization.
packages/devextreme/js/__internal/grids/new/grid_core/editing/popup/component.tsx Ensures internal customization is passed to the form.
Review details

Suppressed comments (1)

packages/devextreme/js/__internal/grids/new/grid_core/editing/popup/view.ts:155

  • Changing editing.form.customizeItem after the popup has been rendered no longer causes the underlying dxForm to receive a new customizeItem option. customizeItems is a stable function and the user callback is only read via peek(), while InfernoWrapper updates widget options by comparing the final callback identity; consequently Form's customizeItem option-change path, which rebuilds the items, is never triggered. Make the wrapper depend on the user callback and pass its current value (or otherwise propagate a callback-identity change) so runtime option updates reapply customization.
  private readonly customizeItems = (item: dxForm.Item): void => {
    this.customizeItemCore(item);
    this.options.oneWay('editing.form.customizeItem').peek()?.(item);
  };
  • Files reviewed: 3/3 changed files
  • Comments generated: 0
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@Alyar666 Alyar666 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add the bug ID to the pull request title and to the corresponding tests.

@anna-shakhova anna-shakhova changed the title CardView: fix editing form fill when customizeItem set CardView: fix editing form fill when customizeItem set (T1335190) Sep 14, 2026
Copilot AI review requested due to automatic review settings September 14, 2026 07:59

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

One or more issues must be addressed before approval.

Review details

Suppressed comments (1)

Previously missed (1) — in code that hasn't changed since the last review.

packages/devextreme/js/__internal/grids/new/grid_core/editing/popup/component.tsx:61

  • This explicit prop permanently masks the callback in formProps. When a user supplies a stable editing.form.items array and later changes editing.form.customizeItem while the edit popup is open, EditPopup rerenders but the Form still receives the same this.customizeItems function and unchanged items; InfernoWrapper.updateComponentOptions therefore never updates dxForm.customizeItem or reprocesses those items. Make the wrapper callback identity or an explicit refresh depend on the current option, and cover this runtime-update case.
  • Files reviewed: 3/3 changed files
  • Comments generated: 0 new
  • Review effort level: Lite

@anna-shakhova
anna-shakhova added this pull request to the merge queue Sep 14, 2026
Merged via the queue into DevExpress:main with commit ecebedb Sep 14, 2026
126 checks passed
@anna-shakhova
anna-shakhova deleted the T1335190_cardview_form_main branch September 14, 2026 08:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants