@syncfusion/ej2-treegrid 26.1.35-469198 → 26.1.35-760834

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 (111) hide show
  1. package/dist/ej2-treegrid.min.js +1 -1
  2. package/dist/ej2-treegrid.umd.min.js +1 -1
  3. package/dist/ej2-treegrid.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-treegrid.es2015.js +156 -35
  5. package/dist/es6/ej2-treegrid.es2015.js.map +1 -1
  6. package/dist/es6/ej2-treegrid.es5.js +158 -35
  7. package/dist/es6/ej2-treegrid.es5.js.map +1 -1
  8. package/dist/global/ej2-treegrid.min.js +1 -1
  9. package/dist/global/ej2-treegrid.min.js.map +1 -1
  10. package/dist/ts/undefined +73 -602
  11. package/index.d.ts +4 -0
  12. package/index.js +4 -0
  13. package/package.json +1 -1
  14. package/src/index.d.ts +4 -0
  15. package/src/treegrid/actions/batch-edit.d.ts +73 -0
  16. package/src/treegrid/actions/clipboard.d.ts +36 -0
  17. package/src/treegrid/actions/column-chooser.d.ts +37 -0
  18. package/src/treegrid/actions/column-menu.d.ts +24 -0
  19. package/src/treegrid/actions/command-column.d.ts +24 -0
  20. package/src/treegrid/actions/context-menu.d.ts +42 -0
  21. package/src/treegrid/actions/crud-actions.d.ts +66 -0
  22. package/src/treegrid/actions/crud-actions.js +1 -1
  23. package/src/treegrid/actions/detail-row.d.ts +39 -0
  24. package/src/treegrid/actions/edit.d.ts +112 -0
  25. package/src/treegrid/actions/edit.js +3 -2
  26. package/src/treegrid/actions/excel-export.d.ts +59 -0
  27. package/src/treegrid/actions/excel-export.js +14 -3
  28. package/src/treegrid/actions/filter.d.ts +57 -0
  29. package/src/treegrid/actions/freeze-column.d.ts +28 -0
  30. package/src/treegrid/actions/index.d.ts +24 -0
  31. package/src/treegrid/actions/infinite-scroll.d.ts +96 -0
  32. package/src/treegrid/actions/logger.d.ts +25 -0
  33. package/src/treegrid/actions/page.d.ts +67 -0
  34. package/src/treegrid/actions/pdf-export.d.ts +55 -0
  35. package/src/treegrid/actions/print.d.ts +37 -0
  36. package/src/treegrid/actions/reorder.d.ts +36 -0
  37. package/src/treegrid/actions/resize.d.ts +36 -0
  38. package/src/treegrid/actions/rowdragdrop.d.ts +113 -0
  39. package/src/treegrid/actions/rowdragdrop.js +2 -2
  40. package/src/treegrid/actions/selection.d.ts +51 -0
  41. package/src/treegrid/actions/selection.js +9 -0
  42. package/src/treegrid/actions/sort.d.ts +63 -0
  43. package/src/treegrid/actions/summary.d.ts +47 -0
  44. package/src/treegrid/actions/toolbar.d.ts +52 -0
  45. package/src/treegrid/actions/virtual-scroll.d.ts +55 -0
  46. package/src/treegrid/actions/virtual-scroll.js +13 -1
  47. package/src/treegrid/base/constant.d.ts +162 -0
  48. package/src/treegrid/base/data.d.ts +90 -0
  49. package/src/treegrid/base/data.js +20 -3
  50. package/src/treegrid/base/index.d.ts +11 -0
  51. package/src/treegrid/base/interface.d.ts +182 -0
  52. package/src/treegrid/base/treegrid.d.ts +2190 -0
  53. package/src/treegrid/base/treegrid.js +86 -17
  54. package/src/treegrid/enum.d.ts +155 -0
  55. package/src/treegrid/index.d.ts +9 -0
  56. package/src/treegrid/models/column.d.ts +752 -0
  57. package/src/treegrid/models/edit-settings.d.ts +90 -0
  58. package/src/treegrid/models/filter-settings.d.ts +203 -0
  59. package/src/treegrid/models/index.d.ts +24 -0
  60. package/src/treegrid/models/infinite-scroll-settings.d.ts +25 -0
  61. package/src/treegrid/models/loading-indicator.d.ts +19 -0
  62. package/src/treegrid/models/page-settings.d.ts +60 -0
  63. package/src/treegrid/models/rowdrop-settings.d.ts +27 -0
  64. package/src/treegrid/models/search-settings.d.ts +71 -0
  65. package/src/treegrid/models/selection-settings.d.ts +79 -0
  66. package/src/treegrid/models/sort-settings.d.ts +40 -0
  67. package/src/treegrid/models/summary.d.ts +124 -0
  68. package/src/treegrid/models/textwrap-settings.d.ts +16 -0
  69. package/src/treegrid/renderer/index.d.ts +5 -0
  70. package/src/treegrid/renderer/render.d.ts +41 -0
  71. package/src/treegrid/renderer/virtual-row-model-generator.d.ts +16 -0
  72. package/src/treegrid/renderer/virtual-tree-content-render.d.ts +75 -0
  73. package/src/treegrid/renderer/virtual-tree-content-render.js +11 -6
  74. package/src/treegrid/utils.d.ts +70 -0
  75. package/styles/bootstrap5.3-lite.css +2 -1090
  76. package/styles/bootstrap5.3.css +3 -1091
  77. package/styles/fluent2-lite.css +8 -1129
  78. package/styles/fluent2.css +8 -1129
  79. package/styles/material3-dark-lite.css +10 -1098
  80. package/styles/material3-dark.css +10 -1098
  81. package/styles/material3-lite.css +10 -1098
  82. package/styles/material3.css +10 -1098
  83. package/styles/tailwind3-lite.css +77 -1213
  84. package/styles/tailwind3.css +84 -1220
  85. package/styles/treegrid/_bds-definition.scss +0 -25
  86. package/styles/treegrid/_bigger.scss +6 -6
  87. package/styles/treegrid/_bootstrap-dark-definition.scss +0 -25
  88. package/styles/treegrid/_bootstrap-definition.scss +0 -25
  89. package/styles/treegrid/_bootstrap4-definition.scss +0 -25
  90. package/styles/treegrid/_bootstrap5-definition.scss +0 -25
  91. package/styles/treegrid/_bootstrap5.3-definition.scss +0 -25
  92. package/styles/treegrid/_fabric-dark-definition.scss +0 -25
  93. package/styles/treegrid/_fabric-definition.scss +0 -25
  94. package/styles/treegrid/_fluent-definition.scss +0 -25
  95. package/styles/treegrid/_fluent2-definition.scss +0 -25
  96. package/styles/treegrid/_fusionnew-definition.scss +0 -25
  97. package/styles/treegrid/_highcontrast-definition.scss +0 -25
  98. package/styles/treegrid/_highcontrast-light-definition.scss +0 -25
  99. package/styles/treegrid/_layout.scss +29 -29
  100. package/styles/treegrid/_material-dark-definition.scss +0 -25
  101. package/styles/treegrid/_material-definition.scss +0 -25
  102. package/styles/treegrid/_material3-definition.scss +0 -25
  103. package/styles/treegrid/_tailwind-definition.scss +0 -25
  104. package/styles/treegrid/_tailwind3-definition.scss +17 -42
  105. package/styles/treegrid/bootstrap5.3.css +3 -1091
  106. package/styles/treegrid/fluent2.css +8 -1129
  107. package/styles/treegrid/material3-dark.css +10 -1098
  108. package/styles/treegrid/material3.css +10 -1098
  109. package/styles/treegrid/tailwind3.css +84 -1220
  110. package/treegrid.d.ts +4 -0
  111. package/treegrid.js +4 -0
