Repository navigation
Conversation
…zoneless-support-wrappers
This reverts commit 5a6d36a.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Signed-off-by: Andrey Vorobev <738482+vorobey@users.noreply.github.com>
…zoneless-support-wrappers
Contributor
There was a problem hiding this comment.
🔵 Needs a closer look
Shared change-detection changes and the broad demo migration need human runtime validation in both modes after prerequisite #35749 merges.
No open issues 🎉
What changed in this PR
Migrates the first group of Angular DataGrid demos to zoneless change detection, building on the shared wrapper support from prerequisite PR #35749.
Changes:
- Removes explicit zone-based bootstrapping and Zone.js scripts from the migrated demos; adds a change-detection notification after asynchronous saving in EditStateManagement.
- Makes the Angular demo bundler include Zone.js only for demos that explicitly use zone-based change detection.
- Adds shared wrapper change-detection notifications, zone/zoneless regression tests, and corresponding Karma/Nx environments.
| File | Description |
|---|---|
| packages/nx-infra-plugin/src/executors/karma-multi-env/schema.json | Allows zone and zoneless environments. |
| packages/nx-infra-plugin/src/executors/karma-multi-env/schema.d.ts | Extends environment types. |
| packages/nx-infra-plugin/src/executors/karma-multi-env/karma.types.ts | Maps new environments to test shims. |
| packages/nx-infra-plugin/src/executors/karma-multi-env/karma-multi-env.impl.ts | Includes new environments in execution order. |
| packages/devextreme-angular/tests/src/zone-modes/change-detection.spec.ts | Tests change detection in both modes. |
| packages/devextreme-angular/src/core/nested-option.ts | Adds a file-level lint exemption. |
| packages/devextreme-angular/src/core/events-strategy.ts | Marks views for checking after event delivery. |
| packages/devextreme-angular/src/core/component.ts | Connects widget changes to Angular change detection. |
| packages/devextreme-angular/project.json | Registers zone-mode test targets and inputs. |
| packages/devextreme-angular/karma.zoneless.test.shim.js | Initializes tests without Zone.js. |
| packages/devextreme-angular/karma.zoneless-testing.module.js | Provides zoneless change detection for tests. |
| packages/devextreme-angular/karma.zone.test.shim.js | Initializes zone-based regression tests. |
| packages/devextreme-angular/karma.zone-polyfills.test.shim.js | Isolates Zone.js test imports. |
| packages/devextreme-angular/karma.test.shim.js | Keeps client tests zone-based and separates mode tests. |
| packages/devextreme-angular/karma.server.test.shim.js | Uses the zone-polyfills shim. |
| packages/devextreme-angular/karma.hydration.test.shim.js | Uses the zone-polyfills shim. |
| packages/devextreme-angular/karma.common.test.shim.js | Removes shared Zone.js imports. |
| packages/devextreme-angular/eslint.config.mjs | Disables underscore-name warnings. |
| packages/devextreme-angular/.gitignore | Ignores Chrome Headless output. |
| apps/demos/utils/server/demo-bundle-angular.js | Conditionally includes Zone.js scripts and dependencies. |
| apps/demos/Demos/DataGrid/WebAPIService/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/WebAPIService/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/VirtualScrolling/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/VirtualScrolling/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/Toolbar/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/Toolbar/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/StatePersistence/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/StatePersistence/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/SimpleArray/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/SimpleArray/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/SignalRService/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/SignalRService/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/SemanticSearch/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/SemanticSearch/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/RowSelection/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/RowSelection/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/RowEditing/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/RowEditing/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/Row/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/Row/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/RightToLeftSupport/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/RightToLeftSupport/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/RemoteVirtualScrolling/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/RemoteVirtualScrolling/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/RemoteReordering/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/RemoteReordering/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/RemoteGrouping/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/RemoteGrouping/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/RemoteCRUDOperations/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/RemoteCRUDOperations/Angular/app/app.component.ts | Removes the zone provider; retains HTTP configuration. |
| apps/demos/Demos/DataGrid/RecordPaging/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/RecordPaging/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/RecordGrouping/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/RecordGrouping/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/RecalculateWhileEditing/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/RecalculateWhileEditing/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/RealTimeUpdates/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/RealTimeUpdates/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/PopupEditing/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/PopupEditing/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/PDFOverview/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/PDFOverview/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/PDFHeaderAndFooter/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/PDFHeaderAndFooter/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/PDFExportMultipleGrids/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/PDFExportMultipleGrids/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/PDFExportImages/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/PDFExportImages/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/PDFCellCustomization/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/PDFCellCustomization/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/Overview/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/Overview/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/NewRecordPosition/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/NewRecordPosition/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/MultiRowHeadersBands/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/MultiRowHeadersBands/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/MultipleSorting/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/MultipleSorting/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/MultipleRecordSelectionModes/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/MultipleRecordSelectionModes/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/MultipleRecordSelectionAPI/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/MultipleRecordSelectionAPI/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/MasterDetailView/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/MasterDetailView/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/MasterDetailAPI/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/MasterDetailAPI/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/LocalReordering/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/LocalReordering/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/KeyboardNavigation/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/KeyboardNavigation/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/InfiniteScrolling/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/InfiniteScrolling/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/HorizontalVirtualScrolling/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/HorizontalVirtualScrolling/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/GroupSummaries/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/GroupSummaries/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/GridSummaries/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/GridSummaries/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/GridAdaptabilityOverview/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/GridAdaptabilityOverview/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/FormEditing/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/FormEditing/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/FocusedRow/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/FocusedRow/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/FixedAndStickyColumns/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/FixedAndStickyColumns/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/FilterPanel/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/FilterPanel/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/FilteringAPI/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/FilteringAPI/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/Filtering/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/Filtering/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/ExcelJSOverview/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/ExcelJSOverview/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/ExcelJSHeaderAndFooter/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/ExcelJSHeaderAndFooter/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/ExcelJSExportMultipleGrids/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/ExcelJSExportMultipleGrids/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/ExcelJSExportImages/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/ExcelJSExportImages/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/ExcelJSCellCustomization/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/ExcelJSCellCustomization/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/EditStateManagement/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/EditStateManagement/Angular/app/app.component.ts | Removes the zone provider and notifies Angular after saving. |
| apps/demos/Demos/DataGrid/DnDBetweenGrids/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/DnDBetweenGrids/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/DeferredSelection/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/DeferredSelection/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/DataValidation/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/DataValidation/Angular/app/app.component.ts | Removes the zone provider; retains HTTP configuration. |
| apps/demos/Demos/DataGrid/CustomSummaries/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/CustomSummaries/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/CustomizeKeyboardNavigation/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/CustomizeKeyboardNavigation/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/CustomEditors/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/CustomEditors/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/CustomDataSource/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/CustomDataSource/Angular/app/app.component.ts | Removes the zone provider; retains HTTP configuration. |
| apps/demos/Demos/DataGrid/CommandColumnConfiguration/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/CommandColumnConfiguration/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/ColumnsHidingPriority/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/ColumnsHidingPriority/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/ColumnResizing/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/ColumnResizing/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/ColumnReordering/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/ColumnReordering/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/ColumnHeaderFilter/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/ColumnHeaderFilter/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/ColumnChooser/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/ColumnChooser/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/Column/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/Column/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/CollaborativeEditing/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/CollaborativeEditing/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/CellEditing/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/CellEditing/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/Cell/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/Cell/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/CascadingLookups/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/CascadingLookups/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/BatchUpdateRequest/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/BatchUpdateRequest/Angular/app/app.component.ts | Removes the zone provider; retains HTTP configuration. |
| apps/demos/Demos/DataGrid/BatchEditing/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/BatchEditing/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/AutoPopulatedColumns/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/AutoPopulatedColumns/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/Appearance/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/Appearance/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/AjaxRequest/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/AjaxRequest/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/AIPoweredDetailView/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/AIPoweredDetailView/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/AIColumns/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/AIColumns/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/AIAssistant/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/AIAssistant/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
| apps/demos/Demos/DataGrid/AdvancedMasterDetailView/Angular/index.html | Removes the Zone.js script. |
| apps/demos/Demos/DataGrid/AdvancedMasterDetailView/Angular/app/app.component.ts | Uses default zoneless bootstrapping. |
Review effort: Balanced
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.
First chunk with rewriting demos with zoneless Angular approach.
Merge after #35749 merged