@progress/kendo-angular-grid 23.2.1-develop.4 → 23.2.1-develop.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -68,7 +68,6 @@ export declare class DataBindingDirective implements OnInit, OnDestroy, DoCheck,
68
68
  protected originalData: any[];
69
69
  protected dataChanged: boolean;
70
70
  private stateChangeSubscription;
71
- private gridStateChangeSubscription;
72
71
  private dataChangedSubscription;
73
72
  private rowReorderSubscription;
74
73
  private searchSubscription;
@@ -24215,7 +24215,7 @@ const packageMetadata = {
24215
24215
  productCode: 'KENDOUIANGULAR',
24216
24216
  productCodes: ['KENDOUIANGULAR'],
24217
24217
  publishDate: 0,
24218
- version: '23.2.1-develop.4',
24218
+ version: '23.2.1-develop.6',
24219
24219
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
24220
24220
  };
24221
24221
 
@@ -27754,6 +27754,35 @@ class ListComponent {
27754
27754
  this.setScrollerOptions();
27755
27755
  this.ngZone.runOutsideAngular(this.createScroller.bind(this));
27756
27756
  }
27757
+ /**
27758
+ * After a column resize, rows may become shorter due to reduced text wrapping, leaving empty
27759
+ * space at the bottom of the viewport. Expands `itemsToRender` to fill the gap using
27760
+ * already-loaded data. Must be called after `scroller.update()` so that the row height
27761
+ * service reflects the new actual row heights.
27762
+ * @hidden
27763
+ */
27764
+ fillViewportAfterColumnChange() {
27765
+ if (!this.isVirtual || !this.container || !this.scroller?.rowHeightService || !this.virtualPageSize) {
27766
+ return;
27767
+ }
27768
+ // For non-pageable non-grouped virtual, itemsToRender always equals allItems — no gap possible
27769
+ if (!this.ctx.grid?.pageable && !this.ctx.grid?.group?.length) {
27770
+ return;
27771
+ }
27772
+ const { scrollTop, offsetHeight } = this.container.nativeElement;
27773
+ if (!offsetHeight || !this.allItems.length) {
27774
+ return;
27775
+ }
27776
+ const lastVisibleIndex = this.scroller.rowHeightService.index(scrollTop + offsetHeight);
27777
+ const currentRenderedEnd = this.scroller.virtualSkip + this.itemsToRender.length;
27778
+ if (lastVisibleIndex < currentRenderedEnd) {
27779
+ return;
27780
+ }
27781
+ const newEnd = Math.min(lastVisibleIndex + 1, this.allItems.length);
27782
+ if (newEnd > currentRenderedEnd) {
27783
+ this.itemsToRender = this.allItems.slice(this.scroller.virtualSkip, newEnd);
27784
+ }
27785
+ }
27757
27786
  /**
27758
27787
  * Checks if the virtual scroll state is out of sync with the expected position.
27759
27788
  * Used to determine if resetVirtualScroll should be called.
@@ -34371,6 +34400,7 @@ class GridComponent {
34371
34400
  hasObservers(this.gridStateChange) && this.gridStateChange.emit(this.currentState);
34372
34401
  if (this.isVirtual) {
34373
34402
  this.ctx.scroller?.update();
34403
+ this.listComponent?.fillViewportAfterColumnChange();
34374
34404
  this.listComponent?.resetNavigationViewport();
34375
34405
  }
34376
34406
  })));
@@ -37021,7 +37051,6 @@ class DataBindingDirective {
37021
37051
  originalData = [];
37022
37052
  dataChanged;
37023
37053
  stateChangeSubscription;
37024
- gridStateChangeSubscription;
37025
37054
  dataChangedSubscription;
37026
37055
  rowReorderSubscription;
37027
37056
  searchSubscription;
@@ -37045,9 +37074,6 @@ class DataBindingDirective {
37045
37074
  this.stateChangeSubscription = this.grid
37046
37075
  .dataStateChange
37047
37076
  .subscribe(this.onStateChange.bind(this));
37048
- this.gridStateChangeSubscription = this.grid
37049
- .gridStateChange
37050
- .subscribe(this.onStateChange.bind(this));
37051
37077
  if (this.rowReorderService) {
37052
37078
  this.rowReorderSubscription = this.grid
37053
37079
  .rowReorder
@@ -37077,9 +37103,6 @@ class DataBindingDirective {
37077
37103
  if (this.searchSubscription) {
37078
37104
  this.searchSubscription.unsubscribe();
37079
37105
  }
37080
- if (this.gridStateChangeSubscription) {
37081
- this.gridStateChangeSubscription.unsubscribe();
37082
- }
37083
37106
  }
37084
37107
  ngOnChanges(changes) {
37085
37108
  if (anyChanged(["pageSize", "skip", "sort", "group", "filter"], changes)) {
@@ -7,7 +7,7 @@ export const packageMetadata = {
7
7
  "productCodes": [
8
8
  "KENDOUIANGULAR"
9
9
  ],
10
- "publishDate": 1773132657,
11
- "version": "23.2.1-develop.4",
10
+ "publishDate": 1773219588,
11
+ "version": "23.2.1-develop.6",
12
12
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
13
13
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-grid",
3
- "version": "23.2.1-develop.4",
3
+ "version": "23.2.1-develop.6",
4
4
  "description": "Kendo UI Grid for Angular - high performance data grid with paging, filtering, virtualization, CRUD, and more.",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -73,7 +73,7 @@
73
73
  "package": {
74
74
  "productName": "Kendo UI for Angular",
75
75
  "productCode": "KENDOUIANGULAR",
76
- "publishDate": 1773132657,
76
+ "publishDate": 1773219588,
77
77
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
78
78
  }
79
79
  },
@@ -86,32 +86,32 @@
86
86
  "@progress/kendo-data-query": "^1.7.3",
87
87
  "@progress/kendo-drawing": "^1.24.0",
88
88
  "@progress/kendo-licensing": "^1.10.0",
89
- "@progress/kendo-angular-buttons": "23.2.1-develop.4",
90
- "@progress/kendo-angular-common": "23.2.1-develop.4",
91
- "@progress/kendo-angular-dateinputs": "23.2.1-develop.4",
92
- "@progress/kendo-angular-layout": "23.2.1-develop.4",
93
- "@progress/kendo-angular-navigation": "23.2.1-develop.4",
94
- "@progress/kendo-angular-dropdowns": "23.2.1-develop.4",
95
- "@progress/kendo-angular-excel-export": "23.2.1-develop.4",
96
- "@progress/kendo-angular-icons": "23.2.1-develop.4",
97
- "@progress/kendo-angular-indicators": "23.2.1-develop.4",
98
- "@progress/kendo-angular-inputs": "23.2.1-develop.4",
99
- "@progress/kendo-angular-conversational-ui": "23.2.1-develop.4",
100
- "@progress/kendo-angular-intl": "23.2.1-develop.4",
101
- "@progress/kendo-angular-l10n": "23.2.1-develop.4",
102
- "@progress/kendo-angular-label": "23.2.1-develop.4",
103
- "@progress/kendo-angular-menu": "23.2.1-develop.4",
104
- "@progress/kendo-angular-pager": "23.2.1-develop.4",
105
- "@progress/kendo-angular-pdf-export": "23.2.1-develop.4",
106
- "@progress/kendo-angular-popup": "23.2.1-develop.4",
107
- "@progress/kendo-angular-toolbar": "23.2.1-develop.4",
108
- "@progress/kendo-angular-upload": "23.2.1-develop.4",
109
- "@progress/kendo-angular-utils": "23.2.1-develop.4",
89
+ "@progress/kendo-angular-buttons": "23.2.1-develop.6",
90
+ "@progress/kendo-angular-common": "23.2.1-develop.6",
91
+ "@progress/kendo-angular-dateinputs": "23.2.1-develop.6",
92
+ "@progress/kendo-angular-layout": "23.2.1-develop.6",
93
+ "@progress/kendo-angular-navigation": "23.2.1-develop.6",
94
+ "@progress/kendo-angular-dropdowns": "23.2.1-develop.6",
95
+ "@progress/kendo-angular-excel-export": "23.2.1-develop.6",
96
+ "@progress/kendo-angular-icons": "23.2.1-develop.6",
97
+ "@progress/kendo-angular-indicators": "23.2.1-develop.6",
98
+ "@progress/kendo-angular-inputs": "23.2.1-develop.6",
99
+ "@progress/kendo-angular-conversational-ui": "23.2.1-develop.6",
100
+ "@progress/kendo-angular-intl": "23.2.1-develop.6",
101
+ "@progress/kendo-angular-l10n": "23.2.1-develop.6",
102
+ "@progress/kendo-angular-label": "23.2.1-develop.6",
103
+ "@progress/kendo-angular-menu": "23.2.1-develop.6",
104
+ "@progress/kendo-angular-pager": "23.2.1-develop.6",
105
+ "@progress/kendo-angular-pdf-export": "23.2.1-develop.6",
106
+ "@progress/kendo-angular-popup": "23.2.1-develop.6",
107
+ "@progress/kendo-angular-toolbar": "23.2.1-develop.6",
108
+ "@progress/kendo-angular-upload": "23.2.1-develop.6",
109
+ "@progress/kendo-angular-utils": "23.2.1-develop.6",
110
110
  "rxjs": "^6.5.3 || ^7.0.0"
111
111
  },
112
112
  "dependencies": {
113
113
  "tslib": "^2.3.1",
114
- "@progress/kendo-angular-schematics": "23.2.1-develop.4",
114
+ "@progress/kendo-angular-schematics": "23.2.1-develop.6",
115
115
  "@progress/kendo-common": "^1.0.1",
116
116
  "@progress/kendo-file-saver": "^1.0.0",
117
117
  "@progress/kendo-csv": "^1.0.0"
@@ -148,6 +148,14 @@ export declare class ListComponent implements OnInit, OnDestroy, AfterViewInit,
148
148
  * @hidden
149
149
  */
