@syncfusion/ej2-treegrid 26.2.5 → 26.2.9

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 (54) 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 +41 -14
  5. package/dist/es6/ej2-treegrid.es2015.js.map +1 -1
  6. package/dist/es6/ej2-treegrid.es5.js +41 -14
  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 +8 -8
  12. package/src/treegrid/actions/rowdragdrop.js +1 -1
  13. package/src/treegrid/actions/virtual-scroll.d.ts +1 -0
  14. package/src/treegrid/actions/virtual-scroll.js +7 -1
  15. package/src/treegrid/base/data.js +3 -3
  16. package/src/treegrid/base/treegrid.js +24 -6
  17. package/src/treegrid/renderer/virtual-tree-content-render.js +6 -3
  18. package/styles/bootstrap-dark.css +13 -3
  19. package/styles/bootstrap.css +13 -3
  20. package/styles/bootstrap4.css +13 -3
  21. package/styles/bootstrap5-dark.css +13 -3
  22. package/styles/bootstrap5.css +13 -3
  23. package/styles/fabric-dark.css +13 -3
  24. package/styles/fabric.css +13 -3
  25. package/styles/fluent-dark.css +13 -3
  26. package/styles/fluent.css +13 -3
  27. package/styles/fluent2.css +16 -1034
  28. package/styles/highcontrast-light.css +13 -3
  29. package/styles/highcontrast.css +20 -3
  30. package/styles/material-dark.css +13 -3
  31. package/styles/material.css +13 -3
  32. package/styles/material3-dark.css +14 -57
  33. package/styles/material3.css +15 -112
  34. package/styles/tailwind-dark.css +13 -3
  35. package/styles/tailwind.css +13 -3
  36. package/styles/treegrid/_layout.scss +28 -3
  37. package/styles/treegrid/bootstrap-dark.css +13 -3
  38. package/styles/treegrid/bootstrap.css +13 -3
  39. package/styles/treegrid/bootstrap4.css +13 -3
  40. package/styles/treegrid/bootstrap5-dark.css +13 -3
  41. package/styles/treegrid/bootstrap5.css +13 -3
  42. package/styles/treegrid/fabric-dark.css +13 -3
  43. package/styles/treegrid/fabric.css +13 -3
  44. package/styles/treegrid/fluent-dark.css +13 -3
  45. package/styles/treegrid/fluent.css +13 -3
  46. package/styles/treegrid/fluent2.css +16 -1034
  47. package/styles/treegrid/highcontrast-light.css +13 -3
  48. package/styles/treegrid/highcontrast.css +20 -3
  49. package/styles/treegrid/material-dark.css +13 -3
  50. package/styles/treegrid/material.css +13 -3
  51. package/styles/treegrid/material3-dark.css +14 -57
  52. package/styles/treegrid/material3.css +15 -112
  53. package/styles/treegrid/tailwind-dark.css +13 -3
  54. package/styles/treegrid/tailwind.css +13 -3
@@ -2422,13 +2422,13 @@ class DataManipulation {
2422
2422
  e[`${result}`] = this.parent.summaryModule.calculateSummaryValue(summaryQuery, e[`${result}`], true);
2423
2423
  }
2424
2424
  }
2425
+ if (rowDetails.action === 'remoteExpand' && this.parent.allowPaging && this.parent.pageSettings.pageSizeMode === 'All') {
2426
+ this.parent.grid.pageSettings.totalRecordsCount = this.parent.grid.currentViewData.length + result.length;
2427
+ }
2425
2428
  if (this.parent.enableVirtualization) {
2426
2429
  this.parent.grid.pageSettings.totalRecordsCount = e.count;
2427
2430
  }
2428
2431
  e.count = this.parent.grid.pageSettings.totalRecordsCount;
2429
- if (rowDetails.action === 'remoteExpand' && this.parent.allowPaging) {
2430
- this.parent.grid.pageSettings.totalRecordsCount = this.parent.grid.currentViewData.length + result.length;
2431
- }
2432
2432
  const virtualArgs = {};
