@syncfusion/ej2-treegrid 20.2.40 → 20.2.45

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.40
3
+ * version : 20.2.45
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.39",
3
+ "_id": "@syncfusion/ej2-treegrid@20.2.44",
4
4
  "_inBundle": false,
5
- "_integrity": "sha512-5rBNYV7TLamFp9Hc0N6hCtVjsqk1ZxtGLsP49vRZQRTAc2zps0a3OwOVsfGQkh6YTwyojMRNwsiV+GeHUXe+6w==",
5
+ "_integrity": "sha512-/4fd7PkNtcNI/Zd+N6LFuuSgJ9z7eNxwyz38eAmvDhgFUNJ8dtS+EEtuFRB8yAUZX0P+tN5BVDHSQYwtT+PHNw==",
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.39.tgz",
28
- "_shasum": "45ce481300501f03d225973a53a749b17c4fab18",
27
+ "_resolved": "http://nexus.syncfusion.com/repository/ej2-hotfix-new/@syncfusion/ej2-treegrid/-/ej2-treegrid-20.2.44.tgz",
28
+ "_shasum": "b61ea013464ece03bba9e3bbe19f3396fd867ef2",
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.39",
40
- "@syncfusion/ej2-data": "~20.2.38",
41
- "@syncfusion/ej2-grids": "~20.2.40",
42
- "@syncfusion/ej2-popups": "~20.2.40"
39
+ "@syncfusion/ej2-base": "~20.2.45",
40
+ "@syncfusion/ej2-data": "~20.2.45",
41
+ "@syncfusion/ej2-grids": "~20.2.45",
42
+ "@syncfusion/ej2-popups": "~20.2.45"
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.40",
63
+ "version": "20.2.45",
64
64
  "sideEffects": false
65
65
  }
@@ -241,7 +241,8 @@ var BatchEdit = /** @class */ (function () {
241
241
  !this.parent.editModule['isAddedRowByContextMenu'] && (this.parent.grid.selectedRowIndex === -1 || this.parent.editModule['batchEditModule'].isAdd)) {
242
242
  this.selectedIndex = this.parent.editModule['selectedIndex'];
243
243
  this.addRowIndex = this.parent.editModule['addRowIndex'];
244
- this.addRowRecord = this.batchRecords.length ? this.batchRecords[this.selectedIndex] : this.parent.getCurrentViewRecords()[this.selectedIndex];
244
+ this.addRowRecord = this.batchRecords.length ? this.batchRecords[this.selectedIndex]
245
+ : this.parent.getCurrentViewRecords()[this.selectedIndex];
245
246
  }
246
247
  else {
247
248
  this.selectedIndex = this.parent.grid.selectedRowIndex;
@@ -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,7 +155,8 @@ var Filter = /** @class */ (function () {
155
155
  }
156
156
  }
157
157
  else {
158
- if (parent['expanded'] === false && this.parent.getVisibleRecords().indexOf(record) === -1 && isNullOrUndefined(this.parent['dataResults']['action'])) {
158
+ if ((!this.parent.enableCollapseAll || !this.parent.initialRender && isNullOrUndefined(this.parent['dataResults']['result']))
159
+ && parent['expanded'] === false && this.parent.getVisibleRecords().indexOf(record) === -1) {
159
160
  this.parent.expandRow(this.parent.getRows()[parent['index']], parent);
160
161
  }
161
162
  this.addParentRecord(parent);
@@ -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';
@@ -1409,7 +1409,7 @@ var TreeGrid = /** @class */ (function (_super) {
1409
1409
  treeGridColumn[prop] = column[i][prop];
1410
1410
  }
1411
1411
  else if (prop === 'columns' && !isNullOrUndefined(column[i][prop])) {
1412
- gridColumn[prop] = this.getGridColumns(column[i][prop], false, index);
1412
+ gridColumn[prop] = this.getGridColumns(column[i][prop], false, this.columnModel.length - 1);
1413
1413
  treeGridColumn[prop] = column[i][prop];
1414
1414
  }
1415
1415
  else if (this.initialRender && !isNullOrUndefined(treeColumn) && this.enablePersistence && prop === 'edit') {
@@ -2201,15 +2201,15 @@ var TreeGrid = /** @class */ (function (_super) {
2201
2201
  }
2202
2202
  }
2203
2203
  }
2204
- var merge = 'deepMerge';
2205
- this[merge] = ['columns']; // Workaround for blazor updateModel
2204
+ var deepMerge = 'deepMerge';
2205
+ this[deepMerge] = ['columns']; // Workaround for blazor updateModel
2206
2206
  if (this.grid.columns.length !== this.columnModel.length) {
2207
2207
  this.stackedHeader = true;
2208
2208
  }
2209
2209
  if (!this.stackedHeader) {
2210
- this.setProperties({ columns: this.columnModel }, true);
2210
+ merge(this.columns, this.columnModel);
2211
2211
  }
2212
- this[merge] = undefined; // Workaround for blazor updateModel
2212
+ this[deepMerge] = undefined; // Workaround for blazor updateModel
2213
2213
  return this.columnModel;
2214
2214
  };
2215
2215
  /**
@@ -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
  }
@@ -121,7 +121,7 @@ export function findChildrenRecords(records) {
121
121
  return [];
122
122
  }
123
123
  if (!isNullOrUndefined(records.childRecords)) {
124
- var childRecords = records.childRecords.filter(function (items) { return !items.isSummaryRow; });
124
+ var childRecords = records.childRecords.filter(function (item) { return !item.isSummaryRow; });
125
125
  var keys = Object.keys(childRecords);
126
126
  for (var i = 0, len = keys.length; i < len; i++) {
127
127
  datas.push(childRecords[i]);