@syncfusion/ej2-treegrid 25.2.3 → 25.2.5

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 (53) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/ej2-treegrid.min.js +2 -2
  3. package/dist/ej2-treegrid.umd.min.js +2 -2
  4. package/dist/ej2-treegrid.umd.min.js.map +1 -1
  5. package/dist/es6/ej2-treegrid.es2015.js +55 -36
  6. package/dist/es6/ej2-treegrid.es2015.js.map +1 -1
  7. package/dist/es6/ej2-treegrid.es5.js +55 -36
  8. package/dist/es6/ej2-treegrid.es5.js.map +1 -1
  9. package/dist/global/ej2-treegrid.min.js +2 -2
  10. package/dist/global/ej2-treegrid.min.js.map +1 -1
  11. package/dist/global/index.d.ts +1 -1
  12. package/package.json +8 -8
  13. package/src/treegrid/actions/edit.js +1 -0
  14. package/src/treegrid/actions/excel-export.js +5 -0
  15. package/src/treegrid/actions/virtual-scroll.js +3 -7
  16. package/src/treegrid/base/treegrid-model.d.ts +1 -1
  17. package/src/treegrid/base/treegrid.js +38 -28
  18. package/src/treegrid/renderer/virtual-tree-content-render.js +9 -1
  19. package/styles/bootstrap-dark.css +3 -0
  20. package/styles/bootstrap.css +3 -0
  21. package/styles/bootstrap4.css +3 -0
  22. package/styles/bootstrap5-dark.css +3 -0
  23. package/styles/bootstrap5.css +3 -0
  24. package/styles/fabric-dark.css +3 -0
  25. package/styles/fabric.css +3 -0
  26. package/styles/fluent-dark.css +3 -0
  27. package/styles/fluent.css +3 -0
  28. package/styles/highcontrast-light.css +3 -0
  29. package/styles/highcontrast.css +3 -0
  30. package/styles/material-dark.css +3 -0
  31. package/styles/material.css +3 -0
  32. package/styles/material3-dark.css +3 -0
  33. package/styles/material3.css +3 -0
  34. package/styles/tailwind-dark.css +3 -0
  35. package/styles/tailwind.css +3 -0
  36. package/styles/treegrid/_layout.scss +5 -1
  37. package/styles/treegrid/bootstrap-dark.css +3 -0
  38. package/styles/treegrid/bootstrap.css +3 -0
  39. package/styles/treegrid/bootstrap4.css +3 -0
  40. package/styles/treegrid/bootstrap5-dark.css +3 -0
  41. package/styles/treegrid/bootstrap5.css +3 -0
  42. package/styles/treegrid/fabric-dark.css +3 -0
  43. package/styles/treegrid/fabric.css +3 -0
  44. package/styles/treegrid/fluent-dark.css +3 -0
  45. package/styles/treegrid/fluent.css +3 -0
  46. package/styles/treegrid/highcontrast-light.css +3 -0
  47. package/styles/treegrid/highcontrast.css +3 -0
  48. package/styles/treegrid/material-dark.css +3 -0
  49. package/styles/treegrid/material.css +3 -0
  50. package/styles/treegrid/material3-dark.css +3 -0
  51. package/styles/treegrid/material3.css +3 -0
  52. package/styles/treegrid/tailwind-dark.css +3 -0
  53. package/styles/treegrid/tailwind.css +3 -0
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 25.2.3
3
+ * version : 25.2.5
4
4
  * Copyright Syncfusion Inc. 2001 - 2023. 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@25.1.42",