2433
2433
  if (this.parent.enableVirtualization) {
2434
2434
  this.remoteVirtualAction(virtualArgs);
@@ -4410,21 +4410,25 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
4410
4410
  this.IsExpandCollapseClicked(args);
4411
4411
  if (!isNullOrUndefined(args.data) && this.selectionSettings.persistSelection
4412
4412
  && this.columnModel.filter((col) => col.type === 'checkbox').length > 0 && isRemoteData(this)) {
4413
- if (!isNullOrUndefined(args.data.parentItem)) {
4413
+ if (!isNullOrUndefined(args.data.parentItem) || args.isHeaderCheckboxClicked) {
4414
4414
  this.parentQuery = this.query.queries.filter((q) => q.e.field === this.parentIdMapping);
4415
4415
  this.query.queries = this.query.queries.slice(0, 0);
4416
4416
  }
4417
4417
  }
4418
+ if (this.pageSettings.pageSizeMode === 'Root') {
4419
+ this.grid.selectionModule['totalRecordsCount'] = this.grid.currentViewData.length;
4420
+ }
4421
+ if (this.enableVirtualization && args.rowIndex === this.selectedRowIndex) {
4422
+ args.cancel = true;
4423
+ }
4418
4424
  this.trigger(rowSelecting, args);
4419
4425
  };
4420
4426
  this.grid.rowDeselecting = (args) => {
4421
4427
  this.IsExpandCollapseClicked(args);
4422
- if (isNullOrUndefined(args.data) && this.selectionSettings.persistSelection
4428
+ if (!isNullOrUndefined(args.data) && this.selectionSettings.persistSelection
4423
4429
  && this.columnModel.filter((col) => col.type === 'checkbox').length > 0 && isRemoteData(this)) {
4424
- if (isNullOrUndefined(args.data.parentItem)) {
4425
- this.parentQuery = this.query.queries.filter((q) => q.e.field === this.parentIdMapping);
4426
- this.query.queries = this.query.queries.slice(0, 0);
4427
- }
4430
+ this.parentQuery = this.query.queries.filter((q) => q.e.field === this.parentIdMapping);
4431
+ this.query.queries = this.query.queries.slice(0, 0);
4428
4432
  }
4429
4433
  this.trigger(rowDeselecting, args);
4430
4434
  };
@@ -4565,6 +4569,16 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
4565
4569
  this.grid.selectionModule[`${updateRowSelection}`](this.getRows()[parseInt(index.toString(), 10)], index);
4566
4570
  }
4567
4571
  }
4572
+ if (this.enableVirtualization && this.selectionSettings.persistSelection
4573
+ && !isNullOrUndefined(this.virtualScrollModule.prevSelectedRecord)) {
4574
+ for (let i = 0; i < this.virtualScrollModule.prevSelectedRecord.length; i++) {
4575
+ const updateRowSelection = 'updateRowSelection';
4576
+ const index =
4577
+ // eslint-disable-next-line max-len
4578
+ this.getCurrentViewRecords().indexOf(this.virtualScrollModule.prevSelectedRecord[parseInt(i.toString(), 10)]);
4579
+ this.grid.selectionModule[`${updateRowSelection}`](this.getRows()[parseInt(index.toString(), 10)], index);
4580
+ }
4581
+ }
4568
4582
  this.trigger(dataBound, args);
4569
4583
  this.initialRender = false;
4570
4584
  };
@@ -6351,6 +6365,10 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
6351
6365
  expandArgs = { data: parentRec, row: row };
6352
6366
  this.trigger(expanded, expandArgs);
6353
6367
  }
6368
+ else if (!this.isExpandAll && this.enableVirtualization && this.selectionSettings.persistSelection
6369
+ && !isNullOrUndefined(this.virtualScrollModule.prevSelectedRecord)) {
6370
+ this.virtualScrollModule.prevSelectedRecord = [];
6371
+ }
6354
6372
  else if (!this.isExpandAll) {
6355
6373
  this.trigger(expanded, expandArgs);
6356
6374
  }
@@ -8795,7 +8813,7 @@ class RowDD {
8795
8813
  this.canDrop = false;
8796
8814
  this.addErrorElem();
8797
8815
  }
