Repository navigation
Conversation
pharret31
force-pushed
the
5385-renderer-typing-follow-ups-getters-element-data-keys-widget-instances
branch
2 times, most recently
from
October 28, 2026 14:53
9ff8ebf to
6c7ebb2
Compare
pharret31
force-pushed
the
5385-renderer-typing-follow-ups-getters-element-data-keys-widget-instances
branch
from
November 3, 2026 10:19
d6e7b90 to
9aa7617
Compare
pharret31
marked this pull request as ready for review
November 3, 2026 10:26
Contributor
There was a problem hiding this comment.
🔵 Needs a closer look
The new scroll getter overloads leave a stale @ts-expect-error that triggers TS2578 and reject previously supported explicit undefined arguments.
No open issues 🎉
What changed in this PR
This PR improves renderer and element-data typing across DevExtreme’s core utilities and UI components, replacing repeated casts and error suppressions with shared typed helpers.
Changes:
- Adds renderer getter overloads and numeric scroll setters, with matching bundled declarations.
- Introduces typed element-data keys and class-based widget lookup, then migrates component consumers.
- Adds tests for typed data access and widget-instance lookup.
| File | Description |
|---|---|
packages/devextreme/ts/dx.all.d.ts |
Synchronizes bundled renderer declarations. |
packages/devextreme/js/core/renderer.d.ts |
Adds getter and scroll setter overloads. |
packages/devextreme/js/__internal/ui/text_box/utils.scroll.ts |
Uses typed getters and numeric conversion. |
packages/devextreme/js/__internal/ui/tag_box.ts |
Uses typed horizontal scrolling. |
packages/devextreme/js/__internal/ui/splitter/utils/component.ts |
Removes the local instance lookup helper. |
packages/devextreme/js/__internal/ui/splitter/splitter.ts |
Adopts shared component lookup. |
packages/devextreme/js/__internal/ui/scroll_view/scrollable.simulated.ts |
Uses typed scroll accessors. |
packages/devextreme/js/__internal/ui/popup/popup.ts |
Explicitly converts tabindex values to numbers. |
packages/devextreme/js/__internal/ui/overlay/utils.ts |
Uses a typed window scroll getter. |
packages/devextreme/js/__internal/ui/list/list.base.ts |
Imports the shared list data key. |
packages/devextreme/js/__internal/ui/list/constants.ts |
Defines the shared list data key. |
packages/devextreme/js/__internal/ui/form/constants.ts |
Defines a typed form-item key. |
packages/devextreme/js/__internal/ui/form/components/field_item.ts |
Stores form items through typed access. |
packages/devextreme/js/__internal/ui/file_uploader/file_uploader.ts |
Types the file-input property getter. |
packages/devextreme/js/__internal/ui/drop_down_editor/drop_down_list.ts |
Reuses the shared list data key. |
packages/devextreme/js/__internal/sortable.ts |
Uses typed scrolling and shared scrollable lookup. |
packages/devextreme/js/__internal/scheduler/constants.ts |
Types the appointment tooltip data key. |
packages/devextreme/js/__internal/scheduler/compact_appointments_helper.ts |
Reads tooltip data through the typed key. |
packages/devextreme/js/__internal/scheduler/appointment_drag_behavior.ts |
Uses shared typed appointment data access. |
packages/devextreme/js/__internal/grids/pivot_grid/m_widget.ts |
Reads fields through the typed field key. |
packages/devextreme/js/__internal/grids/pivot_grid/field_chooser/m_field_chooser.ts |
Migrates field reads and writes. |
packages/devextreme/js/__internal/grids/pivot_grid/field_chooser/m_field_chooser_base.ts |
Uses typed field data throughout interactions. |
packages/devextreme/js/__internal/grids/pivot_grid/field_chooser/const.ts |
Defines the field type and data key. |
packages/devextreme/js/__internal/grids/new/grid_core/editing/popup/view.ts |
Looks up validators by class. |
packages/devextreme/js/__internal/grids/grid_core/views/types.ts |
Makes prepared-row columns required. |
packages/devextreme/js/__internal/grids/grid_core/views/rows_view.ts |
Uses typed row data for layout checks. |
packages/devextreme/js/__internal/grids/grid_core/views/const.ts |
Defines the typed row-options key. |
packages/devextreme/js/__internal/grids/grid_core/views/columns_view.ts |
Migrates row, form-item, and scroll access. |
packages/devextreme/js/__internal/grids/grid_core/validating/m_validating.ts |
Uses typed row data and widget lookup. |
packages/devextreme/js/__internal/grids/grid_core/master_detail/m_master_detail.ts |
Reads typed master-row options. |
packages/devextreme/js/__internal/grids/grid_core/keyboard_navigation/keyboard_navigation.ts |
Reads typed focused-row options. |
packages/devextreme/js/__internal/grids/grid_core/filter_row/m_filter_row.ts |
Looks up filter overlays by class. |
packages/devextreme/js/__internal/grids/grid_core/editing/editing_form_based.ts |
Reads typed form-item data. |
packages/devextreme/js/__internal/grids/grid_core/data_controller/utils/row_changes.ts |
Narrows the row comparison input contract. |
packages/devextreme/js/__internal/grids/grid_core/context_menu/context_menu.ts |
Uses typed context-menu row data. |
packages/devextreme/js/__internal/grids/grid_core/column_state_mixin/types.ts |
Removes the redundant indicator-row type. |
packages/devextreme/js/__internal/grids/grid_core/column_state_mixin/column_state_mixin.ts |
Reuses typed row options for indicators. |
packages/devextreme/js/__internal/grids/grid_core/adaptivity/extenders/adaptivity_rows_view.ts |
Uses typed adaptive form-item access. |
packages/devextreme/js/__internal/grids/grid_core/adaptivity/extenders/adaptivity_editing_view_controller.ts |
Reads typed form data when closing edits. |
packages/devextreme/js/__internal/grids/grid_core/adaptivity/adaptivity.ts |
Uses typed form-item lookup. |
packages/devextreme/js/__internal/draggable.ts |
Shares scrollable lookup and types scroll reads. |
packages/devextreme/js/__internal/core/utils/public_component.ts |
Adds nullable class-based instance lookup. |
packages/devextreme/js/__internal/core/utils/dom.ts |
Uses typed HTML getters. |
packages/devextreme/js/__internal/core/utils/__tests__/public_component.test.ts |
Tests instance lookup and registered names. |
packages/devextreme/js/__internal/core/element_data.ts |
Adds typed keys and data access helpers. |
packages/devextreme/js/__internal/core/__tests__/element_data.test.ts |
Tests storage sharing, empty targets, and typing. |
packages/devextreme/js/__internal/common/core/animation/position.ts |
Uses typed window scroll values. |
packages/devextreme/js/__internal/common/core/animation/fx.ts |
Uses typed scroll getters in positioning. |
Review effort: Balanced
pharret31
force-pushed
the
5385-renderer-typing-follow-ups-getters-element-data-keys-widget-instances
branch
from
November 5, 2026 10:15
9aa7617 to
ea454b5
Compare
pharret31
force-pushed
the
5385-renderer-typing-follow-ups-getters-element-data-keys-widget-instances
branch
from
November 5, 2026 10:44
ea454b5 to
47b0cf5
Compare
…items, PivotGrid fields and list items
pharret31
force-pushed
the
5385-renderer-typing-follow-ups-getters-element-data-keys-widget-instances
branch
from
November 5, 2026 14:24
47b0cf5 to
8d8fe81
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.