@progress/kendo-angular-grid 21.0.0-develop.23 → 21.0.0-develop.25

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.
@@ -10,7 +10,7 @@ export const packageMetadata = {
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCode: 'KENDOUIANGULAR',
12
12
  productCodes: ['KENDOUIANGULAR'],
13
- publishDate: 1762763373,
14
- version: '21.0.0-develop.23',
13
+ publishDate: 1762792564,
14
+ version: '21.0.0-develop.25',
15
15
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
16
16
  };
@@ -304,17 +304,28 @@ export class ListComponent {
304
304
  const shouldCalculatePageSize = isDocumentAvailable() && this.isVirtual && !isPresent(this.virtualPageSize) && (!isPresent(this.ctx.grid?.pageSize) || this.ctx.grid?.pageable);
305
305
  const previousTotal = this.allItems.length;
306
306
  this.allItems = this.dataMappingService.dataMapper(this.data, this.nonLockedColumnsToRender, this.lockedLeafColumns, this.detailTemplate, this.showFooter);
307
- if (!this.isVirtual || (this.isVirtual && !this.ctx.grid?.pageable && !this.ctx.grid?.group?.length)) {
308
- this.itemsToRender = this.allItems;
309
- }
310
307
  const totalChanged = previousTotal !== this.allItems.length;
308
+ const totalIncreased = this.allItems.length > previousTotal;
311
309
  if (this.totalIsAllItems && totalChanged) {
312
310
  this.scroller.reset(this.skipScroll);
313
311
  this.scroller.total = this.allItems.length;
312
+ this.itemsToRender = this.allItems.slice(this.scroller.virtualSkip, this.scroller.virtualSkip + this.virtualPageSize);
314
313
  }
315
314
  else if (totalChanged && !this.ctx.grid?.group?.length) {
316
- this.scroller.reset(this.skipScroll);
317
- this.scroller.total = this.total;
315
+ // Preserve scroll position for non-virtual endless scrolling (scrollBottom event)
316
+ if (!this.isVirtual && totalIncreased) {
317
+ this.scroller.total = this.total;
318
+ }
319
+ else {
320
+ this.scroller.reset(this.skipScroll);
321
+ this.scroller.total = this.total;
322
+ // Clear flags to allow viewport update on next change detection (virtual scrolling fix)
323
+ this.skipScroll = false;
324
+ this.scroller.scrollSyncing = false;
325
+ }
326
+ }
327
+ if (!this.isVirtual || (this.isVirtual && !this.ctx.grid?.pageable && !this.ctx.grid?.group?.length)) {
328
+ this.itemsToRender = this.allItems;
318
329
  }
319
330
  const rebindGroupedData = this.isVirtual && !totalChanged && this.ctx.grid?.group?.length && !this.rebindGroupedDataFlag;
320
331
  if (rebindGroupedData) {
@@ -22953,8 +22953,8 @@ const packageMetadata = {
22953
22953
  productName: 'Kendo UI for Angular',
22954
22954
  productCode: 'KENDOUIANGULAR',
22955
22955
  productCodes: ['KENDOUIANGULAR'],
22956
- publishDate: 1762763373,
22957
- version: '21.0.0-develop.23',
22956
+ publishDate: 1762792564,
22957
+ version: '21.0.0-develop.25',
22958
22958
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
22959
22959
  };
22960
22960
 
@@ -25580,17 +25580,28 @@ class ListComponent {
25580
25580
  const shouldCalculatePageSize = isDocumentAvailable() && this.isVirtual && !isPresent(this.virtualPageSize) && (!isPresent(this.ctx.grid?.pageSize) || this.ctx.grid?.pageable);
25581
25581
  const previousTotal = this.allItems.length;
25582
25582
  this.allItems = this.dataMappingService.dataMapper(this.data, this.nonLockedColumnsToRender, this.lockedLeafColumns, this.detailTemplate, this.showFooter);
25583
- if (!this.isVirtual || (this.isVirtual && !this.ctx.grid?.pageable && !this.ctx.grid?.group?.length)) {
25584
- this.itemsToRender = this.allItems;
25585
- }
25586
25583
  const totalChanged = previousTotal !== this.allItems.length;
25584
+ const totalIncreased = this.allItems.length > previousTotal;
25587
25585
  if (this.totalIsAllItems && totalChanged) {
25588
25586
  this.scroller.reset(this.skipScroll);
25589
25587
  this.scroller.total = this.allItems.length;
25588
+ this.itemsToRender = this.allItems.slice(this.scroller.virtualSkip, this.scroller.virtualSkip + this.virtualPageSize);
25590
25589
  }
25591
25590
  else if (totalChanged && !this.ctx.grid?.group?.length) {
25592
- this.scroller.reset(this.skipScroll);
25593
- this.scroller.total = this.total;
25591
+ // Preserve scroll position for non-virtual endless scrolling (scrollBottom event)
25592
+ if (!this.isVirtual && totalIncreased) {
25593
+ this.scroller.total = this.total;
25594
+ }
25595
+ else {
25596
+ this.scroller.reset(this.skipScroll);
25597
+ this.scroller.total = this.total;
25598
+ // Clear flags to allow viewport update on next change detection (virtual scrolling fix)
25599
+ this.skipScroll = false;
25600
+ this.scroller.scrollSyncing = false;
25601
+ }
25602
+ }
25603
+ if (!this.isVirtual || (this.isVirtual && !this.ctx.grid?.pageable && !this.ctx.grid?.group?.length)) {
25604
+ this.itemsToRender = this.allItems;
25594
25605
  }
25595
25606
  const rebindGroupedData = this.isVirtual && !totalChanged && this.ctx.grid?.group?.length && !this.rebindGroupedDataFlag;
25596
25607
  if (rebindGroupedData) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-grid",
3
- "version": "21.0.0-develop.23",
3
+ "version": "21.0.0-develop.25",
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": 1762763373,
76
+ "publishDate": 1762792564,
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.21.0",
88
88
  "@progress/kendo-licensing": "^1.7.0",
89
- "@progress/kendo-angular-buttons": "21.0.0-develop.23",
90
- "@progress/kendo-angular-common": "21.0.0-develop.23",
91
- "@progress/kendo-angular-dateinputs": "21.0.0-develop.23",
92
- "@progress/kendo-angular-layout": "21.0.0-develop.23",
93
- "@progress/kendo-angular-navigation": "21.0.0-develop.23",
94
- "@progress/kendo-angular-dropdowns": "21.0.0-develop.23",
95
- "@progress/kendo-angular-excel-export": "21.0.0-develop.23",
96
- "@progress/kendo-angular-icons": "21.0.0-develop.23",
97
- "@progress/kendo-angular-indicators": "21.0.0-develop.23",
98
- "@progress/kendo-angular-inputs": "21.0.0-develop.23",
99
- "@progress/kendo-angular-conversational-ui": "21.0.0-develop.23",
100
- "@progress/kendo-angular-intl": "21.0.0-develop.23",
101
- "@progress/kendo-angular-l10n": "21.0.0-develop.23",
102
- "@progress/kendo-angular-label": "21.0.0-develop.23",
103
- "@progress/kendo-angular-menu": "21.0.0-develop.23",
104
- "@progress/kendo-angular-pager": "21.0.0-develop.23",
105
- "@progress/kendo-angular-pdf-export": "21.0.0-develop.23",
106
- "@progress/kendo-angular-popup": "21.0.0-develop.23",
107
- "@progress/kendo-angular-toolbar": "21.0.0-develop.23",
108
- "@progress/kendo-angular-upload": "21.0.0-develop.23",
109
- "@progress/kendo-angular-utils": "21.0.0-develop.23",
89
+ "@progress/kendo-angular-buttons": "21.0.0-develop.25",
90
+ "@progress/kendo-angular-common": "21.0.0-develop.25",
91
+ "@progress/kendo-angular-dateinputs": "21.0.0-develop.25",
92
+ "@progress/kendo-angular-layout": "21.0.0-develop.25",
93
+ "@progress/kendo-angular-navigation": "21.0.0-develop.25",
94
+ "@progress/kendo-angular-dropdowns": "21.0.0-develop.25",
95
+ "@progress/kendo-angular-excel-export": "21.0.0-develop.25",
96
+ "@progress/kendo-angular-icons": "21.0.0-develop.25",
97
+ "@progress/kendo-angular-indicators": "21.0.0-develop.25",
98
+ "@progress/kendo-angular-inputs": "21.0.0-develop.25",
99
+ "@progress/kendo-angular-conversational-ui": "21.0.0-develop.25",
100
+ "@progress/kendo-angular-intl": "21.0.0-develop.25",
101
+ "@progress/kendo-angular-l10n": "21.0.0-develop.25",
102
+ "@progress/kendo-angular-label": "21.0.0-develop.25",
103
+ "@progress/kendo-angular-menu": "21.0.0-develop.25",
104
+ "@progress/kendo-angular-pager": "21.0.0-develop.25",
105
+ "@progress/kendo-angular-pdf-export": "21.0.0-develop.25",
106
+ "@progress/kendo-angular-popup": "21.0.0-develop.25",
107
+ "@progress/kendo-angular-toolbar": "21.0.0-develop.25",
108
+ "@progress/kendo-angular-upload": "21.0.0-develop.25",
109
+ "@progress/kendo-angular-utils": "21.0.0-develop.25",
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.0.0-develop.23",
114
+ "@progress/kendo-angular-schematics": "21.0.0-develop.25",
115
115
  "@progress/kendo-common": "^1.0.1",
116
116
  "@progress/kendo-file-saver": "^1.0.0",
117
117
  "node-html-parser": "^7.0.1"
@@ -5,19 +5,19 @@ const schematics_1 = require("@angular-devkit/schematics");
5
5
  function default_1(options) {
6
6
  const finalOptions = Object.assign(Object.assign({}, options), { mainNgModule: 'GridModule', package: 'grid', peerDependencies: {
7
7
  // peer deps of the dropdowns
8
- '@progress/kendo-angular-treeview': '21.0.0-develop.23',
9
- '@progress/kendo-angular-navigation': '21.0.0-develop.23',
8
+ '@progress/kendo-angular-treeview': '21.0.0-develop.25',
9
+ '@progress/kendo-angular-navigation': '21.0.0-develop.25',
10
10
  // peer dependency of kendo-angular-inputs
11
- '@progress/kendo-angular-dialog': '21.0.0-develop.23',
11
+ '@progress/kendo-angular-dialog': '21.0.0-develop.25',
12
12
  // peer dependency of kendo-angular-icons
13
13
  '@progress/kendo-svg-icons': '^4.0.0',
14
14
  // peer dependency of kendo-angular-layout
15
- '@progress/kendo-angular-progressbar': '21.0.0-develop.23',
15
+ '@progress/kendo-angular-progressbar': '21.0.0-develop.25',
16
16
  // transitive peer dependencies from toolbar
17
- '@progress/kendo-angular-indicators': '21.0.0-develop.23',
17
+ '@progress/kendo-angular-indicators': '21.0.0-develop.25',
18
18
  // transitive peer dependencies from conversational-ui
19
- '@progress/kendo-angular-menu': '21.0.0-develop.23',
20
- '@progress/kendo-angular-upload': '21.0.0-develop.23'
19
+ '@progress/kendo-angular-menu': '21.0.0-develop.25',
20
+ '@progress/kendo-angular-upload': '21.0.0-develop.25'
21
21
  } });
22
22
  return (0, schematics_1.externalSchematic)('@progress/kendo-angular-schematics', 'ng-add', finalOptions);
23
23
  }