@syncfusion/ej2-treegrid 19.3.46 → 19.3.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 (45) hide show
  1. package/CHANGELOG.md +30 -0
  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 +55 -11
  5. package/dist/es6/ej2-treegrid.es2015.js.map +1 -1
  6. package/dist/es6/ej2-treegrid.es5.js +55 -12
  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/batch-edit.js +14 -4
  13. package/src/treegrid/actions/edit.js +6 -0
  14. package/src/treegrid/actions/rowdragdrop.js +1 -1
  15. package/src/treegrid/actions/virtual-scroll.js +6 -1
  16. package/src/treegrid/base/data.js +3 -1
  17. package/src/treegrid/base/treegrid.js +22 -4
  18. package/src/treegrid/renderer/virtual-tree-content-render.js +3 -1
  19. package/styles/bootstrap-dark.css +1 -1
  20. package/styles/bootstrap.css +1 -1
  21. package/styles/bootstrap4.css +1 -1
  22. package/styles/bootstrap5-dark.css +2 -1
  23. package/styles/bootstrap5.css +2 -1
  24. package/styles/fabric-dark.css +1 -1
  25. package/styles/fabric.css +1 -1
  26. package/styles/highcontrast-light.css +1 -1
  27. package/styles/highcontrast.css +1 -1
  28. package/styles/material-dark.css +1 -1
  29. package/styles/material.css +1 -1
  30. package/styles/tailwind-dark.css +1 -1
  31. package/styles/tailwind.css +1 -1
  32. package/styles/treegrid/_layout.scss +1 -1
  33. package/styles/treegrid/bootstrap-dark.css +1 -1
  34. package/styles/treegrid/bootstrap.css +1 -1
  35. package/styles/treegrid/bootstrap4.css +1 -1
  36. package/styles/treegrid/bootstrap5-dark.css +2 -1
  37. package/styles/treegrid/bootstrap5.css +2 -1
  38. package/styles/treegrid/fabric-dark.css +1 -1
  39. package/styles/treegrid/fabric.css +1 -1
  40. package/styles/treegrid/highcontrast-light.css +1 -1
  41. package/styles/treegrid/highcontrast.css +1 -1
  42. package/styles/treegrid/material-dark.css +1 -1
  43. package/styles/treegrid/material.css +1 -1
  44. package/styles/treegrid/tailwind-dark.css +1 -1
  45. package/styles/treegrid/tailwind.css +1 -1