@@ -1,5 +1,5 @@
1
1
  import { Property, merge, ChildProperty, Collection, isNullOrUndefined, Browser, removeClass, addClass, getValue, createElement, setValue, extend as extend$1, Internationalization, getEnumValue, compile, L10n, EventHandler, KeyboardEvents, SanitizeHtmlHelper, Complex, Event, NotifyPropertyChanges, Component, closest, classList, setStyleAttribute, select, debounce, remove } from '@syncfusion/ej2-base';
2
- import { Grid, Logger as Logger$1, detailLists, Clipboard, getObject, parentsUntil, Print as Print$1, templateCompiler, appendChildren, extend, CellRenderer, getUid, CellType, Freeze as Freeze$1, getNumberFormat, getActualProperties, iterateArrayOrObject, RowDropSettings as RowDropSettings$1, Reorder as Reorder$1, Resize as Resize$1, Scroll, RowDD as RowDD$1, VirtualRowModelGenerator, Filter as Filter$1, ExcelExport as ExcelExport$1, PdfExport as PdfExport$1, Page as Page$1, Toolbar as Toolbar$1, calculateAggregate, Aggregate as Aggregate$1, Sort as Sort$1, ColumnMenu as ColumnMenu$1, ContextMenu as ContextMenu$1, resetRowIndex, Edit as Edit$1, CommandColumn as CommandColumn$1, DetailRow as DetailRow$1, Cell, VirtualContentRenderer, InterSectionObserver, getTransformValues, RenderType, VirtualHeaderRenderer, VirtualScroll as VirtualScroll$1, ColumnChooser as ColumnChooser$1, RowRenderer, InfiniteScroll as InfiniteScroll$1 } from '@syncfusion/ej2-grids';
2
+ import { Grid, Logger as Logger$1, detailLists, Clipboard, getObject, parentsUntil, Print as Print$1, templateCompiler, appendChildren, extend, CellRenderer, getUid, CellType, Freeze as Freeze$1, getNumberFormat, getActualProperties, iterateArrayOrObject, RowDropSettings as RowDropSettings$1, Reorder as Reorder$1, Resize as Resize$1, Scroll, RowDD as RowDD$1, VirtualRowModelGenerator, Filter as Filter$1, Data, ExportHelper, ExcelExport as ExcelExport$1, PdfExport as PdfExport$1, Page as Page$1, Toolbar as Toolbar$1, calculateAggregate, Aggregate as Aggregate$1, Sort as Sort$1, ColumnMenu as ColumnMenu$1, ContextMenu as ContextMenu$1, resetRowIndex, Edit as Edit$1, CommandColumn as CommandColumn$1, DetailRow as DetailRow$1, Cell, VirtualContentRenderer, InterSectionObserver, getTransformValues, RenderType, VirtualHeaderRenderer, VirtualScroll as VirtualScroll$1, ColumnChooser as ColumnChooser$1, RowRenderer, InfiniteScroll as InfiniteScroll$1 } from '@syncfusion/ej2-grids';
3
3
  import { createCheckBox } from '@syncfusion/ej2-buttons';
4
4
  import { DataManager, ODataAdaptor, WebApiAdaptor, WebMethodAdaptor, CacheAdaptor, UrlAdaptor, Query, DataUtil, RemoteSaveAdaptor, Deferred, JsonAdaptor, Predicate as Predicate$1 } from '@syncfusion/ej2-data';
5
5
  import { showSpinner, hideSpinner, createSpinner } from '@syncfusion/ej2-popups';
