@syncfusion/ej2-treegrid 20.3.60 → 20.4.38

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 (46) hide show
  1. package/.eslintrc.json +16 -1
  2. package/CHANGELOG.md +8 -53
  3. package/README.md +64 -51
  4. package/dist/ej2-treegrid.min.js +2 -2
  5. package/dist/ej2-treegrid.umd.min.js +2 -2
  6. package/dist/ej2-treegrid.umd.min.js.map +1 -1
  7. package/dist/es6/ej2-treegrid.es2015.js +1191 -908
  8. package/dist/es6/ej2-treegrid.es2015.js.map +1 -1
  9. package/dist/es6/ej2-treegrid.es5.js +1249 -944
  10. package/dist/es6/ej2-treegrid.es5.js.map +1 -1
  11. package/dist/global/ej2-treegrid.min.js +2 -2
  12. package/dist/global/ej2-treegrid.min.js.map +1 -1
  13. package/dist/global/index.d.ts +1 -1
  14. package/package.json +16 -10
  15. package/src/treegrid/actions/batch-edit.js +82 -82
  16. package/src/treegrid/actions/clipboard.js +34 -33
  17. package/src/treegrid/actions/context-menu.js +1 -1
  18. package/src/treegrid/actions/crud-actions.js +62 -55
  19. package/src/treegrid/actions/detail-row.js +7 -7
  20. package/src/treegrid/actions/edit.js +61 -60
  21. package/src/treegrid/actions/excel-export.js +2 -2
  22. package/src/treegrid/actions/filter.js +13 -13
  23. package/src/treegrid/actions/freeze-column.js +9 -8
  24. package/src/treegrid/actions/infinite-scroll.js +19 -19
  25. package/src/treegrid/actions/logger.js +10 -10
  26. package/src/treegrid/actions/page.js +8 -8
  27. package/src/treegrid/actions/reorder.js +2 -2
  28. package/src/treegrid/actions/rowdragdrop.js +88 -82
  29. package/src/treegrid/actions/selection.js +34 -32
  30. package/src/treegrid/actions/sort.js +7 -6
  31. package/src/treegrid/actions/summary.js +24 -24
  32. package/src/treegrid/actions/toolbar.js +2 -2
  33. package/src/treegrid/base/data.js +242 -55
  34. package/src/treegrid/base/treegrid-model.d.ts +20 -4
  35. package/src/treegrid/base/treegrid.d.ts +24 -5
  36. package/src/treegrid/base/treegrid.js +226 -191
  37. package/src/treegrid/models/column.js +3 -3
  38. package/src/treegrid/models/index.d.ts +2 -0
  39. package/src/treegrid/models/index.js +1 -0
  40. package/src/treegrid/models/loading-indicator-model.d.ts +19 -0
  41. package/src/treegrid/models/loading-indicator.d.ts +16 -0
  42. package/src/treegrid/models/loading-indicator.js +34 -0
  43. package/src/treegrid/renderer/render.js +20 -19
  44. package/src/treegrid/renderer/virtual-row-model-generator.js +6 -5
  45. package/src/treegrid/renderer/virtual-tree-content-render.js +128 -99
  46. package/src/treegrid/utils.js +12 -11
