@progress/kendo-angular-grid 21.3.0-develop.7 → 21.3.0-develop.8

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.
@@ -2,14 +2,17 @@
2
2
  * Copyright © 2025 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
+ import { OnDestroy } from "@angular/core";
5
6
  import * as i0 from "@angular/core";
6
7
  /**
7
8
  * @hidden
8
9
  */
9
- export declare class IdService {
10
+ export declare class IdService implements OnDestroy {
10
11
  private prefix;
12
+ private gridIndex;
11
13
  private columnCounter;
12
14
  constructor();
15
+ ngOnDestroy(): void;
13
16
  gridId(): string;
14
17
  cellId(rowIndex: number, colIndex: number): string;
15
18
  selectionCheckboxId(itemIndex: any): string;
@@ -4,16 +4,34 @@
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { Injectable } from "@angular/core";
6
6
  import * as i0 from "@angular/core";
7
- // Incremented each time the service is instantiated.
8
- let sequence = 0;
7
+ // Registry to track active Grid instances and their indices
8
+ const activeGridIndices = new Set();
9
+ // Get the next available grid index (reuses freed indices)
10
+ function getNextGridIndex() {
11
+ let index = 0;
12
+ while (activeGridIndices.has(index)) {
13
+ index++;
14
+ }
15
+ activeGridIndices.add(index);
16
+ return index;
17
+ }
18
+ // Release a grid index when the Grid is destroyed
19
+ function releaseGridIndex(index) {
20
+ activeGridIndices.delete(index);
21
+ }
9
22
  /**
10
23
  * @hidden
11
24
  */
12
25
  export class IdService {
13
26
  prefix;
27
+ gridIndex;
14
28
  columnCounter = 0;
15
29
  constructor() {
16
- this.prefix = `k-grid${sequence++}`;
30
+ this.gridIndex = getNextGridIndex();
31
+ this.prefix = `k-grid${this.gridIndex}`;
32
+ }
33
+ ngOnDestroy() {
34
+ releaseGridIndex(this.gridIndex);
17
35
  }
18
36
  gridId() {
19
37
  return this.prefix;
@@ -10,7 +10,7 @@ export const packageMetadata = {
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCode: 'KENDOUIANGULAR',
12
12
  productCodes: ['KENDOUIANGULAR'],
13
- publishDate: 1765185781,
14
- version: '21.3.0-develop.7',
13
+ publishDate: 1765209527,
14
+ version: '21.3.0-develop.8',
15
15
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
16
16
  };
@@ -2102,16 +2102,34 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
2102
2102
  type: Optional
2103
2103
  }] }] });
2104
2104
 
2105
- // Incremented each time the service is instantiated.
2106
- let sequence = 0;
2105
+ // Registry to track active Grid instances and their indices
2106
+ const activeGridIndices = new Set();
2107
+ // Get the next available grid index (reuses freed indices)
2108
+ function getNextGridIndex() {
2109
+ let index = 0;
2110
+ while (activeGridIndices.has(index)) {
2111
+ index++;
2112
+ }
2113
+ activeGridIndices.add(index);
2114
+ return index;
2115
+ }
2116
+ // Release a grid index when the Grid is destroyed
2117
+ function releaseGridIndex(index) {
2118
+ activeGridIndices.delete(index);
2119
+ }
2107
2120
  /**
2108
2121
  * @hidden
2109
2122
  */
