@progress/kendo-angular-grid 21.4.0-develop.1 → 21.4.0-develop.2

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.
@@ -190,8 +190,17 @@ export class DataBindingDirective {
190
190
  this.filter = filter;
191
191
  }
192
192
  updateGridData() {
193
- if (this.grid.isVirtual && !this.grid.pageable && this.state.group?.length) {
194
- this.state.take = undefined;
193
+ // Virtual scrolling without pagination:
194
+ // - With groups: set take to undefined for DOM virtualization only (all data loaded)
195
+ // - Without groups: ensure take is set for data virtualization (skip/take based loading)
196
+ if (this.grid.isVirtual && !this.grid.pageable) {
197
+ if (this.state.group?.length) {
198
+ this.state.take = undefined;
199
+ }
200
+ else if (!isPresent(this.state.take) && isPresent(this.grid.pageSize)) {
201
+ // Restore pageSize when ungrouping to enable data virtualization
202
+ this.state.take = this.grid.pageSize;
203
+ }
195
204
  }
196
205
  this.grid.data = this.process(this.state);
197
206
  this.grid.updateNavigationMetadata();
@@ -10,7 +10,7 @@ export const packageMetadata = {
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCode: 'KENDOUIANGULAR',
12
12
  productCodes: ['KENDOUIANGULAR'],
13
- publishDate: 1765536412,
14
- version: '21.4.0-develop.1',
13
+ publishDate: 1765550832,
14
+ version: '21.4.0-develop.2',
15
15
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
16
16
  };
@@ -81,7 +81,8 @@ export class SelectAllCheckboxDirective {
81
81
  onClick() {
82
82
  const isIndeterminateState = this.checkbox?.checkedState === 'indeterminate' || this.element.nativeElement.indeterminate;
83
83
  const isCheckedState = this.checkbox?.checkedState === true || this.element.nativeElement.checked;
84
- const checkboxState = isCheckedState ? 'checked' : isIndeterminateState ? 'indeterminate' : 'unchecked';
84
+ const uncheckedState = isIndeterminateState ? 'indeterminate' : 'unchecked';
85
+ const checkboxState = isCheckedState ? 'checked' : uncheckedState;
85
86
  const isChecked = this.selectionService.hasNonSelectable ? !this.selectionService.selectAllChecked : isCheckedState;
86
87
  const options = this.selectionService.options;
87
88
  const enabledAndMultiple = options.enabled && options.mode === 'multiple' && !this.cellSelectionService.active;
@@ -19251,7 +19251,8 @@ class SelectAllCheckboxDirective {
19251
19251
  onClick() {
19252
19252
  const isIndeterminateState = this.checkbox?.checkedState === 'indeterminate' || this.element.nativeElement.indeterminate;
19253
19253
  const isCheckedState = this.checkbox?.checkedState === true || this.element.nativeElement.checked;
19254
- const checkboxState = isCheckedState ? 'checked' : isIndeterminateState ? 'indeterminate' : 'unchecked';
19254
+ const uncheckedState = isIndeterminateState ? 'indeterminate' : 'unchecked';
19255
+ const checkboxState = isCheckedState ? 'checked' : uncheckedState;
19255
19256
  const isChecked = this.selectionService.hasNonSelectable ? !this.selectionService.selectAllChecked : isCheckedState;
19256
19257
  const options = this.selectionService.options;
19257
19258
  const enabledAndMultiple = options.enabled && options.mode === 'multiple' && !this.cellSelectionService.active;
@@ -23601,8 +23602,8 @@ const packageMetadata = {
23601
23602
  productName: 'Kendo UI for Angular',
23602
23603
  productCode: 'KENDOUIANGULAR',
23603
23604
  productCodes: ['KENDOUIANGULAR'],
23604
- publishDate: 1765536412,
23605
- version: '21.4.0-develop.1',
23605
+ publishDate: 1765550832,
23606
+ version: '21.4.0-develop.2',
23606
23607
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
23607
23608
  };
23608
23609
 
@@ -36078,8 +36079,17 @@ class DataBindingDirective {
36078
36079
  this.filter = filter;
36079
36080
  }
36080
36081
  updateGridData() {
36081
- if (this.grid.isVirtual && !this.grid.pageable && this.state.group?.length) {
36082
- this.state.take = undefined;
36082
+ // Virtual scrolling without pagination:
36083
+ // - With groups: set take to undefined for DOM virtualization only (all data loaded)
36084
+ // - Without groups: ensure take is set for data virtualization (skip/take based loading)
36085
+ if (this.grid.isVirtual && !this.grid.pageable) {
36086
+ if (this.state.group?.length) {
36087
+ this.state.take = undefined;
36088
+ }
36089
+ else if (!isPresent(this.state.take) && isPresent(this.grid.pageSize)) {
36090
+ // Restore pageSize when ungrouping to enable data virtualization
36091
+ this.state.take = this.grid.pageSize;
36092
+ }
36083
36093
  }
36084
36094
  this.grid.data = this.process(this.state);
36085
36095
  this.grid.updateNavigationMetadata();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-grid",
3
- "version": "21.4.0-develop.1",
3
+ "version": "21.4.0-develop.2",
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": 1765536412,
76
+ "publishDate": 1765550832,
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.0.0",
87
87
  "@progress/kendo-drawing": "^1.23.1",
88
88
  "@progress/kendo-licensing": "^1.7.0",
89
- "@progress/kendo-angular-buttons": "21.4.0-develop.1",
90
- "@progress/kendo-angular-common": "21.4.0-develop.1",
91
- "@progress/kendo-angular-dateinputs": "21.4.0-develop.1",
92
- "@progress/kendo-angular-layout": "21.4.0-develop.1",
93
- "@progress/kendo-angular-navigation": "21.4.0-develop.1",
94
- "@progress/kendo-angular-dropdowns": "21.4.0-develop.1",
95
- "@progress/kendo-angular-excel-export": "21.4.0-develop.1",
96
- "@progress/kendo-angular-icons": "21.4.0-develop.1",
97
- "@progress/kendo-angular-indicators": "21.4.0-develop.1",
98
- "@progress/kendo-angular-inputs": "21.4.0-develop.1",
99
- "@progress/kendo-angular-conversational-ui": "21.4.0-develop.1",
100
- "@progress/kendo-angular-intl": "21.4.0-develop.1",
101
- "@progress/kendo-angular-l10n": "21.4.0-develop.1",
102
- "@progress/kendo-angular-label": "21.4.0-develop.1",
103
- "@progress/kendo-angular-menu": "21.4.0-develop.1",
104
- "@progress/kendo-angular-pager": "21.4.0-develop.1",
105
- "@progress/kendo-angular-pdf-export": "21.4.0-develop.1",
106
- "@progress/kendo-angular-popup": "21.4.0-develop.1",
107
- "@progress/kendo-angular-toolbar": "21.4.0-develop.1",
108
- "@progress/kendo-angular-upload": "21.4.0-develop.1",
109
- "@progress/kendo-angular-utils": "21.4.0-develop.1",
89
+ "@progress/kendo-angular-buttons": "21.4.0-develop.2",
90
+ "@progress/kendo-angular-common": "21.4.0-develop.2",
91
+ "@progress/kendo-angular-dateinputs": "21.4.0-develop.2",
92
+ "@progress/kendo-angular-layout": "21.4.0-develop.2",
93
+ "@progress/kendo-angular-navigation": "21.4.0-develop.2",
94
+ "@progress/kendo-angular-dropdowns": "21.4.0-develop.2",
95
+ "@progress/kendo-angular-excel-export": "21.4.0-develop.2",
96
+ "@progress/kendo-angular-icons": "21.4.0-develop.2",
97
+ "@progress/kendo-angular-indicators": "21.4.0-develop.2",
98
+ "@progress/kendo-angular-inputs": "21.4.0-develop.2",
99
+ "@progress/kendo-angular-conversational-ui": "21.4.0-develop.2",
100
+ "@progress/kendo-angular-intl": "21.4.0-develop.2",
101
+ "@progress/kendo-angular-l10n": "21.4.0-develop.2",
102
+ "@progress/kendo-angular-label": "21.4.0-develop.2",
103
+ "@progress/kendo-angular-menu": "21.4.0-develop.2",
104
+ "@progress/kendo-angular-pager": "21.4.0-develop.2",
105
+ "@progress/kendo-angular-pdf-export": "21.4.0-develop.2",
106
+ "@progress/kendo-angular-popup": "21.4.0-develop.2",
107
+ "@progress/kendo-angular-toolbar": "21.4.0-develop.2",
108
+ "@progress/kendo-angular-upload": "21.4.0-develop.2",
109
+ "@progress/kendo-angular-utils": "21.4.0-develop.2",
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": "21.4.0-develop.1",
114
+ "@progress/kendo-angular-schematics": "21.4.0-develop.2",
115
115
  "@progress/kendo-common": "^1.0.1",
116
116
  "@progress/kendo-file-saver": "^1.0.0"
117
117
  },
@@ -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': '21.4.0-develop.1',
13
- '@progress/kendo-angular-navigation': '21.4.0-develop.1',
12
+ '@progress/kendo-angular-treeview': '21.4.0-develop.2',
13
+ '@progress/kendo-angular-navigation': '21.4.0-develop.2',
14
14
  // peer dependency of kendo-angular-inputs
15
- '@progress/kendo-angular-dialog': '21.4.0-develop.1',
15
+ '@progress/kendo-angular-dialog': '21.4.0-develop.2',
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': '21.4.0-develop.1',
19
+ '@progress/kendo-angular-progressbar': '21.4.0-develop.2',
20
20
  // transitive peer dependencies from toolbar
21
- '@progress/kendo-angular-indicators': '21.4.0-develop.1',
21
+ '@progress/kendo-angular-indicators': '21.4.0-develop.2',
22
22
  // transitive peer dependencies from conversational-ui
23
- '@progress/kendo-angular-menu': '21.4.0-develop.1',
24
- '@progress/kendo-angular-upload': '21.4.0-develop.1'
23
+ '@progress/kendo-angular-menu': '21.4.0-develop.2',
24
+ '@progress/kendo-angular-upload': '21.4.0-develop.2'
25
25
  } });
26
26
  return (0, schematics_1.externalSchematic)('@progress/kendo-angular-schematics', 'ng-add', finalOptions);
27
27
  }