@@ -88,15 +88,15 @@ var Selection = /** @class */ (function () {
88
88
  var columnIndex;
89
89
  var stackedHeader = 'stackedHeader';
90
90
  var columnModel = 'columnModel';
91
- var columns = this.parent[stackedHeader] ? this.parent[columnModel] : (this.parent.columns);
91
+ var columns = this.parent["" + stackedHeader] ? this.parent["" + columnModel] : (this.parent.columns);
92
92
  for (var col = 0; col < columns.length; col++) {
93
- if (columns[col].showCheckbox) {
94
- mappingUid = columns[col].uid;
93
+ if (columns[parseInt(col.toString(), 10)].showCheckbox) {
94
+ mappingUid = columns[parseInt(col.toString(), 10)].uid;
95
95
  }
96
96
  }
97
97
  var headerCelllength = this.parent.getHeaderContent().querySelectorAll('.e-headercelldiv').length;
98
98
  for (var j = 0; j < headerCelllength; j++) {
99
- var headercell = this.parent.getHeaderContent().querySelectorAll('.e-headercelldiv')[j];
99
+ var headercell = this.parent.getHeaderContent().querySelectorAll('.e-headercelldiv')[parseInt(j.toString(), 10)];
100
100
  if (headercell.getAttribute('e-mappinguid') === mappingUid) {
101
101
  columnIndex = j;
102
102
  }
@@ -167,15 +167,15 @@ var Selection = /** @class */ (function () {
167
167
  };
168
168
  Selection.prototype.selectCheckboxes = function (rowIndexes) {
169
169
  for (var i = 0; i < rowIndexes.length; i++) {
170
- var record = this.parent.getCurrentViewRecords()[rowIndexes[i]];
170
+ var record = this.parent.getCurrentViewRecords()[rowIndexes[parseInt(i.toString(), 10)]];
171
171
  var flatRecord = getParentData(this.parent, record.uniqueID);
172
172
  record = flatRecord;
173
173
  var checkboxState = (record.checkboxState === 'uncheck') ? 'check' : 'uncheck';
174
174
  record.checkboxState = checkboxState;
175
175
  var keys = Object.keys(record);
176
176
  for (var j = 0; j < keys.length; j++) {
177
- if (Object.prototype.hasOwnProperty.call(flatRecord, keys[j])) {
178
- flatRecord[keys[j]] = record[keys[j]];
177
+ if (Object.prototype.hasOwnProperty.call(flatRecord, keys[parseInt(j.toString(), 10)])) {
178
+ flatRecord[keys[parseInt(j.toString(), 10)]] = record[keys[parseInt(j.toString(), 10)]];
179
179
  }
180
180
  }
181
181
  this.traverSelection(record, checkboxState, false);
@@ -198,12 +198,12 @@ var Selection = /** @class */ (function () {
198
198
  }
199
199
  length = childRecords.length;
200
200
  for (var count = 0; count < length; count++) {
201
- if (!childRecords[count].isSummaryRow) {
202
- if (childRecords[count].hasChildRecords) {
203
- this.traverSelection(childRecords[count], checkboxState, true);
201
+ if (!childRecords[parseInt(count.toString(), 10)].isSummaryRow) {
202
+ if (childRecords[parseInt(count.toString(), 10)].hasChildRecords) {
203
+ this.traverSelection(childRecords[parseInt(count.toString(), 10)], checkboxState, true);
204
204
  }
205
205
  else {
206
- this.updateSelectedItems(childRecords[count], checkboxState);
206
+ this.updateSelectedItems(childRecords[parseInt(count.toString(), 10)], checkboxState);
207
207
  }
208
208
  }
209
209
  }
@@ -232,7 +232,7 @@ var Selection = /** @class */ (function () {
232
232
  var checkChildRecords = 0;
233
233
  if (!isNullOrUndefined(record)) {
234
234
  for (var i = 0; i < childRecords.length; i++) {
235
- var currentRecord = getParentData(this.parent, childRecords[i].uniqueID);
235
+ var currentRecord = getParentData(this.parent, childRecords[parseInt(i.toString(), 10)].uniqueID);
236
236
  var checkBoxRecord = currentRecord;
237
237
  if (!isNullOrUndefined(checkBoxRecord)) {
238
238
  if (checkBoxRecord.checkboxState === 'indeterminate') {
@@ -296,7 +296,8 @@ var Selection = /** @class */ (function () {
296
296
  }
297
297
  }
298
298
  var data;
299
- if (this.parent.filterModule.filteredResult.length === 0 && this.parent.getCurrentViewRecords().length === 0 &&
299
+ if (!(isNullOrUndefined(this.parent.filterModule)) &&
300
+ this.parent.filterModule.filteredResult.length === 0 && this.parent.getCurrentViewRecords().length === 0 &&
300
301
  this.parent.filterSettings.columns.length > 0) {
301
302
  data = this.filteredList;
302
303
  }
@@ -308,22 +309,22 @@ var Selection = /** @class */ (function () {
308
309
  if (!isNullOrUndefined(checkAll)) {
309
310
  for (var i = 0; i < data.length; i++) {
310
311
  if (checkAll) {
311
- if (data[i].checkboxState === 'check') {
312
+ if (data[parseInt(i.toString(), 10)].checkboxState === 'check') {
312
313
  continue;
313
314
  }
314
315
  if (multiFilterCheckState) {
315
316
  continue;
316
317
  }
317
- data[i].checkboxState = 'check';
318
- this.updateSelectedItems(data[i], data[i].checkboxState);
318
+ data[parseInt(i.toString(), 10)].checkboxState = 'check';
319
+ this.updateSelectedItems(data[parseInt(i.toString(), 10)], data[parseInt(i.toString(), 10)].checkboxState);
319
320
  }
320
321
  else {
321
- index = this.selectedItems.indexOf(data[i]);
322
+ index = this.selectedItems.indexOf(data[parseInt(i.toString(), 10)]);
322
323
  if (index > -1) {
323
- data[i].checkboxState = 'uncheck';
324
- this.updateSelectedItems(data[i], data[i].checkboxState);
324
+ data[parseInt(i.toString(), 10)].checkboxState = 'uncheck';
325
+ this.updateSelectedItems(data[parseInt(i.toString(), 10)], data[parseInt(i.toString(), 10)].checkboxState);
325
326
  if (this.parent.autoCheckHierarchy) {
326
- this.updateParentSelection(data[i]);
327
+ this.updateParentSelection(data[parseInt(i.toString(), 10)]);
327
328
  }
328
329
  }
329
330
  }
@@ -360,12 +361,12 @@ var Selection = /** @class */ (function () {
360
361
  var checkedRecord;
361
362
  var recordIndex = this.parent.getCurrentViewRecords().indexOf(record[0]);
362
363
  var checkboxRecord = getParentData(this.parent, currentRecord.uniqueID);
363
- var tr = this.parent.getRows()[recordIndex];
364
+ var tr = this.parent.getRows()[parseInt(recordIndex.toString(), 10)];
364
365
  var checkbox;
365
366
  if (recordIndex > -1) {
366
367
  var movableTr = void 0;
367
368
  if (this.parent.frozenRows || this.parent.getFrozenColumns()) {
368
- movableTr = this.parent.getMovableDataRows()[recordIndex];
369
+ movableTr = this.parent.getMovableDataRows()[parseInt(recordIndex.toString(), 10)];
369
370
  }
370
371
  checkbox = tr.querySelectorAll('.e-frame')[0] ? tr.querySelectorAll('.e-frame')[0]
371
372
  : movableTr.querySelectorAll('.e-frame')[0];
@@ -430,8 +431,8 @@ var Selection = /** @class */ (function () {
430
431
  childLength = childData.length;
431
432
  this.selectedIndexes = [];
432
433
  for (var i = 0; i < childLength; i++) {
433
- if (!rows[i].classList.contains('e-summaryrow')) {
434
- this.updateSelectedItems(childData[i], childData[i].checkboxState);
434
+ if (!rows[parseInt(i.toString(), 10)].classList.contains('e-summaryrow')) {
435
+ this.updateSelectedItems(childData[parseInt(i.toString(), 10)], childData[parseInt(i.toString(), 10)].checkboxState);
435
436
  }
436
437
  }
437
438
  }
@@ -445,13 +446,13 @@ var Selection = /** @class */ (function () {
445
446
  }
446
447
  for (var i = 0; i < updatedData.length; i++) {
447
448
  if (requestType === 'delete') {
448
- var index = this.parent.flatData.indexOf(updatedData[i]);
449
+ var index = this.parent.flatData.indexOf(updatedData[parseInt(i.toString(), 10)]);
449
450
  var checkedIndex = this.selectedIndexes.indexOf(index);
450
451
  this.selectedIndexes.splice(checkedIndex, 1);
451
- this.updateSelectedItems(updatedData[i], 'uncheck');
452
+ this.updateSelectedItems(updatedData[parseInt(i.toString(), 10)], 'uncheck');
452
453
  }
453
- if (!isNullOrUndefined(updatedData[i].parentItem)) {
454
- this.updateParentSelection(updatedData[i].parentItem);
454
+ if (!isNullOrUndefined(updatedData[parseInt(i.toString(), 10)].parentItem)) {
455
+ this.updateParentSelection(updatedData[parseInt(i.toString(), 10)].parentItem);
455
456
  }
456
457
  }
457
458
  }
@@ -475,11 +476,12 @@ var Selection = /** @class */ (function () {
475
476
  var child = findChildrenRecords(record);
476
477
  child = _this.getFilteredChildRecords(child);
477
478
  for (var i = 0; i < child.length; i++) {
478
- if (child[i].hasChildRecords) {
479
- _this.updateParentSelection(child[i]);
479
+ if (child[parseInt(i.toString(), 10)].hasChildRecords) {
480
+ _this.updateParentSelection(child[parseInt(i.toString(), 10)]);
480
481
  }
481
- else if (!(child[i].hasChildRecords) && !isNullOrUndefined(child[i])) {
482
- _this.updateSelectedItems(child[i], child[i].checkboxState);
482
+ else if (!(child[parseInt(i.toString(), 10)].hasChildRecords) &&
483
+ !isNullOrUndefined(child[parseInt(i.toString(), 10)])) {
484
+ _this.updateSelectedItems(child[parseInt(i.toString(), 10)], child[parseInt(i.toString(), 10)].checkboxState);
483
485
  }
484
486
  }
485
487
  }
@@ -55,18 +55,19 @@ var Sort = /** @class */ (function () {
55
55
  Sort.prototype.iterateSort = function (data, srtQry) {
56
56
  for (var d = 0; d < data.length; d++) {
57
57
  if (this.parent.grid.filterSettings.columns.length > 0 || this.parent.grid.searchSettings.key !== '') {
58
- if (!isNullOrUndefined(getParentData(this.parent, data[d].uniqueID, true))) {
58
+ if (!isNullOrUndefined(getParentData(this.parent, data[parseInt(d.toString(), 10)].uniqueID, true))) {
59
59
  this.storedIndex++;
60
- this.flatSortedData[this.storedIndex] = data[d];
60
+ this.flatSortedData[this.storedIndex] = data[parseInt(d.toString(), 10)];
61
61
  }
62
62
  }
63
63
  else {
64
64
  this.storedIndex++;
65
- this.flatSortedData[this.storedIndex] = data[d];
65
+ this.flatSortedData[this.storedIndex] = data[parseInt(d.toString(), 10)];
66
66
  }
67
- if (data[d].hasChildRecords) {
68
- var childSort = (new DataManager(data[d].childRecords).executeLocal(srtQry));
69
- if (this.parent.allowRowDragAndDrop && data[d].childRecords.indexOf(this.parent.rowDragAndDropModule['draggedRecord']) !== -1 && this.parent.rowDragAndDropModule['dropPosition'] !== 'middleSegment') {
67
+ if (data[parseInt(d.toString(), 10)].hasChildRecords) {
68
+ var childSort = (new DataManager(data[parseInt(d.toString(), 10)].childRecords)
69
+ .executeLocal(srtQry));
70
+ if (this.parent.allowRowDragAndDrop && data[parseInt(d.toString(), 10)].childRecords.indexOf(this.parent.rowDragAndDropModule['draggedRecord']) !== -1 && this.parent.rowDragAndDropModule['dropPosition'] !== 'middleSegment') {
70
71
  var dragdIndex = childSort.indexOf(this.parent.rowDragAndDropModule['draggedRecord']);
71
72
  childSort.splice(dragdIndex, 1);
72
73
  var dropdIndex = childSort.indexOf(this.parent.rowDragAndDropModule['droppedRecord']);
@@ -48,9 +48,9 @@ var Aggregate = /** @class */ (function () {
48
48
  var parentDataLength = Object.keys(filteredData).length;
49
49
  var parentData = [];
50
50
  for (var p = 0, len = parentDataLength; p < len; p++) {
51
- var summaryRow = getObject('isSummaryRow', filteredData[p]);
51
+ var summaryRow = getObject('isSummaryRow', filteredData[parseInt(p.toString(), 10)]);
52
52
  if (!summaryRow) {
53
- parentData.push(filteredData[p]);
53
+ parentData.push(filteredData[parseInt(p.toString(), 10)]);
54
54
  }
55
55
  }
56
56
  var parentRecords = findParentRecords(parentData);
@@ -61,16 +61,16 @@ var Aggregate = /** @class */ (function () {
61
61
  var columns = this.parent.getColumns();
62
62
  if (this.parent.aggregates.filter(function (x) { return x.showChildSummary; }).length) {
63
63
  for (var i = 0, len = dataLength; i < len; i++) {
64
- parentRecord = parentRecords[i];
64
+ parentRecord = parentRecords[parseInt(i.toString(), 10)];
65
65
  childRecordsLength = this.getChildRecordsLength(parentRecord, flatRecords);
66
66
  if (childRecordsLength) {
67
67
  var _loop_1 = function (summaryRowIndex, len_1) {
68
68
  var item = void 0;
69
69
  item = {};
70
70
  for (var i_1 = 0; i_1 < columns.length; i_1++) {
71
- var field = (isNullOrUndefined(getObject('field', columns[i_1]))) ?
72
- columns[i_1] : getObject('field', (columns[i_1]));
73
- item[field] = null;
71
+ var field = (isNullOrUndefined(getObject('field', columns[parseInt(i_1.toString(), 10)]))) ?
72
+ columns[parseInt(i_1.toString(), 10)] : getObject('field', (columns[parseInt(i_1.toString(), 10)]));
73
+ item["" + field] = null;
74
74
  }
75
75
  item = this_1.createSummaryItem(item, this_1.parent.aggregates[summaryRowIndex - 1]);
76
76
  if (this_1.parent.aggregates[summaryRowIndex - 1].showChildSummary) {
@@ -113,9 +113,9 @@ var Aggregate = /** @class */ (function () {
113
113
  else {
114
114
  var items = {};
115
115
  for (var columnIndex = 0, length_1 = columns.length; columnIndex < length_1; columnIndex++) {
116
- var fields = isNullOrUndefined(getObject('field', columns[columnIndex])) ?
117
- columns[columnIndex] : getObject('field', columns[columnIndex]);
118
- items[fields] = null;
116
+ var fields = isNullOrUndefined(getObject('field', columns[parseInt(columnIndex.toString(), 10)])) ?
117
+ columns[parseInt(columnIndex.toString(), 10)] : getObject('field', columns[parseInt(columnIndex.toString(), 10)]);
118
+ items["" + fields] = null;
119
119
  }
120
120
  for (var summaryRowIndex = 1, length_2 = summaryLength; summaryRowIndex <= length_2; summaryRowIndex++) {
121
121
  this.createSummaryItem(items, this.parent.aggregates[summaryRowIndex - 1]);
@@ -127,7 +127,7 @@ var Aggregate = /** @class */ (function () {
127
127
  var recordLength = Object.keys(flatData).length;
128
128
  var record;
129
129
  for (var i = 0, len = recordLength; i < len; i++) {
130
- record = flatData[i];
130
+ record = flatData[parseInt(i.toString(), 10)];
131
131
  var parent_1 = isNullOrUndefined(record.parentItem) ? null :
132
132
  flatData.filter(function (e) { return e.uniqueID === record.parentItem.uniqueID; })[0];
133
133
  if (parentData === parent_1) {
@@ -146,19 +146,19 @@ var Aggregate = /** @class */ (function () {
146
146
  Aggregate.prototype.createSummaryItem = function (itemData, summary) {
147
147
  var summaryColumnLength = Object.keys(summary.columns).length;
148
148
  for (var i = 0, len = summaryColumnLength; i < len; i++) {
149
- var displayColumn = isNullOrUndefined(summary.columns[i].columnName) ? summary.columns[i].field :
150
- summary.columns[i].columnName;
149
+ var displayColumn = isNullOrUndefined(summary.columns[parseInt(i.toString(), 10)].columnName) ?
150
+ summary.columns[parseInt(i.toString(), 10)].field : summary.columns[parseInt(i.toString(), 10)].columnName;
151
151
  var keys = Object.keys(itemData);
152
152
  for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {
153
153
  var key = keys_1[_i];
154
154
  if (key === displayColumn) {
155
155
  if (this.flatChildRecords.length) {
156
- itemData[key] = this.getSummaryValues(summary.columns[i], this.flatChildRecords);
156
+ itemData["" + key] = this.getSummaryValues(summary.columns[parseInt(i.toString(), 10)], this.flatChildRecords);
157
157
  }
158
158
  else if (this.parent.isLocalData) {
159
159
  var data = this.parent.dataSource instanceof DataManager ? this.parent.dataSource.dataSource.json
160
160
  : this.parent.flatData;
161
- itemData[key] = this.getSummaryValues(summary.columns[i], data);
161
+ itemData["" + key] = this.getSummaryValues(summary.columns[parseInt(i.toString(), 10)], data);
162
162
  }
163
163
  }
164
164
  else {
@@ -186,15 +186,15 @@ var Aggregate = /** @class */ (function () {
186
186
  var summaryKey;
187
187
  types = [summaryColumn.type];
188
188
  for (var i = 0; i < types.length; i++) {
189
- summaryKey = types[i];
190
- var key = summaryColumn.field + ' - ' + types[i].toLowerCase();
191
- var val = types[i] !== 'Custom' ? getObject('aggregates', sumData) :
192
- calculateAggregate(types[i], sumData, summaryColumn, this.parent);
189
+ summaryKey = types[parseInt(i.toString(), 10)];
190
+ var key = summaryColumn.field + ' - ' + types[parseInt(i.toString(), 10)].toLowerCase();
191
+ var val = types[parseInt(i.toString(), 10)] !== 'Custom' ? getObject('aggregates', sumData) :
192
+ calculateAggregate(types[parseInt(i.toString(), 10)], sumData, summaryColumn, this.parent);
193
193
  var disp = summaryColumn.columnName;
194
- var value_1 = types[i] !== 'Custom' ? val[key] : val;
195
- single[disp] = single[disp] || {};
196
- single[disp][key] = value_1;
197
- single[disp][types[i]] = !isNullOrUndefined(val) ? formatFn(value_1) : ' ';
194
+ var value_1 = types[parseInt(i.toString(), 10)] !== 'Custom' ? val["" + key] : val;
195
+ single["" + disp] = single["" + disp] || {};
196
+ single["" + disp]["" + key] = value_1;
197
+ single["" + disp][types[parseInt(i.toString(), 10)]] = !isNullOrUndefined(val) ? formatFn(value_1) : ' ';
198
198
  }
199
199
  helper.format = summaryColumn.getFormatter();
200
200
  var cellElement = createElement('td', {
@@ -203,12 +203,12 @@ var Aggregate = /** @class */ (function () {
203
203
  if (this.parent.isReact) {
204
204
  var renderReactTemplates = 'renderReactTemplates';
205
205
  tempObj.fn(single[summaryColumn.columnName], this.parent, tempObj.property, '', null, null, cellElement);
206
- this.parent[renderReactTemplates]();
206
+ this.parent["" + renderReactTemplates]();
207
207
  }
208
208
  else {
209
209
  appendChildren(cellElement, tempObj.fn(single[summaryColumn.columnName], this.parent, tempObj.property));
210
210
  }
211
- var value = single[summaryColumn.columnName][summaryKey];
211
+ var value = single["" + summaryColumn.columnName]["" + summaryKey];
212
212
  var summaryValue;
213
213
  if (cellElement.innerHTML.indexOf(value) === -1) {
214
214
  summaryValue = cellElement.innerHTML + value;
@@ -112,11 +112,11 @@ var Toolbar = /** @class */ (function () {
112
112
  }
113
113
  if (args.item.id === tObj.grid.element.id + '_indent' && tObj.getSelectedRecords().length
114
114
  && !isNullOrUndefined(tObj.rowDragAndDropModule)) {
115
- this.parent.rowDragAndDropModule[indentOutdentAction](null, 'indent');
115
+ this.parent.rowDragAndDropModule["" + indentOutdentAction](null, 'indent');
116
116
  }
117
117
  if (args.item.id === tObj.grid.element.id + '_outdent' && tObj.getSelectedRecords().length
118
118
  && !isNullOrUndefined(tObj.rowDragAndDropModule)) {
119
- this.parent.rowDragAndDropModule[indentOutdentAction](null, 'outdent');
119
+ this.parent.rowDragAndDropModule["" + indentOutdentAction](null, 'outdent');
120
120
  }
121
121
  };
122
122
  /**