@syncfusion/ej2-treegrid 22.2.9 → 23.1.36

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 (63) hide show
  1. package/CHANGELOG.md +14 -51
  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 +219 -327
  6. package/dist/es6/ej2-treegrid.es2015.js.map +1 -1
  7. package/dist/es6/ej2-treegrid.es5.js +218 -350
  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/batch-edit.js +2 -28
  14. package/src/treegrid/actions/crud-actions.js +1 -1
  15. package/src/treegrid/actions/edit.js +6 -52
  16. package/src/treegrid/actions/excel-export.d.ts +2 -2
  17. package/src/treegrid/actions/freeze-column.d.ts +0 -1
  18. package/src/treegrid/actions/freeze-column.js +4 -36
  19. package/src/treegrid/actions/infinite-scroll.js +8 -8
  20. package/src/treegrid/actions/pdf-export.d.ts +2 -2
  21. package/src/treegrid/actions/selection.js +1 -1
  22. package/src/treegrid/actions/virtual-scroll.js +6 -8
  23. package/src/treegrid/base/data.js +20 -4
  24. package/src/treegrid/base/treegrid-model.d.ts +8 -1
  25. package/src/treegrid/base/treegrid.d.ts +69 -1
  26. package/src/treegrid/base/treegrid.js +160 -34
  27. package/src/treegrid/models/column.d.ts +1 -0
  28. package/src/treegrid/renderer/virtual-row-model-generator.js +4 -4
  29. package/src/treegrid/renderer/virtual-tree-content-render.d.ts +0 -1
  30. package/src/treegrid/renderer/virtual-tree-content-render.js +9 -21
  31. package/styles/material-dark.css +0 -1
  32. package/styles/material.css +0 -1
  33. package/styles/material3-dark.css +0 -1
  34. package/styles/material3-dark.scss +1 -1
  35. package/styles/material3.css +0 -1
  36. package/styles/material3.scss +1 -1
  37. package/styles/tailwind-dark.css +0 -1
  38. package/styles/tailwind.css +0 -1
  39. package/styles/treegrid/bootstrap-dark.scss +1 -1
  40. package/styles/treegrid/bootstrap.scss +1 -1
  41. package/styles/treegrid/bootstrap4.scss +1 -1
  42. package/styles/treegrid/bootstrap5-dark.scss +1 -1
  43. package/styles/treegrid/bootstrap5.scss +1 -1
  44. package/styles/treegrid/fabric-dark.scss +1 -1
  45. package/styles/treegrid/fabric.scss +1 -1
  46. package/styles/treegrid/fluent-dark.scss +1 -1
  47. package/styles/treegrid/fluent.scss +1 -1
  48. package/styles/treegrid/highcontrast-light.scss +1 -1
  49. package/styles/treegrid/highcontrast.scss +1 -1
  50. package/styles/treegrid/material-dark.css +0 -1
  51. package/styles/treegrid/material-dark.scss +1 -1
  52. package/styles/treegrid/material.css +0 -1
  53. package/styles/treegrid/material.scss +1 -1
  54. package/styles/treegrid/material3-dark.css +0 -1
  55. package/styles/treegrid/material3-dark.scss +1 -1
  56. package/styles/treegrid/material3.css +0 -1
  57. package/styles/treegrid/material3.scss +1 -1
  58. package/styles/treegrid/tailwind-dark.css +0 -1
  59. package/styles/treegrid/tailwind-dark.scss +1 -1
  60. package/styles/treegrid/tailwind.css +0 -1
  61. package/styles/treegrid/tailwind.scss +1 -1
  62. package/src/treegrid/renderer/virtual-tree-freeze-render.d.ts +0 -59
  63. package/src/treegrid/renderer/virtual-tree-freeze-render.js +0 -163
@@ -113,6 +113,7 @@ export declare class TreeGrid extends Component<HTMLElement> implements INotifyP
113
113
  private treeColumnTextAlign;
114
114
  private treeColumnField;
115
115
  private stackedHeader;
116
+ private isExcel;
116
117
  /** @hidden */
117
118
  initialRender: boolean;
118
119
  /** @hidden */
@@ -360,6 +361,12 @@ export declare class TreeGrid extends Component<HTMLElement> implements INotifyP
360
361
  * Configures the row drop settings of the TreeGrid.
361
362
  */
362
363
  rowDropSettings: RowDropSettingsModel;
364
+ /**
365
+ * Defines the currencyCode format of the Tree Grid columns
366
+ *
367
+ * @private
368
+ */
369
+ private currencyCode;
363
370
  /**
364
371
  * @hidden
365
372
  * It used to render pager template
@@ -1144,6 +1151,47 @@ export declare class TreeGrid extends Component<HTMLElement> implements INotifyP
1144
1151
  * @returns {Promise<any>} - Returns promise object of export action
1145
1152
  */
1146
1153
  pdfExport(pdfExportProperties?: PdfExportProperties | TreeGridPdfExportProperties, isMultipleExport?: boolean, pdfDoc?: Object, isBlob?: boolean): Promise<Object>;
