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

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.
@@ -48,12 +48,10 @@ export class ColumnMenuSortComponent extends ColumnMenuItemBase {
48
48
  this.renderer = renderer;
49
49
  }
50
50
  get sortedAsc() {
51
- const descriptor = this.descriptor;
52
- return descriptor && (!descriptor.dir || descriptor.dir === 'asc');
51
+ return this.descriptor?.dir === 'asc';
53
52
  }
54
53
  get sortedDesc() {
55
- const descriptor = this.descriptor;
56
- return descriptor && descriptor.dir === 'desc';
54
+ return this.descriptor?.dir === 'desc';
57
55
  }
58
56
  /**
59
57
  * @hidden
@@ -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: 1766151151,
14
+ version: '21.4.0-develop.11',
15
15
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
16
16
  };
@@ -893,6 +893,7 @@ export class ListComponent {
893
893
  class="k-grid-content k-virtual-content"
894
894
  [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
895
895
  [lockedWidth]="lockedWidth + 1"
896
+ tabindex="-1"
896
897
  >
897
898
  <div role="presentation">
898
899
  <table
@@ -1030,6 +1031,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
1030
1031
  class="k-grid-content k-virtual-content"
1031
1032
  [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
1032
1033
  [lockedWidth]="lockedWidth + 1"
1034
+ tabindex="-1"
1033
1035
  >
1034
1036
  <div role="presentation">
1035
1037
  <table
@@ -180,7 +180,7 @@ export class ColumnChooserToolbarDirective extends ToolbarToolBase {
180
180
  columnChooserContent.allowHideAll = this.allowHideAll;
181
181
  columnChooserContent.applyText = this.ctx.localization.get('columnsApply');
182
182
  columnChooserContent.resetText = this.ctx.localization.get('columnsReset');
183
- columnChooserContent.columns = this.ctx.grid.columns;
183
+ columnChooserContent.columns = this.columns;
184
184
  columnChooserContent.filteredColumns = this.columnInfoService?.leafNamedColumns.filter(column => {
185
185
  if (column.includeInChooser !== false) {
186
186
  column.initiallyChecked = column.currentlyChecked = !column.hidden;
@@ -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;
@@ -14006,7 +14006,7 @@ class ColumnChooserToolbarDirective extends ToolbarToolBase {
14006
14006
  columnChooserContent.allowHideAll = this.allowHideAll;
14007
14007
  columnChooserContent.applyText = this.ctx.localization.get('columnsApply');
14008
14008
  columnChooserContent.resetText = this.ctx.localization.get('columnsReset');
14009
- columnChooserContent.columns = this.ctx.grid.columns;
14009
+ columnChooserContent.columns = this.columns;
14010
14010
  columnChooserContent.filteredColumns = this.columnInfoService?.leafNamedColumns.filter(column => {
14011
14011
  if (column.includeInChooser !== false) {
14012
14012
  column.initiallyChecked = column.currentlyChecked = !column.hidden;
@@ -15788,12 +15788,10 @@ class ColumnMenuSortComponent extends ColumnMenuItemBase {
15788
15788
  this.renderer = renderer;
15789
15789
  }
15790
15790
  get sortedAsc() {
15791
- const descriptor = this.descriptor;
15792
- return descriptor && (!descriptor.dir || descriptor.dir === 'asc');
15791
+ return this.descriptor?.dir === 'asc';
15793
15792
  }
15794
15793
  get sortedDesc() {
15795
- const descriptor = this.descriptor;
15796
- return descriptor && descriptor.dir === 'desc';
15794
+ return this.descriptor?.dir === 'desc';
15797
15795
  }
15798
15796
  /**
15799
15797
  * @hidden
@@ -19251,7 +19249,8 @@ class SelectAllCheckboxDirective {
19251
19249
  onClick() {
19252
19250
  const isIndeterminateState = this.checkbox?.checkedState === 'indeterminate' || this.element.nativeElement.indeterminate;
19253
19251
  const isCheckedState = this.checkbox?.checkedState === true || this.element.nativeElement.checked;
19254
- const checkboxState = isCheckedState ? 'checked' : isIndeterminateState ? 'indeterminate' : 'unchecked';
19252
+ const uncheckedState = isIndeterminateState ? 'indeterminate' : 'unchecked';
19253
+ const checkboxState = isCheckedState ? 'checked' : uncheckedState;
19255
19254
  const isChecked = this.selectionService.hasNonSelectable ? !this.selectionService.selectAllChecked : isCheckedState;
19256
19255
  const options = this.selectionService.options;
19257
19256
  const enabledAndMultiple = options.enabled && options.mode === 'multiple' && !this.cellSelectionService.active;
@@ -23601,8 +23600,8 @@ const packageMetadata = {
23601
23600
  productName: 'Kendo UI for Angular',
23602
23601
  productCode: 'KENDOUIANGULAR',
23603
23602
  productCodes: ['KENDOUIANGULAR'],
23604
- publishDate: 1765536412,
23605
- version: '21.4.0-develop.1',
23603
+ publishDate: 1766151151,
23604
+ version: '21.4.0-develop.11',
23606
23605
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
23607
23606
  };
23608
23607
 
@@ -27522,6 +27521,7 @@ class ListComponent {
27522
27521
  class="k-grid-content k-virtual-content"
27523
27522
  [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
27524
27523
  [lockedWidth]="lockedWidth + 1"
27524
+ tabindex="-1"
27525
27525
  >
27526
27526
  <div role="presentation">
27527
27527
  <table
@@ -27659,6 +27659,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
27659
27659
  class="k-grid-content k-virtual-content"
27660
27660
  [kendoGridResizableContainer]="lockedLeafColumns.length > 0"
27661
27661
  [lockedWidth]="lockedWidth + 1"
27662
+ tabindex="-1"
27662
27663
  >
27663
27664
  <div role="presentation">
27664
27665
  <table
@@ -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.11",
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": 1766151151,
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.11",
90
+ "@progress/kendo-angular-common": "21.4.0-develop.11",
91
+ "@progress/kendo-angular-dateinputs": "21.4.0-develop.11",
92
+ "@progress/kendo-angular-layout": "21.4.0-develop.11",
93
+ "@progress/kendo-angular-navigation": "21.4.0-develop.11",
94
+ "@progress/kendo-angular-dropdowns": "21.4.0-develop.11",
95
+ "@progress/kendo-angular-excel-export": "21.4.0-develop.11",
96
+ "@progress/kendo-angular-icons": "21.4.0-develop.11",
97
+ "@progress/kendo-angular-indicators": "21.4.0-develop.11",
98
+ "@progress/kendo-angular-inputs": "21.4.0-develop.11",
99
+ "@progress/kendo-angular-conversational-ui": "21.4.0-develop.11",
100
+ "@progress/kendo-angular-intl": "21.4.0-develop.11",
101
+ "@progress/kendo-angular-l10n": "21.4.0-develop.11",
102
+ "@progress/kendo-angular-label": "21.4.0-develop.11",
103
+ "@progress/kendo-angular-menu": "21.4.0-develop.11",
104
+ "@progress/kendo-angular-pager": "21.4.0-develop.11",
105
+ "@progress/kendo-angular-pdf-export": "21.4.0-develop.11",
106
+ "@progress/kendo-angular-popup": "21.4.0-develop.11",
107
+ "@progress/kendo-angular-toolbar": "21.4.0-develop.11",
108
+ "@progress/kendo-angular-upload": "21.4.0-develop.11",
109
+ "@progress/kendo-angular-utils": "21.4.0-develop.11",
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.11",
115
115
  "@progress/kendo-common": "^1.0.1",
116
116
  "@progress/kendo-file-saver": "^1.0.0"
117
117
  },
@@ -33,7 +33,7 @@ export interface GridAIRequestColumnDescriptor {
33
33
  type?: 'checkbox' | 'command';
34
34
  }
35
35
  /**
36
- * Represents the data sent in the AI request from the Grid Toolbar AI Assistant.
36
+ * Defines the data used to build the HTTP request body sent by the Grid Toolbar AI Assistant.
37
37
  */
38
38
  export interface GridAIRequestData {
39
39
  /**
@@ -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.11',
13
+ '@progress/kendo-angular-navigation': '21.4.0-develop.11',
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.11',
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.11',
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.11',
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.11',
24
+ '@progress/kendo-angular-upload': '21.4.0-develop.11'
25
25
  } });
26
26
  return (0, schematics_1.externalSchematic)('@progress/kendo-angular-schematics', 'ng-add', finalOptions);
27
27
  }