Product sync: features, CSS-grid scroll, API removals, docs - #2289
Merged
Conversation
Bump toolchain (TypeScript 6, Node 24, ESLint flat config) and adapt tests for the OnPush default so CI stays green. Co-authored-by: Cursor <cursoragent@cursor.com>
- Updated multiple components to replace traditional state management with Angular's signal API, enhancing reactivity and performance. - Adjusted data binding for rows in various components to utilize signal-based access. - Modified paths in tsconfig.json to reflect new project structure for ngx-datatable. - Ensured compatibility with Angular 22 by updating imports and configurations. This refactor aims to streamline data handling and improve the overall responsiveness of the application.
Upstream: siemens/ngx-datatable@57e39a1f Co-authored-by: Cursor <cursoragent@cursor.com>
Upstream: siemens/ngx-datatable@f3f4d4aa Co-authored-by: Cursor <cursoragent@cursor.com>
Upstream: siemens/ngx-datatable@e1c43a99 Co-authored-by: Cursor <cursoragent@cursor.com>
Upstream: siemens/ngx-datatable@1cf26f58 Co-authored-by: Cursor <cursoragent@cursor.com>
Upstream: siemens/ngx-datatable@b4389af1 Co-authored-by: Cursor <cursoragent@cursor.com>
Upstream: siemens/ngx-datatable@5b8a569b Co-authored-by: Cursor <cursoragent@cursor.com>
Upstream: siemens/ngx-datatable@d9b0c335 Co-authored-by: Cursor <cursoragent@cursor.com>
…lates Upstream: siemens/ngx-datatable@4c08d797 Co-authored-by: Cursor <cursoragent@cursor.com>
Upstream: siemens/ngx-datatable@008b011f Co-authored-by: Cursor <cursoragent@cursor.com>
Upstream: siemens/ngx-datatable@74be0584 Co-authored-by: Cursor <cursoragent@cursor.com>
…nabled Upstream: siemens/ngx-datatable@c1e1b22d Co-authored-by: Cursor <cursoragent@cursor.com>
Upstream: siemens/ngx-datatable@625c6d19 Co-authored-by: Cursor <cursoragent@cursor.com>
Upstream: siemens/ngx-datatable@af960f79 Co-authored-by: Cursor <cursoragent@cursor.com>
Vitest unit env does not provide jest-dom toHaveClass matchers. Co-authored-by: Cursor <cursoragent@cursor.com>
Upstream: siemens/ngx-datatable@6fd0c361 Co-authored-by: Cursor <cursoragent@cursor.com>
Upstream: siemens/ngx-datatable@b873a40a Co-authored-by: Cursor <cursoragent@cursor.com>
Upstream: siemens/ngx-datatable@95592ab6 Co-authored-by: Cursor <cursoragent@cursor.com>
Upstream: siemens/ngx-datatable@213476e4 Co-authored-by: Cursor <cursoragent@cursor.com>
Upstream: siemens/ngx-datatable@1ef56dc5 Co-authored-by: Cursor <cursoragent@cursor.com>
Upstream: siemens/ngx-datatable@52850bed Co-authored-by: Cursor <cursoragent@cursor.com>
Upstream: siemens/ngx-datatable@8b1f45cc Co-authored-by: Cursor <cursoragent@cursor.com>
Upstream: siemens/ngx-datatable@a9868db6 Co-authored-by: Cursor <cursoragent@cursor.com>
…on clone Upstream: siemens/ngx-datatable@387759d2 Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Upstream: siemens/ngx-datatable@6d974c19 Co-authored-by: Cursor <cursoragent@cursor.com>
Upstream: siemens/ngx-datatable@b46ab251 Co-authored-by: Cursor <cursoragent@cursor.com>
Upstream: siemens/ngx-datatable@6eb92ac7 Co-authored-by: Cursor <cursoragent@cursor.com>
Upstream: siemens/ngx-datatable@3d5f21a3 @52c32ee2 Skip Siemens README fork note and Zensical config. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Merged
9 tasks
…or Angular 22 support
surya-pabbineedi
marked this pull request as ready for review
July 28, 2026 15:10
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 2 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 1cd3db2. Configure here.
surya-pabbineedi
requested review from
hemanth-r,
jogaj,
marjan-georgiev and
steveblue
July 28, 2026 15:17
hemanth-r
approved these changes
Jul 28, 2026
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.

