fix(components/data-manager): address data mutation during view updates (#4309)#4311
Conversation
…es (#4309) [AB#3705639](https://dev.azure.com/blackbaud/f565481a-7bc9-4083-95d5-4f953da6d499/_workitems/edit/3705639) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Tests** * Added extensive test suite covering data state emission, in-place mutations, view preservation with multiple views, and state options cloning behavior to validate correct data handling. * **Refactor** * Improved internal state management by creating new state object copies instead of mutating originals, enhancing data consistency and reducing side effects throughout the module. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
📝 WalkthroughWalkthroughThe pull request refactors the data-manager library and ag-grid adapter to use immutable-style state updates instead of in-place mutations. A new Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~22 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches
🧪 Generate unit tests (beta)
📝 Coding Plan
Comment |
|
View your CI Pipeline Execution ↗ for commit 4ee10d4
☁️ Nx Cloud last updated this comment at |
|
Component Storybooks: Apps: |
## [14.0.0-alpha.9](14.0.0-alpha.8...14.0.0-alpha.9) (2026-03-17) ### ⚠ BREAKING CHANGES * **components/indicators:** replace `@angular/animations` in tokens component with CSS transitions (#4303) * **components/tabs:** replace `@angular/animations` with CSS transitions (#4288) * **components/flyout:** replace `@angular/animations` with CSS transitions (#4285) ### Features * **components/lists:** deprecate filter summary ([#4307](#4307)) ([b5567d9](b5567d9)), closes [AB#3611503](https://dev.azure.com/blackbaud/Products/_workitems/edit/3611503) * **components/modals:** add modal banner ([#4275](#4275)) ([#4280](#4280)) ([b186fc2](b186fc2)) ### Bug Fixes * **components/core:** transition handler emits via microtask when animations disabled ([#4304](#4304)) ([3b9cd2d](3b9cd2d)) * **components/data-manager:** address data mutation during view updates ([#4309](#4309)) ([#4311](#4311)) ([6cadb59](6cadb59)), closes [AB#3705639](https://dev.azure.com/blackbaud/Products/_workitems/edit/3705639) * **components/flyout:** replace `@angular/animations` with CSS transitions ([#4285](#4285)) ([96aa341](96aa341)) * **components/indicators:** replace `@angular/animations` in tokens component with CSS transitions ([#4303](#4303)) ([bcb9d88](bcb9d88)) * **components/tabs:** replace `@angular/animations` with CSS transitions ([#4288](#4288)) ([90b183b](90b183b)) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Breaking Changes** * Indicators, tabs, and flyout components now use CSS transitions instead of animations. * **New Features** * Added modal banner component. * **Deprecations** * Filter summary in list components deprecated. * **Bug Fixes** * Animation behavior when disabled, data handling during updates, and transition styling improvements. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
🍒 Cherry picked from #4309 fix(components/data-manager): address data mutation during view updates
AB#3705639
Summary by CodeRabbit
Refactor
Tests