@syncfusion/ej2-treegrid 28.2.6 → 29.1.37

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 +1281 -519
  6. package/dist/es6/ej2-treegrid.es2015.js.map +1 -1
  7. package/dist/es6/ej2-treegrid.es5.js +1283 -519
  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 +252 -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 +526 -307
  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
@@ -39,9 +39,6 @@ var VirtualScroll = /** @class */ (function () {
39
39
  Grid.Inject(TreeVirtual);
40
40
  this.addEventListener();
41
41
  }
42
- VirtualScroll.prototype.returnVisualData = function (args) {
43
- args.data = this.visualData;
44
- };
45
42
  /**
46
43
  * For internal use only - Get the module name.
47
44
  *
@@ -75,28 +72,58 @@ var VirtualScroll = /** @class */ (function () {
75
72
  this.parent.off(events.pagingActions, this.virtualPageAction);
76
73
  this.parent.off(events.destroy, this.destroy);
77
74
  };
75
+ /**
76
+ * Handles the virtual child collapse or expand action in a tree grid.
77
+ *
78
+ * @param {object} row - Object containing information about the collapse/expand action.
79
+ * @param {string} row.action - The type of action, either "collapse" or "expand".
80
+ * @param {HTMLTableRowElement} row.row - The HTML row element that is affected by the action.
81
+ * @param {ITreeData} row.record - The tree data record associated with the row.
82
+ * @param {RowCollapsedEventArgs} row.args - Additional event arguments related to the row collapse or expand.
83
+ *
84
+ * @returns {void} No return value as the function executes a procedure.
85
+ */
78
86
  VirtualScroll.prototype.collapseExpandVirtualchilds = function (row) {
79
87
  this.parent.grid.notify(events.virtualActionArgs, { isExpandCollapse: true });
80
88
  this.expandCollapseRec = row.record;
81
89
  row.record.expanded = row.action === 'collapse' ? false : true;
82
- var ret = {
90
+ this.parent.flatData.map(function (e) { return e.expanded = e.uniqueID === row.record.uniqueID &&
91
+ e.expanded !== row.record.expanded ? row.record.expanded : e.expanded; });
92
+ var actionDetails = {
83
93
  result: this.parent.flatData,
84
94
  row: row.row,
85
95
  action: row.action,
86
96
  record: row.record,
87
97
  count: this.parent.flatData.length
88
98
  };
89
- if (this.parent.enableVirtualization && this.parent.selectionSettings.mode === 'Cell' ||
90
- this.parent.selectionSettings.mode === 'Row' && !this.parent.selectionSettings.persistSelection) {
99
+ this.handleSelection();
100
+ var requestType = getValue('isCollapseAll', this.parent) ? 'collapseAll' : 'refresh';
101
+ getValue('grid.renderModule', this.parent).dataManagerSuccess(actionDetails, { requestType: requestType });
102
+ };
103
+ /**
104
+ * Handles selection logic for the TreeGrid component.
105
+ *
106
+ * @returns {void}
107
+ */
108
+ VirtualScroll.prototype.handleSelection = function () {
109
+ if ((this.parent.selectionSettings.mode === 'Cell' ||
110
+ (this.parent.selectionSettings.mode === 'Row' && !this.parent.selectionSettings.persistSelection))) {
91
111
  this.parent.grid.clearSelection();
92
112
  }
93
113
  if (getValue('isCollapseAll', this.parent) && this.parent.selectionSettings.persistSelection && this.parent.getSelectedRecords().length > 0) {
94
114
  this.prevSelectedRecord = this.parent.getSelectedRecords();
95
115
  this.parent.grid.clearSelection();
96
116
  }
97
- var requestType = getValue('isCollapseAll', this.parent) ? 'collapseAll' : 'refresh';
98
- getValue('grid.renderModule', this.parent).dataManagerSuccess(ret, { requestType: requestType });
99
117
  };
118
+ /**
119
+ * Handles the action related to virtual scrolling with paging details.
120
+ *
121
+ * @param {Object} pageingDetails - Contains the result data, count of results, and action arguments.
122
+ * @param {ITreeData[]} pageingDetails.result - The result data to be handled.
123
+ * @param {number} pageingDetails.count - The count of results.
124
+ * @param {ActionEventArgs} pageingDetails.actionArgs - The action arguments related to the virtual page action.
125
+ * @returns {void}
126
+ */
100
127
  VirtualScroll.prototype.virtualPageAction = function (pageingDetails) {
101
128
  var _this = this;
102
129
  var dm = new DataManager(pageingDetails.result);
@@ -127,7 +154,7 @@ var VirtualScroll = /** @class */ (function () {
127
154
  if (requestType === 'filtering' || requestType === 'collapseAll' || requestType === 'searching' || (requestType === 'refresh' && getValue('isExpandAll', this.parent)) ||
128
155
  (requestType === 'refresh' && this.parent.enableCollapseAll && endIndex > visualData.length && isNullOrUndefined(this.expandCollapseRec))) {
129
156
  startIndex = 0;
130
- endIndex = this.parent.grid.pageSettings.pageSize - 1;
157
+ endIndex = this.parent.grid.pageSettings.pageSize;
131
158
  this.parent.grid.getContent().firstElementChild.scrollTop = 0;
132
159
  this.parent.grid.notify(events.virtualActionArgs, { setTop: true });
133
160
  }
@@ -170,7 +197,7 @@ var VirtualScroll = /** @class */ (function () {
170
197
  var newRowsCount = sIndex - startIndex;
171
198
  startIndex = sIndex;
172
199
  if (visualData.indexOf(this.expandCollapseRec) > visualData.length - resourceCount / 2) {
173
- var newTranslateY = translateY + (newRowsCount * this.parent.grid.getRowHeight());
200
+ var newTranslateY = startIndex * this.parent.grid.getRowHeight();
174
201
  this.parent.grid.contentModule['translateY'] = newTranslateY;
175
202
  this.parent.grid.contentModule.virtualEle.adjustTable(0, newTranslateY);
176
203
  }
@@ -193,7 +220,7 @@ var VirtualScroll = /** @class */ (function () {
193
220
  if (pageingDetails.count < this.parent.getRows()[0].getBoundingClientRect().height) {
194
221
  startIndex = 0;
195
222
  }
196
- else if (!this.parent['isExpandAll']) {
223
+ else if (!this.parent['isExpandAll'] && this.parent.grid.contentModule['translateY'] === 0) {
197
224
  startIndex = this.prevstartIndex === -1 ? 0 : this.prevstartIndex;
198
225
  }
199
226
  }
@@ -220,6 +247,26 @@ var VirtualScroll = /** @class */ (function () {
220
247
  VirtualScroll.prototype.destroy = function () {
221
248
  this.removeEventListener();
222
249
  };
250
+ /**
251
+ * Updates the row selection when the header checkbox is clicked and the number of selected rows
252
+ * does not match the current view data length.
253
+ *
254
+ * @param {RowDeselectEventArgs} args - The arguments containing details of the row deselection event.
255
+ * @returns {void} - This method does not return a value.
256
+ */
257
+ VirtualScroll.prototype.updateSelection = function (args) {
258
+ if (args.isHeaderCheckboxClicked &&
259
+ this.parent.grid.currentViewData.length !== this.parent.grid.selectionModule.selectedRowIndexes.length) {
260
+ var updateRowSelection = 'updateRowSelection';
261
+ for (var i = 0; i < this.parent.getRows().length; i++) {
262
+ if (this.parent.getRows()[parseInt(i.toString(), 10)].getElementsByClassName('e-frame e-icons e-uncheck').length) {
263
+ this.parent.grid.selectionModule["" + updateRowSelection](this.parent.getRows()[parseInt(i.toString(), 10)],
264
+ // eslint-disable-next-line max-len
265
+ this.parent.getCurrentViewRecords()[parseInt(i.toString(), 10)].index);
266
+ }
267
+ }
268
+ }
269
+ };
223
270
  return VirtualScroll;
224
271
  }());
225
272
  export { VirtualScroll };
@@ -151,12 +151,8 @@ export declare const frozenRight: string;
151
151
  /** @hidden */
152
152
  export declare const frozenLeft: string;
153
153
  /** @hidden */
154
- export declare const dataColIndex: string;
155
- /** @hidden */
156
154
  export declare const ariaColIndex: string;
157
155
  /** @hidden */
158
- export declare const dataRowIndex: string;
159
- /** @hidden */
160
156
  export declare const ariaRowIndex: string;
161
157
  /** @hidden */
162
158
  export declare const actionFailure: string;
@@ -151,12 +151,8 @@ export var frozenRight = 'frozen-right';
151
151
  /** @hidden */
152
152
  export var frozenLeft = 'frozen-left';
153
153
  /** @hidden */
154
- export var dataColIndex = 'data-colindex';
155
- /** @hidden */
156
154
  export var ariaColIndex = 'aria-colindex';
157
155
  /** @hidden */
158
- export var dataRowIndex = 'data-rowindex';
159
- /** @hidden */
160
156
  export var ariaRowIndex = 'aria-rowindex';
161
157
  /** @hidden */
162
158
  export var actionFailure = 'actionFailure';
@@ -438,115 +438,116 @@ var DataManipulation = /** @class */ (function () {
438
438
  rowDetails.record.childRecords = result;
439
439
  }
440
440
  for (var r = 0; r < result.length; r++) {
441
- if (_this.parent.enableVirtualization && result[parseInt(r.toString(), 10)]["" + _this.parent.idMapping] === rowDetails.record["" + _this.parent.idMapping] && rowDetails.action === 'remoteExpand') {
441
+ var record = result[parseInt(r.toString(), 10)];
442
+ if (_this.parent.enableVirtualization && record["" + _this.parent.idMapping] === rowDetails.record["" + _this.parent.idMapping] && rowDetails.action === 'remoteExpand') {
442
443
  _this.parent["" + remoteExpandedData].push(rowDetails.record);
443
444
  }
444
- else if (_this.parent.enableVirtualization && result[parseInt(r.toString(), 10)]["" + _this.parent.idMapping] === rowDetails.record["" + _this.parent.idMapping] && rowDetails.action === 'collapse') {
445
+ else if (_this.parent.enableVirtualization && record["" + _this.parent.idMapping] === rowDetails.record["" + _this.parent.idMapping] && rowDetails.action === 'collapse') {
445
446
  for (var i = 0; i < _this.parent["" + remoteExpandedData].length; i++) {
446
447
  if (rowDetails.record["" + _this.parent.idMapping] === _this.parent["" + remoteExpandedData][parseInt(i.toString(), 10)]["" + _this.parent.idMapping]) {
447
448
  _this.parent["" + remoteExpandedData].splice(i, 1);
448
449
  }
449
450
  }
450
451
  }
451
- result[parseInt(r.toString(), 10)].taskData = extend({}, result[parseInt(r.toString(), 10)]);
452
- if (result[parseInt(r.toString(), 10)]["" + _this.parent.parentIdMapping] && _this.parent.enableVirtualization && _this.parent["" + remoteExpandedData].length) {
452
+ record.taskData = extend({}, record);
453
+ if (record["" + _this.parent.parentIdMapping] && _this.parent.enableVirtualization && _this.parent["" + remoteExpandedData].length) {
453
454
  for (var i = 0; i < _this.parent["" + remoteExpandedData].length; i++) {
454
- if (result[parseInt(r.toString(), 10)]["" + _this.parent.parentIdMapping] === _this.parent["" + remoteExpandedData][parseInt(i.toString(), 10)]["" + _this.parent.idMapping]) {
455
- result[parseInt(r.toString(), 10)].level = _this.parent["" + remoteExpandedData][parseInt(i.toString(), 10)]["" + level] + 1;
455
+ if (record["" + _this.parent.parentIdMapping] === _this.parent["" + remoteExpandedData][parseInt(i.toString(), 10)]["" + _this.parent.idMapping]) {
456
+ record.level = _this.parent["" + remoteExpandedData][parseInt(i.toString(), 10)]["" + level] + 1;
456
457
  var parentData = _this.parent["" + remoteExpandedData][parseInt(i.toString(), 10)];
457
458
  delete parentData.childRecords;
458
- result[parseInt(r.toString(), 10)].parentItem = parentData;
459
- result[parseInt(r.toString(), 10)].parentUniqueID = parentData.uniqueID;
459
+ record.parentItem = parentData;
460
+ record.parentUniqueID = parentData.uniqueID;
460
461
  }
461
462
  }
462
463
  }
463
464
  else if (_this.parent.enableVirtualization) {
464
- if ((result[parseInt(r.toString(), 10)]["" + _this.parent.hasChildMapping] ||
465
- _this.parentItems.indexOf(result[parseInt(r.toString(), 10)]["" + _this.parent.idMapping]) !== -1)
465
+ if ((record["" + _this.parent.hasChildMapping] ||
466
+ _this.parentItems.indexOf(record["" + _this.parent.idMapping]) !== -1)
466
467
  && !(haveChild && !haveChild[parseInt(r.toString(), 10)])) {
467
- if (isNullOrUndefined(result[parseInt(r.toString(), 10)]["" + _this.parent.parentIdMapping])) {
468
- result[parseInt(r.toString(), 10)].level = 0;
468
+ if (isNullOrUndefined(record["" + _this.parent.parentIdMapping])) {
469
+ record.level = 0;
469
470
  if (rowDetails.action === 'remoteExpand') {
470
- result[parseInt(r.toString(), 10)].childRecords = [];
471
- result[parseInt(r.toString(), 10)].childRecords = rowDetails.record.childRecords;
471
+ record.childRecords = [];
472
+ record.childRecords = rowDetails.record.childRecords;
472
473
  }
473
474
  }
474
475
  else {
475
- result[parseInt(r.toString(), 10)].level = rowDetails.record.level;
476
+ record.level = rowDetails.record.level;
476
477
  }
477
478
  }
478
479
  else {
479
480
  var parentData = extend({}, rowDetails.record);
480
481
  delete parentData.childRecords;
481
- result[parseInt(r.toString(), 10)].parentItem = parentData;
482
- result[parseInt(r.toString(), 10)].parentUniqueID = rowDetails.record.uniqueID;
482
+ record.parentItem = parentData;
483
+ record.parentUniqueID = rowDetails.record.uniqueID;
483
484
  }
484
485
  }
485
486
  else {
486
- result[parseInt(r.toString(), 10)].level = rowDetails.record.level + 1;
487
+ record.level = rowDetails.record.level + 1;
487
488
  var parentData = extend({}, rowDetails.record);
488
489
  delete parentData.childRecords;
489
- result[parseInt(r.toString(), 10)].parentItem = parentData;
490
- result[parseInt(r.toString(), 10)].parentUniqueID = rowDetails.record.uniqueID;
490
+ record.parentItem = parentData;
491
+ record.parentUniqueID = rowDetails.record.uniqueID;
491
492
  }
492
- result[parseInt(r.toString(), 10)].index = Math.ceil(Math.random() * 1000);
493
- result[parseInt(r.toString(), 10)].uniqueID = getUid(_this.parent.element.id + '_data_');
494
- if (rowDetails.record["" + _this.parent.idMapping] === result[parseInt(r.toString(), 10)]["" + _this.parent.idMapping]) {
495
- rowDetails.record.uniqueID = result[parseInt(r.toString(), 10)].uniqueID;
493
+ record.index = Math.ceil(Math.random() * 1000);
494
+ record.uniqueID = getUid(_this.parent.element.id + '_data_');
495
+ if (rowDetails.record["" + _this.parent.idMapping] === record["" + _this.parent.idMapping]) {
496
+ rowDetails.record.uniqueID = record.uniqueID;
496
497
  }
497
- result[parseInt(r.toString(), 10)].checkboxState = 'uncheck';
498
- if (_this.parent.enableVirtualization && isNullOrUndefined(result[parseInt(r.toString(), 10)].level)) {
498
+ record.checkboxState = 'uncheck';
499
+ if (_this.parent.enableVirtualization && isNullOrUndefined(record.level)) {
499
500
  for (var p = 0; p < _this.parent.grid.currentViewData.length; p++) {
500
- if (_this.parent.grid.currentViewData[parseInt(p.toString(), 10)]["" + _this.parent.idMapping] === result[parseInt(r.toString(), 10)]["" + _this.parent.parentIdMapping]) {
501
- result[parseInt(r.toString(), 10)].level = _this.parent.grid.currentViewData[parseInt(p.toString(), 10)]['level'] + 1;
501
+ if (_this.parent.grid.currentViewData[parseInt(p.toString(), 10)]["" + _this.parent.idMapping] === record["" + _this.parent.parentIdMapping]) {
502
+ record.level = _this.parent.grid.currentViewData[parseInt(p.toString(), 10)]['level'] + 1;
502
503
  }
503
504
  }
504
505
  }
505
- setValue('uniqueIDCollection.' + result[parseInt(r.toString(), 10)].uniqueID, result[parseInt(r.toString(), 10)], _this.parent);
506
+ setValue('uniqueIDCollection.' + record.uniqueID, record, _this.parent);
506
507
  // delete result[r].parentItem.childRecords;
507
- if ((result[parseInt(r.toString(), 10)]["" + _this.parent.hasChildMapping] ||
508
- _this.parentItems.indexOf(result[parseInt(r.toString(), 10)]["" + _this.parent.idMapping]) !== -1)
508
+ if ((record["" + _this.parent.hasChildMapping] ||
509
+ _this.parentItems.indexOf(record["" + _this.parent.idMapping]) !== -1)
509
510
  && !(haveChild && !haveChild[parseInt(r.toString(), 10)])) {
510
- result[parseInt(r.toString(), 10)].hasChildRecords = true;
511
+ record.hasChildRecords = true;
511
512
  if (_this.parent.enableVirtualization && !_this.parent.loadChildOnDemand) {
512
513
  for (var i = 0; i < _this.parent["" + remoteCollapsedData].length; i++) {
513
- if (result[parseInt(r.toString(), 10)]["" + _this.parent.idMapping] === _this.parent["" + remoteCollapsedData][parseInt(i.toString(), 10)]["" + _this.parent.idMapping]) {
514
- result[parseInt(r.toString(), 10)].expanded = _this.parent["" + remoteCollapsedData][parseInt(i.toString(), 10)]['expanded'];
514
+ if (record["" + _this.parent.idMapping] === _this.parent["" + remoteCollapsedData][parseInt(i.toString(), 10)]["" + _this.parent.idMapping]) {
515
+ record.expanded = _this.parent["" + remoteCollapsedData][parseInt(i.toString(), 10)]['expanded'];
515
516
  }
516
517
  }
517
- if (rowDetails.action === 'collapse' && result[parseInt(r.toString(), 10)]["" + _this.parent.idMapping] !== rowDetails.record["" + _this.parent.idMapping] && result[parseInt(r.toString(), 10)].expanded !== false) {
518
- result[parseInt(r.toString(), 10)].expanded = true;
518
+ if (rowDetails.action === 'collapse' && record["" + _this.parent.idMapping] !== rowDetails.record["" + _this.parent.idMapping] && record.expanded !== false) {
519
+ record.expanded = true;
519
520
  }
520
- else if (rowDetails.action === 'collapse' && result[parseInt(r.toString(), 10)]["" + _this.parent.idMapping] === rowDetails.record["" + _this.parent.idMapping]) {
521
- result[parseInt(r.toString(), 10)].expanded = false;
521
+ else if (rowDetails.action === 'collapse' && record["" + _this.parent.idMapping] === rowDetails.record["" + _this.parent.idMapping]) {
522
+ record.expanded = false;
522
523
  _this.parent["" + remoteCollapsedData].push(rowDetails.record);
523
524
  }
524
525
  else if (rowDetails.action === 'remoteExpand') {
525
526
  for (var i = 0; i < _this.parent.grid.currentViewData.length; i++) {
526
- if (_this.parent.grid.currentViewData[parseInt(i.toString(), 10)]["" + _this.parent.idMapping] === result[parseInt(r.toString(), 10)]["" + _this.parent.idMapping]) {
527
+ if (_this.parent.grid.currentViewData[parseInt(i.toString(), 10)]["" + _this.parent.idMapping] === record["" + _this.parent.idMapping]) {
527
528
  result.splice(r, 1, _this.parent.grid.currentViewData[parseInt(i.toString(), 10)]);
528
529
  }
529
530
  }
530
- if (result[parseInt(r.toString(), 10)][_this.parent.idMapping] === rowDetails.record["" + _this.parent.idMapping]) {
531
+ if (record[_this.parent.idMapping] === rowDetails.record["" + _this.parent.idMapping]) {
531
532
  for (var i = 0; i < _this.parent["" + remoteCollapsedData].length; i++) {
532
533
  if (rowDetails.record["" + _this.parent.idMapping] === _this.parent["" + remoteCollapsedData][parseInt(i.toString(), 10)]["" + _this.parent.idMapping]) {
533
534
  _this.parent["" + remoteCollapsedData].splice(i, 1);
534
535
  }
535
536
  }
536
537
  }
537
- if (result[parseInt(r.toString(), 10)].expanded !== false) {
538
- result[parseInt(r.toString(), 10)].expanded = true;
538
+ if (record.expanded !== false) {
539
+ record.expanded = true;
539
540
  }
540
541
  }
541
542
  }
542
- else if (_this.parent.enableVirtualization && result[parseInt(r.toString(), 10)]["" + _this.parent.idMapping] === rowDetails.record["" + _this.parent.idMapping] && rowDetails.action !== 'collapse') {
543
- result[parseInt(r.toString(), 10)].expanded = true;
543
+ else if (_this.parent.enableVirtualization && record["" + _this.parent.idMapping] === rowDetails.record["" + _this.parent.idMapping] && rowDetails.action !== 'collapse') {
544
+ record.expanded = true;
544
545
  }
545
546
  else if (!(_this.parent.enableVirtualization && !_this.parent.loadChildOnDemand)) {
546
- result[parseInt(r.toString(), 10)].expanded = false;
547
+ record.expanded = false;
547
548
  }
548
549
  }
549
- datas.splice(inx + r + 1, 0, result[parseInt(r.toString(), 10)]);
550
+ datas.splice(inx + r + 1, 0, record);
550
551
  }
551
552
  setValue('result', datas, e);
552
553
  setValue('action', 'beforecontentrender', e);