Popup: Publish focusLoopEnabled option#33001
Open
marker-dao wants to merge 1 commit intoDevExpress:26_1from
Open
Popup: Publish focusLoopEnabled option#33001marker-dao wants to merge 1 commit intoDevExpress:26_1from
marker-dao wants to merge 1 commit intoDevExpress:26_1from
Conversation
bc4a646 to
860e0cf
Compare
Contributor
There was a problem hiding this comment.
Pull request overview
This PR exposes a previously internal focus-looping behavior as a public focusLoopEnabled option (replacing _loopFocus) for Popup and dependent overlay-based components, and propagates the new option through internal usages, typings, wrappers, and tests.
Changes:
- Added public
focusLoopEnabledtodxPopupOptionstypings (including aggregated typings). - Replaced internal
_loopFocususage withfocusLoopEnabledacross overlay/popup-related implementation code and affected UI features (grids, scheduler, lookup). - Updated QUnit tests and Angular/React/Vue wrappers to use and surface
focusLoopEnabled.
Reviewed changes
Copilot reviewed 56 out of 58 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| packages/devextreme/ts/dx.all.d.ts | Publishes focusLoopEnabled in aggregated dxPopupOptions typings. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets/overlay.tests.js | Updates overlay focus-loop tests to use focusLoopEnabled instead of _loopFocus. |
| packages/devextreme/testing/tests/DevExpress.ui.widgets.editors/lookup.tests.js | Updates lookup popup-option expectations to check focusLoopEnabled. |
| packages/devextreme/js/ui/popup.d.ts | Adds public focusLoopEnabled?: boolean to dxPopupOptions with doc/default metadata. |
| packages/devextreme/js/__internal/ui/popup/m_popup.ts | Sets focusLoopEnabled: false in Popup default options. |
| packages/devextreme/js/__internal/ui/popover/m_popover.ts | Minor formatting-only change in escape key handler block. |
| packages/devextreme/js/__internal/ui/overlay/overlay.ts | Renames internal option _loopFocus → focusLoopEnabled and updates tab-terminator logic + optionChanged handling. |
| packages/devextreme/js/__internal/ui/m_lookup.ts | Passes focusLoopEnabled into the Lookup popup/dropdown options. |
| packages/devextreme/js/__internal/scheduler/tooltip_strategies/m_desktop_tooltip_strategy.ts | Uses extraOptions.focusLoopEnabled when creating scheduler tooltip overlay. |
| packages/devextreme/js/__internal/scheduler/m_compact_appointments_helper.ts | Enables focus looping for compact appointment tooltip via focusLoopEnabled: true. |
| packages/devextreme/js/__internal/grids/new/grid_core/column_chooser/column_chooser.tsx | Switches ColumnChooser popup prop to focusLoopEnabled. |
| packages/devextreme/js/__internal/grids/grid_core/header_filter/m_header_filter_core.ts | Enables focus looping in header filter popup via focusLoopEnabled: true. |
| packages/devextreme/js/__internal/grids/grid_core/column_chooser/m_column_chooser.ts | Enables focus looping in column chooser popup via focusLoopEnabled: true. |
| packages/devextreme-vue/src/tree-list.ts | Exposes focusLoopEnabled on popup-related nested configs for Vue TreeList. |
| packages/devextreme-vue/src/tooltip.ts | Exposes focusLoopEnabled as a Vue Tooltip prop and update event. |
| packages/devextreme-vue/src/tag-box.ts | Exposes focusLoopEnabled on Vue TagBox dropDownOptions. |
| packages/devextreme-vue/src/select-box.ts | Exposes focusLoopEnabled on Vue SelectBox dropDownOptions. |
| packages/devextreme-vue/src/popup.ts | Exposes focusLoopEnabled as a Vue Popup prop and update event. |
| packages/devextreme-vue/src/popover.ts | Exposes focusLoopEnabled as a Vue Popover prop and update event. |
| packages/devextreme-vue/src/lookup.ts | Exposes focusLoopEnabled on Vue Lookup dropDownOptions. |
| packages/devextreme-vue/src/drop-down-button.ts | Exposes focusLoopEnabled on Vue DropDownButton dropDownOptions. |
| packages/devextreme-vue/src/drop-down-box.ts | Exposes focusLoopEnabled on Vue DropDownBox dropDownOptions. |
| packages/devextreme-vue/src/date-range-box.ts | Exposes focusLoopEnabled on Vue DateRangeBox dropDownOptions. |
| packages/devextreme-vue/src/date-box.ts | Exposes focusLoopEnabled on Vue DateBox dropDownOptions. |
| packages/devextreme-vue/src/data-grid.ts | Exposes focusLoopEnabled on popup-related nested configs for Vue DataGrid. |
| packages/devextreme-vue/src/color-box.ts | Exposes focusLoopEnabled on Vue ColorBox dropDownOptions. |
| packages/devextreme-vue/src/autocomplete.ts | Exposes focusLoopEnabled on Vue Autocomplete dropDownOptions. |
| packages/devextreme-react/src/tree-list.ts | Adds focusLoopEnabled to React TreeList popup-related prop typings. |
| packages/devextreme-react/src/tag-box.ts | Adds focusLoopEnabled to React TagBox dropDownOptions prop typings. |
| packages/devextreme-react/src/select-box.ts | Adds focusLoopEnabled to React SelectBox dropDownOptions prop typings. |
| packages/devextreme-react/src/lookup.ts | Adds focusLoopEnabled to React Lookup dropDownOptions prop typings. |
| packages/devextreme-react/src/drop-down-button.ts | Adds focusLoopEnabled to React DropDownButton dropDownOptions prop typings. |
| packages/devextreme-react/src/drop-down-box.ts | Adds focusLoopEnabled to React DropDownBox dropDownOptions prop typings. |
| packages/devextreme-react/src/date-range-box.ts | Adds focusLoopEnabled to React DateRangeBox dropDownOptions prop typings. |
| packages/devextreme-react/src/date-box.ts | Adds focusLoopEnabled to React DateBox dropDownOptions prop typings. |
| packages/devextreme-react/src/data-grid.ts | Adds focusLoopEnabled to React DataGrid popup-related prop typings. |
| packages/devextreme-react/src/color-box.ts | Adds focusLoopEnabled to React ColorBox dropDownOptions prop typings. |
| packages/devextreme-react/src/autocomplete.ts | Adds focusLoopEnabled to React Autocomplete dropDownOptions prop typings. |
| packages/devextreme-angular/src/ui/tree-list/nested/popup.ts | Adds Angular @Input() focusLoopEnabled to TreeList popup nested option. |
| packages/devextreme-angular/src/ui/tree-list/nested/filter-builder-popup.ts | Adds Angular @Input() focusLoopEnabled to TreeList filterBuilderPopup nested option. |
| packages/devextreme-angular/src/ui/tooltip/index.ts | Adds Angular Tooltip focusLoopEnabled input/output and emitter wiring. |
| packages/devextreme-angular/src/ui/tag-box/nested/drop-down-options.ts | Adds Angular TagBox dropDownOptions focusLoopEnabled input. |
| packages/devextreme-angular/src/ui/select-box/nested/drop-down-options.ts | Adds Angular SelectBox dropDownOptions focusLoopEnabled input. |
| packages/devextreme-angular/src/ui/popup/component.ts | Adds Angular Popup focusLoopEnabled input/output and emitter wiring. |
| packages/devextreme-angular/src/ui/popover/index.ts | Adds Angular Popover focusLoopEnabled input/output and emitter wiring. |
| packages/devextreme-angular/src/ui/nested/popup.ts | Registers focusLoopEnabled as a nested popup option for Angular. |
| packages/devextreme-angular/src/ui/nested/filter-builder-popup.ts | Registers focusLoopEnabled as a nested filter-builder-popup option for Angular. |
| packages/devextreme-angular/src/ui/nested/drop-down-options.ts | Registers focusLoopEnabled as a nested drop-down-options option for Angular. |
| packages/devextreme-angular/src/ui/nested/base/popup-options.ts | Adds focusLoopEnabled to the Angular base popup-options abstraction. |
| packages/devextreme-angular/src/ui/lookup/nested/drop-down-options.ts | Adds Angular Lookup dropDownOptions focusLoopEnabled input. |
| packages/devextreme-angular/src/ui/drop-down-button/nested/drop-down-options.ts | Adds Angular DropDownButton dropDownOptions focusLoopEnabled input. |
| packages/devextreme-angular/src/ui/drop-down-box/nested/drop-down-options.ts | Adds Angular DropDownBox dropDownOptions focusLoopEnabled input. |
| packages/devextreme-angular/src/ui/date-range-box/nested/drop-down-options.ts | Adds Angular DateRangeBox dropDownOptions focusLoopEnabled input. |
| packages/devextreme-angular/src/ui/date-box/nested/drop-down-options.ts | Adds Angular DateBox dropDownOptions focusLoopEnabled input. |
| packages/devextreme-angular/src/ui/data-grid/nested/popup.ts | Adds Angular DataGrid popup nested option focusLoopEnabled input. |
| packages/devextreme-angular/src/ui/data-grid/nested/filter-builder-popup.ts | Adds Angular DataGrid filterBuilderPopup nested option focusLoopEnabled input. |
| packages/devextreme-angular/src/ui/color-box/nested/drop-down-options.ts | Adds Angular ColorBox dropDownOptions focusLoopEnabled input. |
| packages/devextreme-angular/src/ui/autocomplete/nested/drop-down-options.ts | Adds Angular Autocomplete dropDownOptions focusLoopEnabled input. |
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.