@@ -2165,7 +2165,9 @@ class DataManipulation {
2165
2165
  const query = getObject('query', args);
2166
2166
  const srtQry = new Query();
2167
2167
  for (let srt = this.parent.grid.sortSettings.columns.length - 1; srt >= 0; srt--) {
2168
- const col = this.parent.grid.getColumnByField(this.parent.grid.sortSettings.columns[srt].field);
2168
+ const getColumnByField = 'getColumnByField';
2169
+ const col = this.parent.grid.renderModule.data[getColumnByField](this.parent.grid.
2170
+ sortSettings.columns[srt].field);
2169
2171
  const compFun = col.sortComparer && isOffline(this.parent) ?
2170
2172
  col.sortComparer.bind(col) :
2171
2173
  this.parent.grid.sortSettings.columns[srt].direction;
@@ -3569,6 +3571,15 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
3569
3571
  this.trigger(rowSelecting, args);
3570
3572
  };
3571
3573
  this.grid.rowSelected = (args) => {
3574
+ if (this.enableVirtualization && args.isHeaderCheckboxClicked &&
3575
+ this.grid.currentViewData.length !== this.grid.selectionModule.selectedRowIndexes.length) {
3576
+ const updateRowSelection = 'updateRowSelection';
3577
+ for (let i = 0; i < this.getRows().length; i++) {
3578
+ if (this.getRows()[i].getElementsByClassName("e-frame e-icons e-uncheck").length) {
3579
+ this.grid.selectionModule[updateRowSelection](this.getRows()[i], this.getCurrentViewRecords()[i].index);
3580
+ }
3581
+ }
3582
+ }
3572
3583
  this.selectedRowIndex = this.grid.selectedRowIndex;
3573
3584
  this.notify(rowSelected, args);
3574
3585
  this.trigger(rowSelected, args);
@@ -3871,6 +3882,10 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
3871
3882
  && (this.grid.filterSettings.columns.length === 0 || this.grid.searchSettings.key.length === 0)) {
3872
3883
  this.notify('clearFilters', { flatData: this.grid.dataSource });
3873
3884
  this.grid.setProperties({ dataSource: this.dataResults.result }, true);
3885
+ if (isNullOrUndefined(this.grid['changedProperties'].dataSource)) {
3886
+ this.grid.renderModule.data.dataManager = this.grid.dataSource instanceof DataManager ? this.grid.dataSource :
3887
+ (isNullOrUndefined(this.grid.dataSource) ? new DataManager() : new DataManager(this.grid.dataSource));
3888
+ }
3874
3889
  }
3875
3890
  const callBackPromise = new Deferred();
3876
3891
  this.trigger(actionBegin, args, (actionArgs) => {
@@ -4412,6 +4427,11 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
4412
4427
  if (isNullOrUndefined(this.grid)) {
4413
4428
  return;
4414
4429
  }
4430
+ if (!isNullOrUndefined(this.rowDropSettings.targetID) &&
4431
+ isNullOrUndefined(document.getElementById(this.grid.rowDropSettings.targetID))) {
4432
+ document.getElementById(this.rowDropSettings.targetID).id = this.grid.rowDropSettings.targetID;
4433
+ this.rowDropSettings.targetID = this.grid.rowDropSettings.targetID;
4434
+ }
4415
4435
  super.dataBind();
4416
4436
  this.grid.dataBind();
4417
4437
  }
@@ -4423,7 +4443,7 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
4423
4443
  */
4424
4444
  getPersistData() {
4425
4445
  const keyEntity = ['pageSettings', 'sortSettings',
4426
- 'filterSettings', 'columns', 'searchSettings', 'selectedRowIndex'];
4446
+ 'filterSettings', 'columns', 'searchSettings', 'selectedRowIndex', 'treeColumnIndex'];
4427
4447
  const ignoreOnPersist = {
4428
4448
  pageSettings: ['template', 'pageSizes', 'pageSizeMode', 'enableQueryString', 'totalRecordsCount', 'pageCount'],
4429
4449
  filterSettings: ['type', 'mode', 'showFilterBarStatus', 'immediateModeDelay', 'ignoreAccent', 'hierarchyMode'],
@@ -4434,8 +4454,9 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
4434
4454
  'commandTemplate', 'commands', 'dataSource'];
4435
4455
  for (let i = 0; i < keyEntity.length; i++) {
4436
4456
  const currentObject = this[keyEntity[i]];
4437
- for (const val of ignoreOnPersist[keyEntity[i]]) {
4438
- delete currentObject[val];
4457
+ for (let k = 0, val = ignoreOnPersist[keyEntity[i]]; (!isNullOrUndefined(val) && k < val.length); k++) {
4458
+ let objVal = val[k];
4459
+ delete currentObject[objVal];
4439
4460
  }
4440
4461
  }
4441
4462
  this.ignoreInArrays(ignoreOnColumn, this.columns);
@@ -7112,7 +7133,7 @@ class RowDD$1 {
7112
7133
  }
7113
7134
  else {
7114
7135
  if (args.target && closest(args.target, '#' + tObj.rowDropSettings.targetID) || parentsUntil(args.target, 'e-treegrid') &&
7115
- parentsUntil(args.target, 'e-treegrid').id === tObj.rowDropSettings.targetID) {
7136
+ parentsUntil(args.target, 'e-treegrid').id === tObj.rowDropSettings.targetID || args.target && document.getElementById(tObj.rowDropSettings.targetID)) {
7116
7137
  setValue('dropPosition', this.dropPosition, args);
7117
7138
  tObj.trigger(rowDrop, args);
7118
7139
  if (!args.cancel && tObj.rowDropSettings.targetID) {
@@ -9441,7 +9462,7 @@ class BatchEdit {
9441
9462
  focusModule.getContent().matrix.current = [actualIndex, focusModule.getContent().matrix.current[1]];
9442
9463
  }
9443
9464
  }
9444
- beforeBatchDelete() {
9465
+ beforeBatchDelete(args) {
9445
9466
  if (!this.batchRecords.length) {
9446
9467
  this.batchRecords = extendArray(this.parent.grid.getCurrentViewRecords());
9447
9468
  this.currentViewRecords = extendArray(this.parent.grid.getCurrentViewRecords());
@@ -9451,9 +9472,19 @@ class BatchEdit {
9451
9472
  const row = [];
9452
9473
  let records = [];
9453
9474
  const primarykey = this.parent.grid.getPrimaryKeyFieldNames()[0];
9454
- const data = this.parent.grid.getSelectedRecords()[this.parent.grid.getSelectedRecords().length - 1];
9455
- const childs = findChildrenRecords(data);
9456
- const uid = this.parent.getSelectedRows()[0].getAttribute('data-uid');
9475
+ let data;
9476
+ let childs;
9477
+ let uid;
9478
+ if (!isNullOrUndefined(args.row) && this.parent.getSelectedRows().indexOf(args.row) === -1) {
9479
+ data = args.rowData;
9480
+ childs = findChildrenRecords(data);
9481
+ uid = args.row.getAttribute('data-uid');
9482
+ }
9483
+ else {
9484
+ data = this.parent.grid.getSelectedRecords()[this.parent.grid.getSelectedRecords().length - 1];
9485
+ childs = findChildrenRecords(data);
9486
+ uid = this.parent.getSelectedRows()[0].getAttribute('data-uid');
9487
+ }
9457
9488
  const parentRowIndex = parseInt(this.parent.grid.getRowElementByUID(uid).getAttribute('aria-rowindex'), 10);
9458
9489
  if (childs.length) {
9459
9490
  const totalCount = parentRowIndex + childs.length;
@@ -10507,6 +10538,7 @@ class Edit$1 {
10507
10538
  }
10508
10539
  if (this.isAddedRowByMethod && args.index !== 0) {
10509
10540
  this.addRowRecord = this.parent.flatData[args.index];
10541
+ this.addRowIndex = args.index;
10510
10542
  }
10511
10543
  if (this.parent.editSettings.newRowPosition === 'Child' && isNullOrUndefined(this.addRowRecord)
10512
10544
  && !isNullOrUndefined(this.parent.getSelectedRecords()[0])) {
@@ -10535,6 +10567,11 @@ class Edit$1 {
10535
10567
  let position = null;
10536
10568
  value.taskData = isNullOrUndefined(value.taskData) ? extend({}, args.data) : value.taskData;
10537
10569
  const currentData = this.parent.grid.getCurrentViewRecords();
10570
+ if (this.parent.enableVirtualization && args.index !== 0) {
10571
+ this.addRowIndex = this.parent.grid.getCurrentViewRecords().indexOf(this.addRowRecord);
10572
+ this.selectedIndex = parseInt(this.parent.getRows()[this.addRowIndex].getAttribute('aria-rowindex'));
10573
+
10574
+ }
10538
10575
  let index = this.addRowIndex;
10539
10576
  value.uniqueID = getUid(this.parent.element.id + '_data_');
10540
10577
  setValue('uniqueIDCollection.' + value.uniqueID, value, this.parent);
@@ -11037,7 +11074,9 @@ class VirtualTreeContentRenderer extends VirtualContentRenderer {
11037
11074
  if (isNullOrUndefined(this.observer[containerRect])) {
11038
11075
  this.observer[containerRect] = this.observers[containerRect];
11039
11076
  }
11040
- super[selectVirtualRow](args);
11077
+ if (args.selectedIndex !== 0 || isNullOrUndefined(this.parent['clipboardModule'].treeGridParent.editModule['addRowIndex'])) {
11078
+ super[selectVirtualRow](args);
11079
+ }
11041
11080
  }
11042
11081
  refreshCell(rowObj) {
11043
11082
  rowObj.cells = this.generateCells();
@@ -11503,11 +11542,16 @@ class VirtualScroll$1 {
11503
11542
  }
11504
11543
  //if ((this.prevendIndex !== -1 && this.prevstartIndex !== -1) &&
11505
11544
  //this.prevendIndex === endIndex && this.prevstartIndex === startIndex) {
11545
+ if (!isNullOrUndefined(this.expandCollapseRec) && (pageingDetails.actionArgs.requestType === 'virtualscroll' ||
11546
+ (pageingDetails.actionArgs.requestType === 'refresh' && startIndex !== this.prevstartIndex)) &&
11547
+ (startIndex < this.parent.getRows().length && endIndex <= startIndex + this.parent.getRows().length)) {
11548
+ startIndex = 0;
11549
+ }
11506
11550
  if (!isNullOrUndefined(this.expandCollapseRec)) {
11507
11551
  const resourceCount = this.parent.getRows();
11508
11552
  let sIndex = visualData.indexOf(this.expandCollapseRec);
11509
11553
  const tempdata = visualData.slice(sIndex, sIndex + resourceCount.length);
11510
- if (tempdata.length < resourceCount.length && sIndex >= 0) {
11554
+ if (tempdata.length < resourceCount.length && sIndex >= 0 && startIndex !== 0) {
11511
11555
  sIndex = visualData.length - resourceCount.length;
11512
11556
  sIndex = sIndex > 0 ? sIndex : 0;
11513
11557
  startIndex = sIndex;