1154
+ /**
1155
+ * Sends a post request to export tree grid to excel file in server side.
1156
+ *
1157
+ * @param {string} url - Pass URL for server side excel export action.
1158
+ * @returns {void}
1159
+ */
1160
+ serverExcelExport(url: string): void;
1161
+ /**
1162
+ * Sends a post request to export tree grid to pdf file in server side.
1163
+ *
1164
+ * @param {string} url - Pass URL for server-side pdf export action.
1165
+ * @returns {void}
1166
+ */
1167
+ serverPdfExport(url: string): void;
1168
+ /**
1169
+ * Sends a Post request to export Tree Grid to CSV file in server side.
1170
+ *
1171
+ * @param {string} url - Pass URL for server-side csv export action.
1172
+ * @returns {void}
1173
+ */
1174
+ serverCsvExport(url: string): void;
1175
+ /**
1176
+ * Exports the TreeGrid data to the specified URL using a POST request.
1177
+ * @param {string} url - Defines exporting url
1178
+ * @returns {void}
1179
+ */
1180
+ private exportTreeGrid;
1181
+ /**
1182
+ * Sets the header text and other properties for an array of columns based on specified criteria.
1183
+ * @param {Column[]} columns - Defines array of columns
1184
+ * @param {string[]} include - Defines array of sting
1185
+ * @returns {Column[]} returns array of columns
1186
+ */
1187
+ private setHeaderText;
1188
+ /**
1189
+ * Retrieves the appropriate format string from the given format options.
1190
+ *
1191
+ * @param {string | NumberFormatOptions | DateFormatOptions} format - The format options to retrieve the format string from.
1192
+ * @returns {string} The format string extracted from the provided format options.
1193
+ */
1194
+ private getFormat;
1147
1195
  /**
1148
1196
  * For internal use only - Get the module name.
1149
1197
  *
@@ -1740,7 +1788,6 @@ export declare class TreeGrid extends Component<HTMLElement> implements INotifyP
1740
1788
  expandRow(row: HTMLTableRowElement, record?: Object, key?: Object, level?: number): void;
1741
1789
  private expandRows;
1742
1790
  private expandCollapseAllChildren;
1743
- private setHeightForFrozenContent;
1744
1791
  private getCollapseExpandRecords;
1745
1792
  /**
1746
1793
  * Collapses child rows
@@ -1921,12 +1968,16 @@ export declare class TreeGrid extends Component<HTMLElement> implements INotifyP
1921
1968
  * @param {number} rowIndex - Specifies the row index.
1922
1969
  * @param {number} columnIndex - Specifies the column index.
1923
1970
  * @returns {Element} - Returns movable cell element from the indexes passed
1971
+ *
1972
+
1924
1973
  */
1925
1974
  getMovableCellFromIndex(rowIndex: number, columnIndex: number): Element;
1926
1975
  /**
1927
1976
  * Gets all the TreeGrid's movable table data rows.
1928
1977
  *
1929
1978
  * @returns {Element[]} - Returns element collection of movable rows
1979
+ *
1980
+
1930
1981
  */
1931
1982
  getMovableDataRows(): Element[];
1932
1983
  /**
@@ -1934,12 +1985,15 @@ export declare class TreeGrid extends Component<HTMLElement> implements INotifyP
1934
1985
  *
1935
1986
  * @param {number} index - Specifies the row index.
1936
1987
  * @returns {Element} - Returns movable row based on index passed
1988
+ *
1989
+
1937
1990
  */
1938
1991
  getMovableRowByIndex(index: number): Element;
1939
1992
  /**
1940
1993
  * Gets the TreeGrid's movable content rows from frozen treegrid.
1941
1994
  *
1942
1995
  * @returns {Element[]}: Returns movable row element
1996
+
1943
1997
  */
1944
1998
  getMovableRows(): Element[];
1945
1999
  /**
@@ -1947,18 +2001,24 @@ export declare class TreeGrid extends Component<HTMLElement> implements INotifyP
1947
2001
  *
1948
2002
  * @param {number} index - Specifies the row index.
1949
2003
  * @returns {Element} returns the element
2004
+ *
2005
+
1950
2006
  */
1951
2007
  getFrozenRightRowByIndex(index: number): Element;
1952
2008
  /**
1953
2009
  * Gets the Tree Grid's frozen right content rows from frozen Tree Grid.
1954
2010
  *
1955
2011
  * @returns {Element[]} returns the element
2012
+ *
2013
+
1956
2014
  */
1957
2015
  getFrozenRightRows(): Element[];
1958
2016
  /**
1959
2017
  * Gets all the Tree Grid's frozen right table data rows.
1960
2018
  *
1961
2019
  * @returns {Element[]} Returns the Element
2020
+ *
2021
+
1962
2022
  */
1963
2023
  getFrozenRightDataRows(): Element[];
1964
2024
  /**
@@ -1967,6 +2027,8 @@ export declare class TreeGrid extends Component<HTMLElement> implements INotifyP
1967
2027
  * @param {number} rowIndex - Specifies the row index.
1968
2028
  * @param {number} columnIndex - Specifies the column index.
1969
2029
  * @returns {Element} Returns the Element
2030
+ *
2031
+
1970
2032
  */
