@syncfusion/ej2-treegrid 27.1.50 → 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 +29 -7
  5. package/dist/es6/ej2-treegrid.es2015.js.map +1 -1
  6. package/dist/es6/ej2-treegrid.es5.js +29 -7
  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 +19 -3
  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);
@@ -13256,13 +13277,14 @@ class VirtualTreeContentRenderer extends VirtualContentRenderer {
13256
13277
  - this.parent.pageSettings.pageSize;
13257
13278
  index = (index > 0) ? index : 0;
13258
13279
  if (!isNullOrUndefined(this[`${selectedRowIndex}`]) && this[`${selectedRowIndex}`] !== -1 && index !== this[`${selectedRowIndex}`] &&
13259
- ((this.parent.rowHeight * this.parent.pageSettings.pageSize) < content.scrollTop)) {
13280
+ ((this.parent.rowHeight * this.parent.pageSettings.pageSize) < content.scrollTop) &&
13281
+ !(this.parent.root && this.parent.root.treeGrid && this.parent.root.treeGrid.isGantt)) {
13260
13282
  index = this[`${selectedRowIndex}`];
13261
13283
  }
13262
13284
  this.startIndex = index;
13263
13285
  this.endIndex = index + this.parent.pageSettings.pageSize;
13264
13286
  if (this.endIndex > this.totalRecords) {
13265
- const lastInx = this.totalRecords - 1;
13287
+ const lastInx = this.totalRecords;
13266
13288
  const remains = this.endIndex % lastInx;
13267
13289
  this.endIndex = lastInx;
13268
13290
  this.startIndex = (this.startIndex - remains) < 0 ? 0 : (this.startIndex - remains);
@@ -13300,7 +13322,7 @@ class VirtualTreeContentRenderer extends VirtualContentRenderer {
13300
13322
  let nextSetResIndex = ~~(content.scrollTop / rowHeight);
13301
13323
  const isLastBlock = (this[`${selectedRowIndex}`] + this.parent.pageSettings.pageSize) < this.totalRecords ? false : true;
13302
13324
  if (!isNullOrUndefined(this[`${selectedRowIndex}`]) && this[`${selectedRowIndex}`] !== -1 &&
13303
- nextSetResIndex !== this[`${selectedRowIndex}`] && !isLastBlock) {
13325
+ nextSetResIndex !== this[`${selectedRowIndex}`] && !isLastBlock && !(this.parent.root && this.parent.root.treeGrid && this.parent.root.treeGrid.isGantt)) {
13304
13326
  nextSetResIndex = this[`${selectedRowIndex}`];
13305
13327
  }
13306
13328
  let lastIndex = nextSetResIndex + this.parent.pageSettings.pageSize;