@@ -1042,6 +1042,7 @@ var Selection = /** @__PURE__ @class */ (function () {
1042
1042
  this.removeEventListener();
1043
1043
  };
1044
1044
  Selection.prototype.checkboxSelection = function (args) {
1045
+ var _a;
1045
1046
  var target = getObject('target', args);
1046
1047
  var checkWrap = parentsUntil(target, 'e-checkbox-wrapper');
1047
1048
  var checkBox;
@@ -1059,6 +1060,14 @@ var Selection = /** @__PURE__ @class */ (function () {
1059
1060
  checkBox = checkWrap.querySelector('input[type="checkbox"]');
1060
1061
  this.triggerChkChangeEvent(checkBox, checkBoxvalue, target.closest('tr'));
1061
1062
  }
1063
+ if (!isNullOrUndefined(this.parent['parentQuery']) && this.parent.selectionSettings.persistSelection
1064
+ && this.parent['columnModel'].filter(function (col) { return col.type === 'checkbox'; }).length > 0
1065
+ && isRemoteData(this.parent)) {
1066
+ if (this.parent['parentQuery'].length > 0) {
1067
+ (_a = this.parent.query.queries).push.apply(_a, this.parent['parentQuery']);
1068
+ this.parent['parentQuery'] = [];
1069
+ }
1070
+ }
1062
1071
  };
1063
1072
  Selection.prototype.triggerChkChangeEvent = function (checkBox, checkState, rowElement) {
1064
1073
  var data = this.parent.getCurrentViewRecords()[rowElement.rowIndex];
@@ -2373,16 +2382,20 @@ var DataManipulation = /** @__PURE__ @class */ (function () {
2373
2382
  var clonequries = qry.queries.filter(function (e) { return e.fn !== 'onPage' && e.fn !== 'onWhere'; });
2374
2383
  qry.queries = clonequries;
2375
2384
  qry.isCountRequired = true;
2385
+ var idMappingValue = parseInt(rowDetails.record[this.parent.idMapping], 10);
2386
+ if (isNaN(idMappingValue)) {
2387
+ idMappingValue = rowDetails.record[this.parent.idMapping].toString();
2388
+ }
2376
2389
  if (this.parent.enableVirtualization && rowDetails.action === 'remoteExpand') {
2377
2390
  qry.take(this.parent.pageSettings.pageSize);
2378
2391
  var expandDetail = [];
2379
- expandDetail.push('ExpandingAction', parseInt(rowDetails.record[this.parent.idMapping], 10).toString());
2392
+ expandDetail.push('ExpandingAction', idMappingValue.toString());
2380
2393
  qry.expand(expandDetail);
2381
2394
  }
2382
2395
  else if (this.parent.enableVirtualization && rowDetails.action === 'collapse') {
2383
2396
  qry.take(this.parent.grid.pageSettings.pageSize);
2384
2397
  var expandDetail = [];
2385
- expandDetail.push('CollapsingAction', parseInt(rowDetails.record[this.parent.idMapping], 10).toString());
2398
+ expandDetail.push('CollapsingAction', idMappingValue.toString());
2386
2399
  qry.expand(expandDetail);
2387
2400
  }
2388
2401
  qry.where(this.parent.parentIdMapping, 'equal', rowDetails.record[this.parent.idMapping]);
@@ -2577,6 +2590,9 @@ var DataManipulation = /** @__PURE__ @class */ (function () {
2577
2590
  e["" + result_1] = _this.parent.summaryModule.calculateSummaryValue(summaryQuery, e["" + result_1], true);
2578
2591
  }
2579
2592
  }
2593
+ if (rowDetails.action === 'remoteExpand' && _this.parent.allowPaging && _this.parent.pageSettings.pageSizeMode === 'All') {
2594
+ _this.parent.grid.pageSettings.totalRecordsCount = _this.parent.grid.currentViewData.length + result.length;
2595
+ }
2580
2596
  if (_this.parent.enableVirtualization) {
2581
2597
  _this.parent.grid.pageSettings.totalRecordsCount = e.count;
2582
2598
  }
@@ -2630,7 +2646,17 @@ var DataManipulation = /** @__PURE__ @class */ (function () {
2630
2646
  }
2631
2647
  if ((!isNullOrUndefined(currentData[this.parent.childMapping]) && !isCountRequired(this.parent)) ||
2632
2648
  ((currentData[this.parent.hasChildMapping]) && isCountRequired(this.parent))) {
2633
- currentData.hasChildRecords = true;
2649
+ if (!isNullOrUndefined(currentData[this.parent.childMapping])) {
2650
+ if (currentData[this.parent.childMapping].length > 0) {
2651
+ currentData.hasChildRecords = true;
2652
+ }
2653
+ else {
2654
+ currentData.hasChildRecords = false;
2655
+ }
2656
+ }
2657
+ else {
2658
+ currentData.hasChildRecords = true;
2659
+ }
2634
2660
  if (this.parent.enableCollapseAll || !isNullOrUndefined(this.parent.dataStateChange)
2635
2661
  && isNullOrUndefined(currentData[this.parent.childMapping])) {
2636
2662
  currentData.expanded = false;
@@ -3463,7 +3489,7 @@ function removeChildRecords(childRecords, modifiedData, action, key, control, is
3463
3489
  editedData.taskData[keys[parseInt(i.toString(), 10)]] =
3464
3490
  childRecords[parseInt(j.toString(), 10)][keys[parseInt(i.toString(), 10)]] =
3465
3491
  modifiedData[keys[parseInt(i.toString(), 10)]];
3466
- if (control.grid.editSettings.mode === 'Normal' && control.editSettings.mode === 'Cell') {
3492
+ if (control.grid.editSettings.mode === 'Normal' && control.editSettings.mode === 'Cell' && !isNullOrUndefined(control.grid.editModule)) {
3467
3493
  var editModule = 'editModule';
3468
3494
  control.grid.editModule["" + editModule].editRowIndex = modifiedData.index;
3469
3495
  control.grid.editModule["" + editModule].updateCurrentViewData(modifiedData);
@@ -4088,8 +4114,10 @@ var TreeGrid = /** @__PURE__ @class */ (function (_super) {
4088
4114
  if (summaryElement !== null) {
4089
4115
  var cellIndex_1 = target.cellIndex;
4090
4116
  var row_1 = summaryElement.children[parseInt(cellIndex_1.toString(), 10)];
4091
- addClass([row_1], 'e-focused');
4092
- addClass([row_1], 'e-focus');
4117
+ if (!isNullOrUndefined(row_1) && !this.grid.isEdit) {
4118
+ addClass([row_1], 'e-focused');
4119
+ addClass([row_1], 'e-focus');
4120
+ }
4093
4121
  }
4094
4122
  else {
4095
4123
  this.clearSelection();
@@ -4116,8 +4144,10 @@ var TreeGrid = /** @__PURE__ @class */ (function (_super) {
4116
4144
  var cellIndex_2 = target.cellIndex;
4117
4145
  if (!isNullOrUndefined(cellIndex_2)) {
4118
4146
  var row_2 = summaryElement.children[parseInt(cellIndex_2.toString(), 10)];
4119
- addClass([row_2], 'e-focused');
4120
- addClass([row_2], 'e-focus');
4147
+ if (!isNullOrUndefined(row_2) && !this.grid.isEdit) {
4148
+ addClass([row_2], 'e-focused');
4149
+ addClass([row_2], 'e-focus');
4150
+ }
4121
4151
  }
4122
4152
  }
4123
4153
  else {
@@ -4196,7 +4226,9 @@ var TreeGrid = /** @__PURE__ @class */ (function (_super) {
4196
4226
  TreeGrid.prototype.requiredModules = function () {
4197
4227
  var modules = [];
4198
4228
  var splitFrozenCount = 'splitFrozenCount';
4199
- this.grid["" + splitFrozenCount](this.getColumns());
4229
+ if (!this.isReact && isNullOrUndefined(this['changedProperties'].columns)) {
4230
+ this.grid["" + splitFrozenCount](this.getColumns());
4231
+ }
4200
4232
  if (this.isDestroyed) {
4201
4233
  return modules;
4202
4234
  }
@@ -4515,12 +4547,12 @@ var TreeGrid = /** @__PURE__ @class */ (function (_super) {
4515
4547
  if (this.treeColumnIndex >= this.columns.length) {
4516
4548
  failureCases.push('TreeColumnIndex value should not exceed the total column count.');
4517
4549
  }
4518
- if (this.enableVirtualization && (!/[0-9]$/.test(this.columnModel.filter(function (col) { return col.width; }).toString())
4519
- && !/[px]$/.test(this.columnModel.filter(function (col) { return col.width; }).toString()))
4520
- || (/[0-9]$/.test(this.height.toString()) && /[px]$/.test(this.height.toString()))) {
4550
+ if (this.enableVirtualization &&
4551
+ (this.columnModel.some(function (col) { return /%$/.test(col.width); }) ||
4552
+ /%$/.test(this.height.toString()))) {
4521
4553
  failureCases.push('column width and height should be in pixels');
4522
4554
  }
4523
- if (!isNullOrUndefined(this.childMapping) && !isNullOrUndefined(this.idMapping)) {
4555
+ if ((this.childMapping !== 'Children') && !isNullOrUndefined(this.idMapping)) {
4524
4556
  failureCases.push('Both IdMapping and ChildMapping should not be used together for tree grid rendering.');
4525
4557
  }
4526
4558
  if ((!isNullOrUndefined(this.idMapping) && (isNullOrUndefined(this.parentIdMapping))) ||
@@ -4685,10 +4717,28 @@ var TreeGrid = /** @__PURE__ @class */ (function (_super) {
4685
4717
  var _this = this;
4686
4718
  this.grid.rowSelecting = function (args) {
4687
4719
  _this.IsExpandCollapseClicked(args);
4720
+ if (!isNullOrUndefined(args.data) && _this.selectionSettings.persistSelection
4721
+ && _this.columnModel.filter(function (col) { return col.type === 'checkbox'; }).length > 0 && isRemoteData(_this)) {
4722
+ if (!isNullOrUndefined(args.data.parentItem) || args.isHeaderCheckboxClicked) {
4723
+ _this.parentQuery = _this.query.queries.filter(function (q) { return q.e.field === _this.parentIdMapping; });
4724
+ _this.query.queries = _this.query.queries.slice(0, 0);
4725
+ }
4726
+ }
4727
+ if (_this.pageSettings.pageSizeMode === 'Root') {
4728
+ _this.grid.selectionModule['totalRecordsCount'] = _this.grid.currentViewData.length;
4729
+ }
4730
+ if (_this.enableVirtualization && args.rowIndex === _this.selectedRowIndex) {
4731
+ args.cancel = true;
4732
+ }
4688
4733
  _this.trigger(rowSelecting, args);
4689
4734
  };
4690
4735
  this.grid.rowDeselecting = function (args) {
4691
4736
  _this.IsExpandCollapseClicked(args);
4737
+ if (!isNullOrUndefined(args.data) && _this.selectionSettings.persistSelection
4738
+ && _this.columnModel.filter(function (col) { return col.type === 'checkbox'; }).length > 0 && isRemoteData(_this)) {
4739
+ _this.parentQuery = _this.query.queries.filter(function (q) { return q.e.field === _this.parentIdMapping; });
4740
+ _this.query.queries = _this.query.queries.slice(0, 0);
4741
+ }
4692
4742
  _this.trigger(rowDeselecting, args);
4693
4743
  };
4694
4744
  this.grid.rowSelected = function (args) {
@@ -4829,6 +4879,16 @@ var TreeGrid = /** @__PURE__ @class */ (function (_super) {
4829
4879
  _this.grid.selectionModule["" + updateRowSelection](_this.getRows()[parseInt(index.toString(), 10)], index);
4830
4880
  }
4831
4881
  }
4882
+ if (_this.enableVirtualization && _this.selectionSettings.persistSelection
4883
+ && !isNullOrUndefined(_this.virtualScrollModule.prevSelectedRecord)) {
4884
+ for (var i = 0; i < _this.virtualScrollModule.prevSelectedRecord.length; i++) {
4885
+ var updateRowSelection = 'updateRowSelection';
4886
+ var index =
4887
+ // eslint-disable-next-line max-len
4888
+ _this.getCurrentViewRecords().indexOf(_this.virtualScrollModule.prevSelectedRecord[parseInt(i.toString(), 10)]);
4889
+ _this.grid.selectionModule["" + updateRowSelection](_this.getRows()[parseInt(index.toString(), 10)], index);
4890
+ }
4891
+ }
4832
4892
  _this.trigger(dataBound, args);
4833
4893
  _this.initialRender = false;
4834
4894
  };
@@ -5441,6 +5501,12 @@ var TreeGrid = /** @__PURE__ @class */ (function (_super) {
5441
5501
  TreeGrid.prototype.onPropertyChanged = function (newProp) {
5442
5502
  var properties = Object.keys(newProp);
5443
5503
  var requireRefresh = false;
5504
+ if (properties.indexOf('columns') > -1 && !isNullOrUndefined(newProp.columns) && this.frozenColumns === 0
5505
+ && this.frozenRows === 0 && !this.columnModel.some(function (col) { return col.isFrozen || col.freeze; })) {
5506
+ this.grid.columns = this.getGridColumns(newProp.columns);
5507
+ this.grid['updateColumnObject']();
5508
+ requireRefresh = true;
5509
+ }
5444
5510
  for (var _i = 0, properties_1 = properties; _i < properties_1.length; _i++) {
5445
5511
  var prop = properties_1[_i];
5446
5512
  switch (prop) {
@@ -5756,6 +5822,7 @@ var TreeGrid = /** @__PURE__ @class */ (function (_super) {
5756
5822
  }
5757
5823
  };
5758
5824
  TreeGrid.prototype.mouseClickHandler = function (e) {
5825
+ var _this = this;
5759
5826
  if (!isNullOrUndefined(e.touches)) {
5760
5827
  return;
5761
5828
  }
@@ -5783,6 +5850,22 @@ var TreeGrid = /** @__PURE__ @class */ (function (_super) {
5783
5850
  }
5784
5851
  }
5785
5852
  }
5853
+ if (((target.classList.contains('e-flmenu-cancelbtn') || target.classList.contains('e-flmenu-okbtn')
5854
+ || target.classList.contains('e-content') || target.classList.contains('e-rowcell'))
5855
+ && !isNullOrUndefined(this.filterModule) && this.isReact)) {
5856
+ if (!isNullOrUndefined(this.grid.filterModule['column'])) {
5857
+ if (this.grid.filterModule['column'].filterTemplate) {
5858
+ var elem = document.getElementById(this.grid.filterModule.filterModule['dlgObj'].element.id);
5859
+ this.grid.filterModule['fltrDlgDetails'].isOpen = false;
5860
+ if (this.grid.filterModule.filterModule['dlgObj'] && !this.grid.filterModule.filterModule['dlgObj'].isDestroyed && elem) {
5861
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
5862
+ this.clearTemplate(['filterTemplate'], undefined, function () {
5863
+ _this.grid.filterModule.filterModule['dlgObj'].destroy();
5864
+ });
5865
+ }
5866
+ }
5867
+ }
5868
+ }
5786
5869
  };
5787
5870
  /**
5788
5871
  * Returns TreeGrid rows
@@ -6559,6 +6642,7 @@ var TreeGrid = /** @__PURE__ @class */ (function (_super) {
6559
6642
  */
6560
6643
  TreeGrid.prototype.expandRow = function (row, record, key, level) {
6561
6644
  var _this = this;
6645
+ this.isCollapseAll = false;
6562
6646
  if (isNullOrUndefined(row) && isNullOrUndefined(record) && isNullOrUndefined(key) && isNullOrUndefined(level)) {
6563
6647
  var error = 'The provided value for the row is undefined. Please ensure the row contains row element.';
6564
6648
  this.trigger(actionFailure, { error: error });
@@ -6622,6 +6706,10 @@ var TreeGrid = /** @__PURE__ @class */ (function (_super) {
6622
6706
  expandArgs = { data: parentRec, row: row };
6623
6707
  this.trigger(expanded, expandArgs);
6624
6708
  }
6709
+ else if (!this.isExpandAll && this.enableVirtualization && this.selectionSettings.persistSelection
6710
+ && !isNullOrUndefined(this.virtualScrollModule.prevSelectedRecord)) {
6711
+ this.virtualScrollModule.prevSelectedRecord = [];
6712
+ }
6625
6713
  else if (!this.isExpandAll) {
6626
6714
  this.trigger(expanded, expandArgs);
6627
6715
  }
@@ -6647,13 +6735,13 @@ var TreeGrid = /** @__PURE__ @class */ (function (_super) {
6647
6735
  return e.hasChildRecords;
6648
6736
  });
6649
6737
  }
6650
- else if (isNullOrUndefined(record)) {
6738
+ else if (isNullOrUndefined(record) && !isNullOrUndefined(row)) {
6651
6739
  if (this.detailTemplate) {
6652
6740
  record = this.grid.getCurrentViewRecords()[row.getAttribute('data-rowindex')];
6653
6741
  }
6654
6742
  else {
6655
- if (this.enableVirtualization && this.isCollapseAll) {
6656
- if (this.isExpandAll && row.rowIndex === -1) {
6743
+ if (this.enableVirtualization && (this.isCollapseAll || this.isExpandAll)) {
6744
+ if (row.rowIndex === -1) {
6657
6745
  record = this.grid.getCurrentViewRecords()[parseInt(row.getAttribute('data-rowindex'), 10)];
6658
6746
  }
6659
6747
  else {
@@ -6680,6 +6768,7 @@ var TreeGrid = /** @__PURE__ @class */ (function (_super) {
6680
6768
  */
6681
6769
  TreeGrid.prototype.collapseRow = function (row, record, key) {
6682
6770
  var _this = this;
6771
+ this.isExpandAll = false;
6683
6772
  if (isNullOrUndefined(row) && isNullOrUndefined(record) && isNullOrUndefined(key)) {
6684
6773
  var error = 'The provided value for the row is undefined. Please ensure the row contains row element.';
6685
6774
  this.trigger(actionFailure, { error: error });
@@ -6954,6 +7043,9 @@ var TreeGrid = /** @__PURE__ @class */ (function (_super) {
6954
7043
  return e.querySelector('.e-treegrid' + (action === 'expand' ? 'collapse' : 'expand'));
6955
7044
  });
6956
7045
  }
7046
+ if (!rows.length && this.getRows().length) {
7047
+ rows.push(this.getRows()[0]);
7048
+ }
6957
7049
  this.isExpandAll = true;
6958
7050
  this.isCollapseAll = true;
6959
7051
  if (((this.allowPaging && this.pageSettings.pageSizeMode === 'All') || this.enableVirtualization || this.enableInfiniteScrolling) && !isRemoteData(this)) {
@@ -7002,9 +7094,12 @@ var TreeGrid = /** @__PURE__ @class */ (function (_super) {
7002
7094
  TreeGrid.prototype.expandCollapse = function (action, row, record, isChild) {
7003
7095
  var _this = this;
7004
7096
  var expandingArgs = { row: row, data: record, childData: [], requestType: action };
7005
- var childRecords = this.grid.currentViewData.filter(function (e) {
7006
- return e.parentUniqueID === record.uniqueID;
7007
- });
7097
+ var childRecords;
7098
+ if (!isNullOrUndefined(record)) {
7099
+ childRecords = this.grid.currentViewData.filter(function (e) {
7100
+ return e.parentUniqueID === record.uniqueID;
7101
+ });
7102
+ }
7008
7103
  var targetEle;
7009
7104
  if ((!isRemoteData(this) && action === 'expand' && this.isSelfReference && isCountRequired(this) && !childRecords.length) || (action === 'collapse' || (this.isExpandAll && this.loadChildOnDemand) && !isRemoteData(this) && this.isSelfReference && isCountRequired(this))) {
7010
7105
  this.updateChildOnDemand(expandingArgs);
@@ -7033,7 +7128,7 @@ var TreeGrid = /** @__PURE__ @class */ (function (_super) {
7033
7128
  var displayAction = void 0;
7034
7129
  if (action === 'expand') {
7035
7130
  displayAction = 'table-row';
7036
- if (!isChild) {
7131
+ if (!isChild && !isNullOrUndefined(record)) {
7037
7132
  record.expanded = true;
7038
7133
  this.uniqueIDCollection[record.uniqueID].expanded = record.expanded;
7039
7134
  }
@@ -7054,7 +7149,7 @@ var TreeGrid = /** @__PURE__ @class */ (function (_super) {
7054
7149
  }
7055
7150
  else {
7056
7151
  displayAction = 'none';
7057
- if (!isChild || isCountRequired(this)) {
7152
+ if ((!isChild || isCountRequired(this)) && !isNullOrUndefined(row)) {
7058
7153
  record.expanded = false;
7059
7154
  this.uniqueIDCollection[record.uniqueID].expanded = record.expanded;
7060
7155
  }
@@ -9098,7 +9193,7 @@ var RowDD = /** @__PURE__ @class */ (function () {
9098
9193
  this.canDrop = false;
9099
9194
  this.addErrorElem();
9100
9195
  }
9101
- if (!tObj.rowDropSettings.targetID && this.canDrop) {
9196
+ if (!tObj.rowDropSettings.targetID && this.canDrop && !isNullOrUndefined(args.rows[0])) {
9102
9197
  tObj.rowDragAndDropModule.updateIcon(args.rows, rowIdx, args);
9103
9198
  }
9104
9199
  if (isNullOrUndefined(tObj.rowDropSettings.targetID) && !this.canDrop) {
@@ -9342,7 +9437,7 @@ var RowDD = /** @__PURE__ @class */ (function () {
9342
9437
  var _loop_1 = function (i) {
9343
9438
  draggedRecord_2 = dragRecords[parseInt(i.toString(), 10)];
9344
9439
  this_1.draggedRecord = draggedRecord_2;
9345
- if (this_1.dropPosition !== 'Invalid') {
9440
+ if (this_1.dropPosition !== 'Invalid' && !isNullOrUndefined(this_1.droppedRecord)) {
9346
9441
  if (!tObj.rowDropSettings.targetID || isByMethod) {
9347
9442
  this_1.deleteDragRow();
9348
9443
  }
@@ -10221,14 +10316,19 @@ var ExcelExport = /** @__PURE__ @class */ (function () {
10221
10316
  isMultipleExport, workbook, isBlob, isCsv) {
10222
10317
  var _this = this;
10223
10318
  var dataSource = this.parent.dataSource;
10319
+ var data = new Data(this.parent.grid);
10224
10320
  var property = Object();
10225
10321
  setValue('isCsv', isCsv, property);
10226
10322
  setValue('cancel', false, property);
10227
10323
  if (!isNullOrUndefined(excelExportProperties)) {
10228
10324
  this.isCollapsedStatePersist = excelExportProperties.isCollapsedStatePersist;
10229
10325
  }
10230
- if (!isNullOrUndefined(excelExportProperties) && !isNullOrUndefined(excelExportProperties.dataSource)) {
10231
- if (!excelExportProperties.dataSource['dataSource']) {
10326
+ if (!isNullOrUndefined(excelExportProperties)) {
10327
+ if (!isNullOrUndefined(excelExportProperties.dataSource) && !excelExportProperties.dataSource['dataSource']) {
10328
+ return this.parent.grid.excelExportModule.Map(this.parent.grid, excelExportProperties, isMultipleExport, workbook, isCsv, isBlob);
10329
+ }
10330
+ if (excelExportProperties.exportType === 'CurrentPage') {
10331
+ excelExportProperties.dataSource = this.parent.getCurrentViewRecords();
10232
10332
  return this.parent.grid.excelExportModule.Map(this.parent.grid, excelExportProperties, isMultipleExport, workbook, isCsv, isBlob);
10233
10333
  }
10234
10334
  }
@@ -10239,6 +10339,11 @@ var ExcelExport = /** @__PURE__ @class */ (function () {
10239
10339
  if (!_this.isLocal()) {
10240
10340
  query = _this.generateQuery(query);
10241
10341
  query.queries = _this.parent.grid.getDataModule().generateQuery().queries;
10342
+ query = ExportHelper.getQuery(_this.parent.grid, data);
10343
+ if (isNullOrUndefined(_this.parent.filterModule)) {
10344
+ query.queries = query.queries.slice(1, 2);
10345
+ query.params = query.params.slice(0, 0);
10346
+ }
10242
10347
  setValue('query', query, property);
10243
10348
  }
10244
10349
  _this.parent.trigger(beforeExcelExport, extend$1(property, excelExportProperties));
@@ -12831,6 +12936,7 @@ var Edit = /** @__PURE__ @class */ (function () {
12831
12936
  this.addRowIndex = this.parent.grid.selectedRowIndex > -1 ? this.parent.grid.selectedRowIndex : 0;
12832
12937
  }
12833
12938
  }
12939
+ var selectedRecords = this.parent.getSelectedRecords()[0];
12834
12940
  if ((this.isAddedRowByMethod || (this.isAddedRowByContextMenu && this.parent.grid.selectedRowIndex !== -1)) &&
12835
12941
  (this.parent.enableVirtualization || this.parent.enableInfiniteScrolling)) {
12836
12942
  this.addRowRecord = this.parent.flatData[this.parent.grid.selectedRowIndex];
@@ -12838,8 +12944,8 @@ var Edit = /** @__PURE__ @class */ (function () {
12838
12944
  this.addRowRecord = this.parent.getCurrentViewRecords()[this.addRowIndex];
12839
12945
  }
12840
12946
  }
12841
- else {
12842
- this.addRowRecord = this.parent.getSelectedRecords()[0];
12947
+ else if (!isNullOrUndefined(selectedRecords)) {
12948
+ this.addRowRecord = selectedRecords;
12843
12949
  }
12844
12950
  }
12845
12951
  if (this.isAddedRowByMethod && args.index !== 0) {
@@ -13450,6 +13556,7 @@ var VirtualTreeContentRenderer = /** @__PURE__ @class */ (function (_super) {
13450
13556
  VirtualTreeContentRenderer.prototype.rowSelectedEvent = function (args) {
13451
13557
  var rowSelected = 'rowSelected';
13452
13558
  _super.prototype["" + rowSelected].call(this, args);
13559
+ this.parent.notify('virtualTransform', { requestType: 'transformChange' });
13453
13560
  };
13454
13561
  VirtualTreeContentRenderer.prototype.toSelectVirtualRow = function (args) {
13455
13562
  if (this.parent.isEdit) {
@@ -13617,21 +13724,25 @@ var VirtualTreeContentRenderer = /** @__PURE__ @class */ (function (_super) {
13617
13724
  var info = scrollArgs.sentinel;
13618
13725
  var rowHeight = this.parent.getRowHeight();
13619
13726
  var outBuffer = this.parent.pageSettings.pageSize - Math.ceil(this.parent.pageSettings.pageSize / 2);
13620
- var content = this.parent.getContent().querySelector('.e-content');
13727
+ var content;
13728
+ if (!isNullOrUndefined(this.parent.contentModule)) {
13729
+ content = this.parent.getContent().querySelector('.e-content');
13730
+ }
13621
13731
  var scrollHeight = outBuffer * rowHeight;
13622
- var upScroll = (scrollArgs.offset.top - this.translateY) < 0;
13732
+ var upScroll = (scrollArgs.offset.top - this.translateY) <= 0;
13623
13733
  var downScroll = Math.ceil(scrollArgs.offset.top - this.translateY) + rowHeight >= scrollHeight;
13624
13734
  var selectedRowIndex = 'selectedRowIndex';
13625
13735
  var currentViewData = this.parent.currentViewData;
13626
13736
  var indexValue = 'index';
13627
- if (upScroll && (scrollArgs.direction !== 'right' && scrollArgs.direction !== 'left')) {
13737
+ if (upScroll && (scrollArgs.direction !== 'right' && scrollArgs.direction !== 'left') && !isNullOrUndefined(content)) {
13628
13738
  var vHeight = +(this.parent.height.toString().indexOf('%') < 0 ? parseInt(this.parent.height.toString(), 10) :
13629
13739
  this.parent.element.getBoundingClientRect().height);
13630
13740
  var index = (~~(content.scrollTop / rowHeight)
13631
13741
  + Math.ceil(vHeight / rowHeight))
13632
13742
  - this.parent.pageSettings.pageSize;
13633
13743
  index = (index > 0) ? index : 0;
13634
- if (!isNullOrUndefined(this["" + selectedRowIndex]) && this["" + selectedRowIndex] !== -1 && index !== this["" + selectedRowIndex]) {
13744
+ if (!isNullOrUndefined(this["" + selectedRowIndex]) && this["" + selectedRowIndex] !== -1 && index !== this["" + selectedRowIndex] &&
13745
+ ((this.parent.rowHeight * this.parent.pageSettings.pageSize) < content.scrollTop)) {
13635
13746
  index = this["" + selectedRowIndex];
13636
13747
  }
13637
13748
  this.startIndex = index;
@@ -13671,7 +13782,7 @@ var VirtualTreeContentRenderer = /** @__PURE__ @class */ (function (_super) {
13671
13782
  scrollArgs.offset.top - (outBuffer * rowHeight) + 10 : 0;
13672
13783
  }
13673
13784
  }
13674
- else if (downScroll && (scrollArgs.direction !== 'right' && scrollArgs.direction !== 'left')) {
13785
+ else if (downScroll && (scrollArgs.direction !== 'right' && scrollArgs.direction !== 'left') && !isNullOrUndefined(content)) {
13675
13786
  var nextSetResIndex = ~~(content.scrollTop / rowHeight);
13676
13787
  var isLastBlock = (this["" + selectedRowIndex] + this.parent.pageSettings.pageSize) < this.totalRecords ? false : true;
13677
13788
  if (!isNullOrUndefined(this["" + selectedRowIndex]) && this["" + selectedRowIndex] !== -1 &&
@@ -13745,7 +13856,7 @@ var VirtualTreeContentRenderer = /** @__PURE__ @class */ (function (_super) {
13745
13856
  };
13746
13857
  VirtualTreeContentRenderer.prototype.appendContent = function (target, newChild, e) {
13747
13858
  if ((this.parent.dataSource instanceof DataManager && this.parent.dataSource.dataSource.url !== undefined
13748
- && !this.parent.dataSource.dataSource.offline && this.parent.dataSource.dataSource.url !== '') || isCountRequired(this.parent) || this.parent.isFrozenGrid()) {
13859
+ && !this.parent.dataSource.dataSource.offline && this.parent.dataSource.dataSource.url !== '') || isCountRequired(this.parent)) {
13749
13860
  if (getValue('isExpandCollapse', e)) {
13750
13861
  this.isRemoteExpand = true;
13751
13862
  }
@@ -13950,6 +14061,7 @@ var VirtualScroll = /** @__PURE__ @class */ (function () {
13950
14061
  function VirtualScroll(parent) {
13951
14062
  this.prevstartIndex = -1;
13952
14063
  this.prevendIndex = -1;
14064
+ this.prevSelectedRecord = [];
13953
14065
  this.parent = parent;
13954
14066
  Grid.Inject(TreeVirtual);
13955
14067
  this.addEventListener();
@@ -14005,6 +14117,10 @@ var VirtualScroll = /** @__PURE__ @class */ (function () {
14005
14117
  this.parent.selectionSettings.mode === 'Row' && !this.parent.selectionSettings.persistSelection) {
14006
14118
  this.parent.grid.clearSelection();
14007
14119
  }
14120
+ if (getValue('isCollapseAll', this.parent) && this.parent.selectionSettings.persistSelection && this.parent.getSelectedRecords().length > 0) {
14121
+ this.prevSelectedRecord = this.parent.getSelectedRecords();
14122
+ this.parent.grid.clearSelection();
14123
+ }
14008
14124
  var requestType = getValue('isCollapseAll', this.parent) ? 'collapseAll' : 'refresh';
14009
14125
  getValue('grid.renderModule', this.parent).dataManagerSuccess(ret, { requestType: requestType });
14010
14126
  };
@@ -14035,7 +14151,7 @@ var VirtualScroll = /** @__PURE__ @class */ (function () {
14035
14151
  }
14036
14152
  else {
14037
14153
  var requestType = pageingDetails.actionArgs.requestType;
14038
- if (requestType === 'filtering' || requestType === 'collapseAll' || requestType === 'searching' ||
14154
+ if (requestType === 'filtering' || requestType === 'collapseAll' || requestType === 'searching' || (requestType === 'refresh' && getValue('isExpandAll', this.parent)) ||
14039
14155
  (requestType === 'refresh' && this.parent.enableCollapseAll && endIndex > visualData.length && isNullOrUndefined(this.expandCollapseRec))) {
14040
14156
  startIndex = 0;
14041
14157
  endIndex = this.parent.grid.pageSettings.pageSize - 1;
@@ -14076,6 +14192,12 @@ var VirtualScroll = /** @__PURE__ @class */ (function () {
14076
14192
  }
14077
14193
  }
14078
14194
  //}
14195
+ if (this.prevrequestType === 'collapseAll' && pageingDetails.actionArgs.requestType === 'virtualscroll'
14196
+ && !isNullOrUndefined(this.parent.idMapping) && startIndex === 0) {
14197
+ startIndex = 0;
14198
+ endIndex = this.parent.grid.pageSettings.pageSize - 1;
14199
+ this.parent.grid.notify(virtualActionArgs, { setTop: true });
14200
+ }
14079
14201
  if ((this.parent.enableCollapseAll || this.parent.expandStateMapping) && !isNullOrUndefined(this.expandCollapseRec)) {
14080
14202
  if (pageingDetails.count < this.parent.getRows()[0].getBoundingClientRect().height) {
14081
14203
  startIndex = 0;
@@ -14094,6 +14216,7 @@ var VirtualScroll = /** @__PURE__ @class */ (function () {
14094
14216
  }
14095
14217
  this.prevstartIndex = startIndex;
14096
14218
  this.prevendIndex = endIndex;
14219
+ this.prevrequestType = pageingDetails.actionArgs.requestType;
14097
14220
  }
14098
14221
  this.parent.notify('updateAction', pageingDetails);
14099
14222
  };