@syncfusion/ej2-treegrid 27.1.51 → 27.1.53

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 (71) 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 +25 -4
  5. package/dist/es6/ej2-treegrid.es2015.js.map +1 -1
  6. package/dist/es6/ej2-treegrid.es5.js +25 -4
  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/base/treegrid.js +10 -4
  13. package/src/treegrid/renderer/virtual-tree-content-render.js +15 -0
  14. package/styles/bootstrap-dark-lite.css +5 -0
  15. package/styles/bootstrap-dark.css +5 -0
  16. package/styles/bootstrap-lite.css +5 -0
  17. package/styles/bootstrap.css +5 -0
  18. package/styles/bootstrap4-lite.css +5 -0
  19. package/styles/bootstrap4.css +5 -0
  20. package/styles/bootstrap5-dark-lite.css +5 -0
  21. package/styles/bootstrap5-dark.css +5 -0
  22. package/styles/bootstrap5-lite.css +5 -0
  23. package/styles/bootstrap5.3-lite.css +5 -0
  24. package/styles/bootstrap5.3.css +5 -0
  25. package/styles/bootstrap5.css +5 -0
  26. package/styles/fabric-dark-lite.css +5 -0
  27. package/styles/fabric-dark.css +5 -0
  28. package/styles/fabric-lite.css +5 -0
  29. package/styles/fabric.css +5 -0
  30. package/styles/fluent-dark-lite.css +5 -0
  31. package/styles/fluent-dark.css +5 -0
  32. package/styles/fluent-lite.css +5 -0
  33. package/styles/fluent.css +5 -0
  34. package/styles/fluent2-lite.css +5 -0
  35. package/styles/fluent2.css +5 -0
  36. package/styles/highcontrast-light-lite.css +5 -0
  37. package/styles/highcontrast-light.css +5 -0
  38. package/styles/highcontrast-lite.css +5 -0
  39. package/styles/highcontrast.css +5 -0
  40. package/styles/material-dark-lite.css +5 -0
  41. package/styles/material-dark.css +5 -0
  42. package/styles/material-lite.css +5 -0
  43. package/styles/material.css +5 -0
  44. package/styles/material3-dark-lite.css +5 -0
  45. package/styles/material3-dark.css +5 -0
  46. package/styles/material3-lite.css +5 -0
  47. package/styles/material3.css +5 -0
  48. package/styles/tailwind-dark-lite.css +5 -0
  49. package/styles/tailwind-dark.css +5 -0
  50. package/styles/tailwind-lite.css +5 -0
  51. package/styles/tailwind.css +5 -0
  52. package/styles/treegrid/_layout.scss +5 -0
  53. package/styles/treegrid/bootstrap-dark.css +5 -0
  54. package/styles/treegrid/bootstrap.css +5 -0
  55. package/styles/treegrid/bootstrap4.css +5 -0
  56. package/styles/treegrid/bootstrap5-dark.css +5 -0
  57. package/styles/treegrid/bootstrap5.3.css +5 -0
  58. package/styles/treegrid/bootstrap5.css +5 -0
  59. package/styles/treegrid/fabric-dark.css +5 -0
  60. package/styles/treegrid/fabric.css +5 -0
  61. package/styles/treegrid/fluent-dark.css +5 -0
  62. package/styles/treegrid/fluent.css +5 -0
  63. package/styles/treegrid/fluent2.css +5 -0
  64. package/styles/treegrid/highcontrast-light.css +5 -0
  65. package/styles/treegrid/highcontrast.css +5 -0
  66. package/styles/treegrid/material-dark.css +5 -0
  67. package/styles/treegrid/material.css +5 -0
  68. package/styles/treegrid/material3-dark.css +5 -0
  69. package/styles/treegrid/material3.css +5 -0
  70. package/styles/treegrid/tailwind-dark.css +5 -0
  71. package/styles/treegrid/tailwind.css +5 -0
@@ -5477,12 +5477,12 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
5477
5477
  */
5478
5478
  getPersistData() {
5479
5479
  const keyEntity = ['pageSettings', 'sortSettings',
5480
- 'filterSettings', 'columns', 'searchSettings', 'selectedRowIndex', 'treeColumnIndex'];
5480
+ 'filterSettings', 'columns', 'searchSettings', 'selectedRowIndex', 'treeColumnIndex', 'scrollPosition'];
5481
5481
  const ignoreOnPersist = {
5482
5482
  pageSettings: ['template', 'pageSizes', 'pageSizeMode', 'enableQueryString', 'totalRecordsCount', 'pageCount'],
5483
5483
  filterSettings: ['type', 'mode', 'showFilterBarStatus', 'immediateModeDelay', 'ignoreAccent', 'hierarchyMode'],
5484
5484
  searchSettings: ['fields', 'operator', 'ignoreCase'],
5485
- sortSettings: [], columns: [], selectedRowIndex: []
5485
+ sortSettings: [], columns: [], selectedRowIndex: [], scrollPosition: []
5486
5486
  };
