@syncfusion/ej2-treegrid 28.2.6 → 29.1.33

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.
Files changed (84) hide show
  1. package/README.md +2 -2
  2. package/dist/ej2-treegrid.min.js +2 -2
  3. package/dist/ej2-treegrid.umd.min.js +2 -2
  4. package/dist/ej2-treegrid.umd.min.js.map +1 -1
  5. package/dist/es6/ej2-treegrid.es2015.js +1274 -518
  6. package/dist/es6/ej2-treegrid.es2015.js.map +1 -1
  7. package/dist/es6/ej2-treegrid.es5.js +1276 -518
  8. package/dist/es6/ej2-treegrid.es5.js.map +1 -1
  9. package/dist/global/ej2-treegrid.min.js +2 -2
  10. package/dist/global/ej2-treegrid.min.js.map +1 -1
  11. package/dist/global/index.d.ts +1 -1
  12. package/package.json +10 -10
  13. package/src/treegrid/actions/batch-edit.js +12 -5
  14. package/src/treegrid/actions/edit.js +12 -12
  15. package/src/treegrid/actions/page.js +1 -1
  16. package/src/treegrid/actions/rowdragdrop.d.ts +21 -1
  17. package/src/treegrid/actions/rowdragdrop.js +248 -48
  18. package/src/treegrid/actions/summary.js +1 -1
  19. package/src/treegrid/actions/virtual-scroll.d.ts +34 -1
  20. package/src/treegrid/actions/virtual-scroll.js +58 -11
  21. package/src/treegrid/base/constant.d.ts +0 -4
  22. package/src/treegrid/base/constant.js +0 -4
  23. package/src/treegrid/base/data.js +47 -46
  24. package/src/treegrid/base/treegrid-model.d.ts +195 -208
  25. package/src/treegrid/base/treegrid.d.ts +598 -411
  26. package/src/treegrid/base/treegrid.js +523 -306
  27. package/src/treegrid/enum.d.ts +77 -80
  28. package/src/treegrid/enum.js +2 -2
  29. package/src/treegrid/models/column.d.ts +122 -177
  30. package/src/treegrid/models/column.js +14 -26
  31. package/src/treegrid/models/edit-settings-model.d.ts +24 -25
  32. package/src/treegrid/models/edit-settings.d.ts +25 -26
  33. package/src/treegrid/models/edit-settings.js +1 -1
  34. package/src/treegrid/models/filter-settings-model.d.ts +41 -49
  35. package/src/treegrid/models/filter-settings.d.ts +43 -51
  36. package/src/treegrid/models/filter-settings.js +2 -2
  37. package/src/treegrid/models/infinite-scroll-settings-model.d.ts +4 -4
  38. package/src/treegrid/models/infinite-scroll-settings.d.ts +4 -4
  39. package/src/treegrid/models/infinite-scroll-settings.js +1 -1
  40. package/src/treegrid/models/loading-indicator-model.d.ts +3 -4
  41. package/src/treegrid/models/loading-indicator.d.ts +4 -4
  42. package/src/treegrid/models/loading-indicator.js +1 -1
  43. package/src/treegrid/models/page-settings-model.d.ts +10 -13
  44. package/src/treegrid/models/page-settings.d.ts +11 -14
  45. package/src/treegrid/models/page-settings.js +1 -1
  46. package/src/treegrid/models/rowdrop-settings-model.d.ts +1 -1
  47. package/src/treegrid/models/rowdrop-settings.d.ts +13 -6
  48. package/src/treegrid/models/rowdrop-settings.js +1 -1
  49. package/src/treegrid/models/search-settings-model.d.ts +13 -11
  50. package/src/treegrid/models/search-settings.d.ts +14 -12
  51. package/src/treegrid/models/search-settings.js +1 -1
  52. package/src/treegrid/models/selection-settings-model.d.ts +18 -29
  53. package/src/treegrid/models/selection-settings.d.ts +18 -29
  54. package/src/treegrid/models/sort-settings-model.d.ts +8 -5
  55. package/src/treegrid/models/sort-settings.d.ts +10 -7
  56. package/src/treegrid/models/sort-settings.js +2 -2
  57. package/src/treegrid/models/summary-model.d.ts +28 -29
  58. package/src/treegrid/models/summary.d.ts +32 -30
  59. package/src/treegrid/models/summary.js +4 -1
  60. package/src/treegrid/models/textwrap-settings-model.d.ts +7 -4
  61. package/src/treegrid/models/textwrap-settings.d.ts +8 -5
  62. package/src/treegrid/models/textwrap-settings.js +1 -1
  63. package/src/treegrid/renderer/render.js +11 -5
  64. package/src/treegrid/renderer/virtual-row-model-generator.js +5 -4
  65. package/src/treegrid/renderer/virtual-tree-content-render.d.ts +277 -0
  66. package/src/treegrid/renderer/virtual-tree-content-render.js +328 -35
  67. package/src/treegrid/utils.d.ts +1 -1
  68. package/styles/bootstrap-lite.css +0 -12
  69. package/styles/bootstrap.css +0 -12
  70. package/styles/bootstrap5-dark-lite.css +1 -1
  71. package/styles/bootstrap5-dark.css +1 -1
  72. package/styles/treegrid/_layout.scss +0 -1
  73. package/styles/treegrid/_material-dark-definition.scss +2 -2
  74. package/styles/treegrid/_material-definition.scss +2 -2
  75. package/styles/treegrid/bootstrap.css +0 -12
  76. package/styles/treegrid/bootstrap5-dark.css +1 -1
  77. package/styles/treegrid/icons/_bootstrap.scss +0 -17
  78. package/styles/treegrid/icons/_bootstrap5.scss +1 -1
  79. package/styles/treegrid/icons/_fabric-dark.scss +1 -1
  80. package/styles/treegrid/icons/_fabric.scss +1 -1
  81. package/styles/treegrid/icons/_fluent2.scss +1 -1
  82. package/styles/treegrid/icons/_fusionnew.scss +1 -0
  83. package/styles/treegrid/icons/_highcontrast-light.scss +1 -1
  84. package/styles/treegrid/icons/_tailwind-dark.scss +2 -2
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 28.2.6
3
+ * version : 29.1.33
4
4
  * Copyright Syncfusion Inc. 2001 - 2024. All rights reserved.