1971
2033
  getFrozenRightCellFromIndex(rowIndex: number, columnIndex: number): Element;
1972
2034
  /**
@@ -1974,6 +2036,8 @@ export declare class TreeGrid extends Component<HTMLElement> implements INotifyP
1974
2036
  *
1975
2037
  * @param {number} index - Specifies the column index.
1976
2038
  * @returns {Element} Returns the Element
2039
+ *
2040
+
1977
2041
  */
1978
2042
  getFrozenLeftColumnHeaderByIndex(index: number): Element;
1979
2043
  /**
@@ -1981,6 +2045,8 @@ export declare class TreeGrid extends Component<HTMLElement> implements INotifyP
1981
2045
  *
1982
2046
  * @param {number} index - Specifies the column index.
1983
2047
  * @returns {Element} Returns the Element
2048
+ *
2049
+
1984
2050
  */
1985
2051
  getFrozenRightColumnHeaderByIndex(index: number): Element;
1986
2052
  /**
@@ -1988,6 +2054,8 @@ export declare class TreeGrid extends Component<HTMLElement> implements INotifyP
1988
2054
  *
1989
2055
  * @param {number} index - Specifies the column index.
1990
2056
  * @returns {Element} Returns the Element
2057
+ *
2058
+
1991
2059
  */
1992
2060
  getMovableColumnHeaderByIndex(index: number): Element;
