@syncfusion/ej2-treegrid 20.1.47 → 20.1.48

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 (61) hide show
  1. package/CHANGELOG.md +14 -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 +74 -39
  5. package/dist/es6/ej2-treegrid.es2015.js.map +1 -1
  6. package/dist/es6/ej2-treegrid.es5.js +77 -46
  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 +7 -7
  12. package/src/treegrid/actions/batch-edit.js +21 -4
  13. package/src/treegrid/actions/edit.js +15 -0
  14. package/src/treegrid/actions/filter.js +3 -0
  15. package/src/treegrid/actions/rowdragdrop.js +4 -9
  16. package/src/treegrid/base/treegrid-model.d.ts +1 -1
  17. package/src/treegrid/base/treegrid.d.ts +1 -6
  18. package/src/treegrid/base/treegrid.js +34 -33
  19. package/styles/bootstrap-dark.css +0 -8
  20. package/styles/bootstrap.css +0 -8
  21. package/styles/bootstrap4.css +0 -8
  22. package/styles/bootstrap5-dark.css +0 -8
  23. package/styles/bootstrap5.css +0 -8
  24. package/styles/fabric-dark.css +0 -8
  25. package/styles/fabric.css +0 -8
  26. package/styles/fluent-dark.css +1 -5
  27. package/styles/fluent.css +1 -5
  28. package/styles/highcontrast-light.css +0 -8
  29. package/styles/highcontrast.css +0 -8
  30. package/styles/material-dark.css +0 -8
  31. package/styles/material.css +0 -8
  32. package/styles/tailwind-dark.css +0 -8
  33. package/styles/tailwind.css +0 -8
  34. package/styles/treegrid/_bootstrap-dark-definition.scss +0 -2
  35. package/styles/treegrid/_bootstrap-definition.scss +0 -2
  36. package/styles/treegrid/_bootstrap4-definition.scss +0 -2
  37. package/styles/treegrid/_bootstrap5-definition.scss +0 -2
  38. package/styles/treegrid/_fabric-dark-definition.scss +0 -2
  39. package/styles/treegrid/_fabric-definition.scss +0 -2
  40. package/styles/treegrid/_fluent-definition.scss +0 -1
  41. package/styles/treegrid/_highcontrast-definition.scss +0 -2
  42. package/styles/treegrid/_highcontrast-light-definition.scss +0 -2
  43. package/styles/treegrid/_layout.scss +4 -6
  44. package/styles/treegrid/_material-dark-definition.scss +0 -2
  45. package/styles/treegrid/_material-definition.scss +0 -2
  46. package/styles/treegrid/_tailwind-definition.scss +0 -2
  47. package/styles/treegrid/bootstrap-dark.css +0 -8
  48. package/styles/treegrid/bootstrap.css +0 -8
  49. package/styles/treegrid/bootstrap4.css +0 -8
  50. package/styles/treegrid/bootstrap5-dark.css +0 -8
  51. package/styles/treegrid/bootstrap5.css +0 -8
  52. package/styles/treegrid/fabric-dark.css +0 -8
  53. package/styles/treegrid/fabric.css +0 -8
  54. package/styles/treegrid/fluent-dark.css +1 -5
  55. package/styles/treegrid/fluent.css +1 -5
  56. package/styles/treegrid/highcontrast-light.css +0 -8
  57. package/styles/treegrid/highcontrast.css +0 -8
  58. package/styles/treegrid/material-dark.css +0 -8
  59. package/styles/treegrid/material.css +0 -8
  60. package/styles/treegrid/tailwind-dark.css +0 -8
  61. package/styles/treegrid/tailwind.css +0 -8
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 20.1.47
3
+ * version : 20.1.48
4
4
  * Copyright Syncfusion Inc. 2001 - 2020. 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@18.16.3",
3
+ "_id": "@syncfusion/ej2-treegrid@20.1.47",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-OaaaeQK1Wag332oQTxhdgffuJg+IQA9aBRYfHc5OgYGw+FgdJAu4y/XBVY3LTgkZ0Z1qKxZIU2KxTjs/m0n7vg==",
5
+ "_integrity": "sha512-wi8XwhJB7KOHPpwl6tPNlqmE8HiFV+wPZHy+nOFvu2CL3/TQEqPhwz44h5EAuG+xRN6DqrOODGjf/R7DfWNAZA==",
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": "http://nexus.syncfusion.com/repository/ej2-release/@syncfusion/ej2-treegrid/-/ej2-treegrid-18.16.3.tgz",
28
- "_shasum": "348932505ec2558f8d30b8ffead3f508749563e8",
27
+ "_resolved": "http://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-treegrid/-/ej2-treegrid-20.1.47.tgz",
28
+ "_shasum": "4e9347d2be3329f13cd71967f9b245887b42f746",
29
29
  "_spec": "@syncfusion/ej2-treegrid@*",
30
30
  "_where": "/jenkins/workspace/automation_release_19.1.0.1-ZPMUBNQ6AUYH6YGEFBPVYMEQLRRW2SLD4XCZ6GATNZJFYJ3RIAOA/packages/included",
31
31
  "author": {
@@ -36,9 +36,9 @@
36
36
  },
37
37
  "bundleDependencies": false,
38
38
  "dependencies": {
39
- "@syncfusion/ej2-base": "~20.1.47",
39
+ "@syncfusion/ej2-base": "~20.1.48",
40
40
  "@syncfusion/ej2-data": "~20.1.47",
41
- "@syncfusion/ej2-grids": "~20.1.47",
41
+ "@syncfusion/ej2-grids": "~20.1.48",
42
42
  "@syncfusion/ej2-popups": "~20.1.47"
43
43
  },
44
44
  "deprecated": false,