8798
- if (!tObj.rowDropSettings.targetID && this.canDrop) {
8816
+ if (!tObj.rowDropSettings.targetID && this.canDrop && !isNullOrUndefined(args.rows[0])) {
8799
8817
  tObj.rowDragAndDropModule.updateIcon(args.rows, rowIdx, args);
8800
8818
  }
8801
8819
  if (isNullOrUndefined(tObj.rowDropSettings.targetID) && !this.canDrop) {
@@ -13234,14 +13252,17 @@ class VirtualTreeContentRenderer extends VirtualContentRenderer {
13234
13252
  const info = scrollArgs.sentinel;
13235
13253
  const rowHeight = this.parent.getRowHeight();
13236
13254
  const outBuffer = this.parent.pageSettings.pageSize - Math.ceil(this.parent.pageSettings.pageSize / 2);
13237
- const content = this.parent.getContent().querySelector('.e-content');
13255
+ let content;
13256
+ if (!isNullOrUndefined(this.parent.contentModule)) {
13257
+ content = this.parent.getContent().querySelector('.e-content');
13258
+ }
13238
13259
  const scrollHeight = outBuffer * rowHeight;
13239
13260
  const upScroll = (scrollArgs.offset.top - this.translateY) <= 0;
13240
13261
  const downScroll = Math.ceil(scrollArgs.offset.top - this.translateY) + rowHeight >= scrollHeight;
13241
13262
  const selectedRowIndex = 'selectedRowIndex';
13242
13263
  const currentViewData = this.parent.currentViewData;
13243
13264
  const indexValue = 'index';
13244
- if (upScroll && (scrollArgs.direction !== 'right' && scrollArgs.direction !== 'left')) {
13265
+ if (upScroll && (scrollArgs.direction !== 'right' && scrollArgs.direction !== 'left') && !isNullOrUndefined(content)) {
13245
13266
  const vHeight = +(this.parent.height.toString().indexOf('%') < 0 ? parseInt(this.parent.height.toString(), 10) :
13246
13267
  this.parent.element.getBoundingClientRect().height);
13247
13268
  let index = (~~(content.scrollTop / rowHeight)
@@ -13289,7 +13310,7 @@ class VirtualTreeContentRenderer extends VirtualContentRenderer {
13289
13310
  scrollArgs.offset.top - (outBuffer * rowHeight) + 10 : 0;
13290
13311
  }
13291
13312
  }
13292
- else if (downScroll && (scrollArgs.direction !== 'right' && scrollArgs.direction !== 'left')) {
13313
+ else if (downScroll && (scrollArgs.direction !== 'right' && scrollArgs.direction !== 'left') && !isNullOrUndefined(content)) {
13293
13314
  let nextSetResIndex = ~~(content.scrollTop / rowHeight);
13294
13315
  const isLastBlock = (this[`${selectedRowIndex}`] + this.parent.pageSettings.pageSize) < this.totalRecords ? false : true;
13295
13316
  if (!isNullOrUndefined(this[`${selectedRowIndex}`]) && this[`${selectedRowIndex}`] !== -1 &&
@@ -13550,6 +13571,7 @@ class VirtualScroll {
13550
13571
  constructor(parent) {
13551
13572
  this.prevstartIndex = -1;
13552
13573
  this.prevendIndex = -1;
13574
+ this.prevSelectedRecord = [];
13553
13575
  this.parent = parent;
13554
13576
  Grid.Inject(TreeVirtual);
13555
13577
  this.addEventListener();
@@ -13605,6 +13627,10 @@ class VirtualScroll {
13605
13627
  this.parent.selectionSettings.mode === 'Row' && !this.parent.selectionSettings.persistSelection) {
13606
13628
  this.parent.grid.clearSelection();
13607
13629
  }
13630
+ if (getValue('isCollapseAll', this.parent) && this.parent.selectionSettings.persistSelection && this.parent.getSelectedRecords().length > 0) {
13631
+ this.prevSelectedRecord = this.parent.getSelectedRecords();
13632
+ this.parent.grid.clearSelection();
13633
+ }
13608
13634
  const requestType = getValue('isCollapseAll', this.parent) ? 'collapseAll' : 'refresh';
13609
13635
  getValue('grid.renderModule', this.parent).dataManagerSuccess(ret, { requestType: requestType });
13610
13636
  }
@@ -13675,7 +13701,8 @@ class VirtualScroll {
13675
13701
  }
13676
13702
  }
13677
13703
  //}
13678
- if (this.prevrequestType === 'collapseAll' && pageingDetails.actionArgs.requestType === 'virtualscroll' && !isNullOrUndefined(this.parent.idMapping)) {
13704
+ if (this.prevrequestType === 'collapseAll' && pageingDetails.actionArgs.requestType === 'virtualscroll'
13705
+ && !isNullOrUndefined(this.parent.idMapping) && startIndex === 0) {
13679
13706
  startIndex = 0;
13680
13707
  endIndex = this.parent.grid.pageSettings.pageSize - 1;
13681
13708
  this.parent.grid.notify(virtualActionArgs, { setTop: true });