5487
5487
  const ignoreOnColumn = ['filter', 'edit', 'filterBarTemplate', 'headerTemplate', 'template',
5488
5488
  'commandTemplate', 'commands', 'dataSource'];
@@ -6327,6 +6327,9 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
6327
6327
  });
6328
6328
  }
6329
6329
  record = this.getCollapseExpandRecords(row, record);
6330
+ if (isNullOrUndefined(row) && isNullOrUndefined(record)) {
6331
+ return;
6332
+ }
6330
6333
  if (!isNullOrUndefined(row) && row.cells[0].classList.contains('e-lastrowcell')) {
6331
6334
  this.lastRowBorder(row, false);
6332
6335
  }
@@ -6408,7 +6411,7 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
6408
6411
  return e.hasChildRecords;
6409
6412
  });
6410
6413
  }
6411
- else if (isNullOrUndefined(record)) {
6414
+ else if (isNullOrUndefined(record) && !isNullOrUndefined(row)) {
6412
6415
  if (this.detailTemplate) {
6413
6416
  record = this.grid.getCurrentViewRecords()[row.getAttribute('data-rowindex')];
6414
6417
  }
@@ -6448,6 +6451,9 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
6448
6451
  });
6449
6452
  }
6450
6453
  record = this.getCollapseExpandRecords(row, record);
6454
+ if (isNullOrUndefined(row) && isNullOrUndefined(record)) {
6455
+ return;
6456
+ }
6451
6457
  if (this.isCollapseAll && !isRemoteData(this)) {
6452
6458
  const args = { data: parentRec, row: row, cancel: false };
6453
6459
  if (!this.isCollapsingEventTriggered) {
@@ -6469,7 +6475,7 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
6469
6475
  else if (!this.isCollapseAll || (this.isCollapseAll && isRemoteData(this))) {
6470
6476
  const args = { data: record, row: row, cancel: false };
6471
6477
  this.trigger(collapsing, args, (collapsingArgs) => {
6472
- if (!collapsingArgs.cancel && !isNullOrUndefined(record)) {
6478
+ if (!collapsingArgs.cancel) {
6473
6479
  this.collapseRows(row, record, parentRec);
6474
6480
  }
6475
6481
  });
@@ -12978,6 +12984,18 @@ class VirtualTreeContentRenderer extends VirtualContentRenderer {
12978
12984
  this.parent[`${action}`]('refresh-virtual-block', this.refreshContentRows, this);
12979
12985
  this.fn = () => {
12980
12986
  this.observers.observes((scrollArgs) => this.scrollListeners(scrollArgs), this.onEnteredAction(), this.parent);
12987
+ const gObj = this.parent;
12988
+ if (gObj.root.enablePersistence && gObj.root.scrollPosition) {
12989
+ this.content.scrollTop = gObj.root.scrollPosition.top;
12990
+ if (gObj.root.enableColumnVirtualization) {
12991
+ this.content.scrollLeft = gObj.root.scrollPosition.left;
12992
+ }
12993
+ const scrollValues = {
12994
+ direction: 'down', sentinel: this.observer.sentinelInfo.down,
12995
+ offset: gObj.root.scrollPosition, focusElement: gObj.element
12996
+ };
12997
+ this.scrollListeners(scrollValues);
12998
+ }
12981
12999
  this.parent.off('content-ready', this.fn);
12982
13000
  };
12983
13001
  this.parent.addEventListener('dataBound', this.dataBoundEvent.bind(this));
@@ -13235,6 +13253,9 @@ class VirtualTreeContentRenderer extends VirtualContentRenderer {
13235
13253
  }
13236
13254
  scrollListeners(scrollArgs) {
13237
13255
  this['scrollAfterEdit']();
13256
+ if (this.parent.root.enablePersistence) {
13257
+ this.parent.root.scrollPosition = scrollArgs.offset;
13258
+ }
13238
13259
  const info = scrollArgs.sentinel;
13239
13260
  const rowHeight = this.parent.getRowHeight();
13240
13261
  const outBuffer = this.parent.pageSettings.pageSize - Math.ceil(this.parent.pageSettings.pageSize / 2);