@@ -60,6 +60,6 @@
60
60
  "url": "git+https://github.com/syncfusion/ej2-treegrid.git"
61
61
  },
62
62
  "typings": "index.d.ts",
63
- "version": "20.1.47",
63
+ "version": "20.1.48",
64
64
  "sideEffects": false
65
65
  }
@@ -4,6 +4,7 @@ import { DataManager } from '@syncfusion/ej2-data';
4
4
  import { findChildrenRecords, getParentData, extendArray } from '../utils';
5
5
  import { getUid } from '@syncfusion/ej2-grids';
6
6
  import { updateParentRow, editAction } from './crud-actions';
7
+ import { classList } from '@syncfusion/ej2-base';
7
8
  /**
8
9
  * `BatchEdit` module is used to handle batch editing actions.
9
10
  *
@@ -236,9 +237,17 @@ var BatchEdit = /** @class */ (function () {
236
237
  this.parent.editModule[isTabLastRow] = false;
237
238
  return;
238
239
  }
239
- this.selectedIndex = this.parent.grid.selectedRowIndex;
240
- this.addRowIndex = this.parent.grid.selectedRowIndex > -1 ? this.parent.grid.selectedRowIndex : 0;
241
- this.addRowRecord = this.parent.getSelectedRecords()[0];
240
+ if (this.parent.editModule['isAddedRowByMethod'] && !isNullOrUndefined(this.parent.editModule['addRowIndex']) && this.parent.grid.selectedRowIndex === -1) {
241
+ this.selectedIndex = this.parent.editModule['selectedIndex'];
242
+ this.addRowIndex = this.parent.editModule['addRowIndex'];
243
+ this.addRowRecord = this.parent.getCurrentViewRecords()[this.selectedIndex];
244
+ }
245
+ else {
246
+ this.selectedIndex = this.parent.grid.selectedRowIndex;
247
+ this.addRowIndex = this.parent.grid.selectedRowIndex > -1 ? this.parent.grid.selectedRowIndex : 0;
248
+ this.parent.editModule['addRowIndex'] = this.parent.grid.selectedRowIndex > -1 ? this.parent.grid.selectedRowIndex : 0;
249
+ this.addRowRecord = this.parent.getSelectedRecords()[0];
250
+ }
242
251
  };