150
150
  resetVirtualScroll(newTotal: number): void;
151
+ /**
152
+ * After a column resize, rows may become shorter due to reduced text wrapping, leaving empty
153
+ * space at the bottom of the viewport. Expands `itemsToRender` to fill the gap using
154
+ * already-loaded data. Must be called after `scroller.update()` so that the row height
155
+ * service reflects the new actual row heights.
156
+ * @hidden
157
+ */
158
+ fillViewportAfterColumnChange(): void;
151
159
  /**
152
160
  * Checks if the virtual scroll state is out of sync with the expected position.
153
161
  * Used to determine if resetVirtualScroll should be called.
@@ -9,19 +9,19 @@ const schematics_1 = require("@angular-devkit/schematics");
9
9
  function default_1(options) {
10
10
  const finalOptions = Object.assign(Object.assign({}, options), { mainNgModule: 'GridModule', package: 'grid', peerDependencies: {
11
11
  // peer deps of the dropdowns
12
- '@progress/kendo-angular-treeview': '23.2.1-develop.4',
13
- '@progress/kendo-angular-navigation': '23.2.1-develop.4',
12
+ '@progress/kendo-angular-treeview': '23.2.1-develop.6',
13
+ '@progress/kendo-angular-navigation': '23.2.1-develop.6',
14
14
  // peer dependency of kendo-angular-inputs
15
- '@progress/kendo-angular-dialog': '23.2.1-develop.4',
15
+ '@progress/kendo-angular-dialog': '23.2.1-develop.6',
16
16
  // peer dependency of kendo-angular-icons
17
17
  '@progress/kendo-svg-icons': '^4.0.0',
18
18
  // peer dependency of kendo-angular-layout
19
- '@progress/kendo-angular-progressbar': '23.2.1-develop.4',
19
+ '@progress/kendo-angular-progressbar': '23.2.1-develop.6',
20
20
  // transitive peer dependencies from toolbar
21
- '@progress/kendo-angular-indicators': '23.2.1-develop.4',
21
+ '@progress/kendo-angular-indicators': '23.2.1-develop.6',
22
22
  // transitive peer dependencies from conversational-ui
23
- '@progress/kendo-angular-menu': '23.2.1-develop.4',
24
- '@progress/kendo-angular-upload': '23.2.1-develop.4'
23
+ '@progress/kendo-angular-menu': '23.2.1-develop.6',
24
+ '@progress/kendo-angular-upload': '23.2.1-develop.6'
25
25
  } });
26
26
  return (0, schematics_1.externalSchematic)('@progress/kendo-angular-schematics', 'ng-add', finalOptions);
27
27
  }