@syncfusion/ej2-treegrid 27.1.51 → 27.1.55

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 (76) hide show
  1. package/dist/ej2-treegrid.min.js +2 -2
  2. package/dist/ej2-treegrid.umd.min.js +2 -2
  3. package/dist/ej2-treegrid.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-treegrid.es2015.js +56 -28
  5. package/dist/es6/ej2-treegrid.es2015.js.map +1 -1
  6. package/dist/es6/ej2-treegrid.es5.js +56 -28
  7. package/dist/es6/ej2-treegrid.es5.js.map +1 -1
  8. package/dist/global/ej2-treegrid.min.js +2 -2
  9. package/dist/global/ej2-treegrid.min.js.map +1 -1
  10. package/dist/global/index.d.ts +1 -1
  11. package/package.json +9 -9
  12. package/src/treegrid/actions/detail-row.js +1 -1
  13. package/src/treegrid/actions/freeze-column.js +3 -3
  14. package/src/treegrid/base/data.js +1 -1
  15. package/src/treegrid/base/treegrid.d.ts +1 -0
  16. package/src/treegrid/base/treegrid.js +32 -19
  17. package/src/treegrid/renderer/render.js +4 -4
  18. package/src/treegrid/renderer/virtual-tree-content-render.js +15 -0
  19. package/styles/bootstrap-dark-lite.css +10 -1
  20. package/styles/bootstrap-dark.css +10 -1
  21. package/styles/bootstrap-lite.css +10 -1
  22. package/styles/bootstrap.css +10 -1
  23. package/styles/bootstrap4-lite.css +10 -1
  24. package/styles/bootstrap4.css +10 -1
  25. package/styles/bootstrap5-dark-lite.css +10 -1
  26. package/styles/bootstrap5-dark.css +10 -1
  27. package/styles/bootstrap5-lite.css +10 -1
  28. package/styles/bootstrap5.3-lite.css +10 -1
  29. package/styles/bootstrap5.3.css +10 -1
  30. package/styles/bootstrap5.css +10 -1
  31. package/styles/fabric-dark-lite.css +10 -1
  32. package/styles/fabric-dark.css +10 -1
  33. package/styles/fabric-lite.css +10 -1
  34. package/styles/fabric.css +10 -1
  35. package/styles/fluent-dark-lite.css +10 -1
  36. package/styles/fluent-dark.css +10 -1
  37. package/styles/fluent-lite.css +10 -1
  38. package/styles/fluent.css +10 -1
  39. package/styles/fluent2-lite.css +10 -1
  40. package/styles/fluent2.css +10 -1
  41. package/styles/highcontrast-light-lite.css +10 -1
  42. package/styles/highcontrast-light.css +10 -1
  43. package/styles/highcontrast-lite.css +10 -1
  44. package/styles/highcontrast.css +10 -1
  45. package/styles/material-dark-lite.css +10 -1
  46. package/styles/material-dark.css +10 -1
  47. package/styles/material-lite.css +10 -1
  48. package/styles/material.css +10 -1
  49. package/styles/material3-dark-lite.css +10 -1
  50. package/styles/material3-dark.css +10 -1
  51. package/styles/material3-lite.css +10 -1
  52. package/styles/material3.css +10 -1
  53. package/styles/tailwind-dark-lite.css +10 -1
  54. package/styles/tailwind-dark.css +10 -1
  55. package/styles/tailwind-lite.css +10 -1
  56. package/styles/tailwind.css +10 -1
  57. package/styles/treegrid/_layout.scss +11 -1
  58. package/styles/treegrid/bootstrap-dark.css +10 -1
  59. package/styles/treegrid/bootstrap.css +10 -1
  60. package/styles/treegrid/bootstrap4.css +10 -1
  61. package/styles/treegrid/bootstrap5-dark.css +10 -1
  62. package/styles/treegrid/bootstrap5.3.css +10 -1
  63. package/styles/treegrid/bootstrap5.css +10 -1
  64. package/styles/treegrid/fabric-dark.css +10 -1
  65. package/styles/treegrid/fabric.css +10 -1
  66. package/styles/treegrid/fluent-dark.css +10 -1
  67. package/styles/treegrid/fluent.css +10 -1
  68. package/styles/treegrid/fluent2.css +10 -1
  69. package/styles/treegrid/highcontrast-light.css +10 -1
  70. package/styles/treegrid/highcontrast.css +10 -1
  71. package/styles/treegrid/material-dark.css +10 -1
  72. package/styles/treegrid/material.css +10 -1
  73. package/styles/treegrid/material3-dark.css +10 -1
  74. package/styles/treegrid/material3.css +10 -1
  75. package/styles/treegrid/tailwind-dark.css +10 -1
  76. package/styles/treegrid/tailwind.css +10 -1
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 27.1.51
3
+ * version : 27.1.55
4
4
  * Copyright Syncfusion Inc. 2001 - 2023. 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@27.1.50",
3
+ "_id": "@syncfusion/ej2-treegrid@27.1.53",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-2MDstE2U8bW9mLrdHYJeWrrE7Xenu5+Kqyhe/Dawra6/V1Mmd9pAGvVOAY7Ni0UxxSkAttRW0CMK8kj8ud1FYw==",
5
+ "_integrity": "sha512-ZE7zkEJJzTtqo8PG+si7u/Jkua1dXGc7yhheoOAtv8E/icIGnQLB++q5Mx/zVcN5Stfesk6AYZ1KS7MOpLxmNg==",
6
6
  "_location": "/@syncfusion/ej2-treegrid",
