Commit a328e71
fix(grid): fix zone.onStable patterns broken in zoneless change detection (#17328)
* fix(grid): fix zone.onStable patterns broken in zoneless change detection
* fix(grid): improve zoneless scheduling support
* fix(for-of): recalculate virtual sizes in zoneless mode
* chore(*): remove repeating code
* fix(grid): use afterNextRender for zoneless render scheduling
* fix(grid): improve virtualized keyboard selection handling
* fix(grids): migrate virt & nav to zoneless-compatible scheduling
- Deferred grid work (scroll chunkLoad emit, column autosizing, filter-row
rendering, post-scroll cell activation) relied on NgZone.onStable, which
never emits under provideZonelessChangeDetection. Replace it with a single
runAfterRenderOnce helper built on afterNextRender, and remove the private
ɵNoopNgZone zoneless detection.
- core: add runAfterRenderOnce(injector, cb, phase) central scheduler
- grids: route for_of, grid-base, pivot-grid deferred work through it
- filtering: signal-backed isFilterRowVisible; ResizeObserver-driven chip
remeasure; explicit notify on column resize
- navigation: notify on any scrolling nav key; subscribe before scroll in
hierarchical navigation
* fix(grid): refactor navigation callback handling for improved clarity
* fix(grid): remove redundant resize change detection
* fix(grid): remove unnecessary read option from runAfterRenderOnce calls
* fix(grid): simplify summary row index retrieval in tests
* fix(grid): restore navigation callback contract
* fix(grid): remove zoneless scroll detection setup from tests
* fix(grid): waitForChildrenResolved function to include predicate handling
* fix(grid): remove unnecessary 'read' argument from recalcUpdateSizes calls
* test(grid): improve virtualized navigation synchronization
* fix(grid): update wait for grid events methods for improved navigation handling
* test(grids): enable auto detection for deferred render tests
* test(grid): use DOM events in filtering row tests
---------
Co-authored-by: Stamen Stoychev <chronos.stz@gmail.com>1 parent 9726bdf commit a328e71
23 files changed
Lines changed: 680 additions & 109 deletions
File tree
- projects/igniteui-angular
- core/src/core
- directives/src/directives/for-of
- grids
- core/src
- grid/src
- hierarchical-grid/src
- pivot-grid/src
- tree-grid/src
- test-utils
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
| 2 | + | |
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
11 | 36 | | |
12 | 37 | | |
13 | 38 | | |
| |||
Lines changed: 16 additions & 29 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
| 2 | + | |
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
11 | | - | |
| 10 | + | |
| 11 | + | |
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| |||
659 | 659 | | |
660 | 660 | | |
661 | 661 | | |
662 | | - | |
663 | | - | |
664 | | - | |
665 | | - | |
666 | | - | |
667 | | - | |
668 | | - | |
| 662 | + | |
| 663 | + | |
| 664 | + | |
669 | 665 | | |
670 | 666 | | |
671 | 667 | | |
| |||
912 | 908 | | |
913 | 909 | | |
914 | 910 | | |
915 | | - | |
| 911 | + | |
916 | 912 | | |
917 | 913 | | |
918 | 914 | | |
| |||
962 | 958 | | |
963 | 959 | | |
964 | 960 | | |
965 | | - | |
966 | | - | |
967 | | - | |
968 | | - | |
969 | | - | |
970 | | - | |
971 | | - | |
972 | | - | |
973 | | - | |
| 961 | + | |
| 962 | + | |
| 963 | + | |
| 964 | + | |
974 | 965 | | |
975 | 966 | | |
976 | 967 | | |
| |||
1182 | 1173 | | |
1183 | 1174 | | |
1184 | 1175 | | |
1185 | | - | |
| 1176 | + | |
1186 | 1177 | | |
1187 | 1178 | | |
1188 | 1179 | | |
| |||
1785 | 1776 | | |
1786 | 1777 | | |
1787 | 1778 | | |
1788 | | - | |
1789 | | - | |
1790 | | - | |
1791 | | - | |
1792 | | - | |
1793 | | - | |
1794 | | - | |
1795 | | - | |
| 1779 | + | |
| 1780 | + | |
| 1781 | + | |
| 1782 | + | |
1796 | 1783 | | |
1797 | 1784 | | |
1798 | 1785 | | |
| |||
Lines changed: 13 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
| 36 | + | |
| 37 | + | |
36 | 38 | | |
37 | 39 | | |
38 | 40 | | |
| |||
106 | 108 | | |
107 | 109 | | |
108 | 110 | | |
109 | | - | |
110 | | - | |
| 111 | + | |
111 | 112 | | |
112 | 113 | | |
113 | 114 | | |
| |||
231 | 232 | | |
232 | 233 | | |
233 | 234 | | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
234 | 245 | | |
235 | 246 | | |
236 | 247 | | |
| |||
Lines changed: 11 additions & 8 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
608 | 608 | | |
609 | 609 | | |
610 | 610 | | |
611 | | - | |
| 611 | + | |
| 612 | + | |
| 613 | + | |
612 | 614 | | |
613 | | - | |
| 615 | + | |
614 | 616 | | |
615 | | - | |
616 | | - | |
617 | | - | |
| 617 | + | |
| 618 | + | |
| 619 | + | |
| 620 | + | |
618 | 621 | | |
619 | | - | |
| 622 | + | |
620 | 623 | | |
621 | | - | |
| 624 | + | |
622 | 625 | | |
623 | | - | |
| 626 | + | |
624 | 627 | | |
625 | 628 | | |
626 | 629 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| |||
1942 | 1942 | | |
1943 | 1943 | | |
1944 | 1944 | | |
| 1945 | + | |
| 1946 | + | |
| 1947 | + | |
| 1948 | + | |
| 1949 | + | |
| 1950 | + | |
| 1951 | + | |
| 1952 | + | |
| 1953 | + | |
| 1954 | + | |
| 1955 | + | |
| 1956 | + | |
| 1957 | + | |
| 1958 | + | |
| 1959 | + | |
| 1960 | + | |
| 1961 | + | |
| 1962 | + | |
| 1963 | + | |
| 1964 | + | |
| 1965 | + | |
| 1966 | + | |
| 1967 | + | |
| 1968 | + | |
| 1969 | + | |
| 1970 | + | |
| 1971 | + | |
Lines changed: 10 additions & 29 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
91 | 91 | | |
92 | 92 | | |
93 | 93 | | |
94 | | - | |
| 94 | + | |
| 95 | + | |
95 | 96 | | |
96 | 97 | | |
97 | 98 | | |
| |||
4166 | 4167 | | |
4167 | 4168 | | |
4168 | 4169 | | |
4169 | | - | |
4170 | | - | |
4171 | | - | |
| 4170 | + | |
4172 | 4171 | | |
4173 | 4172 | | |
4174 | 4173 | | |
| |||
4681 | 4680 | | |
4682 | 4681 | | |
4683 | 4682 | | |
4684 | | - | |
| 4683 | + | |
4685 | 4684 | | |
4686 | 4685 | | |
4687 | 4686 | | |
| |||
6377 | 6376 | | |
6378 | 6377 | | |
6379 | 6378 | | |
6380 | | - | |
| 6379 | + | |
6381 | 6380 | | |
6382 | 6381 | | |
6383 | 6382 | | |
| |||
7076 | 7075 | | |
7077 | 7076 | | |
7078 | 7077 | | |
7079 | | - | |
| 7078 | + | |
7080 | 7079 | | |
7081 | 7080 | | |
7082 | 7081 | | |
7083 | 7082 | | |
7084 | | - | |
7085 | | - | |
7086 | | - | |
7087 | | - | |
7088 | | - | |
7089 | | - | |
7090 | | - | |
| 7083 | + | |
7091 | 7084 | | |
7092 | 7085 | | |
7093 | 7086 | | |
7094 | | - | |
7095 | | - | |
7096 | | - | |
| 7087 | + | |
7097 | 7088 | | |
7098 | 7089 | | |
7099 | 7090 | | |
| |||
7743 | 7734 | | |
7744 | 7735 | | |
7745 | 7736 | | |
7746 | | - | |
7747 | 7737 | | |
7748 | 7738 | | |
7749 | 7739 | | |
7750 | 7740 | | |
7751 | 7741 | | |
7752 | 7742 | | |
7753 | | - | |
7754 | | - | |
7755 | | - | |
7756 | | - | |
7757 | | - | |
7758 | | - | |
| 7743 | + | |
7759 | 7744 | | |
7760 | 7745 | | |
7761 | 7746 | | |
| |||
7780 | 7765 | | |
7781 | 7766 | | |
7782 | 7767 | | |
7783 | | - | |
7784 | | - | |
7785 | | - | |
7786 | | - | |
7787 | 7768 | | |
7788 | 7769 | | |
7789 | 7770 | | |
| |||
7808 | 7789 | | |
7809 | 7790 | | |
7810 | 7791 | | |
7811 | | - | |
| 7792 | + | |
7812 | 7793 | | |
7813 | 7794 | | |
7814 | 7795 | | |
| |||
0 commit comments