@syncfusion/ej2-treegrid 24.2.9 → 25.1.35

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 (55) hide show
  1. package/CHANGELOG.md +2 -61
  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 +79 -54
  6. package/dist/es6/ej2-treegrid.es2015.js.map +1 -1
  7. package/dist/es6/ej2-treegrid.es5.js +79 -54
  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 +10 -10
  13. package/src/treegrid/actions/summary.js +1 -7
  14. package/src/treegrid/actions/virtual-scroll.js +10 -4
  15. package/src/treegrid/base/treegrid-model.d.ts +3 -3
  16. package/src/treegrid/base/treegrid.d.ts +2 -3
  17. package/src/treegrid/base/treegrid.js +64 -43
  18. package/src/treegrid/renderer/virtual-row-model-generator.js +4 -2
  19. package/styles/bootstrap-dark.css +8 -0
  20. package/styles/bootstrap.css +8 -0
  21. package/styles/bootstrap4.css +8 -0
  22. package/styles/bootstrap5-dark.css +8 -0
  23. package/styles/bootstrap5.css +8 -0
  24. package/styles/fabric-dark.css +8 -0
  25. package/styles/fabric.css +8 -0
  26. package/styles/fluent-dark.css +8 -0
  27. package/styles/fluent.css +8 -0
  28. package/styles/highcontrast-light.css +8 -0
  29. package/styles/highcontrast.css +8 -0
  30. package/styles/material-dark.css +8 -0
  31. package/styles/material.css +8 -0
  32. package/styles/material3-dark.css +8 -0
  33. package/styles/material3.css +8 -0
  34. package/styles/tailwind-dark.css +8 -0
  35. package/styles/tailwind.css +8 -0
  36. package/styles/treegrid/_bds-definition.scss +28 -0
  37. package/styles/treegrid/_layout.scss +9 -1
  38. package/styles/treegrid/bootstrap-dark.css +8 -0
  39. package/styles/treegrid/bootstrap.css +8 -0
  40. package/styles/treegrid/bootstrap4.css +8 -0
  41. package/styles/treegrid/bootstrap5-dark.css +8 -0
  42. package/styles/treegrid/bootstrap5.css +8 -0
  43. package/styles/treegrid/fabric-dark.css +8 -0
  44. package/styles/treegrid/fabric.css +8 -0
  45. package/styles/treegrid/fluent-dark.css +8 -0
  46. package/styles/treegrid/fluent.css +8 -0
  47. package/styles/treegrid/highcontrast-light.css +8 -0
  48. package/styles/treegrid/highcontrast.css +8 -0
  49. package/styles/treegrid/icons/_bds.scss +37 -0
  50. package/styles/treegrid/material-dark.css +8 -0
  51. package/styles/treegrid/material.css +8 -0
  52. package/styles/treegrid/material3-dark.css +8 -0
  53. package/styles/treegrid/material3.css +8 -0
  54. package/styles/treegrid/tailwind-dark.css +8 -0
  55. package/styles/treegrid/tailwind.css +8 -0
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 24.2.9
3
+ * version : 25.1.35
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@24.2.8",
3
+ "_id": "@syncfusion/ej2-treegrid@20.12.1",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-FszUjBBJdywxw3DyIgp+wHsJ93z8G+CKd9f0VUaqkeySW/yRRtKVBGB0RJ7snJaMyc/uxIApPaAtY5CquNdLfw==",
5
+ "_integrity": "sha512-F833twyGGqQ5dieEzzXNBDedL8qGf12rSpYe9UWtvj0Tsc4UIdaJZMAuOlqPIBpBAMBjTLLKRkr7hRc6VAXAfA==",
6
6
  "_location": "/@syncfusion/ej2-treegrid",
7
7
  "_phantomChildren": {},
8
8
  "_requested": {
@@ -24,10 +24,10 @@
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-24.2.8.tgz",
28
- "_shasum": "bfa805b7271215c1d2d53c303953de8b7186e779",
27
+ "_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-release/@syncfusion/ej2-treegrid/-/ej2-treegrid-20.12.1.tgz",
28
+ "_shasum": "7fcd4cdcf02c5c0813d3e920096ac8d3379004c4",
29
29
  "_spec": "@syncfusion/ej2-treegrid@*",
30
- "_where": "/jenkins/workspace/elease-automation_release_24.1.1/packages/included",
30
+ "_where": "/jenkins/workspace/elease-automation_release_25.1.1/packages/included",
31
31
  "author": {
32
32
  "name": "Syncfusion Inc."
33
33
  },
@@ -36,10 +36,10 @@
36
36
  },
