@syncfusion/ej2-treegrid 20.2.44 → 20.2.49

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.
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  * filename: index.d.ts
3
- * version : 20.2.44
3
+ * version : 20.2.49
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@20.2.43",
3
+ "_id": "@syncfusion/ej2-treegrid@20.2.46",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-All3AvUDevK49U7XAKoSUYwrSfbkE5eqyYMPppHtd+60ksQ35EmGVPppVPvI035s+PrDJOJvztD5M41JtjkEgw==",
5
+ "_integrity": "sha512-0SyT77dBgVOM2dMvYAZTKTa1lbiUkc2eAQXOWT+BUE0AS5gJZu2W7kNchvvayJVtor/3u3SkoUVg8lOsDy3eUw==",
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-hotfix-new/@syncfusion/ej2-treegrid/-/ej2-treegrid-20.2.43.tgz",
28
- "_shasum": "ce98748e645ea015021c79b70828538d8e5e0107",
27
+ "_resolved": "http://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-treegrid/-/ej2-treegrid-20.2.46.tgz",
28
+ "_shasum": "f7e5f74d66bffde32c3c7b995b213375cc3773c9",
29
29
  "_spec": "@syncfusion/ej2-treegrid@*",
30
30
  "_where": "/jenkins/workspace/automation_release_19.1.0.1-ZPMUBNQ6AUYH6YGEFBPVYMEQLRRW2SLD4XCZ6GATNZJFYJ3RIAOA/packages/included",
31
31
  "author": {
@@ -36,10 +36,10 @@
36
36
  },
37
37
  "bundleDependencies": false,
38
38
  "dependencies": {
39
- "@syncfusion/ej2-base": "~20.2.43",
40
- "@syncfusion/ej2-data": "~20.2.43",
41
- "@syncfusion/ej2-grids": "~20.2.44",
42
- "@syncfusion/ej2-popups": "~20.2.43"
39
+ "@syncfusion/ej2-base": "~20.2.48",
40
+ "@syncfusion/ej2-data": "~20.2.45",
41
+ "@syncfusion/ej2-grids": "~20.2.49",
42
+ "@syncfusion/ej2-popups": "~20.2.49"
43
43
  },
44
44
  "deprecated": false,
45
45
  "description": "Essential JS 2 TreeGrid Component",
@@ -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.2.44",
63
+ "version": "20.2.49",
64
64
  "sideEffects": false
65
65
  }
