Skip to content

GridCore - ColumnsController - Remove usage of DataController - #35185

Open
Tucchhaa wants to merge 4 commits into
DevExpress:mainfrom
Tucchhaa:remove_data_x_columns_link_26_2
Open

Tucchhaa wants to merge 4 commits into
DevExpress:mainfrom
Tucchhaa:remove_data_x_columns_link_26_2

Conversation

@Tucchhaa

Copy link
Copy Markdown
Contributor

No description provided.

@Tucchhaa Tucchhaa self-assigned this Sep 14, 2026
Copilot AI lite review requested due to automatic review settings September 14, 2026 08:16
@Tucchhaa
Tucchhaa requested a review from a team as a code owner September 14, 2026 08:16
@Tucchhaa Tucchhaa added the 26_2 label Sep 14, 2026

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.

🟡 Changes recommended

Adding appliedFilters to column-change payloads breaks existing event-shape consumers and tests.

Get a fresh assessment by requesting another Copilot review.

Pull request overview

This PR decouples ColumnsController from DataController and moves outdated-filter detection into DataController.

Changes:

  • Adds outdated-filter detection and regression tests.
  • Carries applied-filter metadata through column changes.
  • Removes the DataController dependency from ColumnsController.
File summaries
File Summary
packages/devextreme/js/__internal/grids/grid_core/data_controller/data_controller.ts Detects outdated filters and reloads data.
packages/devextreme/js/__internal/grids/grid_core/data_controller/__tests__/data_controller.outdated_filter.test.ts Tests outdated-filter reload behavior.
packages/devextreme/js/__internal/grids/grid_core/columns_controller/types.ts Adds applied-filter change metadata.
packages/devextreme/js/__internal/grids/grid_core/columns_controller/m_columns_controller.ts Removes the data-controller dependency and records applied filters.
Review details
  • Files reviewed: 4/4 changed files
  • Comments generated: 1
  • Review effort level: Lite

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

Copilot AI review requested due to automatic review settings September 14, 2026 08:46

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.

🟢 Approval recommended

No unresolved blocking issues were identified.

Review details
  • Files reviewed: 4/4 changed files
  • Comments generated: 0 new
  • Review effort level: Lite

Copilot AI review requested due to automatic review settings September 14, 2026 09:00

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.

🟢 Approval recommended

No unresolved review issues are identified.

Review details
  • Files reviewed: 6/6 changed files
  • Comments generated: 0 new
  • Review effort level: Lite

}
updateColumnChanges(this, 'columns');

if (this._columnChanges) {

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.

It looks like this._columnChanges will always be defined here, since updateColumnChanges is called above and always assigns an object to this._columnChanges.

Wouldn’t it be better to check for parameters.filtering here instead?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

this if is for ts. So I can replace it by using !.
But checking for parameters.filtering would be a behavior change, undefined value for columnChages.appliedFilter is a legit value meaning that dataSource was loaded without any filter. With this check, the condition will change:

Copilot AI review requested due to automatic review settings September 14, 2026 11:31

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.

🟢 Approval recommended

The reviewed changes preserve behavior and include regression coverage with no blocking issues identified.

Review details
  • Files reviewed: 6/6 changed files
  • Comments generated: 0 new
  • Review effort level: Lite

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.

4 participants