5
5
  * Use of this code is subject to the terms of our license.
6
6
  * A copy of the current license can be obtained at any time by e-mailing
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "_from": "@syncfusion/ej2-treegrid@*",
3
- "_id": "@syncfusion/ej2-treegrid@28.2.4",
3
+ "_id": "@syncfusion/ej2-treegrid@20.12.1",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-LR3rp7Rxe2l2KuU20TPiAcD4GGDLXZ/lGpyMEceJ3n8iSHDT7Y/94dnrvxEXuLUefHURrPj3rIheiFGk3/XLoA==",
5
+ "_integrity": "sha512-T2iLgcfL9PVtMewE3eKalMyIayzFzSK7s7VBP3OFuzk4aV927ZFGuTTXolkDNnVbudBMoa03WIynLt/9eYFm6A==",
6
6
  "_location": "/@syncfusion/ej2-treegrid",
7
7
  "_phantomChildren": {},
8
8
  "_requested": {
@@ -24,10 +24,10 @@
24
24
  "/@syncfusion/ej2-react-treegrid",
25
25
  "/@syncfusion/ej2-vue-treegrid"
26
26
  ],
27
- "_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-hotfix-new/@syncfusion/ej2-treegrid/-/ej2-treegrid-28.2.4.tgz",
28
- "_shasum": "6d3fe8abf7e2c9f66bbe90db17d30661025eee76",
27
+ "_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-release/@syncfusion/ej2-treegrid/-/ej2-treegrid-20.12.1.tgz",
28
+ "_shasum": "f0257995d71df038d6ea9161ed71740c677da2fb",
29
29
  "_spec": "@syncfusion/ej2-treegrid@*",
30
- "_where": "/jenkins/workspace/elease-automation_release_28.1.1/packages/included",
30
+ "_where": "/jenkins/workspace/elease-automation_release_29.1.1/packages/included",
31
31
  "author": {
32
32
  "name": "Syncfusion Inc."
33
33
  },