7
7
  "_phantomChildren": {},
8
8
  "_requested": {
@@ -24,8 +24,8 @@
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-27.1.50.tgz",
28
- "_shasum": "0d347796d2a4a20657cff3e428fbad0a5fe11d38",
27
+ "_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-hotfix-new/@syncfusion/ej2-treegrid/-/ej2-treegrid-27.1.53.tgz",
28
+ "_shasum": "f06384d5e958ba02b57d55a187cfbe91fedf6330",
29
29
  "_spec": "@syncfusion/ej2-treegrid@*",
30
30
  "_where": "/jenkins/workspace/elease-automation_release_27.1.1/packages/included",
31
31
  "author": {
@@ -36,10 +36,10 @@
36
36
  },
37
37
  "bundleDependencies": false,
38
38
  "dependencies": {
39
- "@syncfusion/ej2-base": "~27.1.50",
40
- "@syncfusion/ej2-data": "~27.1.51",
41
- "@syncfusion/ej2-grids": "~27.1.51",
42
- "@syncfusion/ej2-popups": "~27.1.50"
39
+ "@syncfusion/ej2-base": "~27.1.55",
40
+ "@syncfusion/ej2-data": "~27.1.52",
41
+ "@syncfusion/ej2-grids": "~27.1.55",
42
+ "@syncfusion/ej2-popups": "~27.1.55"
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": "27.1.51",
79
+ "version": "27.1.55",
80
80
  "sideEffects": false
81
81
  }
@@ -77,7 +77,7 @@ var DetailRow = /** @class */ (function () {
77
77
  return;
78
78
  }
79
79
  for (var i = 0; i < args.detailrows.length; i++) {
80
- args.detailrows[parseInt(i.toString(), 10)].style.display = args.action;
80
+ this.parent['toggleRowVisibility'](args.detailrows[parseInt(i.toString(), 10)], args.action);
81
81
  }
82
82
  };
83
83
  DetailRow.prototype.detaildataBound = function (args) {
@@ -56,11 +56,11 @@ var Freeze = /** @class */ (function () {
56
56
  if (!isNullOrUndefined(movableRows) && row.parentElement.firstElementChild.clientHeight > 0) {
57
57
  row.style.height = row.parentElement.firstElementChild.clientHeight + 'px';
58
58
  }
59
- row.style.display = args.action;
59
+ this.parent['toggleRowVisibility'](row, args.action);
60
60
  if (freeze && frozenRightRows.length) {
61
- frozenRightRows[parseInt(i.toString(), 10)].style.display = args.action;
61
+ this.parent['toggleRowVisibility'](frozenRightRows[parseInt(i.toString(), 10)], args.action);
62
62
  }
63
- var queryselector = args.action === 'none' ? '.e-treecolumn-container .e-treegridcollapse'
63
+ var queryselector = args.action === 'e-childrow-hidden' ? '.e-treecolumn-container .e-treegridcollapse'
64
64
  : '.e-treecolumn-container .e-treegridexpand';
65
65
  if (frozenrows[row.rowIndex].querySelector(queryselector)) {
66
66
  var cRow = [];
@@ -308,7 +308,7 @@ var DataManipulation = /** @class */ (function () {
308
308
  rowDetails.record.expanded = true;
309
309
  }
310
310
  for (var i = 0; i < rowDetails.rows.length; i++) {
311
- rowDetails.rows[parseInt(i.toString(), 10)].style.display = 'table-row';
311
+ this.parent['toggleRowVisibility'](rowDetails.rows[parseInt(i.toString(), 10)], 'e-childrow-visible');
312
312
  if (!this.parent.loadChildOnDemand) {
313
313
  var targetEle = rowDetails.rows[parseInt(i.toString(), 10)].getElementsByClassName('e-treegridcollapse')[0];
314
314
  childRecord = this.parent.rowTemplate ?
@@ -1861,6 +1861,7 @@ export declare class TreeGrid extends Component<HTMLElement> implements INotifyP
1861
1861
  private updateChildOnDemand;
1862
1862
  private remoteExpand;
1863
1863
  private localExpand;
1864
+ private toggleRowVisibility;
1864
1865
  private updateAltRow;
1865
1866
  private treeColumnRowTemplate;
1866
1867
  private collapseRemoteChild;
@@ -491,7 +491,7 @@ var TreeGrid = /** @class */ (function (_super) {
491
491
  TreeGrid.prototype.findnextRowElement = function (summaryRowElement) {
492
492
  var rowElement = summaryRowElement.nextElementSibling;
493
493
  if (rowElement !== null && (rowElement.className.indexOf('e-summaryrow') !== -1 ||
494
- rowElement.style.display === 'none')) {
494
+ rowElement.classList.contains('e-childrow-hidden'))) {
495
495
  rowElement = this.findnextRowElement(rowElement);
496
496
  }
497
497
  return rowElement;
@@ -500,7 +500,7 @@ var TreeGrid = /** @class */ (function (_super) {
500
500
  TreeGrid.prototype.findPreviousRowElement = function (summaryRowElement) {
501
501
  var rowElement = summaryRowElement.previousElementSibling;
502
502
  if (rowElement !== null && (rowElement.className.indexOf('e-summaryrow') !== -1 ||
503
- rowElement.style.display === 'none')) {
503
+ rowElement.classList.contains('e-childrow-hidden'))) {
504
504
  rowElement = this.findPreviousRowElement(rowElement);
505
505
  }
506
506
  return rowElement;
@@ -2119,12 +2119,12 @@ var TreeGrid = /** @class */ (function (_super) {
2119
2119
  */
2120
2120
  TreeGrid.prototype.getPersistData = function () {
2121
2121
  var keyEntity = ['pageSettings', 'sortSettings',
2122
- 'filterSettings', 'columns', 'searchSettings', 'selectedRowIndex', 'treeColumnIndex'];
2122
+ 'filterSettings', 'columns', 'searchSettings', 'selectedRowIndex', 'treeColumnIndex', 'scrollPosition'];
2123
2123
  var ignoreOnPersist = {
2124
2124
  pageSettings: ['template', 'pageSizes', 'pageSizeMode', 'enableQueryString', 'totalRecordsCount', 'pageCount'],
2125
2125
  filterSettings: ['type', 'mode', 'showFilterBarStatus', 'immediateModeDelay', 'ignoreAccent', 'hierarchyMode'],
2126
2126
  searchSettings: ['fields', 'operator', 'ignoreCase'],
2127
- sortSettings: [], columns: [], selectedRowIndex: []
2127
+ sortSettings: [], columns: [], selectedRowIndex: [], scrollPosition: []
2128
2128
  };
2129
2129
  var ignoreOnColumn = ['filter', 'edit', 'filterBarTemplate', 'headerTemplate', 'template',
2130
2130
  'commandTemplate', 'commands', 'dataSource'];
@@ -2974,6 +2974,9 @@ var TreeGrid = /** @class */ (function (_super) {
2974
2974
  });
2975
2975
  }
2976
2976
  record = this.getCollapseExpandRecords(row, record);
2977
+ if (isNullOrUndefined(row) && isNullOrUndefined(record)) {
2978
+ return;
2979
+ }
2977
2980
  if (!isNullOrUndefined(row) && row.cells[0].classList.contains('e-lastrowcell')) {
2978
2981
  this.lastRowBorder(row, false);
2979
2982
  }
@@ -3055,7 +3058,7 @@ var TreeGrid = /** @class */ (function (_super) {
3055
3058
  return e.hasChildRecords;
3056
3059
  });
3057
3060
  }
3058
- else if (isNullOrUndefined(record)) {
3061
+ else if (isNullOrUndefined(record) && !isNullOrUndefined(row)) {
3059
3062
  if (this.detailTemplate) {
3060
3063
  record = this.grid.getCurrentViewRecords()[row.getAttribute('data-rowindex')];
3061
3064
  }
@@ -3096,6 +3099,9 @@ var TreeGrid = /** @class */ (function (_super) {
3096
3099
  });
3097
3100
  }
3098
3101
  record = this.getCollapseExpandRecords(row, record);
3102
+ if (isNullOrUndefined(row) && isNullOrUndefined(record)) {
3103
+ return;
3104
+ }
3099
3105
  if (this.isCollapseAll && !isRemoteData(this)) {
3100
3106
  var args = { data: parentRec, row: row, cancel: false };
3101
3107
  if (!this.isCollapsingEventTriggered) {
@@ -3117,7 +3123,7 @@ var TreeGrid = /** @class */ (function (_super) {
3117
3123
  else if (!this.isCollapseAll || (this.isCollapseAll && isRemoteData(this))) {
3118
3124
  var args = { data: record, row: row, cancel: false };
3119
3125
  this.trigger(events.collapsing, args, function (collapsingArgs) {
3120
- if (!collapsingArgs.cancel && !isNullOrUndefined(record)) {
3126
+ if (!collapsingArgs.cancel) {
3121
3127
  _this.collapseRows(row, record, parentRec);
3122
3128
  }
3123
3129
  });
@@ -3424,7 +3430,7 @@ var TreeGrid = /** @class */ (function (_super) {
3424
3430
  else {
3425
3431
  var displayAction = void 0;
3426
3432
  if (action === 'expand') {
3427
- displayAction = 'table-row';
3433
+ displayAction = 'e-childrow-visible';
3428
3434
  if (!isChild) {
3429
3435
  record.expanded = true;
3430
3436
  this.uniqueIDCollection[record.uniqueID].expanded = record.expanded;
@@ -3445,7 +3451,7 @@ var TreeGrid = /** @class */ (function (_super) {
3445
3451
  removeClass([targetEle], 'e-treegridcollapse');
3446
3452
  }
3447
3453
  else {
3448
- displayAction = 'none';
3454
+ displayAction = 'e-childrow-hidden';
3449
3455
  if (!isChild || isCountRequired(this)) {
3450
3456
  record.expanded = false;
3451
3457
  this.uniqueIDCollection[record.uniqueID].expanded = record.expanded;
@@ -3646,7 +3652,7 @@ var TreeGrid = /** @class */ (function (_super) {
3646
3652
  var rows_2 = this.getContentTable().rows;
3647
3653
  gridRows = [].slice.call(rows_2);
3648
3654
  }
3649
- var displayAction = (action === 'expand') ? 'table-row' : 'none';
3655
+ var displayAction = (action === 'expand') ? 'e-childrow-visible' : 'e-childrow-hidden';
3650
3656
  var primaryKeyField = this.getPrimaryKeyFieldNames()[0];
3651
3657
  if (this.enableImmutableMode && !this.allowPaging) {
3652
3658
  rows = [];
@@ -3686,11 +3692,11 @@ var TreeGrid = /** @class */ (function (_super) {
3686
3692
  });
3687
3693
  for (var i = 0; i < rows.length; i++) {
3688
3694
  if (!isNullOrUndefined(rows[parseInt(i.toString(), 10)])) {
3689
- rows[parseInt(i.toString(), 10)].style.display = displayAction;
3695
+ this.toggleRowVisibility(rows[parseInt(i.toString(), 10)], displayAction);
3690
3696
  }
3691
3697
  if (!isNullOrUndefined(rows[parseInt(i.toString(), 10)]) && !this.allowPaging && !(this.enableVirtualization
3692
3698
  || this.enableInfiniteScrolling || isRemoteData(this) || isCountRequired(this))) {
3693
- gridRowsObject[rows[parseInt(i.toString(), 10)].rowIndex].visible = displayAction !== 'none' ? true : false;
3699
+ gridRowsObject[rows[parseInt(i.toString(), 10)].rowIndex].visible = displayAction !== 'e-childrow-hidden' ? true : false;
3694
3700
  var parentRecord = currentViewData.filter(function (e) {
3695
3701
  return e.uniqueID === currentRecord[0].parentUniqueID;
3696
3702
  });
@@ -3699,10 +3705,10 @@ var TreeGrid = /** @class */ (function (_super) {
3699
3705
  }
3700
3706
  }
3701
3707
  if (!isNullOrUndefined(movableRows)) {
3702
- movableRows[parseInt(i.toString(), 10)].style.display = displayAction;
3708
+ this.toggleRowVisibility(movableRows[parseInt(i.toString(), 10)], displayAction);
3703
3709
  }
3704
3710
  if (!isNullOrUndefined(freezeRightRows)) {
3705
- freezeRightRows[parseInt(i.toString(), 10)].style.display = displayAction;
3711
+ this.toggleRowVisibility(freezeRightRows[parseInt(i.toString(), 10)], displayAction);
3706
3712
  }
3707
3713
  this.notify('childRowExpand', { row: rows[parseInt(i.toString(), 10)] });
3708
3714
  if ((!isNullOrUndefined(childRecords[parseInt(i.toString(), 10)].childRecords) && childRecords[parseInt(i.toString(), 10)].childRecords.length > 0) && (action !== 'expand' ||
@@ -3716,8 +3722,8 @@ var TreeGrid = /** @class */ (function (_super) {
3716
3722
  for (var i = 0; i < detailrows.length; i++) {
3717
3723
  if (!isNullOrUndefined(detailrows[parseInt(i.toString(), 10)]) && !this.allowPaging && !(this.enableVirtualization ||
3718
3724
  this.enableInfiniteScrolling || isRemoteData(this) || isCountRequired(this))) {
3719
- gridRowsObject[detailrows[parseInt(i.toString(), 10)].rowIndex].visible = displayAction !== 'none' ? true : false;
3720
- detailrows[parseInt(i.toString(), 10)].style.display = displayAction;
3725
+ gridRowsObject[detailrows[parseInt(i.toString(), 10)].rowIndex].visible = displayAction !== 'e-childrow-hidden' ? true : false;
3726
+ this.toggleRowVisibility(detailrows[parseInt(i.toString(), 10)], displayAction);
3721
3727
  }
3722
3728
  }
3723
3729
  if (!this.allowPaging && !(this.enableVirtualization || this.enableInfiniteScrolling || isRemoteData(this)
@@ -3725,12 +3731,18 @@ var TreeGrid = /** @class */ (function (_super) {
3725
3731
  this.grid.notify('refresh-Expand-and-Collapse', { rows: this.grid.getRowsObject() });
3726
3732
  }
3727
3733
  };
3734
+ TreeGrid.prototype.toggleRowVisibility = function (row, displayAction) {
3735
+ if (row) {
3736
+ row.classList.remove('e-childrow-hidden', 'e-childrow-visible');
3737
+ row.classList.add(displayAction);
3738
+ }
3739
+ };
3728
3740
  TreeGrid.prototype.updateAltRow = function (rows) {
3729
3741
  if (this.enableAltRow && !this.rowTemplate) {
3730
3742
  var visibleRowCount = 0;
3731
3743
  for (var i = 0; rows && i < rows.length; i++) {
3732
3744
  var gridRow = rows[parseInt(i.toString(), 10)];
3733
- if (gridRow.style.display !== 'none') {
3745
+ if (!gridRow.classList.contains('e-childrow-hidden')) {
3734
3746
  if (gridRow.classList.contains('e-altrow')) {
3735
3747
  removeClass([gridRow], 'e-altrow');
3736
3748
  }
@@ -3776,15 +3788,15 @@ var TreeGrid = /** @class */ (function (_super) {
3776
3788
  });
3777
3789
  }
3778
3790
  for (var i = 0; i < rows.length; i++) {
3779
- rows[parseInt(i.toString(), 10)].style.display = 'none';
3791
+ this.toggleRowVisibility(rows[parseInt(i.toString(), 10)], 'e-childrow-hidden');
3780
3792
  row = rows[parseInt(i.toString(), 10)];
3781
3793
  var collapsingTd = rows[parseInt(i.toString(), 10)].querySelector('.e-detailrowexpand');
3782
3794
  if (!isNullOrUndefined(collapsingTd)) {
3783
3795
  this.grid.detailRowModule.collapse(collapsingTd);
3784
3796
  }
3785
3797
  if (freeze) {
3786
- movablerows[parseInt(i.toString(), 10)].style.display = 'none';
3787
- rightrows[parseInt(i.toString(), 10)].style.display = 'none';
3798
+ this.toggleRowVisibility(movablerows[parseInt(i.toString(), 10)], 'e-childrow-hidden');
3799
+ this.toggleRowVisibility(rightrows[parseInt(i.toString(), 10)], 'e-childrow-hidden');
3788
3800
  if (!rows[parseInt(i.toString(), 10)].querySelector('.e-treecolumn-container .e-treegridexpand')) {
3789
3801
  if (movablerows[parseInt(i.toString(), 10)].querySelector('.e-treecolumn-container .e-treegridexpand')) {
3790
3802
  row = movablerows[parseInt(i.toString(), 10)];
@@ -3935,6 +3947,7 @@ var TreeGrid = /** @class */ (function (_super) {
3935
3947
  * @returns {void}
3936
3948
  */
3937
3949
  TreeGrid.prototype.clearSelection = function () {
3950
+ this.grid.selectionModule['actualTarget'] = null;
3938
3951
  this.grid.clearSelection();
3939
3952
  };
3940
3953
  /**
@@ -39,7 +39,7 @@ var Render = /** @class */ (function () {
39
39
  parentData[this.parent.expandStateMapping]) || this.parent.enableCollapseAll)) ||
40
40
  !getExpandStatus(this.parent, args.data, this.parent.grid.getCurrentViewRecords());
41
41
  if (collapsed && !isNullOrUndefined(args.row)) {
42
- args.row.style.display = 'none';
42
+ this.parent['toggleRowVisibility'](args.row, 'e-childrow-hidden');
43
43
  var rowsObj = this.parent.grid.getRowsObject();
44
44
  if (!this.parent.grid.isFrozenGrid() && !isNullOrUndefined(args.row.getAttribute('data-uid'))) {
45
45
  rowsObj.filter(function (e) { return e.uid === args.row.getAttribute('data-uid'); })[0].visible = false;
@@ -52,8 +52,8 @@ var Render = /** @class */ (function () {
52
52
  return getValue(proxy_1.idMapping, rec) === getValue(proxy_1.parentIdMapping, data);
53
53
  });
54
54
  if (parentrec.length > 0 && !parentrec[0].isSummaryRow && !isNullOrUndefined(args.row)) {
55
- var display = parentrec[0].expanded ? 'table-row' : 'none';
56
- args.row.setAttribute('style', 'display: ' + display + ';');
55
+ var display = parentrec[0].expanded ? 'e-childrow-visible' : 'e-childrow-hidden';
56
+ this.parent['toggleRowVisibility'](args.row, display);
57
57
  }
58
58
  }
59
59
  //addClass([args.row], 'e-gridrowindex' + index + 'level' + (<ITreeData>args.data).level);
@@ -70,7 +70,7 @@ var Render = /** @class */ (function () {
70
70
  }
71
71
  if (this.parent.enableCollapseAll && this.parent.initialRender) {
72
72
  if (!isNullOrUndefined(data.parentItem)) {
73
- args.row.style.display = 'none';
73
+ this.parent['toggleRowVisibility'](args.row, 'e-childrow-hidden');
74
74
  }
75
75
  }
76
76
  }
@@ -126,6 +126,18 @@ var VirtualTreeContentRenderer = /** @class */ (function (_super) {
126
126
  this.parent["" + action]('refresh-virtual-block', this.refreshContentRows, this);
127
127
  this.fn = function () {
128
128
  _this.observers.observes(function (scrollArgs) { return _this.scrollListeners(scrollArgs); }, _this.onEnteredAction(), _this.parent);
129
+ var gObj = _this.parent;
130
+ if (gObj.root.enablePersistence && gObj.root.scrollPosition) {
131
+ _this.content.scrollTop = gObj.root.scrollPosition.top;
132
+ if (gObj.root.enableColumnVirtualization) {
133
+ _this.content.scrollLeft = gObj.root.scrollPosition.left;
134
+ }
135
+ var scrollValues = {
136
+ direction: 'down', sentinel: _this.observer.sentinelInfo.down,
137
+ offset: gObj.root.scrollPosition, focusElement: gObj.element
138
+ };
139
+ _this.scrollListeners(scrollValues);
140
+ }
129
141
  _this.parent.off('content-ready', _this.fn);
130
142
  };
131
143
  this.parent.addEventListener('dataBound', this.dataBoundEvent.bind(this));
@@ -384,6 +396,9 @@ var VirtualTreeContentRenderer = /** @class */ (function (_super) {
384
396
  };
385
397
  VirtualTreeContentRenderer.prototype.scrollListeners = function (scrollArgs) {
386
398
  this['scrollAfterEdit']();
399
+ if (this.parent.root.enablePersistence) {
400
+ this.parent.root.scrollPosition = scrollArgs.offset;
401
+ }
387
402
  var info = scrollArgs.sentinel;
388
403
  var rowHeight = this.parent.getRowHeight();
389
404
  var outBuffer = this.parent.pageSettings.pageSize - Math.ceil(this.parent.pageSettings.pageSize / 2);
@@ -136,6 +136,9 @@
136
136
  text-align: center;
137
137
  vertical-align: middle;
138
138
  }
139
+ .e-treegrid tr.e-row.e-childrow-hidden {
140
+ display: none;
141
+ }
139
142
  .e-treegrid .e-rowcell:not(.e-gridclip) .e-treecolumn-container {
140
143
  display: block;
141
144
  overflow: hidden;
@@ -223,6 +226,11 @@
223
226
  white-space: normal;
224
227
  word-wrap: break-word;
225
228
  }
229
+ .e-treegrid .e-grid.e-wrap .e-cloneproperties .e-rowcell .e-treecolumn-container .e-treecell {
230
+ display: inline-block;
231
+ white-space: nowrap;
232
+ word-wrap: break-word;
233
+ }
226
234
  .e-treegrid .e-grid.e-wrap .e-rowcell .e-treecheckbox-container .e-treecheckbox {
227
235
  display: inline-block;
228
236
  white-space: normal;
@@ -246,7 +254,8 @@
246
254
  .e-treegrid .e-gridcontent .e-table .e-detail-intent,
247
255
  .e-treegrid .e-table .e-detailrow .e-detailindentcell,
248
256
  .e-treegrid .e-table .e-detailrowexpand,
249
- .e-treegrid .e-table .e-detailrowcollapse {
257
+ .e-treegrid .e-table .e-detailrowcollapse,
258
+ .e-treegrid tr.e-detailrow.e-childrow-hidden {
250
259
  display: none;
251
260
  }
252
261
  .e-treegrid .e-icons.e-errorelem {
@@ -136,6 +136,9 @@
136
136
  text-align: center;
137
137
  vertical-align: middle;
138
138
  }
139
+ .e-treegrid tr.e-row.e-childrow-hidden {
140
+ display: none;
141
+ }
139
142
  .e-treegrid .e-rowcell:not(.e-gridclip) .e-treecolumn-container {
140
143
  display: block;
141
144
  overflow: hidden;
@@ -223,6 +226,11 @@
223
226
  white-space: normal;
224
227
  word-wrap: break-word;
225
228
  }
229
+ .e-treegrid .e-grid.e-wrap .e-cloneproperties .e-rowcell .e-treecolumn-container .e-treecell {
230
+ display: inline-block;
231
+ white-space: nowrap;
232
+ word-wrap: break-word;
233
+ }
226
234
  .e-treegrid .e-grid.e-wrap .e-rowcell .e-treecheckbox-container .e-treecheckbox {
227
235
  display: inline-block;
228
236
  white-space: normal;
@@ -246,7 +254,8 @@
246
254
  .e-treegrid .e-gridcontent .e-table .e-detail-intent,
247
255
  .e-treegrid .e-table .e-detailrow .e-detailindentcell,
248
256
  .e-treegrid .e-table .e-detailrowexpand,
249
- .e-treegrid .e-table .e-detailrowcollapse {
257
+ .e-treegrid .e-table .e-detailrowcollapse,
258
+ .e-treegrid tr.e-detailrow.e-childrow-hidden {
250
259
  display: none;
251
260
  }
252
261
  .e-treegrid .e-icons.e-errorelem {
@@ -136,6 +136,9 @@
136
136
  text-align: center;
137
137
  vertical-align: middle;
138
138
  }
139
+ .e-treegrid tr.e-row.e-childrow-hidden {
140
+ display: none;
141
+ }
139
142
  .e-treegrid .e-rowcell:not(.e-gridclip) .e-treecolumn-container {
140
143
  display: block;
141
144
  overflow: hidden;
@@ -226,6 +229,11 @@
226
229
  white-space: normal;
227
230
  word-wrap: break-word;
228
231
  }
232
+ .e-treegrid .e-grid.e-wrap .e-cloneproperties .e-rowcell .e-treecolumn-container .e-treecell {
233
+ display: inline-block;
234
+ white-space: nowrap;
235
+ word-wrap: break-word;
236
+ }
229
237
  .e-treegrid .e-grid.e-wrap .e-rowcell .e-treecheckbox-container .e-treecheckbox {
230
238
  display: inline-block;
231
239
  white-space: normal;
@@ -249,7 +257,8 @@
249
257
  .e-treegrid .e-gridcontent .e-table .e-detail-intent,
250
258
  .e-treegrid .e-table .e-detailrow .e-detailindentcell,
251
259
  .e-treegrid .e-table .e-detailrowexpand,
252
- .e-treegrid .e-table .e-detailrowcollapse {
260
+ .e-treegrid .e-table .e-detailrowcollapse,
261
+ .e-treegrid tr.e-detailrow.e-childrow-hidden {
253
262
  display: none;
254
263
  }
255
264
  .e-treegrid .e-icons.e-errorelem {
@@ -136,6 +136,9 @@
136
136
  text-align: center;
137
137
  vertical-align: middle;
138
138
  }
139
+ .e-treegrid tr.e-row.e-childrow-hidden {
140
+ display: none;
141
+ }
139
142
  .e-treegrid .e-rowcell:not(.e-gridclip) .e-treecolumn-container {
140
143
  display: block;
141
144
  overflow: hidden;
@@ -226,6 +229,11 @@
226
229
  white-space: normal;
227
230
  word-wrap: break-word;
228
231
  }
232
+ .e-treegrid .e-grid.e-wrap .e-cloneproperties .e-rowcell .e-treecolumn-container .e-treecell {
233
+ display: inline-block;
234
+ white-space: nowrap;
235
+ word-wrap: break-word;
236
+ }
229
237
  .e-treegrid .e-grid.e-wrap .e-rowcell .e-treecheckbox-container .e-treecheckbox {
230
238
  display: inline-block;
231
239
  white-space: normal;
@@ -249,7 +257,8 @@
249
257
  .e-treegrid .e-gridcontent .e-table .e-detail-intent,
250
258
  .e-treegrid .e-table .e-detailrow .e-detailindentcell,
251
259
  .e-treegrid .e-table .e-detailrowexpand,
252
- .e-treegrid .e-table .e-detailrowcollapse {
260
+ .e-treegrid .e-table .e-detailrowcollapse,
261
+ .e-treegrid tr.e-detailrow.e-childrow-hidden {
253
262
  display: none;
254
263
  }
255
264
  .e-treegrid .e-icons.e-errorelem {
@@ -172,6 +172,9 @@
172
172
  text-align: center;
173
173
  vertical-align: middle;
174
174
  }
175
+ .e-treegrid tr.e-row.e-childrow-hidden {
176
+ display: none;
177
+ }
175
178
  .e-treegrid .e-rowcell:not(.e-gridclip) .e-treecolumn-container {
176
179
  display: block;
177
180
  overflow: hidden;
@@ -259,6 +262,11 @@
259
262
  white-space: normal;
260
263
  word-wrap: break-word;
261
264
  }
265
+ .e-treegrid .e-grid.e-wrap .e-cloneproperties .e-rowcell .e-treecolumn-container .e-treecell {
266
+ display: inline-block;
267
+ white-space: nowrap;
268
+ word-wrap: break-word;
269
+ }
262
270
  .e-treegrid .e-grid.e-wrap .e-rowcell .e-treecheckbox-container .e-treecheckbox {
263
271
  display: inline-block;
264
272
  white-space: normal;
@@ -282,7 +290,8 @@
282
290
  .e-treegrid .e-gridcontent .e-table .e-detail-intent,
283
291
  .e-treegrid .e-table .e-detailrow .e-detailindentcell,
284
292
  .e-treegrid .e-table .e-detailrowexpand,
285
- .e-treegrid .e-table .e-detailrowcollapse {
293
+ .e-treegrid .e-table .e-detailrowcollapse,
294
+ .e-treegrid tr.e-detailrow.e-childrow-hidden {
286
295
  display: none;
287
296
  }
288
297
  .e-treegrid .e-icons.e-errorelem {
@@ -172,6 +172,9 @@
172
172
  text-align: center;
173
173
  vertical-align: middle;
174
174
  }
175
+ .e-treegrid tr.e-row.e-childrow-hidden {
176
+ display: none;
177
+ }
175
178
  .e-treegrid .e-rowcell:not(.e-gridclip) .e-treecolumn-container {
176
179
  display: block;
177
180
  overflow: hidden;
@@ -259,6 +262,11 @@
259
262
  white-space: normal;
260
263
  word-wrap: break-word;
261
264
  }
265
+ .e-treegrid .e-grid.e-wrap .e-cloneproperties .e-rowcell .e-treecolumn-container .e-treecell {
266
+ display: inline-block;
267
+ white-space: nowrap;
268
+ word-wrap: break-word;
269
+ }
262
270
  .e-treegrid .e-grid.e-wrap .e-rowcell .e-treecheckbox-container .e-treecheckbox {
263
271
  display: inline-block;
264
272
  white-space: normal;
@@ -282,7 +290,8 @@
282
290
  .e-treegrid .e-gridcontent .e-table .e-detail-intent,
283
291
  .e-treegrid .e-table .e-detailrow .e-detailindentcell,
284
292
  .e-treegrid .e-table .e-detailrowexpand,
285
- .e-treegrid .e-table .e-detailrowcollapse {
293
+ .e-treegrid .e-table .e-detailrowcollapse,
294
+ .e-treegrid tr.e-detailrow.e-childrow-hidden {
286
295
  display: none;
287
296
  }
288
297
  .e-treegrid .e-icons.e-errorelem {
@@ -175,6 +175,9 @@
175
175
  text-align: center;
176
176
  vertical-align: unset;
177
177
  }
178
+ .e-treegrid tr.e-row.e-childrow-hidden {
179
+ display: none;
180
+ }
178
181
  .e-treegrid .e-rowcell:not(.e-gridclip) .e-treecolumn-container {
179
182
  display: block;
180
183
  overflow: hidden;
@@ -262,6 +265,11 @@
262
265
  white-space: normal;
263
266
  word-wrap: break-word;
264
267
  }
268
+ .e-treegrid .e-grid.e-wrap .e-cloneproperties .e-rowcell .e-treecolumn-container .e-treecell {
269
+ display: inline-block;
270
+ white-space: nowrap;
271
+ word-wrap: break-word;
272
+ }
265
273
  .e-treegrid .e-grid.e-wrap .e-rowcell .e-treecheckbox-container .e-treecheckbox {
266
274
  display: inline-block;
267
275
  white-space: normal;
@@ -285,7 +293,8 @@
285
293
  .e-treegrid .e-gridcontent .e-table .e-detail-intent,
286
294
  .e-treegrid .e-table .e-detailrow .e-detailindentcell,
287
295
  .e-treegrid .e-table .e-detailrowexpand,
288
- .e-treegrid .e-table .e-detailrowcollapse {
296
+ .e-treegrid .e-table .e-detailrowcollapse,
297
+ .e-treegrid tr.e-detailrow.e-childrow-hidden {
289
298
  display: none;
290
299
  }
291
300
  .e-treegrid .e-icons.e-errorelem {
@@ -175,6 +175,9 @@
175
175
  text-align: center;
176
176
  vertical-align: unset;
177
177
  }
178
+ .e-treegrid tr.e-row.e-childrow-hidden {
179
+ display: none;
180
+ }
178
181
  .e-treegrid .e-rowcell:not(.e-gridclip) .e-treecolumn-container {
179
182
  display: block;
180
183
  overflow: hidden;
@@ -262,6 +265,11 @@
262
265
  white-space: normal;
263
266
  word-wrap: break-word;
264
267
  }
268
+ .e-treegrid .e-grid.e-wrap .e-cloneproperties .e-rowcell .e-treecolumn-container .e-treecell {
269
+ display: inline-block;
270
+ white-space: nowrap;
271
+ word-wrap: break-word;
272
+ }
265
273
  .e-treegrid .e-grid.e-wrap .e-rowcell .e-treecheckbox-container .e-treecheckbox {
266
274
  display: inline-block;
267
275
  white-space: normal;
@@ -285,7 +293,8 @@
285
293
  .e-treegrid .e-gridcontent .e-table .e-detail-intent,
286
294
  .e-treegrid .e-table .e-detailrow .e-detailindentcell,
287
295
  .e-treegrid .e-table .e-detailrowexpand,
288
- .e-treegrid .e-table .e-detailrowcollapse {
296
+ .e-treegrid .e-table .e-detailrowcollapse,
297
+ .e-treegrid tr.e-detailrow.e-childrow-hidden {
289
298
  display: none;
290
299
  }
291
300
  .e-treegrid .e-icons.e-errorelem {
@@ -175,6 +175,9 @@
175
175
  text-align: center;
176
176
  vertical-align: unset;
177
177
  }
178
+ .e-treegrid tr.e-row.e-childrow-hidden {
179
+ display: none;
180
+ }
178
181
  .e-treegrid .e-rowcell:not(.e-gridclip) .e-treecolumn-container {
179
182
  display: block;
180
183
  overflow: hidden;
@@ -262,6 +265,11 @@
262
265
  white-space: normal;
263
266
  word-wrap: break-word;
264
267
  }
268
+ .e-treegrid .e-grid.e-wrap .e-cloneproperties .e-rowcell .e-treecolumn-container .e-treecell {
269
+ display: inline-block;
270
+ white-space: nowrap;
271
+ word-wrap: break-word;
272
+ }
265
273
  .e-treegrid .e-grid.e-wrap .e-rowcell .e-treecheckbox-container .e-treecheckbox {
266
274
  display: inline-block;
267
275
  white-space: normal;
@@ -285,7 +293,8 @@
285
293
  .e-treegrid .e-gridcontent .e-table .e-detail-intent,
286
294
  .e-treegrid .e-table .e-detailrow .e-detailindentcell,
287
295
  .e-treegrid .e-table .e-detailrowexpand,
288
- .e-treegrid .e-table .e-detailrowcollapse {
296
+ .e-treegrid .e-table .e-detailrowcollapse,
297
+ .e-treegrid tr.e-detailrow.e-childrow-hidden {
289
298
  display: none;
290
299
  }
291
300
  .e-treegrid .e-icons.e-errorelem {
@@ -179,6 +179,9 @@
179
179
  text-align: center;
180
180
  vertical-align: unset;
181
181
  }
182
+ .e-treegrid tr.e-row.e-childrow-hidden {
183
+ display: none;
184
+ }
182
185
  .e-treegrid .e-rowcell:not(.e-gridclip) .e-treecolumn-container {
183
186
  display: block;
184
187
  overflow: hidden;
@@ -266,6 +269,11 @@
266
269
  white-space: normal;
267
270
  word-wrap: break-word;
268
271
  }
272
+ .e-treegrid .e-grid.e-wrap .e-cloneproperties .e-rowcell .e-treecolumn-container .e-treecell {
273
+ display: inline-block;
274
+ white-space: nowrap;
275
+ word-wrap: break-word;
276
+ }
269
277
  .e-treegrid .e-grid.e-wrap .e-rowcell .e-treecheckbox-container .e-treecheckbox {
270
278
  display: inline-block;
271
279
  white-space: normal;
@@ -289,7 +297,8 @@
289
297
  .e-treegrid .e-gridcontent .e-table .e-detail-intent,
290
298
  .e-treegrid .e-table .e-detailrow .e-detailindentcell,
291
299
  .e-treegrid .e-table .e-detailrowexpand,
292
- .e-treegrid .e-table .e-detailrowcollapse {
300
+ .e-treegrid .e-table .e-detailrowcollapse,
301
+ .e-treegrid tr.e-detailrow.e-childrow-hidden {
293
302
  display: none;
294
303
  }
295
304
  .e-treegrid .e-icons.e-errorelem {