@syncfusion/ej2-treegrid 22.2.7 → 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.
- package/CHANGELOG.md +14 -43
- package/dist/ej2-treegrid.min.js +2 -2
- package/dist/ej2-treegrid.umd.min.js +2 -2
- package/dist/ej2-treegrid.umd.min.js.map +1 -1
- package/dist/es6/ej2-treegrid.es2015.js +224 -330
- package/dist/es6/ej2-treegrid.es2015.js.map +1 -1
- package/dist/es6/ej2-treegrid.es5.js +223 -353
- package/dist/es6/ej2-treegrid.es5.js.map +1 -1
- package/dist/global/ej2-treegrid.min.js +2 -2
- package/dist/global/ej2-treegrid.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/package.json +10 -10
- package/src/treegrid/actions/batch-edit.js +2 -28
- package/src/treegrid/actions/crud-actions.js +1 -1
- package/src/treegrid/actions/edit.js +6 -52
- package/src/treegrid/actions/excel-export.d.ts +2 -2
- package/src/treegrid/actions/freeze-column.d.ts +0 -1
- package/src/treegrid/actions/freeze-column.js +4 -36
- package/src/treegrid/actions/infinite-scroll.js +8 -8
- package/src/treegrid/actions/pdf-export.d.ts +2 -2
- package/src/treegrid/actions/selection.js +1 -1
- package/src/treegrid/actions/virtual-scroll.js +6 -8
- package/src/treegrid/base/data.js +20 -4
- package/src/treegrid/base/treegrid-model.d.ts +8 -1
- package/src/treegrid/base/treegrid.d.ts +69 -1
- package/src/treegrid/base/treegrid.js +165 -37
- package/src/treegrid/models/column.d.ts +1 -0
- package/src/treegrid/renderer/virtual-row-model-generator.js +4 -4
- package/src/treegrid/renderer/virtual-tree-content-render.d.ts +0 -1
- package/src/treegrid/renderer/virtual-tree-content-render.js +9 -21
- package/styles/material-dark.css +0 -1
- package/styles/material.css +0 -1
- package/styles/material3-dark.css +0 -1
- package/styles/material3-dark.scss +1 -1
- package/styles/material3.css +0 -1
- package/styles/material3.scss +1 -1
- package/styles/tailwind-dark.css +0 -1
- package/styles/tailwind.css +0 -1
- package/styles/treegrid/bootstrap-dark.scss +1 -1
- package/styles/treegrid/bootstrap.scss +1 -1
- package/styles/treegrid/bootstrap4.scss +1 -1
- package/styles/treegrid/bootstrap5-dark.scss +1 -1
- package/styles/treegrid/bootstrap5.scss +1 -1
- package/styles/treegrid/fabric-dark.scss +1 -1
- package/styles/treegrid/fabric.scss +1 -1
- package/styles/treegrid/fluent-dark.scss +1 -1
- package/styles/treegrid/fluent.scss +1 -1
- package/styles/treegrid/highcontrast-light.scss +1 -1
- package/styles/treegrid/highcontrast.scss +1 -1
- package/styles/treegrid/material-dark.css +0 -1
- package/styles/treegrid/material-dark.scss +1 -1
- package/styles/treegrid/material.css +0 -1
- package/styles/treegrid/material.scss +1 -1
- package/styles/treegrid/material3-dark.css +0 -1
- package/styles/treegrid/material3-dark.scss +1 -1
- package/styles/treegrid/material3.css +0 -1
- package/styles/treegrid/material3.scss +1 -1
- package/styles/treegrid/tailwind-dark.css +0 -1
- package/styles/treegrid/tailwind-dark.scss +1 -1
- package/styles/treegrid/tailwind.css +0 -1
- package/styles/treegrid/tailwind.scss +1 -1
- package/src/treegrid/renderer/virtual-tree-freeze-render.d.ts +0 -59
- 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.
|
|
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
|
-
&&
|
|
784
|
-
args.
|
|
785
|
-
|
|
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 =
|
|
904
|
-
|
|
905
|
-
|
|
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) {
|
|
@@ -1849,9 +1962,11 @@ var TreeGrid = /** @class */ (function (_super) {
|
|
|
1849
1962
|
}
|
|
1850
1963
|
};
|
|
1851
1964
|
TreeGrid.prototype.ignoreInColumn = function (ignoreOnColumn, column) {
|
|
1852
|
-
|
|
1853
|
-
|
|
1854
|
-
|
|
1965
|
+
if (isNullOrUndefined(column.template)) {
|
|
1966
|
+
for (var i = 0; i < ignoreOnColumn.length; i++) {
|
|
1967
|
+
delete column[ignoreOnColumn[parseInt(i.toString(), 10)]];
|
|
1968
|
+
column.filter = {};
|
|
1969
|
+
}
|
|
1855
1970
|
}
|
|
1856
1971
|
};
|
|
1857
1972
|
TreeGrid.prototype.mouseClickHandler = function (e) {
|
|
@@ -2661,7 +2776,6 @@ var TreeGrid = /** @class */ (function (_super) {
|
|
|
2661
2776
|
var children = 'Children';
|
|
2662
2777
|
if (!(isRemoteData(this) && !isOffline(this)) && (!isCountRequired(this) || !isNullOrUndefined(record["" + children]))) {
|
|
2663
2778
|
var expandArgs = { data: record, row: row };
|
|
2664
|
-
this.setHeightForFrozenContent();
|
|
2665
2779
|
if (!isNullOrUndefined(this.expandStateMapping)) {
|
|
2666
2780
|
this.updateExpandStateMapping(expandArgs.data, true);
|
|
2667
2781
|
}
|
|
@@ -2688,12 +2802,6 @@ var TreeGrid = /** @class */ (function (_super) {
|
|
|
2688
2802
|
this.expandCollapse(action, null, records[parseInt(i.toString(), 10)]);
|
|
2689
2803
|
}
|
|
2690
2804
|
};
|
|
2691
|
-
TreeGrid.prototype.setHeightForFrozenContent = function () {
|
|
2692
|
-
var freeze = (this.grid.getFrozenLeftColumnsCount() > 0 || this.grid.getFrozenRightColumnsCount() > 0) ? true : false;
|
|
2693
|
-
if (this.grid.getFrozenColumns() > 0 || freeze) {
|
|
2694
|
-
this.grid.contentModule.refreshScrollOffset();
|
|
2695
|
-
}
|
|
2696
|
-
};
|
|
2697
2805
|
TreeGrid.prototype.getCollapseExpandRecords = function (row, record) {
|
|
2698
2806
|
if (this.allowPaging && this.pageSettings.pageSizeMode === 'All' && this.isExpandAll && isNullOrUndefined(record) &&
|
|
2699
2807
|
!isRemoteData(this)) {
|
|
@@ -2770,7 +2878,6 @@ var TreeGrid = /** @class */ (function (_super) {
|
|
|
2770
2878
|
this.expandCollapse('collapse', row, record);
|
|
2771
2879
|
var collapseArgs = { data: record, row: row };
|
|
2772
2880
|
if (!isRemoteData(this)) {
|
|
2773
|
-
this.setHeightForFrozenContent();
|
|
2774
2881
|
if (!isNullOrUndefined(this.expandStateMapping)) {
|
|
2775
2882
|
this.updateExpandStateMapping(collapseArgs.data, false);
|
|
2776
2883
|
}
|
|
@@ -3225,7 +3332,6 @@ var TreeGrid = /** @class */ (function (_super) {
|
|
|
3225
3332
|
_this.isExpandRefresh = true;
|
|
3226
3333
|
var scrollHeightBeforeRefresh = _this.getContentTable().parentElement.scrollTop;
|
|
3227
3334
|
_this.grid.refresh();
|
|
3228
|
-
_this.setHeightForFrozenContent();
|
|
3229
3335
|
if (_this.enableInfiniteScrolling) {
|
|
3230
3336
|
_this.getContentTable().parentElement.scrollTop = scrollHeightBeforeRefresh;
|
|
3231
3337
|
}
|
|
@@ -3248,7 +3354,6 @@ var TreeGrid = /** @class */ (function (_super) {
|
|
|
3248
3354
|
this.notify(events.remoteExpand, { record: record, rows: rows, parentRow: row });
|
|
3249
3355
|
var args_1 = { row: row, data: record };
|
|
3250
3356
|
if (rows.length > 0) {
|
|
3251
|
-
this.setHeightForFrozenContent();
|
|
3252
3357
|
this.trigger(events.expanded, args_1);
|
|
3253
3358
|
}
|
|
3254
3359
|
}
|
|
@@ -3257,7 +3362,6 @@ var TreeGrid = /** @class */ (function (_super) {
|
|
|
3257
3362
|
}
|
|
3258
3363
|
else {
|
|
3259
3364
|
this.collapseRemoteChild({ record: record, rows: rows });
|
|
3260
|
-
this.setHeightForFrozenContent();
|
|
3261
3365
|
this.trigger(events.collapsed, args);
|
|
3262
3366
|
}
|
|
3263
3367
|
};
|
|
@@ -3292,12 +3396,12 @@ var TreeGrid = /** @class */ (function (_super) {
|
|
|
3292
3396
|
}
|
|
3293
3397
|
var freeze = (this.grid.getFrozenLeftColumnsCount() > 0 || this.grid.getFrozenRightColumnsCount() > 0) ? true : false;
|
|
3294
3398
|
if (this.frozenRows || this.frozenColumns || this.getFrozenColumns() || freeze) {
|
|
3295
|
-
movableRows = this.
|
|
3399
|
+
movableRows = this.getRows().filter(function (r) {
|
|
3296
3400
|
return r.querySelector('.e-gridrowindex' + record.index + 'level' + (record.level + 1));
|
|
3297
3401
|
});
|
|
3298
3402
|
}
|
|
3299
3403
|
if (freeze) {
|
|
3300
|
-
freezeRightRows = this.
|
|
3404
|
+
freezeRightRows = this.getRows().filter(function (r) {
|
|
3301
3405
|
return r.querySelector('.e-gridrowindex' + record.index + 'level' + (record.level + 1));
|
|
3302
3406
|
});
|
|
3303
3407
|
}
|
|
@@ -3397,10 +3501,10 @@ var TreeGrid = /** @class */ (function (_super) {
|
|
|
3397
3501
|
var rightrows = [];
|
|
3398
3502
|
var freeze = (this.getFrozenLeftColumnsCount() > 0 || this.getFrozenRightColumnsCount() > 0) ? true : false;
|
|
3399
3503
|
if (freeze) {
|
|
3400
|
-
movablerows = this.
|
|
3504
|
+
movablerows = this.getRows().filter(function (r) {
|
|
3401
3505
|
return r.querySelector('.e-gridrowindex' + rowDetails.record.index + 'level' + (rowDetails.record.level + 1));
|
|
3402
3506
|
});
|
|
3403
|
-
rightrows = this.
|
|
3507
|
+
rightrows = this.getRows().filter(function (r) {
|
|
3404
3508
|
return r.querySelector('.e-gridrowindex' + rowDetails.record.index + 'level' + (rowDetails.record.level + 1));
|
|
3405
3509
|
});
|
|
3406
3510
|
}
|
|
@@ -3610,59 +3714,72 @@ var TreeGrid = /** @class */ (function (_super) {
|
|
|
3610
3714
|
* @param {number} rowIndex - Specifies the row index.
|
|
3611
3715
|
* @param {number} columnIndex - Specifies the column index.
|
|
3612
3716
|
* @returns {Element} - Returns movable cell element from the indexes passed
|
|
3717
|
+
*
|
|
3718
|
+
|
|
3613
3719
|
*/
|
|
3614
3720
|
TreeGrid.prototype.getMovableCellFromIndex = function (rowIndex, columnIndex) {
|
|
3615
|
-
return this.grid.
|
|
3721
|
+
return this.grid.getCellFromIndex(rowIndex, columnIndex);
|
|
3616
3722
|
};
|
|
3617
3723
|
/**
|
|
3618
3724
|
* Gets all the TreeGrid's movable table data rows.
|
|
3619
3725
|
*
|
|
3620
3726
|
* @returns {Element[]} - Returns element collection of movable rows
|
|
3727
|
+
*
|
|
3728
|
+
|
|
3621
3729
|
*/
|
|
3622
3730
|
TreeGrid.prototype.getMovableDataRows = function () {
|
|
3623
|
-
return this.grid.
|
|
3731
|
+
return this.grid.getDataRows();
|
|
3624
3732
|
};
|
|
3625
3733
|
/**
|
|
3626
3734
|
* Gets a movable tables row by index.
|
|
3627
3735
|
*
|
|
3628
3736
|
* @param {number} index - Specifies the row index.
|
|
3629
3737
|
* @returns {Element} - Returns movable row based on index passed
|
|
3738
|
+
*
|
|
3739
|
+
|
|
3630
3740
|
*/
|
|
3631
3741
|
TreeGrid.prototype.getMovableRowByIndex = function (index) {
|
|
3632
|
-
return this.grid.
|
|
3742
|
+
return this.grid.getRowByIndex(index);
|
|
3633
3743
|
};
|
|
3634
3744
|
/**
|
|
3635
3745
|
* Gets the TreeGrid's movable content rows from frozen treegrid.
|
|
3636
3746
|
*
|
|
3637
3747
|
* @returns {Element[]}: Returns movable row element
|
|
3748
|
+
|
|
3638
3749
|
*/
|
|
3639
3750
|
TreeGrid.prototype.getMovableRows = function () {
|
|
3640
|
-
return this.grid.
|
|
3751
|
+
return this.grid.getRows();
|
|
3641
3752
|
};
|
|
3642
3753
|
/**
|
|
3643
3754
|
* Gets a frozen right tables row element by index.
|
|
3644
3755
|
*
|
|
3645
3756
|
* @param {number} index - Specifies the row index.
|
|
3646
3757
|
* @returns {Element} returns the element
|
|
3758
|
+
*
|
|
3759
|
+
|
|
3647
3760
|
*/
|
|
3648
3761
|
TreeGrid.prototype.getFrozenRightRowByIndex = function (index) {
|
|
3649
|
-
return this.grid.
|
|
3762
|
+
return this.grid.getRowByIndex(index);
|
|
3650
3763
|
};
|
|
3651
3764
|
/**
|
|
3652
3765
|
* Gets the Tree Grid's frozen right content rows from frozen Tree Grid.
|
|
3653
3766
|
*
|
|
3654
3767
|
* @returns {Element[]} returns the element
|
|
3768
|
+
*
|
|
3769
|
+
|
|
3655
3770
|
*/
|
|
3656
3771
|
TreeGrid.prototype.getFrozenRightRows = function () {
|
|
3657
|
-
return this.grid.
|
|
3772
|
+
return this.grid.getRows();
|
|
3658
3773
|
};
|
|
3659
3774
|
/**
|
|
3660
3775
|
* Gets all the Tree Grid's frozen right table data rows.
|
|
3661
3776
|
*
|
|
3662
3777
|
* @returns {Element[]} Returns the Element
|
|
3778
|
+
*
|
|
3779
|
+
|
|
3663
3780
|
*/
|
|
3664
3781
|
TreeGrid.prototype.getFrozenRightDataRows = function () {
|
|
3665
|
-
return this.grid.
|
|
3782
|
+
return this.grid.getDataRows();
|
|
3666
3783
|
};
|
|
3667
3784
|
/**
|
|
3668
3785
|
* Gets a frozen right table cell by row and column index.
|
|
@@ -3670,36 +3787,44 @@ var TreeGrid = /** @class */ (function (_super) {
|
|
|
3670
3787
|
* @param {number} rowIndex - Specifies the row index.
|
|
3671
3788
|
* @param {number} columnIndex - Specifies the column index.
|
|
3672
3789
|
* @returns {Element} Returns the Element
|
|
3790
|
+
*
|
|
3791
|
+
|
|
3673
3792
|
*/
|
|
3674
3793
|
TreeGrid.prototype.getFrozenRightCellFromIndex = function (rowIndex, columnIndex) {
|
|
3675
|
-
return this.grid.
|
|
3794
|
+
return this.grid.getCellFromIndex(rowIndex, columnIndex);
|
|
3676
3795
|
};
|
|
3677
3796
|
/**
|
|
3678
3797
|
* Gets a frozen left column header by column index.
|
|
3679
3798
|
*
|
|
3680
3799
|
* @param {number} index - Specifies the column index.
|
|
3681
3800
|
* @returns {Element} Returns the Element
|
|
3801
|
+
*
|
|
3802
|
+
|
|
3682
3803
|
*/
|
|
3683
3804
|
TreeGrid.prototype.getFrozenLeftColumnHeaderByIndex = function (index) {
|
|
3684
|
-
return this.grid.
|
|
3805
|
+
return this.grid.getColumnHeaderByIndex(index);
|
|
3685
3806
|
};
|
|
3686
3807
|
/**
|
|
3687
3808
|
* Gets a frozen right column header by column index.
|
|
3688
3809
|
*
|
|
3689
3810
|
* @param {number} index - Specifies the column index.
|
|
3690
3811
|
* @returns {Element} Returns the Element
|
|
3812
|
+
*
|
|
3813
|
+
|
|
3691
3814
|
*/
|
|
3692
3815
|
TreeGrid.prototype.getFrozenRightColumnHeaderByIndex = function (index) {
|
|
3693
|
-
return this.grid.
|
|
3816
|
+
return this.grid.getColumnHeaderByIndex(index);
|
|
3694
3817
|
};
|
|
3695
3818
|
/**
|
|
3696
3819
|
* Gets a movable column header by column index.
|
|
3697
3820
|
*
|
|
3698
3821
|
* @param {number} index - Specifies the column index.
|
|
3699
3822
|
* @returns {Element} Returns the Element
|
|
3823
|
+
*
|
|
3824
|
+
|
|
3700
3825
|
*/
|
|
3701
3826
|
TreeGrid.prototype.getMovableColumnHeaderByIndex = function (index) {
|
|
3702
|
-
return this.grid.
|
|
3827
|
+
return this.grid.getColumnHeaderByIndex(index);
|
|
3703
3828
|
};
|
|
3704
3829
|
/**
|
|
3705
3830
|
* @hidden
|
|
@@ -3933,6 +4058,9 @@ var TreeGrid = /** @class */ (function (_super) {
|
|
|
3933
4058
|
__decorate([
|
|
3934
4059
|
Complex({}, RowDropSettings)
|
|
3935
4060
|
], TreeGrid.prototype, "rowDropSettings", void 0);
|
|
4061
|
+
__decorate([
|
|
4062
|
+
Property('USD')
|
|
4063
|
+
], TreeGrid.prototype, "currencyCode", void 0);
|
|
3936
4064
|
__decorate([
|
|
3937
4065
|
Property()
|
|
3938
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
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
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 =
|
|
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' &&
|