Repository navigation
Scrollable, ScrollView: remove the undocumented x/y alias from scrollTo and scrollBy - #35716
Conversation
There was a problem hiding this comment.
🟡 Changes recommended
Removing shared x/y aliases silently breaks previously supported scrolling calls in existing applications.
1 open finding
What changed in this PR
Restores PivotGrid’s placeholder tables during virtual scrolling and standardizes scrolling coordinates across shared utilities and tests.
Changes:
- Uses
left/topto position PivotGrid placeholder tables. - Adds regression tests for visibility, positioning, and right-to-left layouts.
- Migrates scrolling calls and removes shared
x/yalias handling.
| File | Description |
|---|---|
| packages/testcafe-models/dataGrid/index.ts | Updates scroll helper parameter types. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets/treeViewParts/focusing.js | Migrates focus-test scroll coordinates. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets/tileView.tests.js | Updates directional scroll properties. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets/tileView.markup.tests.js | Updates markup-test scroll properties. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets/sortable.tests.js | Migrates sortable scroll coordinates. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets/scrollView.tests.js | Migrates ScrollView test coordinates. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets/scrollableParts/scrollable.api.tests.js | Removes coordinate-alias coverage. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets.treeList/virtualScrolling.integration.tests.js | Migrates virtual-scroll coordinates. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets.treeList/treeList.tests.js | Migrates TreeList scroll coordinates. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets.scheduler/virtual_scrolling.timeline.tests.js | Updates timeline offsets and diagnostics. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets.scheduler/virtual_scrolling.monthView.tests.js | Updates month-view offsets and diagnostics. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets.scheduler/virtual_scrolling.integration.tests.js | Migrates virtual-scroll scenarios and diagnostics. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets.scheduler/integration.workSpace.tests.js | Migrates workspace scroll coordinates. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets.scheduler/dragAndDropAppointments.tests.js | Migrates appointment-dragging scroll coordinates. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets.scheduler/appointment.week.based.views.tests.js | Migrates week-view scroll coordinates. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets.scheduler/appointment.editing.tests.js | Migrates editing-test scroll coordinates. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets.pivotGrid/pivotGrid.tests.js | Updates placeholder-table scrolling tests. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets.pivotGrid/fieldChooser.tests.js | Migrates field-chooser scroll coordinates. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets.dataGrid/virtualScrolling.integration.tests.js | Migrates virtual-scroll test coordinates. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets.dataGrid/selection.integration.tests.js | Migrates selection-test scroll coordinates. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets.dataGrid/scrolling.integration.tests.js | Migrates scrolling integration coordinates. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets.dataGrid/rowsView.tests.js | Migrates rows-view scroll coordinates. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets.dataGrid/masterDetail.integration.tests.js | Migrates master-detail scroll coordinates. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets.dataGrid/focus.tests.js | Migrates focus-test scroll coordinates. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets.dataGrid/focus.integration.tests.js | Migrates focus integration coordinates. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets.dataGrid/editing.tests.js | Migrates editing-test scroll coordinates. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets.dataGrid/editing.integration.tests.js | Migrates editing integration coordinates. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets.dataGrid/dataGrid.tests.js | Migrates template-test scroll coordinates. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets.dataGrid/columnFixing.tests.js | Migrates fixed-column scroll coordinates. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets.dataGrid/columnChooser.integration.tests.js | Migrates chooser-test scroll coordinates. |
| packages/devextreme/js/__internal/ui/scroll_view/utils/convert_location.ts | Removes coordinate aliases from conversion. |
| packages/devextreme/js/__internal/ui/scroll_view/scrollable.ts | Removes coordinate aliases from normalization. |
| packages/devextreme/js/__internal/grids/pivot_grid/headers_area/m_headers_area.ts | Corrects header placeholder positioning. |
| packages/devextreme/js/__internal/grids/pivot_grid/headers_area/m_headers_area.test.ts | Adds header placeholder regression tests. |
| packages/devextreme/js/__internal/grids/pivot_grid/data_area/m_data_area.ts | Corrects data placeholder positioning. |
| packages/devextreme/js/__internal/grids/pivot_grid/data_area/m_data_area.test.ts | Adds visibility and right-to-left regression tests. |
| e2e/testcafe-devextreme/tests/scheduler/helpers/utils.ts | Updates Scheduler scrolling helper. |
| e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/positions.ts | Migrates fixed-position scroll coordinates. |
| e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/bandColumnSecondCases.ts | Migrates band-column scroll coordinates. |
| e2e/testcafe-devextreme/tests/dataGrid/sticky/fixed/bandColumnFirstCases.ts | Migrates band-column scroll coordinates. |
| e2e/testcafe-devextreme/tests/dataGrid/sticky/common/withVirtualScrolling.ts | Migrates virtual-scroll coordinates. |
| e2e/testcafe-devextreme/tests/dataGrid/sticky/common/withVirtualColumns.ts | Migrates virtual-column scroll coordinates. |
| e2e/testcafe-devextreme/tests/dataGrid/sticky/common/withRowSelection.ts | Migrates selection-test scroll coordinates. |
| e2e/testcafe-devextreme/tests/dataGrid/sticky/common/withMasterDetail.ts | Migrates master-detail scroll coordinates. |
| e2e/testcafe-devextreme/tests/dataGrid/sticky/common/withGrouping.ts | Migrates grouping-test scroll coordinates. |
| e2e/testcafe-devextreme/tests/dataGrid/sticky/common/withFilterRow.ts | Migrates filter-row scroll coordinates. |
| e2e/testcafe-devextreme/tests/dataGrid/sticky/common/withEditing.ts | Migrates editing-test scroll coordinates. |
| e2e/testcafe-devextreme/tests/dataGrid/sticky/common/withBandColumns.ts | Migrates band-column scroll coordinates. |
| e2e/testcafe-devextreme/tests/dataGrid/sticky/common/withAdaptability.ts | Migrates adaptive-layout scroll coordinates. |
| e2e/testcafe-devextreme/tests/dataGrid/sticky/common/stickyColumns.ts | Migrates sticky-column scroll coordinates. |
| e2e/testcafe-devextreme/tests/dataGrid/sticky/common/stickyColumnResizing.ts | Migrates resizing-test scroll coordinates. |
| e2e/testcafe-devextreme/tests/dataGrid/sticky/common/stickyColumnReordering.ts | Migrates reordering-test scroll coordinates. |
| e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/visual.ts | Migrates virtual-column visual tests. |
| e2e/testcafe-devextreme/tests/dataGrid/common/virtualColumns/functional.ts | Migrates virtual-column functional tests. |
| e2e/testcafe-devextreme/tests/dataGrid/common/validation/validationPopup.ts | Migrates validation-popup scroll coordinates. |
| e2e/testcafe-devextreme/tests/dataGrid/common/scrolling.ts | Migrates scrolling regression scenarios. |
| e2e/testcafe-devextreme/tests/dataGrid/common/rowDragging/functional.ts | Migrates row-dragging scroll coordinates. |
| e2e/testcafe-devextreme/tests/dataGrid/common/pager.ts | Migrates pager-test scroll coordinates. |
| e2e/testcafe-devextreme/tests/dataGrid/common/masterDetail/visual.ts | Migrates master-detail visual tests. |
| e2e/testcafe-devextreme/tests/dataGrid/common/masterDetail/functional.ts | Migrates master-detail functional tests. |
| e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/virtualColumns.functional.ts | Migrates virtual-column navigation coordinates. |
| e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/startEditing.functional.ts | Migrates keyboard-editing scroll coordinates. |
| e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/keyboardNavigation.visual.ts | Migrates navigation visual-test coordinates. |
| e2e/testcafe-devextreme/tests/dataGrid/common/keyboardNavigation/columnReordering.visual.ts | Migrates keyboard-reordering scroll coordinates. |
| e2e/testcafe-devextreme/tests/dataGrid/common/headerFilter/headerFilter.ts | Migrates header-filter scroll coordinates. |
| e2e/testcafe-devextreme/tests/dataGrid/common/focus/focusedRow/focusedRow.ts | Migrates focused-row scroll coordinates. |
| e2e/testcafe-devextreme/tests/dataGrid/common/focus/focus.ts | Migrates focus-test scroll coordinates. |
| e2e/testcafe-devextreme/tests/dataGrid/common/fixedColumns/visual.ts | Migrates fixed-column visual tests. |
| e2e/testcafe-devextreme/tests/dataGrid/common/filterRow/visual.ts | Migrates filter-row visual tests. |
| e2e/testcafe-devextreme/tests/dataGrid/common/editing/visual.ts | Updates editing-test scrolling helper. |
| e2e/testcafe-devextreme/tests/dataGrid/common/columnReordering/functional.ts | Migrates column-reordering scroll coordinates. |
| e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/virtualScrolling.functional.ts | Migrates AI-column virtual-scroll coordinates. |
| e2e/testcafe-devextreme/tests/dataGrid/common/aiColumn/functional.ts | Migrates AI-column scroll coordinates. |
| e2e/testcafe-devextreme/tests/common/treeList/scrolling.ts | Migrates TreeList scroll coordinates. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| x?: number; | ||
| y?: number; | ||
| }> | number): Partial<ScrollOffset> { | ||
| _normalizeLocation(location: Partial<ScrollOffset> | number): Partial<ScrollOffset> { |
There was a problem hiding this comment.
{ x, y } calls still compile because of number | any, but they no longer scroll - should we add a breaking-change line to the release notes?
There was a problem hiding this comment.
well, it is compiles only due to non-strict public type, docs specify its signature as { top, left }
https://js.devexpress.com/jQuery/Documentation/ApiReference/UI_Components/dxScrollView/Methods/#scrollTotargetLocation
fixing public type is out of scope of this task
|
|
||
| const TABLE_OFFSET = 1000; | ||
| const CELL_SIZES = [100, 120, 300]; | ||
| const POSITION_PAST_TABLE = TABLE_OFFSET + 520; |
There was a problem hiding this comment.
520 is the sum of CELL_SIZES, right? Maybe compute it so it stays correct if the sizes change (same in m_data_area.test.ts)
| const POSITION_PAST_TABLE = TABLE_OFFSET + 520; | |
| const POSITION_PAST_TABLE = TABLE_OFFSET + CELL_SIZES.reduce((sum, size) => sum + size, 0); |

No description provided.