Loading workspace insights... Statistics interval
7 days30 daysLatest CI Pipeline Executions
2afa27ba Simplify data-grid, data-entry-grid, and data-manager code examples (#4123)
## Summary: Simplify data-grid, data-entry-grid, and data-manager code
examples
All tasks completed successfully! ✅
### Changes Made:
#### 1. Data-Entry-Grid Examples
- **basic/**: Converted to use signals (`signal<AgGridDemoRow[]>`) and
`structuredClone()` for modal data passing
- Removed unnecessary `refreshCells()` API call
- Removed unnecessary `markForCheck()` call
- **inline-help/**: Converted to use signals and `structuredClone()` for
modal data passing
- Removed unnecessary `refreshCells()` API call
- Removed unnecessary `markForCheck()` call
- **focus/**: Already simplified (reviewed, no changes needed)
- **data-manager-added/**: Already uses signals and `structuredClone()`
(reviewed, no changes needed)
#### 2. Data-Grid Examples
- **data-manager/**: Removed `OnInit` and `OnDestroy` lifecycle hooks,
simplified to use constructor-based initialization
- Restored explanatory comment about fake endpoint in
`onJobTitleSearchAsync()`
- **data-manager-multiselect/**: Removed `OnInit` and `OnDestroy`
lifecycle hooks, simplified to use constructor-based initialization
- Restored explanatory comment about fake endpoint in
`onJobTitleSearchAsync()`
- **paging/**: Converted from manual subscription management to
`toSignal()` and `effect()`, removed `OnInit` and `OnDestroy`
- Removed unnecessary `markForCheck()` calls
- Removed unused `ChangeDetectorRef` import and injection
#### 3. Data-Manager Examples
- **basic/**: Already using signals properly (reviewed, no changes
needed)
### Key Improvements:
✅ All modal contexts now use `structuredClone()` instead of shallow
copies
✅ Replaced manual subscription management with signals and effects
✅ Removed unnecessary lifecycle hooks (`OnInit`, `OnDestroy`) where
possible
✅ Removed unnecessary `refreshCells()` API calls - signal updates
trigger change detection automatically
✅ Removed unnecessary `markForCheck()` calls - signal updates trigger
change detection automatically
✅ Restored educational comments explaining limits of example code
✅ Reduced code complexity while maintaining example independence
✅ All examples pass linting
✅ Build completes successfully
Each example remains independent and self-contained as required.
<!-- START COPILOT CODING AGENT SUFFIX -->
<!-- START COPILOT ORIGINAL PROMPT -->
<details>
<summary>Original prompt</summary>
> In PR #4122 I'm modifying some of the code examples to make them less
complex. In the code-examples project, each directory with an
example.component.ts file should stand as an independent code example.
I'd like to apply a similar set of simplifications to the other
data-grid, data-entry-grid, and data-manager code examples. Convert to
using signals where possible. Fix the edit contexts for modals to use a
structuredClone of the original data rather than a shallow copy. Within
each example, look for ways to cut down on redundant code while keeping
each code example independent of other examples.
</details>
<!-- START COPILOT CODING AGENT TIPS -->
---
✨ Let Copilot coding agent [set things up for
you](https://github.com/blackbaud/skyux/issues/new?title=✨+Set+up+Copilot+instructions&body=Configure%20instructions%20for%20this%20repository%20as%20documented%20in%20%5BBest%20practices%20for%20Copilot%20coding%20agent%20in%20your%20repository%5D%28https://gh.io/copilot-coding-agent-tips%29%2E%0A%0A%3COnboard%20this%20repo%3E&assignees=copilot)
— coding agent works faster and does higher quality work when set up for
your repo.
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: johnhwhite <750350+johnhwhite@users.noreply.github.com>