3
+ "_id": "@syncfusion/ej2-treegrid@25.2.4",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-SV8Wnkh4Mnz5cl4WjFBdeFCVAC+lCkYxEeL2mQBzRtoO1FWj9UGmAq+4f5iJUppl/Jl1MRNPgL4SuBCUju2Dfw==",
5
+ "_integrity": "sha512-8QscTDpc0SKK12xtkX3zNH48foIkUAV+3jSuMFNCKn5fTnqeBDjWrnYKEr5Bw53z5xgFhqMijx+GuqhSh5eOmA==",
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": "https://nexus.syncfusioninternal.com/repository/ej2-hotfix-new/@syncfusion/ej2-treegrid/-/ej2-treegrid-25.1.42.tgz",
28
- "_shasum": "4745873d8d64cc109146d7b3e6f0012adaa7e676",
27
+ "_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-hotfix-new/@syncfusion/ej2-treegrid/-/ej2-treegrid-25.2.4.tgz",
28
+ "_shasum": "0e5afb29737f441a377420231b89444e32ef78c6",
29
29
  "_spec": "@syncfusion/ej2-treegrid@*",
30
30
  "_where": "/jenkins/workspace/elease-automation_release_25.1.1/packages/included",
31
31
  "author": {
@@ -36,10 +36,10 @@
36
36
  },
37
37
  "bundleDependencies": false,
38
38
  "dependencies": {
39
- "@syncfusion/ej2-base": "~25.2.3",
39
+ "@syncfusion/ej2-base": "~25.2.5",
40
40
  "@syncfusion/ej2-data": "~25.2.3",
41
- "@syncfusion/ej2-grids": "~25.2.3",
42
- "@syncfusion/ej2-popups": "~25.2.3"
41
+ "@syncfusion/ej2-grids": "~25.2.5",
42
+ "@syncfusion/ej2-popups": "~25.2.4"
43
43
  },
44
44
  "deprecated": false,
45
45
  "description": "Essential JS 2 TreeGrid Component",
@@ -66,6 +66,6 @@
66
66
  "url": "git+https://github.com/syncfusion/ej2-treegrid.git"
67
67
  },
68
68
  "typings": "index.d.ts",
69
- "version": "25.2.3",
69
+ "version": "25.2.5",
70
70
  "sideEffects": false
71
71
  }