37
37
  "bundleDependencies": false,
38
38
  "dependencies": {
39
- "@syncfusion/ej2-base": "~24.2.7",
40
- "@syncfusion/ej2-data": "~24.2.3",
41
- "@syncfusion/ej2-grids": "~24.2.9",
42
- "@syncfusion/ej2-popups": "~24.2.9"
39
+ "@syncfusion/ej2-base": "~25.1.35",
40
+ "@syncfusion/ej2-data": "~25.1.35",
41
+ "@syncfusion/ej2-grids": "~25.1.35",
42
+ "@syncfusion/ej2-popups": "~25.1.35"
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": "24.2.9",
69
+ "version": "25.1.35",
70
70
  "sideEffects": false
71
71
  }
@@ -2,7 +2,6 @@ import { Query, DataManager } from '@syncfusion/ej2-data';
2
2
  import { getObject, calculateAggregate, Aggregate as GridAggregate, Grid, appendChildren } from '@syncfusion/ej2-grids';
3
3
  import { findParentRecords } from '../utils';
4
4
  import { isNullOrUndefined, setValue, createElement, extend } from '@syncfusion/ej2-base';
5
- import * as events from '../base/constant';
6
5
  /**
7
6
  * TreeGrid Aggregate module
8
7
  *
@@ -205,12 +204,7 @@ var Aggregate = /** @class */ (function () {
205
204
  if (this.parent.isReact) {
206
205
  var renderReactTemplates = 'renderReactTemplates';
207
206
  tempObj.fn(single[summaryColumn.columnName], this.parent, tempObj.property, '', null, null, cellElement);
208
- // eslint-disable-next-line @typescript-eslint/no-this-alias
209
- var thisRef_1 = this;
210
- // tslint:disable-next-line:typedef
211
- thisRef_1.parent["" + renderReactTemplates](function () {
212
- thisRef_1.parent.trigger(events.queryCellInfo, thisRef_1.parent['args']);
213
- });
207
+ this.parent["" + renderReactTemplates]();
214
208
  }
215
209
  else {
216
210
  appendChildren(cellElement, tempObj.fn(single[summaryColumn.columnName], this.parent, tempObj.property));
@@ -125,10 +125,16 @@ var VirtualScroll = /** @class */ (function () {
125
125
  this.parent.grid.getContent().firstElementChild.scrollTop = 0;
126
126
  this.parent.grid.notify(events.virtualActionArgs, { setTop: true });
127
127
  }
128
- if ((requestType === 'save' && pageingDetails.actionArgs.index >= (counts.count - this.parent.grid.pageSettings.pageSize)) || (requestType === 'refresh' && this.parent['isGantt'] && this.parent['isAddedFromGantt']
129
- && this.parent.grid.pageSettings.currentPage === this.parent.grid.contentModule['maxPage'])) {
130
- startIndex = counts.startIndex + (counts.count - counts.endIndex);
131
- endIndex = counts.count;
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.startIndex <= modifiedStartIndex && counts.endIndex <= modifiedStartIndex) {
131
+ startIndex = counts.startIndex;
132
+ endIndex = counts.endIndex;
133
+ }
134
+ else {
135
+ startIndex = modifiedStartIndex;
136
+ endIndex = counts.count;
137
+ }
132
138
  this.parent['isAddedFromGantt'] = false;
133
139
  }
134
140
  //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';import { Tooltip } from '@syncfusion/ej2-popups';
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';
2
2
  import {ComponentModel} from '@syncfusion/ej2-base';
3
3
 
4
4
  /**
@@ -521,9 +521,9 @@ export interface TreeGridModel extends ComponentModel{
521
521
 
522
522
  /**
523
523
  * Specifies whether to display or remove the untrusted HTML values in the TreeGrid component.
524
- * If `enableHtmlSanitizer` set to true, then it will sanitize any suspected untrusted strings and scripts before rendering them.
524
+ * By default `enableHtmlSanitizer` is set to true, and it sanitizes any suspected untrusted strings and scripts before rendering them.
525
525
  *
526
- * @default false
526
+ * @default true
527
527
  */
528
528
  enableHtmlSanitizer?: boolean;
529
529
 
@@ -646,9 +646,9 @@ export declare class TreeGrid extends Component<HTMLElement> implements INotifyP
646
646
  enableColumnVirtualization: boolean;
647
647
  /**
648
648
  * Specifies whether to display or remove the untrusted HTML values in the TreeGrid component.
649
- * If `enableHtmlSanitizer` set to true, then it will sanitize any suspected untrusted strings and scripts before rendering them.
649
+ * By default `enableHtmlSanitizer` is set to true, and it sanitizes any suspected untrusted strings and scripts before rendering them.
650
650
  *
651
- * @default false
651
+ * @default true
652
652
  */
653
653
  enableHtmlSanitizer: boolean;
654
654
  /**
@@ -1393,7 +1393,6 @@ export declare class TreeGrid extends Component<HTMLElement> implements INotifyP
1393
1393
  private ignoreInArrays;
1394
1394
  private ignoreInColumn;
1395
1395
  private mouseClickHandler;
1396
- private mouseMoveHandler;
1397
1396
  /**
1398
1397
  * Returns TreeGrid rows
1399
1398
  *
@@ -22,7 +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 { RowDropSettings, getUid, parentsUntil } from '@syncfusion/ej2-grids';
25
+ import { RowDropSettings, getUid } from '@syncfusion/ej2-grids';
26
26
  import { LoadingIndicator } from '../models/loading-indicator';
27
27
  import { FilterSettings } from '../models/filter-settings';
28
28
  import { TextWrapSettings } from '../models/textwrap-settings';
@@ -50,7 +50,6 @@ import { isHidden, getExpandStatus } from '../utils';
50
50
  import { editAction } from '../actions/crud-actions';
51
51
  import { InfiniteScrollSettings } from '../models/infinite-scroll-settings';
52
52
  import * as literals from '../base/constant';
53
- import { Tooltip } from '@syncfusion/ej2-popups';
54
53
  /**
55
54
  * Represents the TreeGrid component.
56
55
  * ```html
@@ -97,7 +96,7 @@ var TreeGrid = /** @class */ (function (_super) {
97
96
  return false;
98
97
  }
99
98
  };
100
- TreeGrid_1.Inject(TreeGridSelection);
99
+ TreeGrid_1.Inject(TreeGridSelection, TreeLogger);
101
100
  setValue('mergePersistData', _this.mergePersistTreeGridData, _this);
102
101
  var logger = 'Logger';
103
102
  if (!isNullOrUndefined(_this.injectedModules["" + logger])) {
@@ -506,7 +505,6 @@ var TreeGrid = /** @class */ (function (_super) {
506
505
  TreeGrid.prototype.wireEvents = function () {
507
506
  EventHandler.add(this.grid.element, 'click', this.mouseClickHandler, this);
508
507
  EventHandler.add(this.element, 'touchend', this.mouseClickHandler, this);
509
- EventHandler.add(this.element, 'mousemove', this.mouseMoveHandler, this);
510
508
  this.keyboardModule = new KeyboardEvents(this.element, {
511
509
  keyAction: this.treeGridkeyActionHandler.bind(this),
512
510
  keyConfigs: this.keyConfigs,
@@ -530,78 +528,94 @@ var TreeGrid = /** @class */ (function (_super) {
530
528
  return modules;
531
529
  }
532
530
  modules.push({
533
- member: 'filter', args: [this, this.filterSettings]
531
+ member: 'filter', args: [this, this.filterSettings],
532
+ name: 'Filter'
534
533
  });
535
534
  if (!isNullOrUndefined(this.toolbar)) {
536
535
  modules.push({
537
536
  member: 'toolbar',
538
- args: [this]
537
+ args: [this],
538
+ name: 'Toolbar'
539
539
  });
540
540
  }
541
541
  if (this.contextMenuItems) {
542
542
  modules.push({
543
543
  member: 'contextMenu',
544
- args: [this]
544
+ args: [this],
545
+ name: 'ContextMenu'
545
546
  });
546
547
  }
547
548
  if (this.allowPaging) {
548
549
  modules.push({
549
550
  member: 'pager',
550
- args: [this, this.pageSettings]
551
+ args: [this, this.pageSettings],
552
+ name: 'Page'
551
553
  });
552
554
  }
553
555
  if (this.allowReordering) {
554
556
  modules.push({
555
557
  member: 'reorder',
556
- args: [this]
558
+ args: [this],
559
+ name: 'Reorder'
557
560
  });
558
561
  }
559
562
  if (this.allowSorting) {
560
563
  modules.push({
561
564
  member: 'sort',
562
- args: [this]
565
+ args: [this],
566
+ name: 'Sort'
563
567
  });
564
568
  }
565
569
  if (this.aggregates.length > 0) {
566
570
  modules.push({
567
- member: 'summary', args: [this]
571
+ member: 'summary', args: [this],
572
+ name: 'Aggregate'
573
+ });
574
+ }
575
+ if (this.allowResizing) {
576
+ modules.push({
577
+ member: 'resize', args: [this],
578
+ name: 'Resize'
568
579
  });
569
580
  }
570
- modules.push({
571
- member: 'resize', args: [this]
572
- });
573
581
  if (this.allowExcelExport) {
574
582
  modules.push({
575
- member: 'ExcelExport', args: [this]
583
+ member: 'ExcelExport', args: [this],
584
+ name: 'ExcelExport'
576
585
  });
577
586
  }
578
587
  var freezePresent = this.injectedModules.filter(function (e) {
579
588
  return e.prototype.getModuleName() === 'freeze';
580
589
  });
581
- if (this.frozenColumns || this.frozenRows || this.getFrozenColumns() ||
582
- this.grid.getFrozenLeftColumnsCount() || this.grid.getFrozenRightColumnsCount() || freezePresent.length) {
590
+ if ((this.frozenColumns || this.frozenRows || this.getFrozenColumns() ||
591
+ this.grid.getFrozenLeftColumnsCount() || this.grid.getFrozenRightColumnsCount()) && freezePresent.length > 0) {
583
592
  modules.push({
584
- member: 'freeze', args: [this]
593
+ member: 'freeze', args: [this],
594
+ name: 'Freeze'
585
595
  });
586
596
  }
587
597
  if (this.detailTemplate) {
588
598
  modules.push({
589
- member: 'detailRow', args: [this]
599
+ member: 'detailRow', args: [this],
600
+ name: 'DetailRow'
590
601
  });
591
602
  }
592
603
  if (this.allowPdfExport) {
593
604
  modules.push({
594
- member: 'PdfExport', args: [this]
605
+ member: 'PdfExport', args: [this],
606
+ name: 'PdfExport'
595
607
  });
596
608
  }
597
609
  if (this.showColumnMenu) {
598
610
  modules.push({
599
- member: 'columnMenu', args: [this]
611
+ member: 'columnMenu', args: [this],
612
+ name: 'ColumnMenu'
600
613
  });
601
614
  }
602
615
  if (this.showColumnChooser) {
603
616
  modules.push({
604
- member: 'ColumnChooser', args: [this]
617
+ member: 'ColumnChooser', args: [this],
618
+ name: 'ColumnChooser'
605
619
  });
606
620
  }
607
621
  this.extendRequiredModules(modules);
@@ -618,37 +632,43 @@ var TreeGrid = /** @class */ (function (_super) {
618
632
  }
619
633
  modules.push({
620
634
  member: 'rowDragAndDrop',
621
- args: [this]
635
+ args: [this],
636
+ name: 'RowDD'
622
637
  });
623
638
  }
624
639
  if (this.editSettings.allowAdding || this.editSettings.allowDeleting || this.editSettings.allowEditing) {
625
640
  modules.push({
626
641
  member: 'edit',
627
- args: [this]
642
+ args: [this],
643
+ name: 'Edit'
628
644
  });
629
645
  }
630
646
  if (this.isCommandColumn(this.columns)) {
631
647
  modules.push({
632
648
  member: 'commandColumn',
633
- args: [this]
649
+ args: [this],
650
+ name: 'CommandColumn'
634
651
  });
635
652
  }
636
653
  if (this.allowSelection) {
637
654
  modules.push({
638
655
  member: 'selection',
639
- args: [this]
656
+ args: [this],
657
+ name: 'Selection'
640
658
  });
641
659
  }
642
660
  if (this.enableVirtualization) {
643
661
  modules.push({
644
662
  member: 'virtualScroll',
645
- args: [this]
663
+ args: [this],
664
+ name: 'VirtualScroll'
646
665
  });
647
666
  }
648
667
  if (this.enableInfiniteScrolling) {
649
668
  modules.push({
650
669
  member: 'infiniteScroll',
651
- args: [this]
670
+ args: [this],
671
+ name: 'InfiniteScroll'
652
672
  });
653
673
  }
654
674
  modules.push({
@@ -675,6 +695,16 @@ var TreeGrid = /** @class */ (function (_super) {
675
695
  if (this.grid && this.grid.element) {
676
696
  EventHandler.remove(this.grid.element, 'click', this.mouseClickHandler);
677
697
  }
698
+ if (this.element) {
699
+ EventHandler.remove(this.element, 'touchend', this.mouseClickHandler);
700
+ if (this.keyboardModule) {
701
+ this.keyboardModule.destroy();
702
+ this.keyboardModule = null;
703
+ }
704
+ if (this.allowKeyboard) {
705
+ this.element.removeAttribute('tabIndex');
706
+ }
707
+ }
678
708
  };
679
709
  /**
680
710
  * Logs tree grid error message on console
@@ -1977,6 +2007,11 @@ var TreeGrid = /** @class */ (function (_super) {
1977
2007
  target.classList.contains('e-treegridcollapse')) && (!this.isEditCollapse && !this.grid.isEdit)) {
1978
2008
  this.expandCollapseRequest(target);
1979
2009
  }
2010
+ var isEllipsisTooltip = 'isEllipsisTooltip';
2011
+ if ((target.classList.contains('e-treegridexpand') || target.classList.contains('e-treegridcollapse')) &&
2012
+ (this.grid["" + isEllipsisTooltip]())) {
2013
+ this.grid['toolTipObj'].close();
2014
+ }
1980
2015
  this.isEditCollapse = false;
1981
2016
  this.notify('checkboxSelection', { target: target });
1982
2017
  if (this.grid.isCheckBoxSelection && !this.grid.isPersistSelection) {
@@ -1992,20 +2027,6 @@ var TreeGrid = /** @class */ (function (_super) {
1992
2027
  }
1993
2028
  }
1994
2029
  };
1995
- TreeGrid.prototype.mouseMoveHandler = function (e) {
1996
- var showTooltip = false;
1997
- var cols = this.getColumns();
1998
- if (this.clipMode === 'EllipsisWithTooltip') {
1999
- showTooltip = true;
2000
- }
2001
- var element = parentsUntil(e.target, 'e-ellipsistooltip');
2002
- if ((showTooltip || (this.treeColumnIndex !== -1 && cols[this.treeColumnIndex].clipMode === 'EllipsisWithTooltip')) && element !== null && parseInt(element.getAttribute('data-colindex'), 10) === this.treeColumnIndex && element.children[0].scrollWidth > element.children[0].clientWidth) {
2003
- var tooltip = new Tooltip({
2004
- content: element.textContent
2005
- });
2006
- tooltip.appendTo(element);
2007
- }
2008
- };
2009
2030
  /**
2010
2031
  * Returns TreeGrid rows
2011
2032
  *
@@ -4194,7 +4215,7 @@ var TreeGrid = /** @class */ (function (_super) {
4194
4215
  Property(false)
4195
4216
  ], TreeGrid.prototype, "enableColumnVirtualization", void 0);
4196
4217
  __decorate([
4197
- Property(false)
4218
+ Property(true)
4198
4219
  ], TreeGrid.prototype, "enableHtmlSanitizer", void 0);
4199
4220
  __decorate([
4200
4221
  Property(false)
@@ -68,8 +68,10 @@ var TreeVirtualRowModelGenerator = /** @class */ (function (_super) {
68
68
  notifyArgs.requestType = 'refresh';
69
69
  }
70
70
  var rows = _super.prototype.generateRows.call(this, data, notifyArgs);
71
- for (var r = 0; r < rows.length; r++) {
72
- rows[parseInt(r.toString(), 10)].index = (this.visualData).indexOf(rows[parseInt(r.toString(), 10)].data);
71
+ if (!isNullOrUndefined((this.visualData))) {
72
+ for (var r = 0; r < rows.length; r++) {
73
+ rows[parseInt(r.toString(), 10)].index = (this.visualData).indexOf(rows[parseInt(r.toString(), 10)].data);
74
+ }
73
75
  }
74
76
  return rows;
75
77
  }
@@ -394,10 +394,18 @@
394
394
  border-bottom: 1px solid #0070f0;
395
395
  box-shadow: 0 0 0 0 #0070f0;
396
396
  }
397
+ .e-treegrid .e-grid .e-gridcontent td.e-rowcell.e-droptop {
398
+ border-top: 1px solid #0070f0;
399
+ box-shadow: 0 0 0 0 #0070f0;
400
+ }
397
401
  .e-treegrid .e-grid .e-gridcontent td.e-rowdragdrop.e-dropbottom {
398
402
  border-bottom: 1px solid #0070f0;
399
403
  box-shadow: 0 0 0 0 #0070f0;
400
404
  }
405
+ .e-treegrid .e-grid .e-gridcontent td.e-rowdragdrop.e-droptop {
406
+ border-top: 1px solid #0070f0;
407
+ box-shadow: 0 0 0 0 #0070f0;
408
+ }
401
409
  .e-treegrid .e-grid.e-rtl .e-gridheader .e-firstrow-dragborder {
402
410
  height: 0;
403
411
  }
@@ -401,10 +401,18 @@
401
401
  border-bottom: 1px solid #317ab9;
402
402
  box-shadow: 0 0 0 0 #317ab9;
403
403
  }
404
+ .e-treegrid .e-grid .e-gridcontent td.e-rowcell.e-droptop {
405
+ border-top: 1px solid #317ab9;
406
+ box-shadow: 0 0 0 0 #317ab9;
407
+ }
404
408
  .e-treegrid .e-grid .e-gridcontent td.e-rowdragdrop.e-dropbottom {
405
409
  border-bottom: 1px solid #317ab9;
406
410
  box-shadow: 0 0 0 0 #317ab9;
407
411
  }
412
+ .e-treegrid .e-grid .e-gridcontent td.e-rowdragdrop.e-droptop {
413
+ border-top: 1px solid #317ab9;
414
+ box-shadow: 0 0 0 0 #317ab9;
415
+ }
408
416
  .e-treegrid .e-grid.e-rtl .e-gridheader .e-firstrow-dragborder {
409
417
  height: 0;
410
418
  }
@@ -447,10 +447,18 @@
447
447
  border-bottom: 1px solid #e3165b;
448
448
  box-shadow: 0 0 0 0 #e3165b;
449
449
  }
450
+ .e-treegrid .e-grid .e-gridcontent td.e-rowcell.e-droptop {
451
+ border-top: 1px solid #e3165b;
452
+ box-shadow: 0 0 0 0 #e3165b;
453
+ }
450
454
  .e-treegrid .e-grid .e-gridcontent td.e-rowdragdrop.e-dropbottom {
451
455
  border-bottom: 1px solid #e3165b;
452
456
  box-shadow: 0 0 0 0 #e3165b;
453
457
  }
458
+ .e-treegrid .e-grid .e-gridcontent td.e-rowdragdrop.e-droptop {
459
+ border-top: 1px solid #e3165b;
460
+ box-shadow: 0 0 0 0 #e3165b;
461
+ }
454
462
  .e-treegrid .e-grid.e-rtl .e-gridheader .e-firstrow-dragborder {
455
463
  height: 0;
456
464
  }
@@ -437,10 +437,18 @@
437
437
  border-bottom: 2px solid #4f46e5;
438
438
  box-shadow: 0 0 0 0 #0d6efd;
439
439
  }
440
+ .e-treegrid .e-grid .e-gridcontent td.e-rowcell.e-droptop {
441
+ border-top: 2px solid #4f46e5;
442
+ box-shadow: 0 0 0 0 #0d6efd;
443
+ }
440
444
  .e-treegrid .e-grid .e-gridcontent td.e-rowdragdrop.e-dropbottom {
441
445
  border-bottom: 2px solid #4f46e5;
442
446
  box-shadow: 0 0 0 0 #0d6efd;
443
447
  }
448
+ .e-treegrid .e-grid .e-gridcontent td.e-rowdragdrop.e-droptop {
449
+ border-top: 2px solid #4f46e5;
450
+ box-shadow: 0 0 0 0 #0d6efd;
451
+ }
444
452
  .e-treegrid .e-grid.e-rtl .e-gridheader .e-firstrow-dragborder {
445
453
  height: 0;
446
454
  }
@@ -437,10 +437,18 @@
437
437
  border-bottom: 2px solid #4f46e5;
438
438
  box-shadow: 0 0 0 0 #0d6efd;
439
439
  }
440
+ .e-treegrid .e-grid .e-gridcontent td.e-rowcell.e-droptop {
441
+ border-top: 2px solid #4f46e5;
442
+ box-shadow: 0 0 0 0 #0d6efd;
443
+ }
440
444
  .e-treegrid .e-grid .e-gridcontent td.e-rowdragdrop.e-dropbottom {
441
445
  border-bottom: 2px solid #4f46e5;
442
446
  box-shadow: 0 0 0 0 #0d6efd;
443
447
  }
448
+ .e-treegrid .e-grid .e-gridcontent td.e-rowdragdrop.e-droptop {
449
+ border-top: 2px solid #4f46e5;
450
+ box-shadow: 0 0 0 0 #0d6efd;
451
+ }
444
452
  .e-treegrid .e-grid.e-rtl .e-gridheader .e-firstrow-dragborder {
445
453
  height: 0;
446
454
  }
@@ -376,10 +376,18 @@
376
376
  border-bottom: 1px solid #0074cc;
377
377
  box-shadow: 0 0 0 0 #0074cc;
378
378
  }
379
+ .e-treegrid .e-grid .e-gridcontent td.e-rowcell.e-droptop {
380
+ border-top: 1px solid #0074cc;
381
+ box-shadow: 0 0 0 0 #0074cc;
382
+ }
379
383
  .e-treegrid .e-grid .e-gridcontent td.e-rowdragdrop.e-dropbottom {
380
384
  border-bottom: 1px solid #0074cc;
381
385
  box-shadow: 0 0 0 0 #0074cc;
382
386
  }
387
+ .e-treegrid .e-grid .e-gridcontent td.e-rowdragdrop.e-droptop {
388
+ border-top: 1px solid #0074cc;
389
+ box-shadow: 0 0 0 0 #0074cc;
390
+ }
383
391
  .e-treegrid .e-grid.e-rtl .e-gridheader .e-firstrow-dragborder {
384
392
  height: 0;
385
393
  }
package/styles/fabric.css CHANGED
@@ -369,10 +369,18 @@
369
369
  border-bottom: 1px solid #0078d6;
370
370
  box-shadow: 0 0 0 0 #0078d6;
371
371
  }
372
+ .e-treegrid .e-grid .e-gridcontent td.e-rowcell.e-droptop {
373
+ border-top: 1px solid #0078d6;
374
+ box-shadow: 0 0 0 0 #0078d6;
375
+ }
372
376
  .e-treegrid .e-grid .e-gridcontent td.e-rowdragdrop.e-dropbottom {
373
377
  border-bottom: 1px solid #0078d6;
374
378
  box-shadow: 0 0 0 0 #0078d6;
375
379
  }
380
+ .e-treegrid .e-grid .e-gridcontent td.e-rowdragdrop.e-droptop {
381
+ border-top: 1px solid #0078d6;
382
+ box-shadow: 0 0 0 0 #0078d6;
383
+ }
376
384
  .e-treegrid .e-grid.e-rtl .e-gridheader .e-firstrow-dragborder {
377
385
  height: 0;
378
386
  }
@@ -434,10 +434,18 @@
434
434
  border-bottom: 2px solid #0078d4;
435
435
  box-shadow: 0 0 0 0 #0078d4;
436
436
  }
437
+ .e-treegrid .e-grid .e-gridcontent td.e-rowcell.e-droptop {
438
+ border-top: 2px solid #0078d4;
439
+ box-shadow: 0 0 0 0 #0078d4;
440
+ }
437
441
  .e-treegrid .e-grid .e-gridcontent td.e-rowdragdrop.e-dropbottom {
438
442
  border-bottom: 2px solid #0078d4;
439
443
  box-shadow: 0 0 0 0 #0078d4;
440
444
  }
445
+ .e-treegrid .e-grid .e-gridcontent td.e-rowdragdrop.e-droptop {
446
+ border-top: 2px solid #0078d4;
447
+ box-shadow: 0 0 0 0 #0078d4;
448
+ }
441
449
  .e-treegrid .e-grid.e-rtl .e-gridheader .e-firstrow-dragborder {
442
450
  height: 0;
443
451
  }
package/styles/fluent.css CHANGED
@@ -434,10 +434,18 @@
434
434
  border-bottom: 2px solid #0078d4;
435
435
  box-shadow: 0 0 0 0 #0078d4;
436
436
  }
437
+ .e-treegrid .e-grid .e-gridcontent td.e-rowcell.e-droptop {
438
+ border-top: 2px solid #0078d4;
439
+ box-shadow: 0 0 0 0 #0078d4;
440
+ }
437
441
  .e-treegrid .e-grid .e-gridcontent td.e-rowdragdrop.e-dropbottom {
438
442
  border-bottom: 2px solid #0078d4;
439
443
  box-shadow: 0 0 0 0 #0078d4;
440
444
  }
445
+ .e-treegrid .e-grid .e-gridcontent td.e-rowdragdrop.e-droptop {
446
+ border-top: 2px solid #0078d4;
447
+ box-shadow: 0 0 0 0 #0078d4;
448
+ }
441
449
  .e-treegrid .e-grid.e-rtl .e-gridheader .e-firstrow-dragborder {
442
450
  height: 0;
443
451
  }
@@ -367,10 +367,18 @@
367
367
  border-bottom: 1px solid #400074;
368
368
  box-shadow: 0 0 0 0 #400074;
369
369
  }
370
+ .e-treegrid .e-grid .e-gridcontent td.e-rowcell.e-droptop {
371
+ border-top: 1px solid #400074;
372
+ box-shadow: 0 0 0 0 #400074;
373
+ }
370
374
  .e-treegrid .e-grid .e-gridcontent td.e-rowdragdrop.e-dropbottom {
371
375
  border-bottom: 1px solid #400074;
372
376
  box-shadow: 0 0 0 0 #400074;
373
377
  }
378
+ .e-treegrid .e-grid .e-gridcontent td.e-rowdragdrop.e-droptop {
379
+ border-top: 1px solid #400074;
380
+ box-shadow: 0 0 0 0 #400074;
381
+ }
374
382
  .e-treegrid .e-grid.e-rtl .e-gridheader .e-firstrow-dragborder {
375
383
  height: 0;
376
384
  }
@@ -373,10 +373,18 @@
373
373
  border-bottom: 1px solid #ffd939;
374
374
  box-shadow: 0 0 0 0 #ffd939;
375
375
  }
376
+ .e-treegrid .e-grid .e-gridcontent td.e-rowcell.e-droptop {
377
+ border-top: 1px solid #ffd939;
378
+ box-shadow: 0 0 0 0 #ffd939;
379
+ }
376
380
  .e-treegrid .e-grid .e-gridcontent td.e-rowdragdrop.e-dropbottom {
377
381
  border-bottom: 1px solid #ffd939;
378
382
  box-shadow: 0 0 0 0 #ffd939;
379
383
  }
384
+ .e-treegrid .e-grid .e-gridcontent td.e-rowdragdrop.e-droptop {
385
+ border-top: 1px solid #ffd939;
386
+ box-shadow: 0 0 0 0 #ffd939;
387
+ }
380
388
  .e-treegrid .e-grid.e-rtl .e-gridheader .e-firstrow-dragborder {
381
389
  height: 0;
382
390
  }