What kind of change does this PR introduce? (check one with "x")
What is the current behavior? (You can also link to an open issue here)
angular-22-upgradeis missing Siemens product work after the tree-scroll tip (e1aabe0151): bugfixes/features, CSS-grid scroll architecture, deprecated API removals, and Swimlane-compatible docs updates.What is the new behavior?
Single Siemens sync PR onto
angular-22-upgrade(formerly planned as A→B→C→D). Demo routes below assumeyarn start→http://localhost:4200/#/<route>.New features (dedicated demos)
DatatableSummaryRowDirective)#/summary-row-actions— select rows with checkboxes; action bar appears (Export / Delete / Cancel).preserveColumnWidthsOnCloneondatatable-row-ref#/drag-drop— drag a row; preview should keep column widths aligned.Bugfixes (existing demos)
ghostLoadingIndicator, used to show ~1 skeleton row; now fills the visible body.#/virtual-server-side(also#/scrolling-server-side,#/scrolling-no-virtual) — reload and watch skeletons fill the body.queueMicrotask(too early under zoneless); nowsetTimeoutso scroll lands on the revealed row.#/client-side-tree,#/full-screen-tree— expand nested nodes / deep scroll; target row should stay in view.levelbecameNaN(broken indent). Levels resolve recursively.#/client-side-tree— check nested indent. Hardest to force with stock data unless children precede parents.#/multi-row-selection— ctrl/cmd-click a few rows, then shift-click another; prior + range stay selected."icon up"); previously treated as one class token.#/client-side-sorting(default icons). Multi-class covered by unit tests.aria-sortaria-sort(ascending/descending/none).#/client-side-sortingor#/default-sort— inspect header cell in DevTools Accessibility while sorting.#/column-reorder— in device/touch mode: tap header to sort; drag to reorder.CSS-grid scrolling rewrite (layout / behavior)
datatableScrollContainer) instead of body/parent split scrolling.#/horz-vert-scrolling,#/full-screen,#/virtual-server-side,#/column-pinning— scroll both axes; header stays synced horizontally.#/column-pinning,#/force-column,#/flex-column, checkbox demos — resize/pin; header vs body stay aligned.ResizeObserverremasurewindow:resize(removesthrottle.ts).#/responsive,#/full-screen— shrink/grow viewport; columns recalculate without a full window resize.#/checkbox-selection,#/custom-checkbox-selection,#/multi-click-and-checkbox-selection,#/summary-row-actions.Breaking API removals
(sort)[(sorts)]/(sortsChange). For server-side paging, prefer(page)and readPageEvent.sorts.#/server-side-sorting,#/client-side-sorting— sorting still works; old(sort)would fail to compile.(select)[(selected)]/(selectedChange)with the selected array (not{ selected }).#/multi-row-selection,#/checkbox-selection,#/cell-selection, etc.VisibilityDirective#/hidden-on-load(and similar hide/show pages) for layout/init.Docs / non-demo
docs/SUMMARY.mdupdated)Suggested smoke path
#/summary-row-actions— new summary template#/drag-drop— clone column widths#/multi-row-selection— ctrl then shift selection#/virtual-server-side— ghost fill + new scroll stack#/column-pinning— header/body alignment under grid#/checkbox-selection— 40px checkbox column#/client-side-tree— tree expand / indent / scrollUpstream: siemens/ngx-datatable product commits after
e1aabe0151(PRs #653, #677, #679, #680, #683, #684, #704, #710, #720, #732–#739, #754, #759, #760, #762, #763, #764, etc.).Does this PR introduce a breaking change? (check one with "x")
If this PR contains a breaking change, please describe the impact and migration path for existing applications:
(sort)removed → use(sortsChange)or[(sorts)]. For server-side paging, prefer(page)and readPageEvent.sorts.(select)removed → use(selectedChange)or[(selected)](payload is the selected array, not{ selected }).VisibilityDirectiveremoved — no migration; visibility observer deleted.datatable-row-defshould set[preserveColumnWidthsOnClone]="true".Other information:
projects/ngx-datatable→projects/swimlane/ngx-datatable20.x || 21.x || 22.x(Swimlane)yarn build:lib,yarn test:ci(193 passed),yarn lintMade with Cursor