1993
2061
  /**
@@ -21,6 +21,7 @@ import { Component, addClass, createElement, EventHandler, isNullOrUndefined, ex
21
21
  import { removeClass, Complex, Collection, getValue } from '@syncfusion/ej2-base';
22
22
  import { Event, Property, NotifyPropertyChanges, setValue, KeyboardEvents, L10n } from '@syncfusion/ej2-base';
23
23
  import { Column } from '../models/column';
24
+ import { getNumberFormat } from '@syncfusion/ej2-grids';
24
25
  import { RowDropSettings, getUid } from '@syncfusion/ej2-grids';
25
26
  import { LoadingIndicator } from '../models/loading-indicator';
26
27
  import { FilterSettings } from '../models/filter-settings';
@@ -33,7 +34,7 @@ import * as events from '../base/constant';
33
34
  import { SearchSettings } from '../models/search-settings';
34
35
  import { SelectionSettings } from '../models/selection-settings';
35
36
  import { getActualProperties, getObject } from '@syncfusion/ej2-grids';
36
- import { DataManager, RemoteSaveAdaptor, Query, JsonAdaptor, Deferred } from '@syncfusion/ej2-data';
37
+ import { DataManager, RemoteSaveAdaptor, Query, JsonAdaptor, Deferred, UrlAdaptor } from '@syncfusion/ej2-data';
37
38
  import { createSpinner, hideSpinner, showSpinner } from '@syncfusion/ej2-popups';
38
39
  import { isRemoteData, isOffline, extendArray, isCountRequired, findChildrenRecords } from '../utils';
39
40
  import { Grid, Logger } from '@syncfusion/ej2-grids';
@@ -145,6 +146,112 @@ var TreeGrid = /** @class */ (function (_super) {
145
146
  TreeGrid.prototype.pdfExport = function (pdfExportProperties, isMultipleExport, pdfDoc, isBlob) {
146
147
  return this.pdfExportModule.Map(pdfExportProperties, isMultipleExport, pdfDoc, isBlob);
147
148
  };
149
+ /**
150
+ * Sends a post request to export tree grid to excel file in server side.
151
+ *
152
+ * @param {string} url - Pass URL for server side excel export action.
153
+ * @returns {void}
154
+ */
155
+ TreeGrid.prototype.serverExcelExport = function (url) {
156
+ this.isExcel = true;
157
+ this.exportTreeGrid(url);
158
+ };
159
+ /**
160
+ * Sends a post request to export tree grid to pdf file in server side.
161
+ *
162
+ * @param {string} url - Pass URL for server-side pdf export action.
163
+ * @returns {void}
164
+ */
165
+ TreeGrid.prototype.serverPdfExport = function (url) {
166
+ this.isExcel = false;
167
+ this.exportTreeGrid(url);
168
+ };
169
+ /**
170
+ * Sends a Post request to export Tree Grid to CSV file in server side.
171
+ *
172
+ * @param {string} url - Pass URL for server-side csv export action.
173
+ * @returns {void}
174
+ */
175
+ TreeGrid.prototype.serverCsvExport = function (url) {
176
+ this.isExcel = true;
177
+ this.exportTreeGrid(url);
178
+ };
179
+ /**
180
+ * Exports the TreeGrid data to the specified URL using a POST request.
181
+ * @param {string} url - Defines exporting url
182
+ * @returns {void}
183
+ */
184
+ TreeGrid.prototype.exportTreeGrid = function (url) {
185
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
186
+ var treegrid = this;
187
+ var query = treegrid.grid.getDataModule().generateQuery(true);
188
+ var state = new UrlAdaptor().processQuery(new DataManager({ url: '' }), query);
189
+ var queries = JSON.parse(state.data);
190
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
191
+ var treeGridModel = JSON.parse(this.addOnPersist(['allowPaging', 'pageSettings', 'sortSettings', 'allowPdfExport', 'allowExcelExport', 'aggregates',
192
+ 'filterSettings', 'columns', 'locale', 'searchSettings', 'idMapping', 'parentIdMapping', 'childMapping', 'treeColumnIndex']));
193
+ var include = ['field', 'headerText', 'type', 'format', 'visible',
194
+ 'template', 'index', 'width', 'textAlign', 'headerTextAlign', 'columns'];
195
+ treeGridModel.filterSettings.columns = queries.where;
196
+ treeGridModel.searchSettings.fields = queries.search && queries.search[0]['fields'] || [];
197
+ treeGridModel.sortSettings.columns = queries.sorted;
198
+ treeGridModel.columns = this.setHeaderText(treeGridModel.columns, include);
199
+ var form = this.createElement('form', { id: 'ExportForm', styles: 'display:none;' });
200
+ var treeGridInput = this.createElement('input', { id: 'treeGridInput', attrs: { name: 'treeGridModel' } });
201
+ treeGridInput.value = JSON.stringify(treeGridModel);
202
+ form.method = 'POST';
203
+ form.action = url;
204
+ form.appendChild(treeGridInput);
205
+ document.body.appendChild(form);
206
+ form.submit();
207
+ form.remove();
208
+ };
209
+ /**
210
+ * Sets the header text and other properties for an array of columns based on specified criteria.
211
+ * @param {Column[]} columns - Defines array of columns
212
+ * @param {string[]} include - Defines array of sting
213
+ * @returns {Column[]} returns array of columns
214
+ */
215
+ TreeGrid.prototype.setHeaderText = function (columns, include) {
216
+ for (var i = 0; i < columns.length; i++) {
217
+ var column = this.getColumnByUid(columns[parseInt(i.toString(), 10)].uid);
218
+ if (this.stackedHeader && isNullOrUndefined(column)) {
219
+ column = !isNullOrUndefined(columns[parseInt(i.toString(), 10)].field) ?
220
+ this.getColumnByField(columns[parseInt(i.toString(), 10)].field) : columns[parseInt(i.toString(), 10)];
221
+ }
222
+ columns[parseInt(i.toString(), 10)].headerText = column.headerText;
223
+ if (!isNullOrUndefined(column.template)) {
224
+ columns[parseInt(i.toString(), 10)].template = 'true';
225
+ }
226
+ if (columns[parseInt(i.toString(), 10)].format) {
227
+ columns[parseInt(i.toString(), 10)].format = getNumberFormat(this.getFormat(column.format), column.type, false, this.currencyCode);
228
+ if (!this.isExcel && (column.type === 'datetime' || column.type === 'date')) {
229
+ columns[parseInt(i.toString(), 10)].format = columns[parseInt(i.toString(), 10)].format.toString().replace('AM/PM', 'tt');
230
+ }
231
+ columns[parseInt(i.toString(), 10)].type = column.type;
232
+ }
233
+ if (columns[parseInt(i.toString(), 10)].columns) {
234
+ this.setHeaderText(columns[parseInt(i.toString(), 10)].columns, include);
235
+ }
236
+ var keys = Object.keys(columns[parseInt(i.toString(), 10)]);
237
+ for (var j = 0; j < keys.length; j++) {
238
+ if (include.indexOf(keys[parseInt(j.toString(), 10)]) < 0) {
239
+ delete columns[parseInt(i.toString(), 10)][keys[parseInt(j.toString(), 10)]];
240
+ }
241
+ }
242
+ }
243
+ return columns;
244
+ };
245
+ /**
246
+ * Retrieves the appropriate format string from the given format options.
247
+ *
248
+ * @param {string | NumberFormatOptions | DateFormatOptions} format - The format options to retrieve the format string from.
249
+ * @returns {string} The format string extracted from the provided format options.
250
+ */
251
+ TreeGrid.prototype.getFormat = function (format) {
252
+ return typeof (format) === 'object' ? !isNullOrUndefined(format.format) ?
253
+ format.format : format.skeleton : format;
254
+ };
148
255
  /**
149
256
  * For internal use only - Get the module name.
150
257
  *
@@ -420,7 +527,7 @@ var TreeGrid = /** @class */ (function (_super) {
420
527
  TreeGrid.prototype.requiredModules = function () {
421
528
  var modules = [];
422
529
  var splitFrozenCount = 'splitFrozenCount';
423
- this.grid["" + splitFrozenCount](this.getGridColumns(this.columns));
530
+ this.grid["" + splitFrozenCount](this.getColumns());
424
531
  if (this.isDestroyed) {
425
532
  return modules;
426
533
  }
@@ -780,9 +887,11 @@ var TreeGrid = /** @class */ (function (_super) {
780
887
  TreeGrid.prototype.IsExpandCollapseClicked = function (args) {
781
888
  if (!isNullOrUndefined(args.target) && (args.target.classList.contains('e-treegridexpand')
782
889
  || args.target.classList.contains('e-treegridcollapse') || args.target.classList.contains('e-summarycell'))
783
- && (!isNullOrUndefined(args.data) && args.data['hasChildRecords']) && !this.selectionSettings.checkboxOnly) {
784
- args.cancel = true;
785
- return;
890
+ && !this.selectionSettings.checkboxOnly) {
891
+ if ((!isNullOrUndefined(args.data) && args.data['hasChildRecords']) || (args.rowIndex !== -1 && isNullOrUndefined(args.data))) {
892
+ args.cancel = true;
893
+ return;
894
+ }
786
895
  }
787
896
  };
788
897
  TreeGrid.prototype.bindGridEvents = function () {
@@ -900,9 +1009,13 @@ var TreeGrid = /** @class */ (function (_super) {
900
1009
  _this.updateAltRow(_this.getRows());
901
1010
  _this.notify('dataBoundArg', args);
902
1011
  if (isRemoteData(_this) && !isOffline(_this) && !_this.hasChildMapping) {
903
- var req = getObject('dataSource.requests', _this).filter(function (e) {
904
- return e.httpRequest.statusText !== 'OK';
905
- }).length;
1012
+ var req = void 0;
1013
+ if (_this.dataResults.result) {
1014
+ req = 0;
1015
+ }
1016
+ else {
1017
+ req = 1;
1018
+ }
906
1019
  setValue('grid.contentModule.isLoaded', !(req > 0), _this);
907
1020
  }
908
1021
  if (_this.isPixelHeight() && _this.initialRender) {
@@ -2663,7 +2776,6 @@ var TreeGrid = /** @class */ (function (_super) {
2663
2776
  var children = 'Children';
2664
2777
  if (!(isRemoteData(this) && !isOffline(this)) && (!isCountRequired(this) || !isNullOrUndefined(record["" + children]))) {
2665
2778
  var expandArgs = { data: record, row: row };
2666
- this.setHeightForFrozenContent();
2667
2779
  if (!isNullOrUndefined(this.expandStateMapping)) {
2668
2780
  this.updateExpandStateMapping(expandArgs.data, true);
2669
2781
  }
@@ -2690,12 +2802,6 @@ var TreeGrid = /** @class */ (function (_super) {
2690
2802
  this.expandCollapse(action, null, records[parseInt(i.toString(), 10)]);
2691
2803
  }
2692
2804
  };
2693
- TreeGrid.prototype.setHeightForFrozenContent = function () {
2694
- var freeze = (this.grid.getFrozenLeftColumnsCount() > 0 || this.grid.getFrozenRightColumnsCount() > 0) ? true : false;
2695
- if (this.grid.getFrozenColumns() > 0 || freeze) {
2696
- this.grid.contentModule.refreshScrollOffset();
2697
- }
2698
- };
2699
2805
  TreeGrid.prototype.getCollapseExpandRecords = function (row, record) {
2700
2806
  if (this.allowPaging && this.pageSettings.pageSizeMode === 'All' && this.isExpandAll && isNullOrUndefined(record) &&
2701
2807
  !isRemoteData(this)) {
@@ -2772,7 +2878,6 @@ var TreeGrid = /** @class */ (function (_super) {
2772
2878
  this.expandCollapse('collapse', row, record);
2773
2879
  var collapseArgs = { data: record, row: row };
2774
2880
  if (!isRemoteData(this)) {
2775
- this.setHeightForFrozenContent();
2776
2881
  if (!isNullOrUndefined(this.expandStateMapping)) {
2777
2882
  this.updateExpandStateMapping(collapseArgs.data, false);
2778
2883
  }
@@ -3227,7 +3332,6 @@ var TreeGrid = /** @class */ (function (_super) {
3227
3332
  _this.isExpandRefresh = true;
3228
3333
  var scrollHeightBeforeRefresh = _this.getContentTable().parentElement.scrollTop;
3229
3334
  _this.grid.refresh();
3230
- _this.setHeightForFrozenContent();
3231
3335
  if (_this.enableInfiniteScrolling) {
3232
3336
  _this.getContentTable().parentElement.scrollTop = scrollHeightBeforeRefresh;
3233
3337
  }
@@ -3250,7 +3354,6 @@ var TreeGrid = /** @class */ (function (_super) {
3250
3354
  this.notify(events.remoteExpand, { record: record, rows: rows, parentRow: row });
3251
3355
  var args_1 = { row: row, data: record };
3252
3356
  if (rows.length > 0) {
3253
- this.setHeightForFrozenContent();
3254
3357
  this.trigger(events.expanded, args_1);
3255
3358
  }
3256
3359
  }
@@ -3259,7 +3362,6 @@ var TreeGrid = /** @class */ (function (_super) {
3259
3362
  }
3260
3363
  else {
3261
3364
  this.collapseRemoteChild({ record: record, rows: rows });
3262
- this.setHeightForFrozenContent();
3263
3365
  this.trigger(events.collapsed, args);
3264
3366
  }
3265
3367
  };
@@ -3294,12 +3396,12 @@ var TreeGrid = /** @class */ (function (_super) {
3294
3396
  }
3295
3397
  var freeze = (this.grid.getFrozenLeftColumnsCount() > 0 || this.grid.getFrozenRightColumnsCount() > 0) ? true : false;
3296
3398
  if (this.frozenRows || this.frozenColumns || this.getFrozenColumns() || freeze) {
3297
- movableRows = this.getMovableRows().filter(function (r) {
3399
+ movableRows = this.getRows().filter(function (r) {
3298
3400
  return r.querySelector('.e-gridrowindex' + record.index + 'level' + (record.level + 1));
3299
3401
  });
3300
3402
  }
3301
3403
  if (freeze) {
3302
- freezeRightRows = this.getFrozenRightRows().filter(function (r) {
3404
+ freezeRightRows = this.getRows().filter(function (r) {
3303
3405
  return r.querySelector('.e-gridrowindex' + record.index + 'level' + (record.level + 1));
3304
3406
  });
3305
3407
  }
@@ -3399,10 +3501,10 @@ var TreeGrid = /** @class */ (function (_super) {
3399
3501
  var rightrows = [];
3400
3502
  var freeze = (this.getFrozenLeftColumnsCount() > 0 || this.getFrozenRightColumnsCount() > 0) ? true : false;
3401
3503
  if (freeze) {
3402
- movablerows = this.getMovableRows().filter(function (r) {
3504
+ movablerows = this.getRows().filter(function (r) {
3403
3505
  return r.querySelector('.e-gridrowindex' + rowDetails.record.index + 'level' + (rowDetails.record.level + 1));
3404
3506
  });
3405
- rightrows = this.getFrozenRightRows().filter(function (r) {
3507
+ rightrows = this.getRows().filter(function (r) {
3406
3508
  return r.querySelector('.e-gridrowindex' + rowDetails.record.index + 'level' + (rowDetails.record.level + 1));
3407
3509
  });
3408
3510
  }
@@ -3612,59 +3714,72 @@ var TreeGrid = /** @class */ (function (_super) {
3612
3714
  * @param {number} rowIndex - Specifies the row index.
3613
3715
  * @param {number} columnIndex - Specifies the column index.
3614
3716
  * @returns {Element} - Returns movable cell element from the indexes passed
3717
+ *
3718
+
3615
3719
  */
3616
3720
  TreeGrid.prototype.getMovableCellFromIndex = function (rowIndex, columnIndex) {
3617
- return this.grid.getMovableCellFromIndex(rowIndex, columnIndex);
3721
+ return this.grid.getCellFromIndex(rowIndex, columnIndex);
3618
3722
  };
3619
3723
  /**
3620
3724
  * Gets all the TreeGrid's movable table data rows.
3621
3725
  *
3622
3726
  * @returns {Element[]} - Returns element collection of movable rows
3727
+ *
3728
+
3623
3729
  */
3624
3730
  TreeGrid.prototype.getMovableDataRows = function () {
3625
- return this.grid.getMovableDataRows();
3731
+ return this.grid.getDataRows();
3626
3732
  };
3627
3733
  /**
3628
3734
  * Gets a movable tables row by index.
3629
3735
  *
3630
3736
  * @param {number} index - Specifies the row index.
3631
3737
  * @returns {Element} - Returns movable row based on index passed
3738
+ *
3739
+
3632
3740
  */
3633
3741
  TreeGrid.prototype.getMovableRowByIndex = function (index) {
3634
- return this.grid.getMovableRowByIndex(index);
3742
+ return this.grid.getRowByIndex(index);
3635
3743
  };
3636
3744
  /**
3637
3745
  * Gets the TreeGrid's movable content rows from frozen treegrid.
3638
3746
  *
3639
3747
  * @returns {Element[]}: Returns movable row element
3748
+
3640
3749
  */
3641
3750
  TreeGrid.prototype.getMovableRows = function () {
3642
- return this.grid.getMovableRows();
3751
+ return this.grid.getRows();
3643
3752
  };
3644
3753
  /**
3645
3754
  * Gets a frozen right tables row element by index.
3646
3755
  *
3647
3756
  * @param {number} index - Specifies the row index.
3648
3757
  * @returns {Element} returns the element
3758
+ *
3759
+
3649
3760
  */
3650
3761
  TreeGrid.prototype.getFrozenRightRowByIndex = function (index) {
3651
- return this.grid.getFrozenRightRowByIndex(index);
3762
+ return this.grid.getRowByIndex(index);
3652
3763
  };
3653
3764
  /**
3654
3765
  * Gets the Tree Grid's frozen right content rows from frozen Tree Grid.
3655
3766
  *
3656
3767
  * @returns {Element[]} returns the element
3768
+ *
3769
+
3657
3770
  */
3658
3771
  TreeGrid.prototype.getFrozenRightRows = function () {
3659
- return this.grid.getFrozenRightRows();
3772
+ return this.grid.getRows();
3660
3773
  };
3661
3774
  /**
3662
3775
  * Gets all the Tree Grid's frozen right table data rows.
3663
3776
  *
3664
3777
  * @returns {Element[]} Returns the Element
3778
+ *
3779
+
3665
3780
  */
3666
3781
  TreeGrid.prototype.getFrozenRightDataRows = function () {
3667
- return this.grid.getFrozenRightDataRows();
3782
+ return this.grid.getDataRows();
3668
3783
  };
3669
3784
  /**
3670
3785
  * Gets a frozen right table cell by row and column index.
@@ -3672,36 +3787,44 @@ var TreeGrid = /** @class */ (function (_super) {
3672
3787
  * @param {number} rowIndex - Specifies the row index.
3673
3788
  * @param {number} columnIndex - Specifies the column index.
3674
3789
  * @returns {Element} Returns the Element
3790
+ *
3791
+
3675
3792
  */
3676
3793
  TreeGrid.prototype.getFrozenRightCellFromIndex = function (rowIndex, columnIndex) {
3677
- return this.grid.getFrozenRightCellFromIndex(rowIndex, columnIndex);
3794
+ return this.grid.getCellFromIndex(rowIndex, columnIndex);
3678
3795
  };
3679
3796
  /**
3680
3797
  * Gets a frozen left column header by column index.
3681
3798
  *
3682
3799
  * @param {number} index - Specifies the column index.
3683
3800
  * @returns {Element} Returns the Element
3801
+ *
3802
+
3684
3803
  */
3685
3804
  TreeGrid.prototype.getFrozenLeftColumnHeaderByIndex = function (index) {
3686
- return this.grid.getFrozenLeftColumnHeaderByIndex(index);
3805
+ return this.grid.getColumnHeaderByIndex(index);
3687
3806
  };
3688
3807
  /**
3689
3808
  * Gets a frozen right column header by column index.
3690
3809
  *
3691
3810
  * @param {number} index - Specifies the column index.
3692
3811
  * @returns {Element} Returns the Element
3812
+ *
3813
+
3693
3814
  */
3694
3815
  TreeGrid.prototype.getFrozenRightColumnHeaderByIndex = function (index) {
3695
- return this.grid.getFrozenRightColumnHeaderByIndex(index);
3816
+ return this.grid.getColumnHeaderByIndex(index);
3696
3817
  };
3697
3818
  /**
3698
3819
  * Gets a movable column header by column index.
3699
3820
  *
3700
3821
  * @param {number} index - Specifies the column index.
3701
3822
  * @returns {Element} Returns the Element
3823
+ *
3824
+
3702
3825
  */
3703
3826
  TreeGrid.prototype.getMovableColumnHeaderByIndex = function (index) {
3704
- return this.grid.getMovableColumnHeaderByIndex(index);
3827
+ return this.grid.getColumnHeaderByIndex(index);
3705
3828
  };
3706
3829
  /**
3707
3830
  * @hidden
@@ -3935,6 +4058,9 @@ var TreeGrid = /** @class */ (function (_super) {
3935
4058
  __decorate([
3936
4059
  Complex({}, RowDropSettings)
3937
4060
  ], TreeGrid.prototype, "rowDropSettings", void 0);
4061
+ __decorate([
4062
+ Property('USD')
4063
+ ], TreeGrid.prototype, "currencyCode", void 0);
3938
4064
  __decorate([
3939
4065
  Property()
3940
4066
  ], TreeGrid.prototype, "pagerTemplate", void 0);
@@ -326,6 +326,7 @@ export declare class Column {
326
326
  * The available built-in freeze directions are
327
327
  * * Left - Freeze the column at left side.
328
328
  * * Right - Freeze the column at right side.
329
+ * * Fixed - Freeze the column at Center.
329
330
  *
330
331
  * @default null
331
332
  */
@@ -83,8 +83,8 @@ var TreeVirtualRowModelGenerator = /** @class */ (function (_super) {
83
83
  var currentPage = this["" + model].currentPage;
84
84
  if (clear) {
85
85
  this.cache = {};
86
- this.movableCache = {};
87
- this.frozenRightCache = {};
86
+ /*this.movableCache = {};
87
+ this.frozenRightCache = {};*/
88
88
  this.data = {};
89
89
  this.groups = {};
90
90
  }
@@ -99,8 +99,8 @@ var TreeVirtualRowModelGenerator = /** @class */ (function (_super) {
99
99
  this.cache = {};
100
100
  this.data = {};
101
101
  this.groups = {};
102
- this.movableCache = {};
103
- this.frozenRightCache = {};
102
+ /*this.movableCache = {};
103
+ this.frozenRightCache = {};*/
104
104
  }
105
105
  }
106
106
  return clear;
@@ -25,7 +25,6 @@ export declare class VirtualTreeContentRenderer extends VirtualContentRenderer {
25
25
  /** @hidden */
26
26
  isDataSourceChanged: boolean;
27
27
  getRowByIndex(index: number): Element;
28
- getMovableVirtualRowByIndex(index: number): Element;
29
28
  getFrozenRightVirtualRowByIndex(index: number): Element;
30
29
  getRowCollection(index: number, isMovable: boolean, isRowObject?: boolean, isFrozenRight?: boolean): Element | Object;
31
30
  addEventListener(): void;
@@ -42,18 +42,19 @@ var VirtualTreeContentRenderer = /** @class */ (function (_super) {
42
42
  return new TreeVirtualRowModelGenerator(this.parent);
43
43
  };
44
44
  VirtualTreeContentRenderer.prototype.getRowByIndex = function (index) {
45
- return this.parent.getDataRows().filter(function (e) { return parseInt(e.getAttribute('data-rowindex'), 10) === index; })[0];
46
- };
47
- VirtualTreeContentRenderer.prototype.getMovableVirtualRowByIndex = function (index) {
48
- return this.getRowCollection(index, true);
45
+ if (this.parent.enableVirtualization && this.parent.isFrozenGrid()) {
46
+ return this.getRowCollection(index, true);
47
+ }
48
+ else {
49
+ return this.parent.getDataRows().filter(function (e) { return parseInt(e.getAttribute('data-rowindex'), 10) === index; })[0];
50
+ }
49
51
  };
50
52
  VirtualTreeContentRenderer.prototype.getFrozenRightVirtualRowByIndex = function (index) {
51
53
  return this.getRowCollection(index, false, false, true);
52
54
  };
53
55
  VirtualTreeContentRenderer.prototype.getRowCollection = function (index, isMovable, isRowObject, isFrozenRight) {
54
56
  var startIdx = parseInt(this.parent.getRows()[0].getAttribute(literals.dataRowIndex), 10);
55
- var rowCollection = isMovable ? this.parent.getMovableDataRows() : this.parent.getDataRows();
56
- rowCollection = isFrozenRight ? this.parent.getFrozenRightDataRows() : rowCollection;
57
+ var rowCollection = this.parent.getDataRows();
57
58
  var collection = isRowObject ? this.parent.getCurrentViewRecords() : rowCollection;
58
59
  var selectedRow = collection[index - startIdx];
59
60
  if (this.parent.frozenRows && this.parent.pageSettings.currentPage > 1) {
@@ -106,8 +107,8 @@ var VirtualTreeContentRenderer = /** @class */ (function (_super) {
106
107
  this.endIndex = this.parent.pageSettings.pageSize - 1;
107
108
  }
108
109
  if ((this.endIndex - this.startIndex !== this.parent.pageSettings.pageSize) &&
109
- (this.totalRecords > this.parent.pageSettings.pageSize) &&
110
- (this.endIndex === this.totalRecords)) {
110
+ (this.totalRecords > this.parent.pageSettings.pageSize)
111
+ && (this.endIndex === this.totalRecords)) {
111
112
  args.startIndex = this.endIndex - this.parent.pageSettings.pageSize;
112
113
  args.endIndex = this.endIndex;
113
114
  }
@@ -505,29 +506,16 @@ var VirtualTreeContentRenderer = /** @class */ (function (_super) {
505
506
  }
506
507
  };
507
508
  VirtualTreeContentRenderer.prototype.appendContent = function (target, newChild, e) {
508
- var isFrozen = this.parent.isFrozenGrid();
509
509
  if ((this.parent.dataSource instanceof DataManager && this.parent.dataSource.dataSource.url !== undefined
510
510
  && !this.parent.dataSource.dataSource.offline && this.parent.dataSource.dataSource.url !== '') || isCountRequired(this.parent) || this.parent.isFrozenGrid()) {
511
511
  if (getValue('isExpandCollapse', e)) {
512
512
  this.isRemoteExpand = true;
513
513
  }
514
- if (isFrozen && ((isNullOrUndefined(this.requestType) && getValue('requestTypes', this).indexOf('isFrozen') === -1) ||
515
- (this.parent.enableVirtualMaskRow && this.requestType === 'virtualscroll'))) {
516
- getValue('requestTypes', this).push('isFrozen');
517
- this.requestType = 'isFrozen';
518
- }
519
514
  _super.prototype.appendContent.call(this, target, newChild, e);
520
515
  if (getValue('requestTypes', this).indexOf('isFrozen') !== -1) {
521
516
  getValue('requestTypes', this).splice(getValue('requestTypes', this).indexOf('isFrozen'), 1);
522
517
  this.requestType = this.requestType === 'isFrozen' ? undefined : this.requestType;
523
518
  }
524
- if (isFrozen && (!this.isExpandCollapse || this.translateY === 0)) {
525
- this.translateY = this.translateY < 0 ? 0 : this.translateY;
526
- getValue('virtualEle', this).adjustTable(0, this.translateY);
527
- }
528
- else {
529
- this.isExpandCollapse = false;
530
- }
531
519
  }
532
520
  else {
533
521
  var info = e.virtualInfo.sentinelInfo && e.virtualInfo.sentinelInfo.axis === 'Y' &&
@@ -1,4 +1,3 @@
1
- @import url("https://fonts.googleapis.com/css?family=Roboto:400,500");
2
1
  /* stylelint-disable property-no-vendor-prefix */
3
2
  @keyframes e-input-ripple {
4
3
  100% {
@@ -1,4 +1,3 @@
1
- @import url("https://fonts.googleapis.com/css?family=Roboto:400,500");
2
1
  /* stylelint-disable property-no-vendor-prefix */
3
2
  @keyframes e-input-ripple {
4
3
  100% {