@@ -47,9 +47,9 @@ var ContextMenu = /** @class */ (function () {
47
47
  && !(isNullOrUndefined(editRecord)) && !(editRecord.classList.contains('e-menu-hide'))) {
48
48
  editRecord.style.display = 'none';
49
49
  }
50
- if (indent || outdent) {
51
- var tObj = this.parent;
52
- var selectedrow = tObj.getSelectedRows()[0];
50
+ var tObj = this.parent;
51
+ var selectedrow = tObj.getSelectedRows()[0];
52
+ if ((indent || outdent) && !isNullOrUndefined(selectedrow)) {
53
53
  var targetElement = args.event.target.closest('td');
54
54
  if (isNullOrUndefined(targetElement) || (!isNullOrUndefined(targetElement) && !targetElement.classList.contains('e-rowcell'))) {
55
55
  indent.style.display = outdent.style.display = 'none';
@@ -61,31 +61,32 @@ var ContextMenu = /** @class */ (function () {
61
61
  else if (args['name'] !== 'rowDeselected' || (!isNullOrUndefined(selectedrow) && tObj.grid.isCheckBoxSelection)) {
62
62
  var selectedItem = tObj.getCurrentViewRecords()[selectedrow.rowIndex];
63
63
  if (!isNullOrUndefined(selectedItem)) {
64
- if ((selectedItem.level > tObj.getCurrentViewRecords()[selectedrow.rowIndex - 1].level)) {
64
+ if ((selectedItem.level > tObj.getCurrentViewRecords()[selectedrow.rowIndex - 1].level) || this.parent.editSettings.mode === 'Batch'
65
+ || this.parent.editSettings.mode === 'Cell') {
65
66
  indent.style.display = 'none';
66
67
  }
67
68
  else {
68
69
  indent.style.display = 'block';
69
70
  }
70
- if (selectedItem.level === tObj.getCurrentViewRecords()[selectedrow.rowIndex - 1].level) {
71
+ if ((selectedItem.level === tObj.getCurrentViewRecords()[selectedrow.rowIndex - 1].level) && this.parent.editSettings.mode !== 'Batch'
72
+ && this.parent.editSettings.mode !== 'Cell') {
71
73
  indent.style.display = 'block';
72
74
  }
73
- if (selectedItem.level === 0) {
75
+ if ((selectedItem.level === 0) || this.parent.editSettings.mode === 'Batch'
76
+ || this.parent.editSettings.mode === 'Cell') {
74
77
  outdent.style.display = 'none';
75
78
  }
76
- if (selectedItem.level !== 0) {
79
+ else {
77
80
  outdent.style.display = 'block';
78
81
  }
79
82
  }
80
83
  }
81
- if (args['name'] === 'rowDeselected' && isNullOrUndefined(selectedrow) && !tObj.grid.isCheckBoxSelection) {
82
- if (this.parent.toolbar['includes']('Indent')) {
83
- indent.style.display = 'none';
84
- }
85
- if (this.parent.toolbar['includes']('Outdent')) {
86
- outdent.style.display = 'none';
87
- }
88
- }
84
+ }
85
+ }
86
+ else {
87
+ if (tObj.grid.isEdit && isNullOrUndefined(selectedrow)) {
88
+ indent.style.display = 'none';
89
+ outdent.style.display = 'none';
89
90
  }
90
91
  }
91
92
  };
@@ -66,7 +66,7 @@ export function editAction(details, control, isSelfReference, addRowIndex, selec
66
66
  var childRecords = parentData ? parentData[control.childMapping] : [];
67
67
  for (var p = childRecords.length - 1; p >= 0; p--) {
68
68
  if (childRecords[p][control.idMapping] === currentData_1[control.idMapping]) {
69
- if (!control.enableImmutableMode) {
69
+ if (!control.enableImmutableMode && parentData.childRecords.length === parentData['Children'].length) {
70
70
  parentData['childRecords'].splice(p, 1);
71
71
  }
72
72
  childRecords.splice(p, 1);
@@ -155,10 +155,6 @@ var Filter = /** @class */ (function () {
155
155
  }
156
156
  }
157
157
  else {
158
- if ((!this.parent.enableCollapseAll || !this.parent.initialRender && isNullOrUndefined(this.parent['dataResults']['result']))
159
- && parent['expanded'] === false && this.parent.getVisibleRecords().indexOf(record) === -1) {
160
- this.parent.expandRow(this.parent.getRows()[parent['index']], parent);
161
- }
162
158
  this.addParentRecord(parent);
163
159
  }
164
160
  }
@@ -266,6 +266,8 @@ var Selection = /** @class */ (function () {
266
266
  var _this = this;
267
267
  var index = -1;
268
268
  var length = 0;
269
+ //This property used to maintain the check state of the currentview data after clear filtering
270
+ var multiFilterCheckState = false;
269
271
  if (!isNullOrUndefined(this.parent.filterModule) && this.parent.filterModule.filteredResult.length > 0) {
270
272
  var filterResult = this.parent.filterModule.filteredResult;
271
273
  if (this.filteredList.length === 0) {
@@ -274,6 +276,10 @@ var Selection = /** @class */ (function () {
274
276
  else {
275
277
  if (this.filteredList !== filterResult) {
276
278
  this.filteredList = filterResult;
279
+ multiFilterCheckState = true;
280
+ }
281
+ else {
282
+ multiFilterCheckState = false;
277
283
  }
278
284
  }
279
285
  }
@@ -292,6 +298,9 @@ var Selection = /** @class */ (function () {
292
298
  if (data[i].checkboxState === 'check') {
293
299
  continue;
294
300
  }
301
+ if (multiFilterCheckState) {
302
+ continue;
303
+ }
295
304
  data[i].checkboxState = 'check';
296
305
  this.updateSelectedItems(data[i], data[i].checkboxState);
297
306
  }
@@ -43,53 +43,55 @@ var Toolbar = /** @class */ (function () {
43
43
  this.parent.off(events.toolbarClick, this.toolbarClickHandler);
44
44
  };
45
45
  Toolbar.prototype.refreshToolbar = function (args) {
46
- var tObj = this.parent;
47
- var indentElement;
48
- var outdentElement;
49
- var indentID = tObj.element.id + '_gridcontrol_indent';
50
- var outdentID = tObj.element.id + '_gridcontrol_outdent';
51
46
  var toolbarElement = this.parent.grid.toolbarModule.getToolbar();
52
- var indentEle = toolbarElement.querySelector('#' + indentID);
53
- var outdentEle = toolbarElement.querySelector('#' + outdentID);
54
- var row = args.row;
55
- var selectedrow = tObj.getSelectedRows()[0];
56
- if (!isNullOrUndefined(row[0])) {
57
- row = row[0];
58
- }
59
- row = (!isNullOrUndefined(selectedrow) && selectedrow.rowIndex !== row.rowIndex) ? selectedrow : row;
60
- if (indentEle !== null && outdentEle !== null) {
61
- indentElement = toolbarElement.querySelector('#' + indentID).parentElement;
62
- outdentElement = toolbarElement.querySelector('#' + outdentID).parentElement;
63
- if (row.rowIndex === 0 || tObj.getSelectedRowIndexes().length > 1) {
64
- indentElement.classList.add('e-hidden');
65
- outdentElement.classList.add('e-hidden');
47
+ if (!isNullOrUndefined(toolbarElement)) {
48
+ var tObj = this.parent;
49
+ var indentElement = void 0;
50
+ var outdentElement = void 0;
51
+ var indentID = tObj.element.id + '_gridcontrol_indent';
52
+ var outdentID = tObj.element.id + '_gridcontrol_outdent';
53
+ var indentEle = toolbarElement.querySelector('#' + indentID);
54
+ var outdentEle = toolbarElement.querySelector('#' + outdentID);
55
+ var row = args.row;
56
+ var selectedrow = tObj.getSelectedRows()[0];
57
+ if (!isNullOrUndefined(row[0])) {
58
+ row = row[0];
66
59
  }
67
- else if (args['name'] !== 'rowDeselected' || (!isNullOrUndefined(selectedrow) && tObj.grid.isCheckBoxSelection)) {
68
- var selectedItem = tObj.getCurrentViewRecords()[row.rowIndex];
69
- if (!isNullOrUndefined(selectedItem)) {
70
- if ((selectedItem.level > tObj.getCurrentViewRecords()[row.rowIndex - 1].level)) {
71
- indentElement.classList.add('e-hidden');
72
- }
73
- else {
74
- indentElement.classList.remove('e-hidden');
60
+ row = (!isNullOrUndefined(selectedrow) && selectedrow.rowIndex !== row.rowIndex) ? selectedrow : row;
61
+ if (indentEle !== null && outdentEle !== null) {
62
+ indentElement = toolbarElement.querySelector('#' + indentID).parentElement;
63
+ outdentElement = toolbarElement.querySelector('#' + outdentID).parentElement;
64
+ if (row.rowIndex === 0 || tObj.getSelectedRowIndexes().length > 1) {
65
+ indentElement.classList.add('e-hidden');
66
+ outdentElement.classList.add('e-hidden');
67
+ }
68
+ else if (args['name'] !== 'rowDeselected' || (!isNullOrUndefined(selectedrow) && tObj.grid.isCheckBoxSelection)) {
69
+ var selectedItem = tObj.getCurrentViewRecords()[row.rowIndex];
70
+ if (!isNullOrUndefined(selectedItem)) {
71
+ if ((selectedItem.level > tObj.getCurrentViewRecords()[row.rowIndex - 1].level)) {
72
+ indentElement.classList.add('e-hidden');
73
+ }
74
+ else {
75
+ indentElement.classList.remove('e-hidden');
76
+ }
77
+ if (selectedItem.level === tObj.getCurrentViewRecords()[row.rowIndex - 1].level) {
78
+ indentElement.classList.remove('e-hidden');
79
+ }
80
+ if (selectedItem.level === 0) {
81
+ outdentElement.classList.add('e-hidden');
82
+ }
83
+ if (selectedItem.level !== 0) {
84
+ outdentElement.classList.remove('e-hidden');
85
+ }
75
86
  }
76
- if (selectedItem.level === tObj.getCurrentViewRecords()[row.rowIndex - 1].level) {
77
- indentElement.classList.remove('e-hidden');
87
+ }
88
+ if (args['name'] === 'rowDeselected' && isNullOrUndefined(selectedrow) && !tObj.grid.isCheckBoxSelection) {
89
+ if (this.parent.toolbar['includes']('Indent')) {
90
+ indentElement.classList.add('e-hidden');
78
91
  }
79
- if (selectedItem.level === 0) {
92
+ if (this.parent.toolbar['includes']('Outdent')) {
80
93
  outdentElement.classList.add('e-hidden');
81
94
  }
82
- if (selectedItem.level !== 0) {
83
- outdentElement.classList.remove('e-hidden');
84
- }
85
- }
86
- }
87
- if (args['name'] === 'rowDeselected' && isNullOrUndefined(selectedrow) && !tObj.grid.isCheckBoxSelection) {
88
- if (this.parent.toolbar['includes']('Indent')) {
89
- indentElement.classList.add('e-hidden');
90
- }
91
- if (this.parent.toolbar['includes']('Outdent')) {
92
- outdentElement.classList.add('e-hidden');
93
95
  }
94
96
  }
95
97
  }
@@ -378,7 +378,7 @@ var DataManipulation = /** @class */ (function () {
378
378
  currentData.index = this.storedIndex;
379
379
  }
380
380
  if ((!isNullOrUndefined(currentData[this.parent.childMapping]) && !isCountRequired(this.parent)) ||
381
- ((currentData[this.parent.hasChildMapping]) && isCountRequired(this.parent) && this.parent.initialRender)) {
381
+ ((currentData[this.parent.hasChildMapping]) && isCountRequired(this.parent) && (this.parent.initialRender || isNullOrUndefined(this.parent['dataResults'].result)))) {
382
382
  currentData.hasChildRecords = true;
383
383
  if (this.parent.enableCollapseAll || !isNullOrUndefined(this.parent.dataStateChange)
384
384
  && isNullOrUndefined(currentData[this.parent.childMapping])) {
@@ -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 } 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, merge} 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
  /**
@@ -17,7 +17,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
17
17
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
18
18
  return c > 3 && r && Object.defineProperty(target, key, r), r;
19
19
  };
20
- import { Component, addClass, createElement, EventHandler, isNullOrUndefined, extend } from '@syncfusion/ej2-base';
20
+ import { Component, addClass, createElement, EventHandler, isNullOrUndefined, extend, merge } from '@syncfusion/ej2-base';
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';
@@ -1126,6 +1126,19 @@ var TreeGrid = /** @class */ (function (_super) {
1126
1126
  if (args.requestType === 'save' && _this.aggregates.map(function (ag) { return ag.showChildSummary === true; }).length) {
1127
1127
  _this.grid.refresh();
1128
1128
  }
1129
+ if (args.action === 'filter') {
1130
+ if (_this.filterModule['currentFilterObject'] !== '' && _this.enableVirtualization && !_this.initialRender) {
1131
+ _this.expandAll();
1132
+ }
1133
+ }
1134
+ if (args.requestType === 'searching') {
1135
+ if (_this.searchSettings.key !== '' && _this.enableVirtualization && !_this.initialRender) {
1136
+ _this.expandAll();
1137
+ }
1138
+ }
1139
+ if (args.action === 'clearFilter' && _this.enableCollapseAll) {
1140
+ _this.collapseAll();
1141
+ }
1129
1142
  if (_this.action === 'indenting' || _this.action === 'outdenting') {
1130
1143
  _this.action = _this.action === 'indenting' ? 'indented' : 'outdented';
1131
1144
  var selectedItem_1 = [_this.selectedRecords];
@@ -1409,7 +1422,7 @@ var TreeGrid = /** @class */ (function (_super) {
1409
1422
  treeGridColumn[prop] = column[i][prop];
1410
1423
  }
1411
1424
  else if (prop === 'columns' && !isNullOrUndefined(column[i][prop])) {
1412
- gridColumn[prop] = this.getGridColumns(column[i][prop], false, index);
1425
+ gridColumn[prop] = this.getGridColumns(column[i][prop], false, this.columnModel.length - 1);
1413
1426
  treeGridColumn[prop] = column[i][prop];
1414
1427
  }
1415
1428
  else if (this.initialRender && !isNullOrUndefined(treeColumn) && this.enablePersistence && prop === 'edit') {
@@ -2201,15 +2214,15 @@ var TreeGrid = /** @class */ (function (_super) {
2201
2214
  }
2202
2215
  }
2203
2216
  }
2204
- var merge = 'deepMerge';
2205
- this[merge] = ['columns']; // Workaround for blazor updateModel
2217
+ var deepMerge = 'deepMerge';
2218
+ this[deepMerge] = ['columns']; // Workaround for blazor updateModel
2206
2219
  if (this.grid.columns.length !== this.columnModel.length) {
2207
2220
  this.stackedHeader = true;
2208
2221
  }
2209
2222
  if (!this.stackedHeader) {
2210
- this.setProperties({ columns: this.columnModel }, true);
2223
+ merge(this.columns, this.columnModel);
2211
2224
  }
2212
- this[merge] = undefined; // Workaround for blazor updateModel
2225
+ this[deepMerge] = undefined; // Workaround for blazor updateModel
2213
2226
  return this.columnModel;
2214
2227
  };
2215
2228
  /**
@@ -327,6 +327,8 @@ var VirtualTreeContentRenderer = /** @class */ (function (_super) {
327
327
  var upScroll = (scrollArgs.offset.top - this.translateY) < 0;
328
328
  var downScroll = Math.ceil(scrollArgs.offset.top - this.translateY) >= scrollHeight;
329
329
  var selectedRowIndex = 'selectedRowIndex';
330
+ var currentViewData = this.parent.currentViewData;
331
+ var indexValue = 'index';
330
332
  if (upScroll && (scrollArgs.direction !== 'right' && scrollArgs.direction !== 'left')) {
331
333
  var vHeight = +(this.parent.height.toString().indexOf('%') < 0 ? this.parent.height :
332
334
  this.parent.element.getBoundingClientRect().height);
@@ -345,6 +347,10 @@ var VirtualTreeContentRenderer = /** @class */ (function (_super) {
345
347
  this.endIndex = lastInx;
346
348
  this.startIndex = (this.startIndex - remains) < 0 ? 0 : (this.startIndex - remains);
347
349
  }
350
+ if (currentViewData.length && ((currentViewData[0][indexValue] - this.startIndex) < (this.parent.pageSettings.pageSize / 2))) {
351
+ this.startIndex = currentViewData[0][indexValue] - (this.parent.pageSettings.pageSize / 2);
352
+ this.endIndex = this.startIndex + this.parent.pageSettings.pageSize;
353
+ }
348
354
  //var firsttdinx = parseInt(this.parent.getContent().querySelector('.e-content td').getAttribute('index'), 0);
349
355
  var rowPt = Math.ceil(scrollArgs.offset.top / this.parent.getRowHeight());
350
356
  rowPt = rowPt % this.parent.pageSettings.pageSize;
@@ -383,6 +389,10 @@ var VirtualTreeContentRenderer = /** @class */ (function (_super) {
383
389
  }
384
390
  this.startIndex = !isLastBlock ? lastIndex - this.parent.pageSettings.pageSize : nextSetResIndex;
385
391
  this.endIndex = lastIndex;
392
+ if (currentViewData.length && this.startIndex > currentViewData[0][indexValue] &&
393
+ ((this.startIndex - currentViewData[0][indexValue]) < (this.parent.pageSettings.pageSize / 2))) {
394
+ this.startIndex = currentViewData[0][indexValue] + (this.parent.pageSettings.pageSize / 2);
395
+ }
386
396
  if (scrollArgs.offset.top > (this.parent.getRowHeight() * this.totalRecords)) {
387
397
  this.translateY = this.getTranslateY(scrollArgs.offset.top, content.getBoundingClientRect().height);
388
398
  }