@@ -933,6 +933,7 @@ var Edit = /** @class */ (function () {
933
933
  args.index = position === 'before' ? index : index + 1;
934
934
  }
935
935
  if (this.parent.editSettings.newRowPosition === 'Bottom') {
936
+ level = 0;
936
937
  var dataSource = (this.parent.grid.dataSource instanceof DataManager ?
937
938
  this.parent.grid.dataSource.dataSource.json : this.parent.grid.dataSource);
938
939
  args.index = dataSource.length;
@@ -76,12 +76,17 @@ var ExcelExport = /** @class */ (function () {
76
76
  if (!isNullOrUndefined(excelExportProperties)) {
77
77
  this.isCollapsedStatePersist = excelExportProperties.isCollapsedStatePersist;
78
78
  }
79
+ if (!isNullOrUndefined(excelExportProperties) && !isNullOrUndefined(excelExportProperties.dataSource)
80
+ && !isNullOrUndefined(excelExportProperties.dataSource instanceof DataManager)) {
81
+ return this.parent.grid.excelExportModule.Map(this.parent.grid, excelExportProperties, isMultipleExport, workbook, isCsv, isBlob);
82
+ }
79
83
  return new Promise(function (resolve) {
80
84
  var dm = _this.isLocal() && !(dataSource instanceof DataManager) ? new DataManager(dataSource)
81
85
  : _this.parent.dataSource;
82
86
  var query = new Query();
83
87
  if (!_this.isLocal()) {
84
88
  query = _this.generateQuery(query);
89
+ query.queries = _this.parent.grid.getDataModule().generateQuery().queries;
85
90
  setValue('query', query, property);
86
91
  }
87
92
  _this.parent.trigger(event.beforeExcelExport, extend(property, excelExportProperties));
@@ -126,15 +126,11 @@ var VirtualScroll = /** @class */ (function () {
126
126
  this.parent.grid.notify(events.virtualActionArgs, { setTop: true });
127
127
  }
128
128
  if ((requestType === 'save' && pageingDetails.actionArgs.index >= (counts.count - this.parent.grid.pageSettings.pageSize)) || (requestType === 'refresh' && this.parent['isGantt'] && this.parent['isAddedFromGantt'])) {
129
- var modifiedStartIndex = counts.startIndex + (counts.count - counts.endIndex);
130
- if (counts.count - counts.startIndex <= this.parent.grid.pageSettings.pageSize) {
131
- startIndex = modifiedStartIndex;
129
+ if ((counts.endIndex + this.parent.pageSettings.pageSize >= counts.count && (this.parent.root && counts.count - counts.endIndex === this.visualData.length - this.parent.root['previousFlatData'].length))
130
+ || !(this.parent['isGantt'] && this.parent['isAddedFromGantt'])) {
131
+ startIndex = counts.startIndex + (counts.count - counts.endIndex);
132
132
  endIndex = counts.count;
133
133
  }
134
- else {
135
- startIndex = counts.startIndex;
136
- endIndex = counts.endIndex;
137
- }
138
134
  this.parent['isAddedFromGantt'] = false;
139
135
  }
140
136
  //if ((this.prevendIndex !== -1 && this.prevstartIndex !== -1) &&
@@ -1,4 +1,4 @@
1
- import { Component, addClass, createElement, EventHandler, isNullOrUndefined, Fetch, ModuleDeclaration, extend, merge, SanitizeHtmlHelper} from '@syncfusion/ej2-base';import { removeClass, EmitType, Complex, Collection, KeyboardEventArgs, getValue, NumberFormatOptions, DateFormatOptions } 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, getNumberFormat } from '@syncfusion/ej2-grids';import { GridModel, ColumnQueryModeType, HeaderCellInfoEventArgs, EditSettingsModel as GridEditModel } from '@syncfusion/ej2-grids';import { RowDragEventArgs, RowDropEventArgs, RowDropSettingsModel, RowDropSettings, getUid, parentsUntil } from '@syncfusion/ej2-grids';import { LoadingIndicator } from '../models/loading-indicator';import { LoadingIndicatorModel } from '../models/loading-indicator-model';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, RowDeselectingEventArgs, 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, UrlAdaptor } 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 { 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 '..';import * as literals from '../base/constant';
1
+ import { Component, addClass, createElement, EventHandler, isNullOrUndefined, Fetch, ModuleDeclaration, extend, merge, SanitizeHtmlHelper} from '@syncfusion/ej2-base';import { removeClass, EmitType, Complex, Collection, KeyboardEventArgs, getValue, NumberFormatOptions, DateFormatOptions } 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, getNumberFormat } from '@syncfusion/ej2-grids';import { GridModel, ColumnQueryModeType, HeaderCellInfoEventArgs, EditSettingsModel as GridEditModel, Freeze as FreezeColumn } from '@syncfusion/ej2-grids';import { RowDragEventArgs, RowDropEventArgs, RowDropSettingsModel, RowDropSettings, getUid, parentsUntil } from '@syncfusion/ej2-grids';import { LoadingIndicator } from '../models/loading-indicator';import { LoadingIndicatorModel } from '../models/loading-indicator-model';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, RowDeselectingEventArgs, 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, UrlAdaptor } 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 { 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 '..';import * as literals from '../base/constant';
2
2
  import {ComponentModel} from '@syncfusion/ej2-base';
3
3
 
4
4
  /**
@@ -22,6 +22,7 @@ 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
24
  import { getNumberFormat } from '@syncfusion/ej2-grids';
25
+ import { Freeze as FreezeColumn } from '@syncfusion/ej2-grids';
25
26
  import { RowDropSettings, getUid } from '@syncfusion/ej2-grids';
26
27
  import { LoadingIndicator } from '../models/loading-indicator';
27
28
  import { FilterSettings } from '../models/filter-settings';
@@ -102,6 +103,11 @@ var TreeGrid = /** @class */ (function (_super) {
102
103
  if (!isNullOrUndefined(_this.injectedModules["" + logger])) {
103
104
  Grid.Inject(Logger);
104
105
  }
106
+ var freezeModulePresent = _this.injectedModules.filter(function (e) {
107
+ if (e.prototype.getModuleName() === 'freeze') {
108
+ Grid.Inject(FreezeColumn);
109
+ }
110
+ });
105
111
  _this.grid = new Grid();
106
112
  return _this;
107
113
  }
@@ -418,19 +424,21 @@ var TreeGrid = /** @class */ (function (_super) {
418
424
  if (!this.enableVirtualization) {
419
425
  target = e.target;
420
426
  parentTarget = target.parentElement;
421
- var cellIndex = parentTarget.cellIndex;
422
- if (this.grid.getColumnByIndex(cellIndex).editType === 'dropdownedit' && isNullOrUndefined(this.grid.getColumnByIndex(cellIndex).edit['obj'])) {
423
- parentTarget = target;
424
- }
425
- summaryElement = this.findnextRowElement(parentTarget);
426
- if (summaryElement !== null) {
427
- var cellIndex_1 = e.target.cellIndex;
428
- var row_1 = summaryElement.children[parseInt(cellIndex_1.toString(), 10)];
429
- addClass([row_1], 'e-focused');
430
- addClass([row_1], 'e-focus');
431
- }
432
- else {
433
- this.clearSelection();
427
+ if (!isNullOrUndefined(parentTarget)) {
428
+ var cellIndex = parentTarget.cellIndex;
429
+ if (this.grid.getColumnByIndex(cellIndex).editType === 'dropdownedit' && isNullOrUndefined(this.grid.getColumnByIndex(cellIndex).edit['obj'])) {
430
+ parentTarget = target;
431
+ }
432
+ summaryElement = this.findnextRowElement(parentTarget);
433
+ if (summaryElement !== null) {
434
+ var cellIndex_1 = e.target.cellIndex;
435
+ var row_1 = summaryElement.children[parseInt(cellIndex_1.toString(), 10)];
436
+ addClass([row_1], 'e-focused');
437
+ addClass([row_1], 'e-focus');
438
+ }
439
+ else {
440
+ this.clearSelection();
441
+ }
434
442
  }
435
443
  }
436
444
  break;
@@ -438,19 +446,21 @@ var TreeGrid = /** @class */ (function (_super) {
438
446
  if (!this.enableVirtualization) {
439
447
  target = e.target;
440
448
  parentTarget = target.parentElement;
441
- var cellIndex = parentTarget.cellIndex;
442
- if (this.grid.getColumnByIndex(cellIndex).editType === 'dropdownedit' && isNullOrUndefined(this.grid.getColumnByIndex(cellIndex).edit['obj'])) {
443
- parentTarget = target;
444
- }
445
- summaryElement = this.findPreviousRowElement(parentTarget);
446
- if (summaryElement !== null) {
447
- var cIndex = e.target.cellIndex;
448
- var rows = summaryElement.children[parseInt(cIndex.toString(), 10)];
449
- addClass([rows], 'e-focused');
450
- addClass([rows], 'e-focus');
451
- }
452
- else {
453
- this.clearSelection();
449
+ if (!isNullOrUndefined(parentTarget)) {
450
+ var cellIndex = parentTarget.cellIndex;
451
+ if (this.grid.getColumnByIndex(cellIndex).editType === 'dropdownedit' && isNullOrUndefined(this.grid.getColumnByIndex(cellIndex).edit['obj'])) {
452
+ parentTarget = target;
453
+ }
454
+ summaryElement = this.findPreviousRowElement(parentTarget);
455
+ if (summaryElement !== null) {
456
+ var cIndex = e.target.cellIndex;
457
+ var rows = summaryElement.children[parseInt(cIndex.toString(), 10)];
458
+ addClass([rows], 'e-focused');
459
+ addClass([rows], 'e-focus');
460
+ }
461
+ else {
462
+ this.clearSelection();
463
+ }
454
464
  }
455
465
  }
456
466
  }
@@ -2805,7 +2815,7 @@ var TreeGrid = /** @class */ (function (_super) {
2805
2815
  if (!this.isExpandingEventTriggered) {
2806
2816
  this.trigger(events.expanding, args, function (expandingArgs) {
2807
2817
  _this.expandAllPrevent = expandingArgs.cancel;
2808
- if (!expandingArgs.cancel) {
2818
+ if (!expandingArgs.cancel && !isNullOrUndefined(record)) {
2809
2819
  if (expandingArgs.expandAll) {
2810
2820
  _this.expandCollapseAllChildren(record, 'expand', key, level);
2811
2821
  }
@@ -2931,7 +2941,7 @@ var TreeGrid = /** @class */ (function (_super) {
2931
2941
  else if (!this.isCollapseAll || (this.isCollapseAll && isRemoteData(this))) {
2932
2942
  var args = { data: record, row: row, cancel: false };
2933
2943
  this.trigger(events.collapsing, args, function (collapsingArgs) {
2934
- if (!collapsingArgs.cancel) {
2944
+ if (!collapsingArgs.cancel && !isNullOrUndefined(record)) {
2935
2945
  _this.collapseRows(row, record, parentRec, key);
2936
2946
  }
2937
2947
  });
@@ -427,7 +427,12 @@ var VirtualTreeContentRenderer = /** @class */ (function (_super) {
427
427
  }
428
428
  if (firsttdinx === 0) {
429
429
  this.translateY = (scrollArgs.offset.top - (outBuffer * rowHeight) > 0) ?
430
- scrollArgs.offset.top - (outBuffer * this.parent.getRowHeight()) + 10 : 0;
430
+ scrollArgs.offset.top - (outBuffer * this.parent.getRowHeight()) + rowHeight : 0;
431
+ }
432
+ else if (this.parent.getFrozenColumns() > 0) {
433
+ scrollArgs.offset.top = scrollArgs.offset.top + 80;
434
+ this.translateY = (scrollArgs.offset.top - (outBuffer * rowHeight) > 0) ?
435
+ scrollArgs.offset.top - (outBuffer * rowHeight) + 10 : 0;
431
436
  }
432
437
  else {
433
438
  this.translateY = (scrollArgs.offset.top - (outBuffer * rowHeight) > 0) ?
@@ -467,6 +472,9 @@ var VirtualTreeContentRenderer = /** @class */ (function (_super) {
467
472
  if (this.parent.allowRowDragAndDrop) {
468
473
  this.translateY = scrollArgs.offset.top - rowHeight * 2;
469
474
  }
475
+ else if (this.parent.getFrozenColumns() > 0) {
476
+ this.translateY = scrollArgs.offset.top - ((rowHeight * 2) + this.parent.pageSettings.pageSize);
477
+ }
470
478
  else {
471
479
  this.translateY = scrollArgs.offset.top;
472
480
  }
@@ -222,6 +222,9 @@
222
222
  display: inline-block;
223
223
  vertical-align: middle;
224
224
  }
225
+ .e-treegrid .e-cloneproperties .e-treecolumn-container span {
226
+ vertical-align: text-top;
227
+ }
225
228
  .e-treegrid .e-hierarchycheckbox .e-frame {
226
229
  height: 20px;
227
230
  width: 20px;
@@ -226,6 +226,9 @@
226
226
  display: inline-block;
227
227
  vertical-align: middle;
228
228
  }
229
+ .e-treegrid .e-cloneproperties .e-treecolumn-container span {
230
+ vertical-align: text-top;
231
+ }
229
232
  .e-treegrid .e-hierarchycheckbox .e-frame {
230
233
  font-size: 10px;
231
234
  height: 16px;
@@ -275,6 +275,9 @@
275
275
  display: inline-block;
276
276
  vertical-align: middle;
277
277
  }
278
+ .e-treegrid .e-cloneproperties .e-treecolumn-container span {
279
+ vertical-align: text-top;
280
+ }
278
281
  .e-treegrid .e-hierarchycheckbox .e-frame {
279
282
  height: 14px;
280
283
  width: 14px;
@@ -265,6 +265,9 @@
265
265
  display: inline-block;
266
266
  vertical-align: middle;
267
267
  }
268
+ .e-treegrid .e-cloneproperties .e-treecolumn-container span {
269
+ vertical-align: text-top;
270
+ }
268
271
  .e-treegrid .e-hierarchycheckbox .e-frame {
269
272
  height: 14px;
270
273
  width: 14px;
@@ -265,6 +265,9 @@
265
265
  display: inline-block;
266
266
  vertical-align: middle;
267
267
  }
268
+ .e-treegrid .e-cloneproperties .e-treecolumn-container span {
269
+ vertical-align: text-top;
270
+ }
268
271
  .e-treegrid .e-hierarchycheckbox .e-frame {
269
272
  height: 14px;
270
273
  width: 14px;
@@ -201,6 +201,9 @@
201
201
  display: inline-block;
202
202
  vertical-align: middle;
203
203
  }
204
+ .e-treegrid .e-cloneproperties .e-treecolumn-container span {
205
+ vertical-align: text-top;
206
+ }
204
207
  .e-treegrid .e-hierarchycheckbox .e-frame {
205
208
  font-size: 10px;
206
209
  height: 16px;
package/styles/fabric.css CHANGED
@@ -194,6 +194,9 @@
194
194
  display: inline-block;
195
195
  vertical-align: middle;
196
196
  }
197
+ .e-treegrid .e-cloneproperties .e-treecolumn-container span {
198
+ vertical-align: text-top;
199
+ }
197
200
  .e-treegrid .e-hierarchycheckbox .e-frame {
198
201
  font-size: 10px;
199
202
  height: 16px;
@@ -259,6 +259,9 @@
259
259
  display: inline-block;
260
260
  vertical-align: middle;
261
261
  }
262
+ .e-treegrid .e-cloneproperties .e-treecolumn-container span {
263
+ vertical-align: text-top;
264
+ }
262
265
  .e-treegrid .e-hierarchycheckbox .e-frame {
263
266
  font-size: 10px;
264
267
  height: 16px;
package/styles/fluent.css CHANGED
@@ -259,6 +259,9 @@
259
259
  display: inline-block;
260
260
  vertical-align: middle;
261
261
  }
262
+ .e-treegrid .e-cloneproperties .e-treecolumn-container span {
263
+ vertical-align: text-top;
264
+ }
262
265
  .e-treegrid .e-hierarchycheckbox .e-frame {
263
266
  font-size: 10px;
264
267
  height: 16px;
@@ -195,6 +195,9 @@
195
195
  display: inline-block;
196
196
  vertical-align: middle;
197
197
  }
198
+ .e-treegrid .e-cloneproperties .e-treecolumn-container span {
199
+ vertical-align: text-top;
200
+ }
198
201
  .e-treegrid .e-hierarchycheckbox .e-frame {
199
202
  height: 20px;
200
203
  width: 20px;
@@ -198,6 +198,9 @@
198
198
  display: inline-block;
199
199
  vertical-align: middle;
200
200
  }
201
+ .e-treegrid .e-cloneproperties .e-treecolumn-container span {
202
+ vertical-align: text-top;
203
+ }
201
204
  .e-treegrid .e-hierarchycheckbox .e-frame {
202
205
  font-size: 10px;
203
206
  height: 16px;
@@ -238,6 +238,9 @@
238
238
  display: inline-block;
239
239
  vertical-align: middle;
240
240
  }
241
+ .e-treegrid .e-cloneproperties .e-treecolumn-container span {
242
+ vertical-align: text-top;
243
+ }
241
244
  .e-treegrid .e-hierarchycheckbox .e-frame {
242
245
  height: 18px;
243
246
  width: 18px;
@@ -272,6 +272,9 @@
272
272
  display: inline-block;
273
273
  vertical-align: middle;
274
274
  }
275
+ .e-treegrid .e-cloneproperties .e-treecolumn-container span {
276
+ vertical-align: text-top;
277
+ }
275
278
  .e-treegrid .e-hierarchycheckbox .e-frame {
276
279
  height: 18px;
277
280
  width: 18px;
@@ -329,6 +329,9 @@
329
329
  display: inline-block;
330
330
  vertical-align: middle;
331
331
  }
332
+ .e-treegrid .e-cloneproperties .e-treecolumn-container span {
333
+ vertical-align: text-top;
334
+ }
332
335
  .e-treegrid .e-hierarchycheckbox .e-frame {
333
336
  height: 14px;
334
337
  width: 14px;
@@ -385,6 +385,9 @@
385
385
  display: inline-block;
386
386
  vertical-align: middle;
387
387
  }
388
+ .e-treegrid .e-cloneproperties .e-treecolumn-container span {
389
+ vertical-align: text-top;
390
+ }
388
391
  .e-treegrid .e-hierarchycheckbox .e-frame {
389
392
  height: 14px;
390
393
  width: 14px;
@@ -211,6 +211,9 @@
211
211
  display: inline-block;
212
212
  vertical-align: middle;
213
213
  }
214
+ .e-treegrid .e-cloneproperties .e-treecolumn-container span {
215
+ vertical-align: text-top;
216
+ }
214
217
  .e-treegrid .e-hierarchycheckbox .e-frame {
215
218
  height: 16px;
216
219
  width: 16px;
@@ -211,6 +211,9 @@
211
211
  display: inline-block;
212
212
  vertical-align: middle;
213
213
  }
214
+ .e-treegrid .e-cloneproperties .e-treecolumn-container span {
215
+ vertical-align: text-top;
216
+ }
214
217
  .e-treegrid .e-hierarchycheckbox .e-frame {
215
218
  height: 16px;
216
219
  width: 16px;
@@ -135,7 +135,11 @@
135
135
  vertical-align: middle;
136
136
  }
137
137
  }
138
-
138
+ .e-cloneproperties .e-treecolumn-container {
139
+ span {
140
+ vertical-align: text-top;
141
+ }
142
+ }
139
143
  .e-hierarchycheckbox .e-frame {
140
144
  @if $skin-name == 'bootstrap' or $skin-name == 'boostrap-dark' or $skin-name == 'fabric-dark' or $skin-name == 'fabric' or $skin-name == 'highcontrast' or $skin-name == 'FluentUI' or $theme-name == 'fluentui-dark' {
141
145
  font-size: 10px;
@@ -222,6 +222,9 @@
222
222
  display: inline-block;
223
223
  vertical-align: middle;
224
224
  }
225
+ .e-treegrid .e-cloneproperties .e-treecolumn-container span {
226
+ vertical-align: text-top;
227
+ }
225
228
  .e-treegrid .e-hierarchycheckbox .e-frame {
226
229
  height: 20px;
227
230
  width: 20px;
@@ -226,6 +226,9 @@
226
226
  display: inline-block;
227
227
  vertical-align: middle;
228
228
  }
229
+ .e-treegrid .e-cloneproperties .e-treecolumn-container span {
230
+ vertical-align: text-top;
231
+ }
229
232
  .e-treegrid .e-hierarchycheckbox .e-frame {
230
233
  font-size: 10px;
231
234
  height: 16px;
@@ -275,6 +275,9 @@
275
275
  display: inline-block;
276
276
  vertical-align: middle;
277
277
  }
278
+ .e-treegrid .e-cloneproperties .e-treecolumn-container span {
279
+ vertical-align: text-top;
280
+ }
278
281
  .e-treegrid .e-hierarchycheckbox .e-frame {
279
282
  height: 14px;
280
283
  width: 14px;
@@ -265,6 +265,9 @@
265
265
  display: inline-block;
266
266
  vertical-align: middle;
267
267
  }
268
+ .e-treegrid .e-cloneproperties .e-treecolumn-container span {
269
+ vertical-align: text-top;
270
+ }
268
271
  .e-treegrid .e-hierarchycheckbox .e-frame {
269
272
  height: 14px;
270
273
  width: 14px;
@@ -265,6 +265,9 @@
265
265
  display: inline-block;
266
266
  vertical-align: middle;
267
267
  }
268
+ .e-treegrid .e-cloneproperties .e-treecolumn-container span {
269
+ vertical-align: text-top;
270
+ }
268
271
  .e-treegrid .e-hierarchycheckbox .e-frame {
269
272
  height: 14px;
270
273
  width: 14px;
@@ -201,6 +201,9 @@
201
201
  display: inline-block;
202
202
  vertical-align: middle;
203
203
  }
204
+ .e-treegrid .e-cloneproperties .e-treecolumn-container span {
205
+ vertical-align: text-top;
206
+ }
204
207
  .e-treegrid .e-hierarchycheckbox .e-frame {
205
208
  font-size: 10px;
206
209
  height: 16px;
@@ -194,6 +194,9 @@
194
194
  display: inline-block;
195
195
  vertical-align: middle;
196
196
  }
197
+ .e-treegrid .e-cloneproperties .e-treecolumn-container span {
198
+ vertical-align: text-top;
199
+ }
197
200
  .e-treegrid .e-hierarchycheckbox .e-frame {
198
201
  font-size: 10px;
199
202
  height: 16px;
@@ -259,6 +259,9 @@
259
259
  display: inline-block;
260
260
  vertical-align: middle;
261
261
  }
262
+ .e-treegrid .e-cloneproperties .e-treecolumn-container span {
263
+ vertical-align: text-top;
264
+ }
262
265
  .e-treegrid .e-hierarchycheckbox .e-frame {
263
266
  font-size: 10px;
264
267
  height: 16px;
@@ -259,6 +259,9 @@
259
259
  display: inline-block;
260
260
  vertical-align: middle;
261
261
  }
262
+ .e-treegrid .e-cloneproperties .e-treecolumn-container span {
263
+ vertical-align: text-top;
264
+ }
262
265
  .e-treegrid .e-hierarchycheckbox .e-frame {
263
266
  font-size: 10px;
264
267
  height: 16px;
@@ -195,6 +195,9 @@
195
195
  display: inline-block;
196
196
  vertical-align: middle;
197
197
  }
198
+ .e-treegrid .e-cloneproperties .e-treecolumn-container span {
199
+ vertical-align: text-top;
200
+ }
198
201
  .e-treegrid .e-hierarchycheckbox .e-frame {
199
202
  height: 20px;
200
203
  width: 20px;
@@ -198,6 +198,9 @@
198
198
  display: inline-block;
199
199
  vertical-align: middle;
200
200
  }
201
+ .e-treegrid .e-cloneproperties .e-treecolumn-container span {
202
+ vertical-align: text-top;
203
+ }
201
204
  .e-treegrid .e-hierarchycheckbox .e-frame {
202
205
  font-size: 10px;
203
206
  height: 16px;
@@ -238,6 +238,9 @@
238
238
  display: inline-block;
239
239
  vertical-align: middle;
240
240
  }
241
+ .e-treegrid .e-cloneproperties .e-treecolumn-container span {
242
+ vertical-align: text-top;
243
+ }
241
244
  .e-treegrid .e-hierarchycheckbox .e-frame {
242
245
  height: 18px;
243
246
  width: 18px;
@@ -272,6 +272,9 @@
272
272
  display: inline-block;
273
273
  vertical-align: middle;
274
274
  }
275
+ .e-treegrid .e-cloneproperties .e-treecolumn-container span {
276
+ vertical-align: text-top;
277
+ }
275
278
  .e-treegrid .e-hierarchycheckbox .e-frame {
276
279
  height: 18px;
277
280
  width: 18px;
@@ -329,6 +329,9 @@
329
329
  display: inline-block;
330
330
  vertical-align: middle;
331
331
  }
332
+ .e-treegrid .e-cloneproperties .e-treecolumn-container span {
333
+ vertical-align: text-top;
334
+ }
332
335
  .e-treegrid .e-hierarchycheckbox .e-frame {
333
336
  height: 14px;
334
337
  width: 14px;