2110
2123
  class IdService {
2111
2124
  prefix;
2125
+ gridIndex;
2112
2126
  columnCounter = 0;
2113
2127
  constructor() {
2114
- this.prefix = `k-grid${sequence++}`;
2128
+ this.gridIndex = getNextGridIndex();
2129
+ this.prefix = `k-grid${this.gridIndex}`;
2130
+ }
2131
+ ngOnDestroy() {
2132
+ releaseGridIndex(this.gridIndex);
2115
2133
  }
2116
2134
  gridId() {
2117
2135
  return this.prefix;
@@ -23578,8 +23596,8 @@ const packageMetadata = {
23578
23596
  productName: 'Kendo UI for Angular',
23579
23597
  productCode: 'KENDOUIANGULAR',
23580
23598
  productCodes: ['KENDOUIANGULAR'],
23581
- publishDate: 1765185781,
23582
- version: '21.3.0-develop.7',
23599
+ publishDate: 1765209527,
23600
+ version: '21.3.0-develop.8',
23583
23601
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
23584
23602
  };
23585
23603
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-grid",
3
- "version": "21.3.0-develop.7",
3
+ "version": "21.3.0-develop.8",
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": 1765185781,
76
+ "publishDate": 1765209527,
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.3.0-develop.7",
90
- "@progress/kendo-angular-common": "21.3.0-develop.7",
91
- "@progress/kendo-angular-dateinputs": "21.3.0-develop.7",
92
- "@progress/kendo-angular-layout": "21.3.0-develop.7",
93
- "@progress/kendo-angular-navigation": "21.3.0-develop.7",
94
- "@progress/kendo-angular-dropdowns": "21.3.0-develop.7",
95
- "@progress/kendo-angular-excel-export": "21.3.0-develop.7",
96
- "@progress/kendo-angular-icons": "21.3.0-develop.7",
97
- "@progress/kendo-angular-indicators": "21.3.0-develop.7",
98
- "@progress/kendo-angular-inputs": "21.3.0-develop.7",
99
- "@progress/kendo-angular-conversational-ui": "21.3.0-develop.7",
100
- "@progress/kendo-angular-intl": "21.3.0-develop.7",
101
- "@progress/kendo-angular-l10n": "21.3.0-develop.7",
102
- "@progress/kendo-angular-label": "21.3.0-develop.7",
103
- "@progress/kendo-angular-menu": "21.3.0-develop.7",
104
- "@progress/kendo-angular-pager": "21.3.0-develop.7",
105
- "@progress/kendo-angular-pdf-export": "21.3.0-develop.7",
106
- "@progress/kendo-angular-popup": "21.3.0-develop.7",
107
- "@progress/kendo-angular-toolbar": "21.3.0-develop.7",
108
- "@progress/kendo-angular-upload": "21.3.0-develop.7",
109
- "@progress/kendo-angular-utils": "21.3.0-develop.7",
89
+ "@progress/kendo-angular-buttons": "21.3.0-develop.8",
90
+ "@progress/kendo-angular-common": "21.3.0-develop.8",
91
+ "@progress/kendo-angular-dateinputs": "21.3.0-develop.8",
92
+ "@progress/kendo-angular-layout": "21.3.0-develop.8",
93
+ "@progress/kendo-angular-navigation": "21.3.0-develop.8",
94
+ "@progress/kendo-angular-dropdowns": "21.3.0-develop.8",
95
+ "@progress/kendo-angular-excel-export": "21.3.0-develop.8",
96
+ "@progress/kendo-angular-icons": "21.3.0-develop.8",
97
+ "@progress/kendo-angular-indicators": "21.3.0-develop.8",
98
+ "@progress/kendo-angular-inputs": "21.3.0-develop.8",
99
+ "@progress/kendo-angular-conversational-ui": "21.3.0-develop.8",
100
+ "@progress/kendo-angular-intl": "21.3.0-develop.8",
101
+ "@progress/kendo-angular-l10n": "21.3.0-develop.8",
102
+ "@progress/kendo-angular-label": "21.3.0-develop.8",
103
+ "@progress/kendo-angular-menu": "21.3.0-develop.8",
104
+ "@progress/kendo-angular-pager": "21.3.0-develop.8",
105
+ "@progress/kendo-angular-pdf-export": "21.3.0-develop.8",
106
+ "@progress/kendo-angular-popup": "21.3.0-develop.8",
107
+ "@progress/kendo-angular-toolbar": "21.3.0-develop.8",
108
+ "@progress/kendo-angular-upload": "21.3.0-develop.8",
109
+ "@progress/kendo-angular-utils": "21.3.0-develop.8",
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.3.0-develop.7",
114
+ "@progress/kendo-angular-schematics": "21.3.0-develop.8",
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.3.0-develop.7',
13
- '@progress/kendo-angular-navigation': '21.3.0-develop.7',
12
+ '@progress/kendo-angular-treeview': '21.3.0-develop.8',
13
+ '@progress/kendo-angular-navigation': '21.3.0-develop.8',
14
14
  // peer dependency of kendo-angular-inputs
15
- '@progress/kendo-angular-dialog': '21.3.0-develop.7',
15
+ '@progress/kendo-angular-dialog': '21.3.0-develop.8',
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.3.0-develop.7',
19
+ '@progress/kendo-angular-progressbar': '21.3.0-develop.8',
20
20
  // transitive peer dependencies from toolbar
21
- '@progress/kendo-angular-indicators': '21.3.0-develop.7',
21
+ '@progress/kendo-angular-indicators': '21.3.0-develop.8',
22
22
  // transitive peer dependencies from conversational-ui
23
- '@progress/kendo-angular-menu': '21.3.0-develop.7',
24
- '@progress/kendo-angular-upload': '21.3.0-develop.7'
23
+ '@progress/kendo-angular-menu': '21.3.0-develop.8',
24
+ '@progress/kendo-angular-upload': '21.3.0-develop.8'
25
25
  } });
26
26
  return (0, schematics_1.externalSchematic)('@progress/kendo-angular-schematics', 'ng-add', finalOptions);
27
27
  }