@@ -36,10 +36,10 @@
36
36
  },
37
37
  "bundleDependencies": false,
38
38
  "dependencies": {
39
- "@syncfusion/ej2-base": "~28.2.5",
40
- "@syncfusion/ej2-data": "~28.2.3",
41
- "@syncfusion/ej2-grids": "~28.2.6",
42
- "@syncfusion/ej2-popups": "~28.2.6"
39
+ "@syncfusion/ej2-base": "~29.1.33",
40
+ "@syncfusion/ej2-data": "~29.1.33",
41
+ "@syncfusion/ej2-grids": "~29.1.33",
42
+ "@syncfusion/ej2-popups": "~29.1.33"
43
43
  },
44
44
  "deprecated": false,
45
45
  "description": "Essential JS 2 TreeGrid Component",
@@ -76,6 +76,6 @@
76
76
  "url": "git+https://github.com/syncfusion/ej2-treegrid.git"
77
77
  },
78
78
  "typings": "index.d.ts",
79
- "version": "28.2.6",
79
+ "version": "29.1.33",
80
80
  "sideEffects": false
81
81
  }
@@ -275,7 +275,7 @@ var BatchEdit = /** @class */ (function () {
275
275
  focusModule.getContent().matrix.current = [actualIndex, focusModule.getContent().matrix.current[1]];
276
276
  if (this.parent.editModule['isAddedRowByMethod'] && !isNullOrUndefined(this.parent.editModule['addRowIndex']) && !this.parent.editModule['isAddedRowByContextMenu']) {
277
277
  var newlyAddedRecords = this.parent.getBatchChanges()['addedRecords'];
278
- var index = parseInt(this.parent.getContentTable().getElementsByClassName('e-insertedrow')[newlyAddedRecords.length - 1].getAttribute('data-rowindex'), 10);
278
+ var index = parseInt(this.parent.getContentTable().getElementsByClassName('e-insertedrow')[newlyAddedRecords.length - 1].getAttribute('aria-rowindex'), 10) - 1;
279
279
  this.batchRecords.splice(index, 0, newlyAddedRecords[newlyAddedRecords.length - 1]);
280
280
  }
281
281
  }
@@ -304,7 +304,7 @@ var BatchEdit = /** @class */ (function () {
304
304
  childs = findChildrenRecords(data);
305
305
  uid = this.parent.getSelectedRows()[0].getAttribute('data-uid');
306
306
  }
307
- var parentRowIndex = parseInt(this.parent.grid.getRowElementByUID(uid).getAttribute('data-rowindex'), 10);
307
+ var parentRowIndex = parseInt(this.parent.grid.getRowElementByUID(uid).getAttribute('aria-rowindex'), 10) - 1;
308
308
  if (childs.length) {
309
309
  var totalCount = parentRowIndex + childs.length;
310
310
  var firstChildIndex = parentRowIndex + 1;
@@ -341,7 +341,7 @@ var BatchEdit = /** @class */ (function () {
341
341
  BatchEdit.prototype.updateRowIndex = function () {
342
342
  var rows = this.parent.grid.getDataRows();
343
343
  for (var i = 0; i < rows.length; i++) {
344
- rows[parseInt(i.toString(), 10)].setAttribute('data-rowindex', i.toString());
344
+ rows[parseInt(i.toString(), 10)].setAttribute('aria-rowindex', (i + 1).toString());
345
345
  }
346
346
  };
347
347
  BatchEdit.prototype.updateChildCount = function (records) {
@@ -470,7 +470,7 @@ var BatchEdit = /** @class */ (function () {
470
470
  if (this.parent.editModule['isAddedRowByMethod'] && addRecords.length && !isNullOrUndefined(this.parent.editModule['addRowIndex']) && !this.parent.editModule['isAddedRowByContextMenu']) {
471
471
  addRecords.reverse();
472
472
  for (var i_1 = 0; i_1 < addRecords.length; i_1++) {
473
- var index_1 = parseInt(this.parent.getContentTable().getElementsByClassName('e-insertedrow')[parseInt(i_1.toString(), 10)].getAttribute('data-rowindex'), 10);
473
+ var index_1 = parseInt(this.parent.getContentTable().getElementsByClassName('e-insertedrow')[parseInt(i_1.toString(), 10)].getAttribute('aria-rowindex'), 10) - 1;
474
474
  data.splice(index_1, 0, addRecords[parseInt(i_1.toString(), 10)]);
475
475
  }
476
476
  }
@@ -610,8 +610,15 @@ var BatchEdit = /** @class */ (function () {
610
610
  BatchEdit.prototype.nextCellIndex = function (args) {
611
611
  var index = 'index';
612
612
  var rowIndex = 'rowIndex';
613
+ var batchChanges = this.parent.getBatchChanges();
614
+ var deletedRecords = batchChanges.deletedRecords;
613
615
  if (this.parent.getSelectedRows().length) {
614
- args["" + index] = this.parent.getSelectedRows()[0]["" + rowIndex];
616
+ if (this.isAdd && deletedRecords.length > 0) {
617
+ args["" + index] = this.parent.getSelectedRecords()[0]["" + index];
618
+ }
619
+ else {
620
+ args["" + index] = this.parent.getSelectedRows()[0]["" + rowIndex];
621
+ }
615
622
  }
616
623
  else {
617
624
  args["" + index] = this.batchIndex;
@@ -73,7 +73,7 @@ var Edit = /** @class */ (function () {
73
73
  }
74
74
  if (e.target.classList.contains('e-treegridcollapse') || e.target.classList.contains('e-treegridexpand')) {
75
75
  var tr = parentsUntil(e.target, 'e-row');
76
- var rowIndex = tr && parseInt(tr.getAttribute('data-rowindex'), 10);
76
+ var rowIndex = tr && parseInt(tr.getAttribute('aria-rowindex'), 10) - 1;
77
77
  if (!isNullOrUndefined(rowIndex) && rowIndex >= 0 && this.parent.allowPaging) {
78
78
  /* eslint-disable-next-line */
79
79
  this.parent.grid.getDataRows()[rowIndex].dataset.uid = this.parent.grid.contentModule.getRows()[rowIndex].uid;
@@ -243,7 +243,7 @@ var Edit = /** @class */ (function () {
243
243
  if (!(this.parent.grid.editSettings.allowEditing) || this.parent.grid.isEdit) {
244
244
  return;
245
245
  }
246
- var column = this.parent.grid.getColumnByIndex(+target.closest('td.e-rowcell').getAttribute('data-colindex'));
246
+ var column = this.parent.grid.getColumnByIndex(+target.closest('td.e-rowcell').getAttribute('aria-colindex') - 1);
247
247
  if (this.parent.editSettings.mode === 'Cell' && !this.isOnBatch && column && !column.isPrimaryKey &&
248
248
  this.parent.editSettings.allowEditing && column.allowEditing && !(target.classList.contains('e-treegridexpand') ||
249
249
  target.classList.contains('e-treegridcollapse')) && this.parent.editSettings.allowEditOnDblClick) {
@@ -251,8 +251,8 @@ var Edit = /** @class */ (function () {
251
251
  this.parent.grid.setProperties({ selectedRowIndex: args.rowIndex }, true);
252
252
  if (this.parent.enableVirtualization) {
253
253
  var tr = parentsUntil(args.target, 'e-row');
254
- this.prevAriaRowIndex = tr.getAttribute('data-rowindex');
255
- tr.setAttribute('data-rowindex', tr.rowIndex + '');
254
+ this.prevAriaRowIndex = tr.getAttribute('aria-rowindex');
255
+ tr.setAttribute('aria-rowindex', (tr.rowIndex + 1) + '');
256
256
  }
257
257
  this.updateGridEditMode('Batch');
258
258
  }
@@ -296,7 +296,7 @@ var Edit = /** @class */ (function () {
296
296
  var prom = args["" + promise];
297
297
  delete args["" + promise];
298
298
  if (this.parent.enableVirtualization && !isNullOrUndefined(this.prevAriaRowIndex) && this.prevAriaRowIndex !== '-1') {
299
- args.row.setAttribute('data-rowindex', this.prevAriaRowIndex);
299
+ args.row.setAttribute('aria-rowindex', this.prevAriaRowIndex);
300
300
  this.prevAriaRowIndex = undefined;
301
301
  }
302
302
  if (this.keyPress !== 'enter') {
@@ -620,8 +620,8 @@ var Edit = /** @class */ (function () {
620
620
  }
621
621
  }
622
622
  var rows = this.parent.grid.getDataRows();
623
- var firstAriaIndex = rows.length ? +rows[0].getAttribute('data-rowindex') : 0;
624
- var lastAriaIndex = rows.length ? +rows[rows.length - 1].getAttribute('data-rowindex') : 0;
623
+ var firstAriaIndex = rows.length ? +rows[0].getAttribute('aria-rowindex') - 1 : 0;
624
+ var lastAriaIndex = rows.length ? +rows[rows.length - 1].getAttribute('aria-rowindex') - 1 : 0;
625
625
  var withinRange = this.selectedIndex >= firstAriaIndex && this.selectedIndex <= lastAriaIndex;
626
626
  var isVirtualization = this.parent.enableVirtualization && this.addRowIndex > -1 && this.prevAriaRowIndex !== '-1';
627
627
  if (this.parent.editSettings.mode !== 'Dialog') {
@@ -672,7 +672,7 @@ var Edit = /** @class */ (function () {
672
672
  if (isVirtualization) {
673
673
  this.prevAriaRowIndex = '-1';
674
674
  }
675
- if (!this.parent.enableVirtualization || this.parent.enableVirtualization && !Object.keys(this.parent.grid.contentModule['emptyRowData']).length) {
675
+ if (!this.parent.enableVirtualization || this.parent.enableVirtualization) {
676
676
  this.isScrollByFocus = true;
677
677
  focussedElement.focus();
678
678
  }
@@ -768,7 +768,7 @@ var Edit = /** @class */ (function () {
768
768
  this.selectedIndex = this.parent.grid.selectedRowIndex;
769
769
  }
770
770
  if (this.parent.enableVirtualization) {
771
- var selector = '.e-row[data-rowindex="' + this.selectedIndex + '"]';
771
+ var selector = '.e-row[aria-rowindex="' + (this.selectedIndex + 1) + '"]';
772
772
  var row = void 0;
773
773
  if (this.selectedIndex > -1 && this.parent.editSettings.newRowPosition !== 'Top' &&
774
774
  this.parent.editSettings.newRowPosition !== 'Bottom') {
@@ -778,7 +778,7 @@ var Edit = /** @class */ (function () {
778
778
  }
779
779
  else {
780
780
  if (this.prevAriaRowIndex && this.prevAriaRowIndex !== '-1') {
781
- selector = '.e-row[data-rowindex="' + this.prevAriaRowIndex + '"]';
781
+ selector = '.e-row[aria-rowindex="' + (this.prevAriaRowIndex + 1) + '"]';
782
782
  row = this.parent.getContent().querySelector(selector);
783
783
  this.addRowIndex = row ? row.rowIndex : 0;
784
784
  }
@@ -871,7 +871,7 @@ var Edit = /** @class */ (function () {
871
871
  var isVirtualization = this.parent.enableVirtualization && this.addRowIndex > -1 && this.prevAriaRowIndex !== '-1';
872
872
  var rows = this.parent.getRows();
873
873
  var firstAriaIndex = rows.length ? currentData.indexOf(currentData[0]) : 0;
874
- var lastAriaIndex = rows.length ? +rows[rows.length - 1].getAttribute('data-rowindex') : 0;
874
+ var lastAriaIndex = rows.length ? +rows[rows.length - 1].getAttribute('aria-rowindex') - 1 : 0;
875
875
  var withinRange = this.parent.enableVirtualization && args.index !== 0 ? true :
876
876
  this.selectedIndex >= firstAriaIndex && this.selectedIndex <= lastAriaIndex;
877
877
  if (currentData.length) {
@@ -1065,7 +1065,7 @@ var Edit = /** @class */ (function () {
1065
1065
  Edit.prototype.closeEdit = function () {
1066
1066
  if (this.parent.enableVirtualization && this.parent.grid.editSettings.mode === 'Batch' && this.parent.grid.pageSettings.currentPage > 1) {
1067
1067
  this.editedRowIndex = this.parent.grid.editModule.editModule['cellDetails'].rowIndex;
1068
- this.parent.grid.editModule.editModule['cellDetails'].rowIndex = parseInt(this.parent.getRows()[this.parent.grid.editModule.editModule['cellDetails'].rowIndex].getAttribute('data-rowIndex'), 10);
1068
+ this.parent.grid.editModule.editModule['cellDetails'].rowIndex = parseInt(this.parent.getRows()[this.parent.grid.editModule.editModule['cellDetails'].rowIndex].getAttribute('aria-rowIndex'), 10) - 1;
1069
1069
  }
1070
1070
  this.parent.grid.editModule.closeEdit();
1071
1071
  };
@@ -151,7 +151,7 @@ var Page = /** @class */ (function () {
151
151
  return newResults;
152
152
  };
153
153
  Page.prototype.updatePageSize = function (pageingDetails) {
154
- var updateSize = pageingDetails.result.length;
154
+ var updateSize = pageingDetails.count;
155
155
  var gridPagerModule = this.parent.grid.pagerModule;
156
156
  if (this.parent.pageSettings.pageSizes === true) {
157
157
  if (gridPagerModule.pagerObj.pagerdropdownModule['dropDownListObject'].value === gridPagerModule.pagerObj.getLocalizedLabel('All')) {
@@ -92,6 +92,15 @@ export declare class RowDD {
92
92
  * @param {string} position - Drop position as above or below or child
93
93
  */
94
94
  reorderRows(fromIndexes: number[], toIndex: number, position: string): void;
95
+ /**
96
+ * Updates the rows and cells
97
+ *
98
+ * @param {Object[]} records - Updates the given records
99
+ * @param {HTMLTableRowElement[]} rows - Updates the given rows
100
+ * @param {number} index - Updates the given cell index
101
+ * @returns {void}
102
+ */
103
+ private updateRowAndCellElements;
95
104
  /**
96
105
  * Performs indent or outdent actions on selected records in the TreeGrid.
97
106
  *
@@ -164,6 +173,15 @@ export declare class RowDD {
164
173
  * @returns {string} The drop position ('topSegment', 'middleSegment', 'bottomSegment', or 'Invalid').
165
174
  */
166
175
  private updateIcon;
176
+ /**
177
+ * Updates the border status for a specified row and index.
178
+ *
179
+ * @private
180
+ * @param {Element[]} row - The array of row elements to be updated.
181
+ * @param {number} index - The index of the row element for which the border status is to be updated.
182
+ * @returns {boolean} - Returns true if the border status was successfully updated, otherwise false.
183
+ */
184
+ private updateBorderStatus;
167
185
  /**
168
186
  * Removes the visual border from all child rows within the TreeGrid.
169
187
  *
@@ -206,6 +224,7 @@ export declare class RowDD {
206
224
  * Applies drop border styles to row elements based on the current drop position ('topSegment' or 'bottomSegment').
207
225
  *
208
226
  * @param {Element} target - The target element where the drop action is taking place.
227
+ * @param {boolean} [isBorderNeed=true] - Indicates whether a border is needed during the drop action. Defaults to `true`.
209
228
  * @returns {void} No return value.
210
229
  */
211
230
  private topOrBottomBorder;
@@ -259,7 +278,7 @@ export declare class RowDD {
259
278
  */
260
279
  private dragDropGrid;
261
280
  /**
262
- * Retrieves the index of the target row based on its 'data-rowindex' attribute.
281
+ * Retrieves the index of the target row based on its 'aria-rowindex' attribute.
263
282
  *
264
283
  * @param {Element} targetRow - The target row element from which to retrieve the index.
265
284
  * @returns {number} - The index of the target row, or 0 if the targetRow is null or undefined.
@@ -364,6 +383,7 @@ export declare class RowDD {
364
383
  private isDuplicateData;
365
384
  /**
366
385
  * Cleans up resources, event listeners, and DOM elements when the TreeGrid component is destroyed.
386
+ *
367
387
  * @returns {void}
368
388
  */
369
389
  destroy(): void;