243
252
  BatchEdit.prototype.batchAdd = function (e) {
244
253
  if (this.parent.editSettings.newRowPosition !== 'Bottom') {
@@ -250,6 +259,9 @@ var BatchEdit = /** @class */ (function () {
250
259
  this.batchRecords = extendArray(this.parent.grid.getCurrentViewRecords());
251
260
  this.currentViewRecords = extendArray(this.parent.grid.getCurrentViewRecords());
252
261
  }
262
+ if (this.parent.editModule['isAddedRowByMethod'] && !isNullOrUndefined(this.parent.editModule['addRowIndex'])) {
263
+ classList(this.parent.grid.getDataRows()[0], ['e-batchrow'], []);
264
+ }
253
265
  if (this.parent.editSettings.newRowPosition !== 'Top') {
254
266
  var records = this.parent.grid.getCurrentViewRecords();
255
267
  if (this.parent.editSettings.mode === 'Batch' && (this.parent.getBatchChanges()[this.addedRecords].length > 1
@@ -473,6 +485,10 @@ var BatchEdit = /** @class */ (function () {
473
485
  }
474
486
  if (this.parent.editSettings.newRowPosition !== 'Bottom' && !Object.hasOwnProperty.call(args, 'updatedRecords')) {
475
487
  data.splice(data.length - addRecords.length, addRecords.length);
488
+ if (this.parent.editModule['isAddedRowByMethod'] && addRecords.length && !isNullOrUndefined(this.parent.editModule['addRowIndex'])) {
489
+ var index_1 = parseInt(this.parent.getContentTable().getElementsByClassName('e-insertedrow')[0].ariaRowIndex);
490
+ data.splice(index_1, 0, addRecords[0]);
491
+ }
476
492
  if (!this.parent.allowPaging && data.length !== currentViewRecords.length) {
477
493
  if (currentViewRecords.length > addRecords.length) {
478
494
  currentViewRecords.splice(currentViewRecords.length - addRecords.length, addRecords.length);
@@ -524,7 +540,8 @@ var BatchEdit = /** @class */ (function () {
524
540
  }
525
541
  editAction({ value: addRecords[i], action: 'add' }, this.parent, this.isSelfReference, addRowIndex, selectedIndex, columnName, addRowRecord);
526
542
  selectedIndex = null;
527
- if (this.parent.editSettings.newRowPosition === 'Child' && !isNullOrUndefined(addRecords[i][parentItem])) {
543
+ if (this.parent.editSettings.newRowPosition === 'Child' && !isNullOrUndefined(addRecords[i][parentItem]) &&
544
+ (isNullOrUndefined(this.parent.editModule['addRowIndex']) || this.isSelfReference)) {
528
545
  var indexValue = currentViewRecords.map(function (e) { return e[primarykey_1]; })
529
546
  .indexOf(addRecords[i][parentItem][primarykey_1]);
530
547
  var children = currentViewRecords[indexValue][childRecords];
@@ -677,6 +677,21 @@ var Edit = /** @class */ (function () {
677
677
  focussedElement.focus();
678
678
  }
679
679
  }
680
+ if (this.parent.editSettings.mode === 'Batch' && !isNullOrUndefined(this.addRowIndex) && this.addRowIndex !== -1) {
681
+ index = this.batchEditModule.getAddRowIndex();
682
+ this.selectedIndex = this.batchEditModule.getSelectedIndex();
683
+ if (this.parent.editModule['isAddedRowByMethod']) {
684
+ var args = {
685
+ action: "add",
686
+ data: this.parent.getBatchChanges()['addedRecords'][0],
687
+ index: index,
688
+ seletedRow: 0
689
+ };
690
+ this.parent.editModule.beginAddEdit(args);
691
+ this.parent.editModule.batchEditModule['batchAddRowRecord'].push(this.parent.editModule.batchEditModule['addRowRecord']);
692
+ this.parent.editModule.batchEditModule['batchAddedRecords'].push(args['data']);
693
+ }
694
+ }
680
695
  };
681
696
  // private beforeDataBound(args: BeforeDataBoundArgs): void {
682
697
  // if (this.parent.grid.isEdit && this.parent.dataSource instanceof DataManager &&
@@ -155,6 +155,9 @@ var Filter = /** @class */ (function () {
155
155
  }
156
156
  }
157
157
  else {
158
+ if (parent['expanded'] === false && this.parent.getVisibleRecords().indexOf(record) === -1 && isNullOrUndefined(this.parent['dataResults']['action'])) {
159
+ this.parent.expandRow(this.parent.getRows()[parent['index']], parent);
160
+ }
158
161
  this.addParentRecord(parent);
159
162
  }
160
163
  }
@@ -139,17 +139,12 @@ var RowDD = /** @class */ (function () {
139
139
  }
140
140
  };
141
141
  RowDD.prototype.orderToIndex = function (currentData) {
142
- var _loop_1 = function (i) {
142
+ for (var i = 0; i < currentData.length; i++) {
143
143
  currentData[i].index = i;
144
144
  if (!isNullOrUndefined(currentData[i].parentItem)) {
145
- var updatedParent = currentData.filter(function (data) {
146
- return data.uniqueID === currentData[i].parentUniqueID;
147
- })[0];
145
+ var updatedParent = getValue('uniqueIDCollection.' + currentData[i].parentUniqueID, this.parent);
148
146
  currentData[i].parentItem.index = updatedParent.index;
149
147
  }
150
- };
151
- for (var i = 0; i < currentData.length; i++) {
152
- _loop_1(i);
153
148
  }
154
149
  return currentData;
155
150
  };
@@ -799,7 +794,7 @@ var RowDD = /** @class */ (function () {
799
794
  if (!isNullOrUndefined(this.parent.idMapping)) {
800
795
  dragRecords.reverse();
801
796
  }
802
- var _loop_2 = function (i) {
797
+ var _loop_1 = function (i) {
803
798
  draggedRecord_2 = dragRecords[i];
804
799
  this_1.draggedRecord = draggedRecord_2;
805
800
  if (this_1.dropPosition !== 'Invalid') {
@@ -886,7 +881,7 @@ var RowDD = /** @class */ (function () {
886
881
  };
887
882
  var this_1 = this;
888
883
  for (var i = 0; i < dragLength; i++) {
889
- _loop_2(i);
884
+ _loop_1(i);
890
885
  }
891
886
  }
892
887
  };
@@ -1,4 +1,4 @@
1
- import { Component, addClass, createElement, EventHandler, isNullOrUndefined, Ajax, ModuleDeclaration, extend} from '@syncfusion/ej2-base';import { removeClass, EmitType, Complex, Collection, KeyboardEventArgs, getValue } from '@syncfusion/ej2-base';import {Event, Property, NotifyPropertyChanges, INotifyPropertyChanged, setValue, KeyboardEvents, L10n } from '@syncfusion/ej2-base';import { Column, ColumnModel } from '../models/column';import { BeforeBatchSaveArgs, BeforeBatchAddArgs, BatchDeleteArgs, BeforeBatchDeleteArgs, Row, CellRenderer, Cell } from '@syncfusion/ej2-grids';import { GridModel, ColumnQueryModeType, HeaderCellInfoEventArgs, EditSettingsModel as GridEditModel } from '@syncfusion/ej2-grids';import {RowDragEventArgs, RowDropEventArgs, RowDropSettingsModel, RowDropSettings, getUid } from '@syncfusion/ej2-grids';import { ActionEventArgs, TextAlign } from'@syncfusion/ej2-grids';import { DetailDataBoundEventArgs, ClipMode, ColumnChooser} from '@syncfusion/ej2-grids';import { SearchEventArgs, AddEventArgs, EditEventArgs, DeleteEventArgs} from '@syncfusion/ej2-grids';import { SaveEventArgs, CellSaveArgs, BatchAddArgs, BatchCancelArgs, BeginEditArgs, CellEditArgs} from '@syncfusion/ej2-grids';import { FilterSettings } from '../models/filter-settings';import { TextWrapSettings } from '../models/textwrap-settings';import { TextWrapSettingsModel } from '../models/textwrap-settings-model';import {Filter} from '../actions/filter';import { Logger as TreeLogger } from '../actions/logger';import { BeforeCopyEventArgs, BeforePasteEventArgs } from '@syncfusion/ej2-grids';import { TreeClipboard } from '../actions/clipboard';import {Aggregate} from '../actions/summary';import { Reorder } from '../actions/reorder';import { Resize } from '../actions/resize';import { Selection as TreeGridSelection } from '../actions/selection';import { ColumnMenu } from '../actions/column-menu';import { DetailRow } from '../actions/detail-row';import { Freeze } from '../actions/freeze-column';import { Print } from '../actions/print';import * as events from '../base/constant';import { FilterSettingsModel } from '../models/filter-settings-model';import { SearchSettings} from '../models/search-settings';import { SearchSettingsModel } from '../models/search-settings-model';import {RowInfo, RowDataBoundEventArgs, PageEventArgs, FilterEventArgs, FailureEventArgs, SortEventArgs } from '@syncfusion/ej2-grids';import { RowSelectingEventArgs, RowSelectEventArgs, RowDeselectEventArgs, IIndex, ISelectedCell } from '@syncfusion/ej2-grids';import {ColumnModel as GridColumnModel, Column as GridColumn, CellSelectEventArgs, CellDeselectEventArgs } from '@syncfusion/ej2-grids';import { SelectionSettings } from '../models/selection-settings';import { SelectionSettingsModel } from '../models/selection-settings-model';import {getActualProperties, SortDirection, getObject, ColumnDragEventArgs } from '@syncfusion/ej2-grids';import { PrintMode, Data, IGrid, ContextMenuItemModel } from '@syncfusion/ej2-grids';import { ColumnMenuItem, ColumnMenuItemModel, CheckBoxChangeEventArgs } from '@syncfusion/ej2-grids';import { ExcelExportCompleteArgs, ExcelHeaderQueryCellInfoEventArgs, ExcelQueryCellInfoEventArgs } from '@syncfusion/ej2-grids';import { PdfExportCompleteArgs, PdfHeaderQueryCellInfoEventArgs, PdfQueryCellInfoEventArgs } from '@syncfusion/ej2-grids';import { ExcelExportProperties, PdfExportProperties, CellSelectingEventArgs, PrintEventArgs } from '@syncfusion/ej2-grids';import { ColumnMenuOpenEventArgs } from '@syncfusion/ej2-grids';import {BeforeDataBoundArgs} from '@syncfusion/ej2-grids';import { DataManager, ReturnOption, RemoteSaveAdaptor, Query, JsonAdaptor, Deferred } from '@syncfusion/ej2-data';import { createSpinner, hideSpinner, showSpinner, Dialog } from '@syncfusion/ej2-popups';import { isRemoteData, isOffline, extendArray, isCountRequired, findChildrenRecords } from '../utils';import { Grid, QueryCellInfoEventArgs, Logger } from '@syncfusion/ej2-grids';import { Render } from '../renderer/render';import { VirtualTreeContentRenderer } from '../renderer/virtual-tree-content-render';import { DataManipulation } from './data';import { RowDD } from '../actions/rowdragdrop';import { Sort } from '../actions/sort';import { ITreeData, RowExpandedEventArgs, RowCollapsedEventArgs, RowCollapsingEventArgs, TreeGridExcelExportProperties } from './interface';import { CellSaveEventArgs, DataStateChangeEventArgs, RowExpandingEventArgs, TreeGridPdfExportProperties } from './interface';import { iterateArrayOrObject, GridLine } from '@syncfusion/ej2-grids';import { DataSourceChangedEventArgs, RecordDoubleClickEventArgs, ResizeArgs } from '@syncfusion/ej2-grids';import { ToolbarItems, ToolbarItem, ContextMenuItem, ContextMenuItems, RowPosition, CopyHierarchyType } from '../enum';import { ItemModel, ClickEventArgs, BeforeOpenCloseMenuEventArgs, MenuEventArgs } from '@syncfusion/ej2-navigations';import { PageSettings } from '../models/page-settings';import { PageSettingsModel } from '../models/page-settings-model';import { AggregateRow } from '../models/summary';import { AggregateRowModel } from '../models/summary-model';import { ExcelExport } from '../actions/excel-export';import { PdfExport } from '../actions/pdf-export';import { Toolbar } from '../actions/toolbar';import { Page } from '../actions/page';import { ContextMenu } from '../actions/context-menu';import { EditSettings } from '../models/edit-settings';import { EditSettingsModel } from '../models/edit-settings-model';import { Edit} from '../actions/edit';import { SortSettings } from '../models/sort-settings';import { SortSettingsModel } from '../models/sort-settings-model';import { isHidden, getExpandStatus } from '../utils';import { editAction } from '../actions/crud-actions';import { InfiniteScrollSettings } from '../models/infinite-scroll-settings';import { InfiniteScrollSettingsModel } from '../models/infinite-scroll-settings-model';import { TreeActionEventArgs } from '..';
1
+ import { Component, addClass, createElement, EventHandler, isNullOrUndefined, Ajax, ModuleDeclaration, extend} from '@syncfusion/ej2-base';import { removeClass, EmitType, Complex, Collection, KeyboardEventArgs, getValue } from '@syncfusion/ej2-base';import {Event, Property, NotifyPropertyChanges, INotifyPropertyChanged, setValue, KeyboardEvents, L10n } from '@syncfusion/ej2-base';import { Column, ColumnModel } from '../models/column';import { BeforeBatchSaveArgs, BeforeBatchAddArgs, BatchDeleteArgs, BeforeBatchDeleteArgs } from '@syncfusion/ej2-grids';import { GridModel, ColumnQueryModeType, HeaderCellInfoEventArgs, EditSettingsModel as GridEditModel } from '@syncfusion/ej2-grids';import {RowDragEventArgs, RowDropEventArgs, RowDropSettingsModel, RowDropSettings, getUid } from '@syncfusion/ej2-grids';import { ActionEventArgs, TextAlign } from'@syncfusion/ej2-grids';import { DetailDataBoundEventArgs, ClipMode, ColumnChooser} from '@syncfusion/ej2-grids';import { SearchEventArgs, AddEventArgs, EditEventArgs, DeleteEventArgs} from '@syncfusion/ej2-grids';import { SaveEventArgs, CellSaveArgs, BatchAddArgs, BatchCancelArgs, BeginEditArgs, CellEditArgs} from '@syncfusion/ej2-grids';import { FilterSettings } from '../models/filter-settings';import { TextWrapSettings } from '../models/textwrap-settings';import { TextWrapSettingsModel } from '../models/textwrap-settings-model';import {Filter} from '../actions/filter';import { Logger as TreeLogger } from '../actions/logger';import { BeforeCopyEventArgs, BeforePasteEventArgs } from '@syncfusion/ej2-grids';import { TreeClipboard } from '../actions/clipboard';import {Aggregate} from '../actions/summary';import { Reorder } from '../actions/reorder';import { Resize } from '../actions/resize';import { Selection as TreeGridSelection } from '../actions/selection';import { ColumnMenu } from '../actions/column-menu';import { DetailRow } from '../actions/detail-row';import { Freeze } from '../actions/freeze-column';import { Print } from '../actions/print';import * as events from '../base/constant';import { FilterSettingsModel } from '../models/filter-settings-model';import { SearchSettings} from '../models/search-settings';import { SearchSettingsModel } from '../models/search-settings-model';import {RowInfo, RowDataBoundEventArgs, PageEventArgs, FilterEventArgs, FailureEventArgs, SortEventArgs } from '@syncfusion/ej2-grids';import { RowSelectingEventArgs, RowSelectEventArgs, RowDeselectEventArgs, IIndex, ISelectedCell } from '@syncfusion/ej2-grids';import {ColumnModel as GridColumnModel, Column as GridColumn, CellSelectEventArgs, CellDeselectEventArgs } from '@syncfusion/ej2-grids';import { SelectionSettings } from '../models/selection-settings';import { SelectionSettingsModel } from '../models/selection-settings-model';import {getActualProperties, SortDirection, getObject, ColumnDragEventArgs } from '@syncfusion/ej2-grids';import { PrintMode, Data, IGrid, ContextMenuItemModel } from '@syncfusion/ej2-grids';import { ColumnMenuItem, ColumnMenuItemModel, CheckBoxChangeEventArgs } from '@syncfusion/ej2-grids';import { ExcelExportCompleteArgs, ExcelHeaderQueryCellInfoEventArgs, ExcelQueryCellInfoEventArgs } from '@syncfusion/ej2-grids';import { PdfExportCompleteArgs, PdfHeaderQueryCellInfoEventArgs, PdfQueryCellInfoEventArgs } from '@syncfusion/ej2-grids';import { ExcelExportProperties, PdfExportProperties, CellSelectingEventArgs, PrintEventArgs } from '@syncfusion/ej2-grids';import { ColumnMenuOpenEventArgs } from '@syncfusion/ej2-grids';import {BeforeDataBoundArgs} from '@syncfusion/ej2-grids';import { DataManager, ReturnOption, RemoteSaveAdaptor, Query, JsonAdaptor, Deferred } from '@syncfusion/ej2-data';import { createSpinner, hideSpinner, showSpinner, Dialog } from '@syncfusion/ej2-popups';import { isRemoteData, isOffline, extendArray, isCountRequired, findChildrenRecords } from '../utils';import { Grid, QueryCellInfoEventArgs, Logger } from '@syncfusion/ej2-grids';import { Render } from '../renderer/render';import { VirtualTreeContentRenderer } from '../renderer/virtual-tree-content-render';import { DataManipulation } from './data';import { RowDD } from '../actions/rowdragdrop';import { Sort } from '../actions/sort';import { ITreeData, RowExpandedEventArgs, RowCollapsedEventArgs, RowCollapsingEventArgs, TreeGridExcelExportProperties } from './interface';import { CellSaveEventArgs, DataStateChangeEventArgs, RowExpandingEventArgs, TreeGridPdfExportProperties } from './interface';import { iterateArrayOrObject, GridLine } from '@syncfusion/ej2-grids';import { DataSourceChangedEventArgs, RecordDoubleClickEventArgs, ResizeArgs } from '@syncfusion/ej2-grids';import { ToolbarItems, ToolbarItem, ContextMenuItem, ContextMenuItems, RowPosition, CopyHierarchyType } from '../enum';import { ItemModel, ClickEventArgs, BeforeOpenCloseMenuEventArgs, MenuEventArgs } from '@syncfusion/ej2-navigations';import { PageSettings } from '../models/page-settings';import { PageSettingsModel } from '../models/page-settings-model';import { AggregateRow } from '../models/summary';import { AggregateRowModel } from '../models/summary-model';import { ExcelExport } from '../actions/excel-export';import { PdfExport } from '../actions/pdf-export';import { Toolbar } from '../actions/toolbar';import { Page } from '../actions/page';import { ContextMenu } from '../actions/context-menu';import { EditSettings } from '../models/edit-settings';import { EditSettingsModel } from '../models/edit-settings-model';import { Edit} from '../actions/edit';import { SortSettings } from '../models/sort-settings';import { SortSettingsModel } from '../models/sort-settings-model';import { isHidden, getExpandStatus } from '../utils';import { editAction } from '../actions/crud-actions';import { InfiniteScrollSettings } from '../models/infinite-scroll-settings';import { InfiniteScrollSettingsModel } from '../models/infinite-scroll-settings-model';import { TreeActionEventArgs } from '..';
2
2
  import {ComponentModel} from '@syncfusion/ej2-base';
3
3
 
4
4
  /**
@@ -1534,12 +1534,6 @@ export declare class TreeGrid extends Component<HTMLElement> implements INotifyP
1534
1534
  */
1535
1535
  getColumns(isRefresh?: boolean): Column[];
1536
1536
  private updateColumnModel;
1537
- /**
1538
- * @param {string} columnUid - Defines column uid
1539
- * @returns {void}
1540
- * @hidden
1541
- */
1542
- private refreshReactColumnTemplateByUid;
1543
1537
  /**
1544
1538
  * Gets the content div of the TreeGrid.
1545
1539
  *
@@ -1701,6 +1695,7 @@ export declare class TreeGrid extends Component<HTMLElement> implements INotifyP
1701
1695
  * @returns {void}
1702
1696
  */
1703
1697
  collapseRow(row: HTMLTableRowElement, record?: Object, key?: Object): void;
1698
+ private updateExpandStateMapping;
1704
1699
  /**
1705
1700
  * Expands the records at specific hierarchical level
1706
1701
  *
@@ -21,7 +21,6 @@ import { Component, addClass, createElement, EventHandler, isNullOrUndefined, ex
21
21
  import { removeClass, Complex, Collection, getValue } from '@syncfusion/ej2-base';
22
22
  import { Event, Property, NotifyPropertyChanges, setValue, KeyboardEvents, L10n } from '@syncfusion/ej2-base';
23
23
  import { Column } from '../models/column';
24
- import { CellRenderer } from '@syncfusion/ej2-grids';
25
24
  import { RowDropSettings, getUid } from '@syncfusion/ej2-grids';
26
25
  import { FilterSettings } from '../models/filter-settings';
27
26
  import { TextWrapSettings } from '../models/textwrap-settings';
@@ -1943,10 +1942,13 @@ var TreeGrid = /** @class */ (function (_super) {
1943
1942
  rowData.parentUniqueID = record.parentUniqueID;
1944
1943
  rowData.expanded = record.expanded;
1945
1944
  this.grid.setRowData(key, rowData);
1946
- var table = this.getContentTable();
1947
- var sHeight = table.scrollHeight;
1948
- var clientHeight = this.getContent().clientHeight;
1949
- this.lastRowBorder(this.getRows()[record.index], sHeight <= clientHeight);
1945
+ var visibleRecords = this.getVisibleRecords();
1946
+ if (visibleRecords.length > 0 && key === (visibleRecords[visibleRecords.length - 1])[primaryKey]) {
1947
+ var table = this.getContentTable();
1948
+ var sHeight = table.scrollHeight;
1949
+ var clientHeight = this.getContent().clientHeight;
1950
+ this.lastRowBorder(this.getRows()[currentRecords.indexOf(record)], sHeight <= clientHeight);
1951
+ }
1950
1952
  };
1951
1953
  /**
1952
1954
  * Navigates to the specified target page.
@@ -2156,32 +2158,6 @@ var TreeGrid = /** @class */ (function (_super) {
2156
2158
  this[merge] = undefined; // Workaround for blazor updateModel
2157
2159
  return this.columnModel;
2158
2160
  };
2159
- /**
2160
- * @param {string} columnUid - Defines column uid
2161
- * @returns {void}
2162
- * @hidden
2163
- */
2164
- TreeGrid.prototype.refreshReactColumnTemplateByUid = function (columnUid) {
2165
- var _this = this;
2166
- if (this.isReact) {
2167
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
2168
- this.clearTemplate(['columnTemplate'], undefined, function () {
2169
- var cells = 'cells';
2170
- var rowIdx = 'index';
2171
- var rowsObj = _this.grid.getRowsObject();
2172
- var indent = _this.grid.getIndentCount();
2173
- var cellIndex = _this.grid.getNormalizedColumnIndex(columnUid);
2174
- for (var j = 0; j < rowsObj.length; j++) {
2175
- if (rowsObj[j].isDataRow && !isNullOrUndefined(rowsObj[j].index)) {
2176
- var cell = rowsObj[j][cells][cellIndex];
2177
- var cellRenderer = new CellRenderer(_this.grid, _this.grid.serviceLocator);
2178
- var td = _this.getCellFromIndex(rowsObj[j].index, cellIndex - indent);
2179
- cellRenderer.refreshTD(td, cell, rowsObj[j].data, { index: rowsObj[j][rowIdx] });
2180
- }
2181
- }
2182
- });
2183
- }
2184
- };
2185
2161
  /**
2186
2162
  * Gets the content div of the TreeGrid.
2187
2163
  *
@@ -2327,8 +2303,14 @@ var TreeGrid = /** @class */ (function (_super) {
2327
2303
  this.uniqueIDCollection = {};
2328
2304
  this.convertTreeData(this.dataSource);
2329
2305
  if (!isCountRequired(this)) {
2330
- this.grid.dataSource = !(this.dataSource instanceof DataManager) ? this.flatData :
2331
- new DataManager(this.dataSource.dataSource, this.dataSource.defaultQuery, this.dataSource.adaptor);
2306
+ if (!(this.dataSource instanceof DataManager)) {
2307
+ this.grid.dataSource = this.flatData;
2308
+ }
2309
+ else {
2310
+ this.grid.setProperties({
2311
+ dataSource: new DataManager(this.dataSource.dataSource, this.dataSource.defaultQuery, this.dataSource.adaptor)
2312
+ }, true);
2313
+ }
2332
2314
  }
2333
2315
  this.grid.refresh();
2334
2316
  };
@@ -2472,6 +2454,9 @@ var TreeGrid = /** @class */ (function (_super) {
2472
2454
  if (!(isRemoteData(_this) && !isOffline(_this)) && (!isCountRequired(_this) || !isNullOrUndefined(record[children]))) {
2473
2455
  var collapseArgs = { data: record, row: row };
2474
2456
  _this.setHeightForFrozenContent();
2457
+ if (!isNullOrUndefined(_this.expandStateMapping)) {
2458
+ _this.updateExpandStateMapping(collapseArgs.data, true);
2459
+ }
2475
2460
  _this.trigger(events.expanded, collapseArgs);
2476
2461
  }
2477
2462
  }
@@ -2534,6 +2519,9 @@ var TreeGrid = /** @class */ (function (_super) {
2534
2519
  var collapseArgs = { data: record, row: row };
2535
2520
  if (!isRemoteData(_this)) {
2536
2521
  _this.setHeightForFrozenContent();
2522
+ if (!isNullOrUndefined(_this.expandStateMapping)) {
2523
+ _this.updateExpandStateMapping(collapseArgs.data, false);
2524
+ }
2537
2525
  _this.trigger(events.collapsed, collapseArgs);
2538
2526
  if (_this.enableInfiniteScrolling) {
2539
2527
  var scrollHeight = _this.grid.getContent().firstElementChild.scrollHeight;
@@ -2546,6 +2534,19 @@ var TreeGrid = /** @class */ (function (_super) {
2546
2534
  }
2547
2535
  });
2548
2536
  };
2537
+ TreeGrid.prototype.updateExpandStateMapping = function (record, state) {
2538
+ var totalRecords = record;
2539
+ if (totalRecords.length) {
2540
+ for (var i = 0; i < totalRecords.length; i++) {
2541
+ totalRecords[i][this.expandStateMapping] = state;
2542
+ editAction({ value: totalRecords[i], action: 'edit' }, this, this.isSelfReference, totalRecords[i].index, this.grid.selectedRowIndex, this.expandStateMapping);
2543
+ }
2544
+ }
2545
+ else {
2546
+ record[this.expandStateMapping] = state;
2547
+ editAction({ value: record, action: 'edit' }, this, this.isSelfReference, record.index, this.grid.selectedRowIndex, this.expandStateMapping);
2548
+ }
2549
+ };
2549
2550
  /**
2550
2551
  * Expands the records at specific hierarchical level
2551
2552
  *
@@ -159,10 +159,6 @@
159
159
  width: 18px;
160
160
  }
161
161
 
162
- .e-bigger .e-treegrid .e-rowcell.e-treerowcell {
163
- padding-left: 5px;
164
- }
165
-
166
162
  .e-bigger .e-treegrid .e-hierarchycheckbox {
167
163
  padding-left: 2px;
168
164
  }
@@ -216,10 +212,6 @@
216
212
  color: #f0f0f0;
217
213
  }
218
214
 
219
- .e-treegrid .e-rowcell.e-treerowcell {
220
- padding-left: 5px;
221
- }
222
-
223
215
  .e-treegrid .e-rtl .e-treegridcollapse {
224
216
  transform: scale(-1);
225
217
  }
@@ -160,10 +160,6 @@
160
160
  width: 18px;
161
161
  }
162
162
 
163
- .e-bigger .e-treegrid .e-rowcell.e-treerowcell {
164
- padding-left: 5px;
165
- }
166
-
167
163
  .e-bigger .e-treegrid .e-hierarchycheckbox {
168
164
  padding-left: 2px;
169
165
  }
@@ -217,10 +213,6 @@
217
213
  color: #333;
218
214
  }
219
215
 
220
- .e-treegrid .e-rowcell.e-treerowcell {
221
- padding-left: 5px;
222
- }
223
-
224
216
  .e-treegrid .e-rtl .e-treegridcollapse {
225
217
  transform: scale(-1);
226
218
  }
@@ -200,10 +200,6 @@
200
200
  width: 16px;
201
201
  }
202
202
 
203
- .e-bigger .e-treegrid .e-rowcell.e-treerowcell {
204
- padding-left: 12px;
205
- }
206
-
207
203
  .e-bigger .e-treegrid .e-hierarchycheckbox {
208
204
  padding-left: 2px;
209
205
  }
@@ -254,10 +250,6 @@
254
250
  color: #343a40;
255
251
  }
256
252
 
257
- .e-treegrid .e-rowcell.e-treerowcell {
258
- padding-left: 9px;
259
- }
260
-
261
253
  .e-treegrid .e-rtl .e-treegridcollapse {
262
254
  transform: scale(-1);
263
255
  }
@@ -200,10 +200,6 @@
200
200
  width: 22px;
201
201
  }
202
202
 
203
- .e-bigger .e-treegrid .e-rowcell.e-treerowcell {
204
- padding-left: 7px;
205
- }
206
-
207
203
  .e-bigger .e-treegrid .e-hierarchycheckbox {
208
204
  padding-left: 2px;
209
205
  }
@@ -254,10 +250,6 @@
254
250
  color: #dee2e6;
255
251
  }
256
252
 
257
- .e-treegrid .e-rowcell.e-treerowcell {
258
- padding-left: 12px;
259
- }
260
-
261
253
  .e-treegrid .e-rtl .e-treegridcollapse {
262
254
  transform: scale(-1);
263
255
  }
@@ -200,10 +200,6 @@
200
200
  width: 22px;
201
201
  }
202
202
 
203
- .e-bigger .e-treegrid .e-rowcell.e-treerowcell {
204
- padding-left: 7px;
205
- }
206
-
207
203
  .e-bigger .e-treegrid .e-hierarchycheckbox {
208
204
  padding-left: 2px;
209
205
  }
@@ -254,10 +250,6 @@
254
250
  color: #343a40;
255
251
  }
256
252
 
257
- .e-treegrid .e-rowcell.e-treerowcell {
258
- padding-left: 12px;
259
- }
260
-
261
253
  .e-treegrid .e-rtl .e-treegridcollapse {
262
254
  transform: scale(-1);
263
255
  }
@@ -133,10 +133,6 @@
133
133
  width: 18px;
134
134
  }
135
135
 
136
- .e-bigger .e-treegrid .e-rowcell.e-treerowcell {
137
- padding-left: 9px;
138
- }
139
-
140
136
  .e-bigger .e-treegrid .e-hierarchycheckbox {
141
137
  padding-left: 2px;
142
138
  }
@@ -190,10 +186,6 @@
190
186
  color: #dadada;
191
187
  }
192
188
 
193
- .e-treegrid .e-rowcell.e-treerowcell {
194
- padding-left: 5px;
195
- }
196
-
197
189
  .e-treegrid .e-rtl .e-treegridcollapse {
198
190
  transform: scale(-1);
199
191
  }
package/styles/fabric.css CHANGED
@@ -126,10 +126,6 @@
126
126
  width: 18px;
127
127
  }
128
128
 
129
- .e-bigger .e-treegrid .e-rowcell.e-treerowcell {
130
- padding-left: 9px;
131
- }
132
-
133
129
  .e-bigger .e-treegrid .e-hierarchycheckbox {
134
130
  padding-left: 2px;
135
131
  }
@@ -183,10 +179,6 @@
183
179
  color: #333;
184
180
  }
185
181
 
186
- .e-treegrid .e-rowcell.e-treerowcell {
187
- padding-left: 5px;
188
- }
189
-
190
182
  .e-treegrid .e-rtl .e-treegridcollapse {
191
183
  transform: scale(-1);
192
184
  }
@@ -178,10 +178,6 @@
178
178
  width: 22px;
179
179
  }
180
180
 
181
- .e-bigger .e-treegrid .e-rowcell.e-treerowcell {
182
- padding-left: 7px;
183
- }
184
-
185
181
  .e-bigger .e-treegrid .e-hierarchycheckbox {
186
182
  padding-left: 2px;
187
183
  }
@@ -241,7 +237,7 @@
241
237
  color: #f3f2f1;
242
238
  }
243
239
 
244
- .e-treegrid .e-rowcell.e-treerowcell {
240
+ .e-treegrid .e-rowcell.e-treerowcell.e-treegridcheckbox {
245
241
  padding-left: 12px;
246
242
  }
247
243
 
package/styles/fluent.css CHANGED
@@ -178,10 +178,6 @@
178
178
  width: 22px;
179
179
  }
180
180
 
181
- .e-bigger .e-treegrid .e-rowcell.e-treerowcell {
182
- padding-left: 7px;
183
- }
184
-
185
181
  .e-bigger .e-treegrid .e-hierarchycheckbox {
186
182
  padding-left: 2px;
187
183
  }
@@ -241,7 +237,7 @@
241
237
  color: #323130;
242
238
  }
243
239
 
244
- .e-treegrid .e-rowcell.e-treerowcell {
240
+ .e-treegrid .e-rowcell.e-treerowcell.e-treegridcheckbox {
245
241
  padding-left: 12px;
246
242
  }
247
243
 
@@ -143,10 +143,6 @@
143
143
  width: 18px;
144
144
  }
145
145
 
146
- .e-bigger .e-treegrid .e-rowcell.e-treerowcell {
147
- padding-left: 9px;
148
- }
149
-
150
146
  .e-bigger .e-treegrid .e-hierarchycheckbox {
151
147
  padding-left: 2px;
152
148
  }
@@ -200,10 +196,6 @@
200
196
  color: #000;
201
197
  }
202
198
 
203
- .e-treegrid .e-rowcell.e-treerowcell {
204
- padding-left: 5px;
205
- }
206
-
207
199
  .e-treegrid .e-rtl .e-treegridcollapse {
208
200
  transform: scale(-1);
209
201
  }
@@ -143,10 +143,6 @@
143
143
  width: 18px;
144
144
  }
145
145
 
146
- .e-bigger .e-treegrid .e-rowcell.e-treerowcell {
147
- padding-left: 9px;
148
- }
149
-
150
146
  .e-bigger .e-treegrid .e-hierarchycheckbox {
151
147
  padding-left: 2px;
152
148
  }
@@ -200,10 +196,6 @@
200
196
  color: #fff;
201
197
  }
202
198
 
203
- .e-treegrid .e-rowcell.e-treerowcell {
204
- padding-left: 5px;
205
- }
206
-
207
199
  .e-treegrid .e-rtl .e-treegridcollapse {
208
200
  transform: scale(-1);
209
201
  }
@@ -169,10 +169,6 @@
169
169
  width: 18px;
170
170
  }
171
171
 
172
- .e-bigger .e-treegrid .e-rowcell.e-treerowcell {
173
- padding-left: 25px;
174
- }
175
-
176
172
  .e-bigger .e-treegrid .e-hierarchycheckbox {
177
173
  padding-left: 2px;
178
174
  }
@@ -223,10 +219,6 @@
223
219
  color: #fff;
224
220
  }
225
221
 
226
- .e-treegrid .e-rowcell.e-treerowcell {
227
- padding-left: 18px;
228
- }
229
-
230
222
  .e-treegrid .e-rtl .e-treegridcollapse {
231
223
  transform: scale(-1);
232
224
  }
@@ -204,10 +204,6 @@
204
204
  width: 18px;
205
205
  }
206
206
 
207
- .e-bigger .e-treegrid .e-rowcell.e-treerowcell {
208
- padding-left: 25px;
209
- }
210
-
211
207
  .e-bigger .e-treegrid .e-hierarchycheckbox {
212
208
  padding-left: 2px;
213
209
  }
@@ -258,10 +254,6 @@
258
254
  color: #000;
259
255
  }
260
256
 
261
- .e-treegrid .e-rowcell.e-treerowcell {
262
- padding-left: 18px;
263
- }
264
-
265
257
  .e-treegrid .e-rtl .e-treegridcollapse {
266
258
  transform: scale(-1);
267
259
  }
@@ -140,10 +140,6 @@
140
140
  width: 22px;
141
141
  }
142
142
 
143
- .e-bigger .e-treegrid .e-rowcell.e-treerowcell {
144
- padding-left: 7px;
145
- }
146
-
147
143
  .e-bigger .e-treegrid .e-hierarchycheckbox {
148
144
  padding-left: 2px;
149
145
  }
@@ -194,10 +190,6 @@
194
190
  color: #f3f4f6;
195
191
  }
196
192
 
197
- .e-treegrid .e-rowcell.e-treerowcell {
198
- padding-left: 12px;
199
- }
200
-
201
193
  .e-treegrid .e-rtl .e-treegridcollapse {
202
194
  transform: scale(-1);
203
195
  }