@techextensor/tab-core-utility 2.2.205 → 2.2.206

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.
@@ -34,7 +34,7 @@ export class GridColumnDataHelper {
34
34
  mapToSyncfusionColumnDetailModel(field) {
35
35
  const columnD = {
36
36
  field: field?.FieldDetails ?? field?.Field?.FieldName,
37
- uid: "grid-column" + (field?.ID ?? field?.Field?.ID),
37
+ uid: this.generateColumnUid(),
38
38
  headerText: field?.FieldDetails?.includes('.') ? field?.FieldDetails : field?.Field?.DisplayName,
39
39
  editType: this.gridHelper.getColumnComponentTypeForEditable(field?.Field?.FieldType?.DataType),
40
40
  isPrimaryKey: field?.FieldDetails ? false : field?.Field?.IsPrimaryKey,
@@ -63,6 +63,20 @@ export class GridColumnDataHelper {
63
63
  }
64
64
  return columnD;
65
65
  }
66
+ /**
67
+ * Generates a reliable, collision-free uid for a grid column.
68
+ * Prefers crypto.randomUUID() (all modern browsers in a secure context),
69
+ * falls back to a getRandomValues-based RFC4122 v4 uuid for older / non-secure
70
+ * contexts, and finally to a timestamp + random string as a last resort.
71
+ * @returns A unique column uid (e.g. "grid-column-<uuid>").
72
+ */
73
+ generateColumnUid() {
74
+ const cryptoRef = typeof crypto !== 'undefined' ? crypto : globalThis?.crypto;
75
+ if (cryptoRef?.randomUUID) {
76
+ return `grid-column-${cryptoRef.randomUUID()}`;
77
+ }
78
+ return `grid-column-${Date.now().toString(16)}-${Math.random().toString(16).slice(2)}`;
79
+ }
66
80
  /**
67
81
  * Maps field data to a ColumnDetailModel.
68
82
  * @param field The field data to map.
@@ -110,4 +124,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
110
124
  type: Injectable,
111
125
  args: [{ providedIn: 'root' }]
112
126
  }] });
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1jb2x1bW4tZGF0YS5oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2hlbHBlcnMvc2NyZWVuL2dyaWQtY29sdW1uLWRhdGEuaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFFdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUc1QyxNQUFNLE9BQU8sb0JBQW9CO0lBRGpDO1FBRW1CLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUF3R2pEOzs7Ozs7V0FNRztRQUNLLG9CQUFlLEdBQUcsQ0FDeEIsR0FBVyxFQUNYLE1BQVcsRUFDWCxLQUFhLEVBQ0wsRUFBRTtZQUNWLE9BQU8sK0NBQStDLEdBQUcsMENBQTBDLE1BQU0sMkNBQTJDLEtBQUssTUFBTSxDQUFDO1FBQ2xLLENBQUMsQ0FBQztLQUNIO0lBcEhDOzs7O09BSUc7SUFDSCxhQUFhLENBQUMsTUFBVztRQUN2QixPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQ3BCLEdBQUcsQ0FBQyxDQUFDLE1BQWEsRUFBRSxFQUFFO1lBQ3BCLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbkUsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCwrQkFBK0IsQ0FBQyxNQUFhO1FB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QyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3JFLENBQUM7K0dBdkdVLG9CQUFvQjttSEFBcEIsb0JBQW9CLGNBRFAsTUFBTTs7NEZBQ25CLG9CQUFvQjtrQkFEaEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXHJcblxyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBDb2x1bW5EZXRhaWxNb2RlbCwgU3luY2Z1c2lvbkdyaWRDb2x1bW5Nb2RlbCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZ3JpZC5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBHcmlkSGVscGVyIH0gZnJvbSAnLi9ncmlkLmhlbHBlcnMnO1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIEdyaWRDb2x1bW5EYXRhSGVscGVyIHtcclxuICBwcml2YXRlIHJlYWRvbmx5IGdyaWRIZWxwZXIgPSBpbmplY3QoR3JpZEhlbHBlcik7XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyBjb2x1bW4gZGF0YSBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgZmllbGRzLlxyXG4gICAqIEBwYXJhbSBmaWVsZHMgVGhlIGZpZWxkcyB0byBnZW5lcmF0ZSBjb2x1bW4gZGF0YSBmcm9tLlxyXG4gICAqIEByZXR1cm5zIEFuIE9ic2VydmFibGUgZW1pdHRpbmcgYW4gYXJyYXkgb2YgY29sdW1uIGRhdGEuXHJcbiAgICovXHJcbiAgZ2V0Q29sdW1uRGF0YShmaWVsZHM6IGFueSkge1xyXG4gICAgcmV0dXJuIG9mKGZpZWxkcykucGlwZShcclxuICAgICAgbWFwKChmaWVsZHM6IGFueVtdKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIGZpZWxkcy5tYXAoKGZpZWxkKSA9PiB0aGlzLm1hcFRvQ29sdW1uRGV0YWlsTW9kZWwoZmllbGQpKTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBjb252ZXJ0VG9TeW5jZnVzaW9uQ29sdW1uRm9ybWF0KGZpZWxkczogYW55W10pOiBhbnlbXSB7XHJcbiAgICByZXR1cm4gZmllbGRzLm1hcChmaWVsZCA9PiB0aGlzLm1hcFRvU3luY2Z1c2lvbkNvbHVtbkRldGFpbE1vZGVsKGZpZWxkKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG1hcFRvU3luY2Z1c2lvbkNvbHVtbkRldGFpbE1vZGVsKGZpZWxkOiBhbnkpOiBTeW5jZnVzaW9uR3JpZENvbHVtbk1vZGVsIHtcclxuICAgIGNvbnN0IGNvbHVtbkQ6IFN5bmNmdXNpb25HcmlkQ29sdW1uTW9kZWwgPSB7XHJcbiAgICAgIGZpZWxkOiBmaWVsZD8uRmllbGREZXRhaWxzID8/IGZpZWxkPy5GaWVsZD8uRmllbGROYW1lLFxyXG4gICAgICB1aWQ6XCJncmlkLWNvbHVtblwiICsgKGZpZWxkPy5JRCA/PyBmaWVsZD8uRmllbGQ/LklEKSxcclxuICAgICAgaGVhZGVyVGV4dDogZmllbGQ/LkZpZWxkRGV0YWlscz8uaW5jbHVkZXMoJy4nKSA/IGZpZWxkPy5GaWVsZERldGFpbHMgOiBmaWVsZD8uRmllbGQ/LkRpc3BsYXlOYW1lLFxyXG4gICAgICBlZGl0VHlwZTogdGhpcy5ncmlkSGVscGVyLmdldENvbHVtbkNvbXBvbmVudFR5cGVGb3JFZGl0YWJsZShmaWVsZD8uRmllbGQ/LkZpZWxkVHlwZT8uRGF0YVR5cGUpLFxyXG4gICAgICBpc1ByaW1hcnlLZXk6IGZpZWxkPy5GaWVsZERldGFpbHMgPyBmYWxzZSA6IGZpZWxkPy5GaWVsZD8uSXNQcmltYXJ5S2V5LFxyXG4gICAgICB0eXBlOiB0aGlzLmdyaWRIZWxwZXIuZ2V0Q29sdW1uVHlwZShmaWVsZD8uRmllbGQ/LkZpZWxkVHlwZT8uRGF0YVR5cGUpLFxyXG4gICAgfTtcclxuXHJcbiAgICBpZiAoZmllbGQgJiYgZmllbGQ/LkZpZWxkPy5Mb29rVXBEZXRhaWxzKSB7XHJcbiAgICAgIGNvbHVtbkQuZWRpdFR5cGUgPSAnZHJvcGRvd25lZGl0JztcclxuICAgICAgY29sdW1uRC5mb3JlaWduS2V5RmllbGQgPSBmaWVsZD8uRmllbGQ/Lkxvb2tVcERldGFpbHMuTG9va3VwRmllbGQ7XHJcbiAgICAgIGNvbHVtbkQuZm9yZWlnbktleVZhbHVlID0gZmllbGQ/LkZpZWxkPy5Mb29rVXBEZXRhaWxzLkRpc3BsYXlGaWVsZDtcclxuICAgICAgY29sdW1uRC5kYXRhU291cmNlID0gIFtdO1xyXG4gICAgICBjb2x1bW5ELkxvb2tVcERldGFpbHMgPSBmaWVsZD8uRmllbGQ/Lkxvb2tVcERldGFpbHM7XHJcbiAgICB9XHJcblxyXG4gICAgaWYoY29sdW1uRC50eXBlID09PSAnZGF0ZScpe1xyXG4gICAgICBjb2x1bW5ELmZvcm1hdCA9ICdkZC9NTS95eXl5JztcclxuICAgICAgY29sdW1uRC5lZGl0ID0geyBwYXJhbXM6e1xyXG4gICAgICAgIHNob3dDbGVhckJ1dHRvbjogZmFsc2UsXHJcbiAgICAgICAgZm9ybWF0OidkZC9NTS95eXl5J1xyXG4gICAgICB9fTtcclxuICAgIH1cclxuXHJcbiAgICBpZihjb2x1bW5ELnR5cGUgPT09ICdkYXRlVGltZScpe1xyXG4gICAgICBjb2x1bW5ELmZvcm1hdCA9ICdkZC9NTS95eXl5IGhoOm1tIGEnO1xyXG4gICAgICBjb2x1bW5ELmVkaXQgPSB7IHBhcmFtczoge1xyXG4gICAgICAgIHNob3dDbGVhckJ1dHRvbjogZmFsc2UsXHJcbiAgICAgICAgZm9ybWF0OidkZC9NTS95eXl5IGhoOm1tIGEnXHJcbiAgICAgIH19O1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBjb2x1bW5EO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWFwcyBmaWVsZCBkYXRhIHRvIGEgQ29sdW1uRGV0YWlsTW9kZWwuXHJcbiAgICogQHBhcmFtIGZpZWxkIFRoZSBmaWVsZCBkYXRhIHRvIG1hcC5cclxuICAgKiBAcmV0dXJucyBUaGUgbWFwcGVkIENvbHVtbkRldGFpbE1vZGVsLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgbWFwVG9Db2x1bW5EZXRhaWxNb2RlbChmaWVsZDogYW55KTogQ29sdW1uRGV0YWlsTW9kZWwge1xyXG4gICAgY29uc3QgY29sdW1uRDogQ29sdW1uRGV0YWlsTW9kZWwgPSB7XHJcbiAgICAgIHRleHQ6IGZpZWxkPy5GaWVsZD8uRGlzcGxheU5hbWUsXHJcbiAgICAgIGRhdGFGaWVsZDogZmllbGQ/LkZpZWxkPy5GaWVsZE5hbWUsXHJcbiAgICAgIGNvbHVtbnR5cGU6IHRoaXMuZ3JpZEhlbHBlci5nZXRDb2x1bW5UeXBlKFxyXG4gICAgICAgIGZpZWxkPy5GaWVsZD8uRmllbGRUeXBlPy5EYXRhVHlwZVxyXG4gICAgICApLFxyXG4gICAgICBhcHBGaWVsZElkOiBmaWVsZD8uRmllbGQ/LklELFxyXG4gICAgICBzZXE6IGZpZWxkPy5TZXFObyxcclxuICAgICAgaXNQcmltYXJ5S2V5OiBmaWVsZD8uRmllbGQ/LklzUHJpbWFyeUtleSxcclxuICAgICAgU3lzdGVtREJGaWVsZE5hbWU6IGZpZWxkPy5GaWVsZD8uU3lzdGVtREJGaWVsZE5hbWUsXHJcbiAgICB9O1xyXG5cclxuICAgIGlmIChmaWVsZD8uRmllbGRUeXBlID09IDIpIHtcclxuICAgICAgY29sdW1uRC5kYXRhRmllbGQgPSBmaWVsZD8uTG9va3VwRGV0YWlscz8ucmVwbGFjZUFsbCgnLicsICdfJyk7XHJcbiAgICAgIGNvbHVtbkQuZGF0YUZpZWxkID0gZmllbGQ/LkZpZWxkRGV0YWlscz8ucmVwbGFjZUFsbCgnLicsICdfJyk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGZpZWxkICYmIGZpZWxkPy5GaWVsZF9HcmlkQXR0cmlidXRlcykge1xyXG4gICAgICBjb25zdCBhdHRyID0gSlNPTi5wYXJzZShmaWVsZD8uRmllbGRfR3JpZEF0dHJpYnV0ZXMpO1xyXG4gICAgICBPYmplY3QuYXNzaWduKGNvbHVtbkQsIGF0dHIpO1xyXG4gICAgICBpZiAoISFhdHRyLmNlbGxzcmVuZGVyZXIgJiYgYXR0ci5jZWxsc3JlbmRlcmVyICE9PSAnJykge1xyXG4gICAgICAgIGNvbHVtbkQuY2VsbHNyZW5kZXJlciA9IHRoaXMuZ2V0UmVuZGVyZXJWYWx1ZShhdHRyLmNlbGxzcmVuZGVyZXIpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGZpZWxkICYmIGZpZWxkPy5GaWVsZD8uTG9va1VwRGV0YWlscykge1xyXG4gICAgICBjb2x1bW5ELkxvb2tVcERldGFpbHMgPSBmaWVsZD8uRmllbGQ/Lkxvb2tVcERldGFpbHM7XHJcbiAgICAgIGNvbHVtbkQuZHJvcERvd25Mb29rdXAgPSBmaWVsZD8uRmllbGQ/LmRyb3BEb3duRGF0YTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gY29sdW1uRDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyB0aGUgcmVuZGVyZXIgdmFsdWUgYmFzZWQgb24gdGhlIHByb3ZpZGVkIGtleS5cclxuICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgdG8gcmV0cmlldmUgdGhlIHJlbmRlcmVyIHZhbHVlIGZvci5cclxuICAgKiBAcmV0dXJucyBUaGUgcmVuZGVyZXIgdmFsdWUuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBnZXRSZW5kZXJlclZhbHVlKGtleTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4ga2V5ICYmIGtleSA9PT0gJ0xJTktSRU5ERVJFUicgPyB0aGlzLnJvd0xpbmtSZW5kZXJlciA6IG51bGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZW5kZXJlciBmdW5jdGlvbiBmb3IgcmVuZGVyaW5nIHJvdyBsaW5rcy5cclxuICAgKiBAcGFyYW0gcm93IFRoZSByb3cgbnVtYmVyLlxyXG4gICAqIEBwYXJhbSBjb2x1bW4gVGhlIGNvbHVtbiBpbmZvcm1hdGlvbi5cclxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHRvIHJlbmRlci5cclxuICAgKiBAcmV0dXJucyBUaGUgSFRNTCBzdHJpbmcgZm9yIHJlbmRlcmluZyB0aGUgcm93IGxpbmsuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSByb3dMaW5rUmVuZGVyZXIgPSAoXHJcbiAgICByb3c6IG51bWJlcixcclxuICAgIGNvbHVtbjogYW55LFxyXG4gICAgdmFsdWU6IHN0cmluZ1xyXG4gICk6IHN0cmluZyA9PiB7XHJcbiAgICByZXR1cm4gYCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyA8YSBkYXRhLXJvdz0nJHtyb3d9JyBzdHlsZT0nY3Vyc29yOnBvaW50ZXI7JyBjb2x1bW4tbmFtZT0nJHtjb2x1bW59JyBhY3Rpb249J3JlZGlyZWN0JyBjbGFzcz0nTGlua19jbGljaycgPiR7dmFsdWV9PC9hPmA7XHJcbiAgfTtcclxufVxyXG4iXX0=
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1jb2x1bW4tZGF0YS5oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9kYXRhLWFjY2Vzcy9zcmMvbGliL3RhYi1jb3JlLXV0aWxpdHkvYXBwL2hlbHBlcnMvc2NyZWVuL2dyaWQtY29sdW1uLWRhdGEuaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFFdkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUc1QyxNQUFNLE9BQU8sb0JBQW9CO0lBRGpDO1FBRW1CLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUF5SGpEOzs7Ozs7V0FNRztRQUNLLG9CQUFlLEdBQUcsQ0FDeEIsR0FBVyxFQUNYLE1BQVcsRUFDWCxLQUFhLEVBQ0wsRUFBRTtZQUNWLE9BQU8sK0NBQStDLEdBQUcsMENBQTBDLE1BQU0sMkNBQTJDLEtBQUssTUFBTSxDQUFDO1FBQ2xLLENBQUMsQ0FBQztLQUNIO0lBcklDOzs7O09BSUc7SUFDSCxhQUFhLENBQUMsTUFBVztRQUN2QixPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQ3BCLEdBQUcsQ0FBQyxDQUFDLE1BQWEsRUFBRSxFQUFFO1lBQ3BCLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbkUsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCwrQkFBK0IsQ0FBQyxNQUFhO1FB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RSxDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksS0FBSyxJQUFJLEtBQUssRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLENBQUM7WUFDekMsT0FBTyxDQUFDLGFBQWEsR0FBRyxLQUFLLEVBQUUsS0FBSyxFQUFFLGFBQWEsQ0FBQztZQUNwRCxPQUFPLENBQUMsY0FBYyxHQUFHLEtBQUssRUFBRSxLQUFLLEVBQUUsWUFBWSxDQUFDO1FBQ3RELENBQUM7UUFFRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLGdCQUFnQixDQUFDLEdBQVc7UUFDbEMsT0FBTyxHQUFHLElBQUksR0FBRyxLQUFLLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3JFLENBQUM7K0dBeEhVLG9CQUFvQjttSEFBcEIsb0JBQW9CLGNBRFAsTUFBTTs7NEZBQ25CLG9CQUFvQjtrQkFEaEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXHJcblxyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBDb2x1bW5EZXRhaWxNb2RlbCwgU3luY2Z1c2lvbkdyaWRDb2x1bW5Nb2RlbCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZ3JpZC5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBHcmlkSGVscGVyIH0gZnJvbSAnLi9ncmlkLmhlbHBlcnMnO1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIEdyaWRDb2x1bW5EYXRhSGVscGVyIHtcclxuICBwcml2YXRlIHJlYWRvbmx5IGdyaWRIZWxwZXIgPSBpbmplY3QoR3JpZEhlbHBlcik7XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyBjb2x1bW4gZGF0YSBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgZmllbGRzLlxyXG4gICAqIEBwYXJhbSBmaWVsZHMgVGhlIGZpZWxkcyB0byBnZW5lcmF0ZSBjb2x1bW4gZGF0YSBmcm9tLlxyXG4gICAqIEByZXR1cm5zIEFuIE9ic2VydmFibGUgZW1pdHRpbmcgYW4gYXJyYXkgb2YgY29sdW1uIGRhdGEuXHJcbiAgICovXHJcbiAgZ2V0Q29sdW1uRGF0YShmaWVsZHM6IGFueSkge1xyXG4gICAgcmV0dXJuIG9mKGZpZWxkcykucGlwZShcclxuICAgICAgbWFwKChmaWVsZHM6IGFueVtdKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIGZpZWxkcy5tYXAoKGZpZWxkKSA9PiB0aGlzLm1hcFRvQ29sdW1uRGV0YWlsTW9kZWwoZmllbGQpKTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBjb252ZXJ0VG9TeW5jZnVzaW9uQ29sdW1uRm9ybWF0KGZpZWxkczogYW55W10pOiBhbnlbXSB7XHJcbiAgICByZXR1cm4gZmllbGRzLm1hcChmaWVsZCA9PiB0aGlzLm1hcFRvU3luY2Z1c2lvbkNvbHVtbkRldGFpbE1vZGVsKGZpZWxkKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG1hcFRvU3luY2Z1c2lvbkNvbHVtbkRldGFpbE1vZGVsKGZpZWxkOiBhbnkpOiBTeW5jZnVzaW9uR3JpZENvbHVtbk1vZGVsIHtcclxuICAgIGNvbnN0IGNvbHVtbkQ6IFN5bmNmdXNpb25HcmlkQ29sdW1uTW9kZWwgPSB7XHJcbiAgICAgIGZpZWxkOiBmaWVsZD8uRmllbGREZXRhaWxzID8/IGZpZWxkPy5GaWVsZD8uRmllbGROYW1lLFxyXG4gICAgICB1aWQ6IHRoaXMuZ2VuZXJhdGVDb2x1bW5VaWQoKSxcclxuICAgICAgaGVhZGVyVGV4dDogZmllbGQ/LkZpZWxkRGV0YWlscz8uaW5jbHVkZXMoJy4nKSA/IGZpZWxkPy5GaWVsZERldGFpbHMgOiBmaWVsZD8uRmllbGQ/LkRpc3BsYXlOYW1lLFxyXG4gICAgICBlZGl0VHlwZTogdGhpcy5ncmlkSGVscGVyLmdldENvbHVtbkNvbXBvbmVudFR5cGVGb3JFZGl0YWJsZShmaWVsZD8uRmllbGQ/LkZpZWxkVHlwZT8uRGF0YVR5cGUpLFxyXG4gICAgICBpc1ByaW1hcnlLZXk6IGZpZWxkPy5GaWVsZERldGFpbHMgPyBmYWxzZSA6IGZpZWxkPy5GaWVsZD8uSXNQcmltYXJ5S2V5LFxyXG4gICAgICB0eXBlOiB0aGlzLmdyaWRIZWxwZXIuZ2V0Q29sdW1uVHlwZShmaWVsZD8uRmllbGQ/LkZpZWxkVHlwZT8uRGF0YVR5cGUpLFxyXG4gICAgfTtcclxuXHJcbiAgICBpZiAoZmllbGQgJiYgZmllbGQ/LkZpZWxkPy5Mb29rVXBEZXRhaWxzKSB7XHJcbiAgICAgIGNvbHVtbkQuZWRpdFR5cGUgPSAnZHJvcGRvd25lZGl0JztcclxuICAgICAgY29sdW1uRC5mb3JlaWduS2V5RmllbGQgPSBmaWVsZD8uRmllbGQ/Lkxvb2tVcERldGFpbHMuTG9va3VwRmllbGQ7XHJcbiAgICAgIGNvbHVtbkQuZm9yZWlnbktleVZhbHVlID0gZmllbGQ/LkZpZWxkPy5Mb29rVXBEZXRhaWxzLkRpc3BsYXlGaWVsZDtcclxuICAgICAgY29sdW1uRC5kYXRhU291cmNlID0gIFtdO1xyXG4gICAgICBjb2x1bW5ELkxvb2tVcERldGFpbHMgPSBmaWVsZD8uRmllbGQ/Lkxvb2tVcERldGFpbHM7XHJcbiAgICB9XHJcblxyXG4gICAgaWYoY29sdW1uRC50eXBlID09PSAnZGF0ZScpe1xyXG4gICAgICBjb2x1bW5ELmZvcm1hdCA9ICdkZC9NTS95eXl5JztcclxuICAgICAgY29sdW1uRC5lZGl0ID0geyBwYXJhbXM6e1xyXG4gICAgICAgIHNob3dDbGVhckJ1dHRvbjogZmFsc2UsXHJcbiAgICAgICAgZm9ybWF0OidkZC9NTS95eXl5J1xyXG4gICAgICB9fTtcclxuICAgIH1cclxuXHJcbiAgICBpZihjb2x1bW5ELnR5cGUgPT09ICdkYXRlVGltZScpe1xyXG4gICAgICBjb2x1bW5ELmZvcm1hdCA9ICdkZC9NTS95eXl5IGhoOm1tIGEnO1xyXG4gICAgICBjb2x1bW5ELmVkaXQgPSB7IHBhcmFtczoge1xyXG4gICAgICAgIHNob3dDbGVhckJ1dHRvbjogZmFsc2UsXHJcbiAgICAgICAgZm9ybWF0OidkZC9NTS95eXl5IGhoOm1tIGEnXHJcbiAgICAgIH19O1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBjb2x1bW5EO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2VuZXJhdGVzIGEgcmVsaWFibGUsIGNvbGxpc2lvbi1mcmVlIHVpZCBmb3IgYSBncmlkIGNvbHVtbi5cclxuICAgKiBQcmVmZXJzIGNyeXB0by5yYW5kb21VVUlEKCkgKGFsbCBtb2Rlcm4gYnJvd3NlcnMgaW4gYSBzZWN1cmUgY29udGV4dCksXHJcbiAgICogZmFsbHMgYmFjayB0byBhIGdldFJhbmRvbVZhbHVlcy1iYXNlZCBSRkM0MTIyIHY0IHV1aWQgZm9yIG9sZGVyIC8gbm9uLXNlY3VyZVxyXG4gICAqIGNvbnRleHRzLCBhbmQgZmluYWxseSB0byBhIHRpbWVzdGFtcCArIHJhbmRvbSBzdHJpbmcgYXMgYSBsYXN0IHJlc29ydC5cclxuICAgKiBAcmV0dXJucyBBIHVuaXF1ZSBjb2x1bW4gdWlkIChlLmcuIFwiZ3JpZC1jb2x1bW4tPHV1aWQ+XCIpLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgZ2VuZXJhdGVDb2x1bW5VaWQoKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGNyeXB0b1JlZjogYW55ID0gdHlwZW9mIGNyeXB0byAhPT0gJ3VuZGVmaW5lZCcgPyBjcnlwdG8gOiAoZ2xvYmFsVGhpcyBhcyBhbnkpPy5jcnlwdG87XHJcblxyXG4gICAgaWYgKGNyeXB0b1JlZj8ucmFuZG9tVVVJRCkge1xyXG4gICAgICByZXR1cm4gYGdyaWQtY29sdW1uLSR7Y3J5cHRvUmVmLnJhbmRvbVVVSUQoKX1gO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBgZ3JpZC1jb2x1bW4tJHtEYXRlLm5vdygpLnRvU3RyaW5nKDE2KX0tJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDE2KS5zbGljZSgyKX1gO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTWFwcyBmaWVsZCBkYXRhIHRvIGEgQ29sdW1uRGV0YWlsTW9kZWwuXHJcbiAgICogQHBhcmFtIGZpZWxkIFRoZSBmaWVsZCBkYXRhIHRvIG1hcC5cclxuICAgKiBAcmV0dXJucyBUaGUgbWFwcGVkIENvbHVtbkRldGFpbE1vZGVsLlxyXG4gICAqL1xyXG4gIHByaXZhdGUgbWFwVG9Db2x1bW5EZXRhaWxNb2RlbChmaWVsZDogYW55KTogQ29sdW1uRGV0YWlsTW9kZWwge1xyXG4gICAgY29uc3QgY29sdW1uRDogQ29sdW1uRGV0YWlsTW9kZWwgPSB7XHJcbiAgICAgIHRleHQ6IGZpZWxkPy5GaWVsZD8uRGlzcGxheU5hbWUsXHJcbiAgICAgIGRhdGFGaWVsZDogZmllbGQ/LkZpZWxkPy5GaWVsZE5hbWUsXHJcbiAgICAgIGNvbHVtbnR5cGU6IHRoaXMuZ3JpZEhlbHBlci5nZXRDb2x1bW5UeXBlKFxyXG4gICAgICAgIGZpZWxkPy5GaWVsZD8uRmllbGRUeXBlPy5EYXRhVHlwZVxyXG4gICAgICApLFxyXG4gICAgICBhcHBGaWVsZElkOiBmaWVsZD8uRmllbGQ/LklELFxyXG4gICAgICBzZXE6IGZpZWxkPy5TZXFObyxcclxuICAgICAgaXNQcmltYXJ5S2V5OiBmaWVsZD8uRmllbGQ/LklzUHJpbWFyeUtleSxcclxuICAgICAgU3lzdGVtREJGaWVsZE5hbWU6IGZpZWxkPy5GaWVsZD8uU3lzdGVtREJGaWVsZE5hbWUsXHJcbiAgICB9O1xyXG5cclxuICAgIGlmIChmaWVsZD8uRmllbGRUeXBlID09IDIpIHtcclxuICAgICAgY29sdW1uRC5kYXRhRmllbGQgPSBmaWVsZD8uTG9va3VwRGV0YWlscz8ucmVwbGFjZUFsbCgnLicsICdfJyk7XHJcbiAgICAgIGNvbHVtbkQuZGF0YUZpZWxkID0gZmllbGQ/LkZpZWxkRGV0YWlscz8ucmVwbGFjZUFsbCgnLicsICdfJyk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGZpZWxkICYmIGZpZWxkPy5GaWVsZF9HcmlkQXR0cmlidXRlcykge1xyXG4gICAgICBjb25zdCBhdHRyID0gSlNPTi5wYXJzZShmaWVsZD8uRmllbGRfR3JpZEF0dHJpYnV0ZXMpO1xyXG4gICAgICBPYmplY3QuYXNzaWduKGNvbHVtbkQsIGF0dHIpO1xyXG4gICAgICBpZiAoISFhdHRyLmNlbGxzcmVuZGVyZXIgJiYgYXR0ci5jZWxsc3JlbmRlcmVyICE9PSAnJykge1xyXG4gICAgICAgIGNvbHVtbkQuY2VsbHNyZW5kZXJlciA9IHRoaXMuZ2V0UmVuZGVyZXJWYWx1ZShhdHRyLmNlbGxzcmVuZGVyZXIpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGZpZWxkICYmIGZpZWxkPy5GaWVsZD8uTG9va1VwRGV0YWlscykge1xyXG4gICAgICBjb2x1bW5ELkxvb2tVcERldGFpbHMgPSBmaWVsZD8uRmllbGQ/Lkxvb2tVcERldGFpbHM7XHJcbiAgICAgIGNvbHVtbkQuZHJvcERvd25Mb29rdXAgPSBmaWVsZD8uRmllbGQ/LmRyb3BEb3duRGF0YTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gY29sdW1uRDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyB0aGUgcmVuZGVyZXIgdmFsdWUgYmFzZWQgb24gdGhlIHByb3ZpZGVkIGtleS5cclxuICAgKiBAcGFyYW0ga2V5IFRoZSBrZXkgdG8gcmV0cmlldmUgdGhlIHJlbmRlcmVyIHZhbHVlIGZvci5cclxuICAgKiBAcmV0dXJucyBUaGUgcmVuZGVyZXIgdmFsdWUuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBnZXRSZW5kZXJlclZhbHVlKGtleTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4ga2V5ICYmIGtleSA9PT0gJ0xJTktSRU5ERVJFUicgPyB0aGlzLnJvd0xpbmtSZW5kZXJlciA6IG51bGw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZW5kZXJlciBmdW5jdGlvbiBmb3IgcmVuZGVyaW5nIHJvdyBsaW5rcy5cclxuICAgKiBAcGFyYW0gcm93IFRoZSByb3cgbnVtYmVyLlxyXG4gICAqIEBwYXJhbSBjb2x1bW4gVGhlIGNvbHVtbiBpbmZvcm1hdGlvbi5cclxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHRvIHJlbmRlci5cclxuICAgKiBAcmV0dXJucyBUaGUgSFRNTCBzdHJpbmcgZm9yIHJlbmRlcmluZyB0aGUgcm93IGxpbmsuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSByb3dMaW5rUmVuZGVyZXIgPSAoXHJcbiAgICByb3c6IG51bWJlcixcclxuICAgIGNvbHVtbjogYW55LFxyXG4gICAgdmFsdWU6IHN0cmluZ1xyXG4gICk6IHN0cmluZyA9PiB7XHJcbiAgICByZXR1cm4gYCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyA8YSBkYXRhLXJvdz0nJHtyb3d9JyBzdHlsZT0nY3Vyc29yOnBvaW50ZXI7JyBjb2x1bW4tbmFtZT0nJHtjb2x1bW59JyBhY3Rpb249J3JlZGlyZWN0JyBjbGFzcz0nTGlua19jbGljaycgPiR7dmFsdWV9PC9hPmA7XHJcbiAgfTtcclxufVxyXG4iXX0=
@@ -10,6 +10,14 @@ export declare class GridColumnDataHelper {
10
10
  getColumnData(fields: any): import("rxjs").Observable<ColumnDetailModel[]>;
11
11
  convertToSyncfusionColumnFormat(fields: any[]): any[];
12
12
  private mapToSyncfusionColumnDetailModel;
13
+ /**
14
+ * Generates a reliable, collision-free uid for a grid column.
15
+ * Prefers crypto.randomUUID() (all modern browsers in a secure context),
16
+ * falls back to a getRandomValues-based RFC4122 v4 uuid for older / non-secure
17
+ * contexts, and finally to a timestamp + random string as a last resort.
18
+ * @returns A unique column uid (e.g. "grid-column-<uuid>").
19
+ */
20
+ private generateColumnUid;
13
21
  /**
14
22
  * Maps field data to a ColumnDetailModel.
15
23
  * @param field The field data to map.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@techextensor/tab-core-utility",
3
- "version": "2.2.205",
3
+ "version": "2.2.206",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^19.2.15",
6
6
  "@angular/core": "^19.2.15",