@syncfusion/ej2-treegrid 30.2.4 → 31.1.17

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 (148) hide show
  1. package/dist/ej2-treegrid.min.js +2 -2
  2. package/dist/ej2-treegrid.umd.min.js +2 -2
  3. package/dist/ej2-treegrid.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-treegrid.es2015.js +263 -157
  5. package/dist/es6/ej2-treegrid.es2015.js.map +1 -1
  6. package/dist/es6/ej2-treegrid.es5.js +291 -167
  7. package/dist/es6/ej2-treegrid.es5.js.map +1 -1
  8. package/dist/global/ej2-treegrid.min.js +2 -2
  9. package/dist/global/ej2-treegrid.min.js.map +1 -1
  10. package/dist/global/index.d.ts +1 -1
  11. package/dist/ts/index.d.ts +4 -0
  12. package/dist/ts/index.ts +4 -0
  13. package/dist/ts/treegrid/actions/batch-edit.d.ts +74 -0
  14. package/dist/ts/treegrid/actions/batch-edit.ts +627 -0
  15. package/dist/ts/treegrid/actions/clipboard.d.ts +36 -0
  16. package/dist/ts/treegrid/actions/clipboard.ts +174 -0
  17. package/dist/ts/treegrid/actions/column-chooser.d.ts +37 -0
  18. package/dist/ts/treegrid/actions/column-chooser.ts +55 -0
  19. package/dist/ts/treegrid/actions/column-menu.d.ts +24 -0
  20. package/dist/ts/treegrid/actions/column-menu.ts +39 -0
  21. package/dist/ts/treegrid/actions/command-column.d.ts +24 -0
  22. package/dist/ts/treegrid/actions/command-column.ts +32 -0
  23. package/dist/ts/treegrid/actions/context-menu.d.ts +42 -0
  24. package/dist/ts/treegrid/actions/context-menu.ts +149 -0
  25. package/dist/ts/treegrid/actions/crud-actions.d.ts +66 -0
  26. package/dist/ts/treegrid/actions/crud-actions.ts +388 -0
  27. package/dist/ts/treegrid/actions/detail-row.d.ts +39 -0
  28. package/dist/ts/treegrid/actions/detail-row.ts +124 -0
  29. package/dist/ts/treegrid/actions/edit.d.ts +121 -0
  30. package/dist/ts/treegrid/actions/edit.ts +1083 -0
  31. package/dist/ts/treegrid/actions/excel-export.d.ts +67 -0
  32. package/dist/ts/treegrid/actions/excel-export.ts +240 -0
  33. package/dist/ts/treegrid/actions/filter.d.ts +57 -0
  34. package/dist/ts/treegrid/actions/filter.ts +231 -0
  35. package/dist/ts/treegrid/actions/freeze-column.d.ts +28 -0
  36. package/dist/ts/treegrid/actions/freeze-column.ts +119 -0
  37. package/dist/ts/treegrid/actions/index.d.ts +24 -0
  38. package/dist/ts/treegrid/actions/index.ts +24 -0
  39. package/dist/ts/treegrid/actions/infinite-scroll.d.ts +96 -0
  40. package/dist/ts/treegrid/actions/infinite-scroll.ts +320 -0
  41. package/dist/ts/treegrid/actions/logger.d.ts +25 -0
  42. package/dist/ts/treegrid/actions/logger.ts +136 -0
  43. package/dist/ts/treegrid/actions/page.d.ts +67 -0
  44. package/dist/ts/treegrid/actions/page.ts +212 -0
  45. package/dist/ts/treegrid/actions/pdf-export.d.ts +63 -0
  46. package/dist/ts/treegrid/actions/pdf-export.ts +182 -0
  47. package/dist/ts/treegrid/actions/print.d.ts +37 -0
  48. package/dist/ts/treegrid/actions/print.ts +69 -0
  49. package/dist/ts/treegrid/actions/reorder.d.ts +36 -0
  50. package/dist/ts/treegrid/actions/reorder.ts +60 -0
  51. package/dist/ts/treegrid/actions/resize.d.ts +36 -0
  52. package/dist/ts/treegrid/actions/resize.ts +54 -0
  53. package/dist/ts/treegrid/actions/rowdragdrop.d.ts +405 -0
  54. package/dist/ts/treegrid/actions/rowdragdrop.ts +1896 -0
  55. package/dist/ts/treegrid/actions/selection.d.ts +51 -0
  56. package/dist/ts/treegrid/actions/selection.ts +530 -0
  57. package/dist/ts/treegrid/actions/sort.d.ts +63 -0
  58. package/dist/ts/treegrid/actions/sort.ts +149 -0
  59. package/dist/ts/treegrid/actions/summary.d.ts +47 -0
  60. package/dist/ts/treegrid/actions/summary.ts +231 -0
  61. package/dist/ts/treegrid/actions/toolbar.d.ts +52 -0
  62. package/dist/ts/treegrid/actions/toolbar.ts +154 -0
  63. package/dist/ts/treegrid/actions/virtual-scroll.d.ts +90 -0
  64. package/dist/ts/treegrid/actions/virtual-scroll.ts +306 -0
  65. package/dist/ts/treegrid/base/constant.d.ts +158 -0
  66. package/dist/ts/treegrid/base/constant.ts +158 -0
  67. package/dist/ts/treegrid/base/data.d.ts +90 -0
  68. package/dist/ts/treegrid/base/data.ts +904 -0
  69. package/dist/ts/treegrid/base/index.d.ts +11 -0
  70. package/dist/ts/treegrid/base/index.ts +11 -0
  71. package/dist/ts/treegrid/base/interface.d.ts +186 -0
  72. package/dist/ts/treegrid/base/interface.ts +191 -0
  73. package/dist/ts/treegrid/base/treegrid-model.d.ts +1100 -0
  74. package/dist/ts/treegrid/base/treegrid.d.ts +2422 -0
  75. package/dist/ts/treegrid/base/treegrid.ts +5962 -0
  76. package/dist/ts/treegrid/enum.d.ts +152 -0
  77. package/dist/ts/treegrid/enum.ts +217 -0
  78. package/dist/ts/treegrid/index.d.ts +9 -0
  79. package/dist/ts/treegrid/index.ts +9 -0
  80. package/dist/ts/treegrid/models/column-chooser-settings-model.d.ts +62 -0
  81. package/dist/ts/treegrid/models/column-chooser-settings.d.ts +53 -0
  82. package/dist/ts/treegrid/models/column-chooser-settings.ts +67 -0
  83. package/dist/ts/treegrid/models/column-model.d.ts +30 -0
  84. package/dist/ts/treegrid/models/column.d.ts +697 -0
  85. package/dist/ts/treegrid/models/column.ts +800 -0
  86. package/dist/ts/treegrid/models/edit-settings-model.d.ts +100 -0
  87. package/dist/ts/treegrid/models/edit-settings.d.ts +89 -0
  88. package/dist/ts/treegrid/models/edit-settings.ts +111 -0
  89. package/dist/ts/treegrid/models/filter-settings-model.d.ts +216 -0
  90. package/dist/ts/treegrid/models/filter-settings.d.ts +195 -0
  91. package/dist/ts/treegrid/models/filter-settings.ts +237 -0
  92. package/dist/ts/treegrid/models/index.d.ts +24 -0
  93. package/dist/ts/treegrid/models/index.ts +24 -0
  94. package/dist/ts/treegrid/models/infinite-scroll-settings-model.d.ts +29 -0
  95. package/dist/ts/treegrid/models/infinite-scroll-settings.d.ts +25 -0
  96. package/dist/ts/treegrid/models/infinite-scroll-settings.ts +31 -0
  97. package/dist/ts/treegrid/models/loading-indicator-model.d.ts +21 -0
  98. package/dist/ts/treegrid/models/loading-indicator.d.ts +19 -0
  99. package/dist/ts/treegrid/models/loading-indicator.ts +21 -0
  100. package/dist/ts/treegrid/models/page-settings-model.d.ts +66 -0
  101. package/dist/ts/treegrid/models/page-settings.d.ts +57 -0
  102. package/dist/ts/treegrid/models/page-settings.ts +73 -0
  103. package/dist/ts/treegrid/models/rowdrop-settings-model.d.ts +15 -0
  104. package/dist/ts/treegrid/models/rowdrop-settings.d.ts +34 -0
  105. package/dist/ts/treegrid/models/rowdrop-settings.ts +37 -0
  106. package/dist/ts/treegrid/models/search-settings-model.d.ts +79 -0
  107. package/dist/ts/treegrid/models/search-settings.d.ts +73 -0
  108. package/dist/ts/treegrid/models/search-settings.ts +83 -0
  109. package/dist/ts/treegrid/models/selection-settings-model.d.ts +76 -0
  110. package/dist/ts/treegrid/models/selection-settings.d.ts +68 -0
  111. package/dist/ts/treegrid/models/selection-settings.ts +82 -0
  112. package/dist/ts/treegrid/models/sort-settings-model.d.ts +49 -0
  113. package/dist/ts/treegrid/models/sort-settings.d.ts +43 -0
  114. package/dist/ts/treegrid/models/sort-settings.ts +51 -0
  115. package/dist/ts/treegrid/models/summary-model.d.ts +93 -0
  116. package/dist/ts/treegrid/models/summary.d.ts +126 -0
  117. package/dist/ts/treegrid/models/summary.ts +170 -0
  118. package/dist/ts/treegrid/models/textwrap-settings-model.d.ts +21 -0
  119. package/dist/ts/treegrid/models/textwrap-settings.d.ts +19 -0
  120. package/dist/ts/treegrid/models/textwrap-settings.ts +21 -0
  121. package/dist/ts/treegrid/renderer/index.d.ts +5 -0
  122. package/dist/ts/treegrid/renderer/index.ts +5 -0
  123. package/dist/ts/treegrid/renderer/render.d.ts +41 -0
  124. package/dist/ts/treegrid/renderer/render.ts +379 -0
  125. package/dist/ts/treegrid/renderer/virtual-row-model-generator.d.ts +16 -0
  126. package/dist/ts/treegrid/renderer/virtual-row-model-generator.ts +90 -0
  127. package/dist/ts/treegrid/renderer/virtual-tree-content-render.d.ts +353 -0
  128. package/dist/ts/treegrid/renderer/virtual-tree-content-render.ts +1125 -0
  129. package/dist/ts/treegrid/utils.d.ts +70 -0
  130. package/dist/ts/treegrid/utils.ts +217 -0
  131. package/package.json +51 -15
  132. package/src/treegrid/actions/context-menu.js +3 -1
  133. package/src/treegrid/actions/excel-export.d.ts +8 -0
  134. package/src/treegrid/actions/excel-export.js +12 -0
  135. package/src/treegrid/actions/freeze-column.js +1 -1
  136. package/src/treegrid/actions/pdf-export.d.ts +8 -0
  137. package/src/treegrid/actions/pdf-export.js +12 -0
  138. package/src/treegrid/actions/selection.js +1 -1
  139. package/src/treegrid/actions/virtual-scroll.js +2 -2
  140. package/src/treegrid/base/data.js +1 -1
  141. package/src/treegrid/base/treegrid-model.d.ts +32 -2
  142. package/src/treegrid/base/treegrid.d.ts +29 -2
  143. package/src/treegrid/base/treegrid.js +39 -2
  144. package/src/treegrid/models/column-chooser-settings-model.d.ts +62 -0
  145. package/src/treegrid/models/column-chooser-settings.d.ts +53 -0
  146. package/src/treegrid/models/column-chooser-settings.js +52 -0
  147. package/src/treegrid/renderer/virtual-tree-content-render.js +3 -8
  148. package/src/treegrid/utils.js +22 -6
@@ -0,0 +1,2422 @@
1
+ import { Component, ModuleDeclaration } from '@syncfusion/ej2-base';
2
+ import { EmitType } from '@syncfusion/ej2-base';
3
+ import { INotifyPropertyChanged, KeyboardEvents } from '@syncfusion/ej2-base';
4
+ import { Column, ColumnModel } from '../models/column';
5
+ import { BeforeBatchSaveArgs, BeforeBatchAddArgs, BatchDeleteArgs, BeforeBatchDeleteArgs } from '@syncfusion/ej2-grids';
6
+ import { ColumnQueryModeType, HeaderCellInfoEventArgs } from '@syncfusion/ej2-grids';
7
+ import { RowDragEventArgs, RowDropSettingsModel } from '@syncfusion/ej2-grids';
8
+ import { LoadingIndicatorModel } from '../models/loading-indicator-model';
9
+ import { DetailDataBoundEventArgs, ClipMode, ColumnChooser } from '@syncfusion/ej2-grids';
10
+ import { SearchEventArgs, AddEventArgs, EditEventArgs, DeleteEventArgs } from '@syncfusion/ej2-grids';
11
+ import { SaveEventArgs, CellSaveArgs, BatchAddArgs, BatchCancelArgs, BeginEditArgs, CellEditArgs } from '@syncfusion/ej2-grids';
12
+ import { TextWrapSettingsModel } from '../models/textwrap-settings-model';
13
+ import { Filter } from '../actions/filter';
14
+ import { BeforeCopyEventArgs, BeforePasteEventArgs } from '@syncfusion/ej2-grids';
15
+ import { TreeClipboard } from '../actions/clipboard';
16
+ import { Aggregate } from '../actions/summary';
17
+ import { Reorder } from '../actions/reorder';
18
+ import { Resize } from '../actions/resize';
19
+ import { Selection as TreeGridSelection } from '../actions/selection';
20
+ import { ColumnMenu } from '../actions/column-menu';
21
+ import { DetailRow } from '../actions/detail-row';
22
+ import { Freeze } from '../actions/freeze-column';
23
+ import { Print } from '../actions/print';
24
+ import { TreeGridModel } from './treegrid-model';
25
+ import { FilterSettingsModel } from '../models/filter-settings-model';
26
+ import { SearchSettingsModel } from '../models/search-settings-model';
27
+ import { RowInfo, RowDataBoundEventArgs, PageEventArgs, FilterEventArgs, FailureEventArgs, SortEventArgs } from '@syncfusion/ej2-grids';
28
+ import { RowSelectingEventArgs, RowSelectEventArgs, RowDeselectEventArgs, IIndex, ISelectedCell } from '@syncfusion/ej2-grids';
29
+ import { CellSelectEventArgs, CellDeselectEventArgs } from '@syncfusion/ej2-grids';
30
+ import { SelectionSettingsModel } from '../models/selection-settings-model';
31
+ import { SortDirection, ColumnDragEventArgs } from '@syncfusion/ej2-grids';
32
+ import { PrintMode, Data, ContextMenuItemModel } from '@syncfusion/ej2-grids';
33
+ import { ColumnMenuItem, ColumnMenuItemModel, CheckBoxChangeEventArgs } from '@syncfusion/ej2-grids';
34
+ import { ExcelExportCompleteArgs, ExcelHeaderQueryCellInfoEventArgs, ExcelQueryCellInfoEventArgs, AggregateQueryCellInfoEventArgs } from '@syncfusion/ej2-grids';
35
+ import { PdfExportCompleteArgs, PdfHeaderQueryCellInfoEventArgs, PdfQueryCellInfoEventArgs } from '@syncfusion/ej2-grids';
36
+ import { ExcelExportProperties, PdfExportProperties, CellSelectingEventArgs, PrintEventArgs } from '@syncfusion/ej2-grids';
37
+ import { ColumnMenuOpenEventArgs } from '@syncfusion/ej2-grids';
38
+ import { BeforeDataBoundArgs } from '@syncfusion/ej2-grids';
39
+ import { DataManager, Query } from '@syncfusion/ej2-data';
40
+ import { Grid, QueryCellInfoEventArgs } from '@syncfusion/ej2-grids';
41
+ import { Render } from '../renderer/render';
42
+ import { DataManipulation } from './data';
43
+ import { RowDD } from '../actions/rowdragdrop';
44
+ import { Sort } from '../actions/sort';
45
+ import { ITreeData, RowExpandedEventArgs, RowCollapsedEventArgs, RowCollapsingEventArgs, TreeGridExcelExportProperties } from './interface';
46
+ import { DataStateChangeEventArgs, RowExpandingEventArgs, TreeGridPdfExportProperties } from './interface';
47
+ import { GridLine } from '@syncfusion/ej2-grids';
48
+ import { DataSourceChangedEventArgs, RecordDoubleClickEventArgs, ResizeArgs } from '@syncfusion/ej2-grids';
49
+ import { ToolbarItems, ToolbarItem, ContextMenuItem, RowPosition, CopyHierarchyType } from '../enum';
50
+ import { ItemModel, ClickEventArgs, BeforeOpenCloseMenuEventArgs, MenuEventArgs } from '@syncfusion/ej2-navigations';
51
+ import { PageSettingsModel } from '../models/page-settings-model';
52
+ import { AggregateRowModel } from '../models/summary-model';
53
+ import { ExcelExport } from '../actions/excel-export';
54
+ import { PdfExport } from '../actions/pdf-export';
55
+ import { Toolbar } from '../actions/toolbar';
56
+ import { Page } from '../actions/page';
57
+ import { ContextMenu } from '../actions/context-menu';
58
+ import { EditSettingsModel } from '../models/edit-settings-model';
59
+ import { Edit } from '../actions/edit';
60
+ import { SortSettingsModel } from '../models/sort-settings-model';
61
+ import { InfiniteScrollSettingsModel } from '../models/infinite-scroll-settings-model';
62
+ import { ColumnChooserSettingsModel } from '../models/column-chooser-settings-model';
63
+ /**
64
+ * Represents the TreeGrid component.
65
+ * ```html
66
+ * <div id='treegrid'></div>
67
+ * <script>
68
+ * var treegridObj = new TreeGrid({ allowPaging: true });
69
+ * treegridObj.appendTo('#treegrid');
70
+ * </script>
71
+ * ```
72
+ */
73
+ export declare class TreeGrid extends Component<HTMLElement> implements INotifyPropertyChanged {
74
+ constructor(options?: TreeGridModel, element?: Element);
75
+ private defaultLocale;
76
+ private dataResults;
77
+ private l10n;
78
+ dataModule: DataManipulation;
79
+ private registeredTemplate;
80
+ private uniqueIDCollection;
81
+ private uniqueIDFilterCollection;
82
+ private changedRecords;
83
+ private deletedRecords;
84
+ private addedRecords;
85
+ private targetElement;
86
+ private isGantt;
87
+ private isAddedFromGantt;
88
+ private isIndentEnabled;
89
+ private indentOutdentAction;
90
+ private isFromChartSide;
91
+ private parentQuery;
92
+ private isCollapsedEventTriggered;
93
+ private isCollapsingEventTriggered;
94
+ private isExpandedEventTriggered;
95
+ private isExpandingEventTriggered;
96
+ private collapseAllPrevent;
97
+ private expandAllPrevent;
98
+ /**
99
+ * The `sortModule` is used to manipulate sorting in TreeGrid.
100
+ */
101
+ sortModule: Sort;
102
+ private action;
103
+ private dropIndex;
104
+ private dropPosition;
105
+ private modifiedRecords;
106
+ private selectedRecords;
107
+ private selectedRows;
108
+ private loggerModule;
109
+ private isSelfReference;
110
+ private columnModel;
111
+ private isExpandAll;
112
+ private isCollapseAll;
113
+ private isExpandRefresh;
114
+ private gridSettings;
115
+ private isEditCollapse;
116
+ private treeColumnTextAlign;
117
+ private treeColumnField;
118
+ private stackedHeader;
119
+ private freezeColumnRefresh;
120
+ private isExcel;
121
+ /** @hidden */
122
+ initialRender: boolean;
123
+ /** @hidden */
124
+ flatData: Object[];
125
+ /** @hidden */
126
+ private infiniteScrollData;
127
+ /** @hidden */
128
+ private remoteCollapsedData;
129
+ /** @hidden */
130
+ private remoteExpandedData;
131
+ /** @hidden */
132
+ isLocalData: boolean;
133
+ /** @hidden */
134
+ parentData: Object[];
135
+ /**
136
+ * @hidden
137
+ */
138
+ renderModule: Render;
139
+ /** @hidden */
140
+ summaryModule: Aggregate;
141
+ /**
142
+ * The `reorderModule` is used to manipulate reordering in TreeGrid.
143
+ */
144
+ reorderModule: Reorder;
145
+ /**
146
+ * The `columnMenuModule` is used to manipulate column menu items and its action in TreeGrid.
147
+ */
148
+ columnMenuModule: ColumnMenu;
149
+ /**
150
+ * The `rowDragandDrop` is used to manipulate Row Reordering in TreeGrid.
151
+ */
152
+ rowDragAndDropModule: RowDD;
153
+ /**
154
+ * The `contextMenuModule` is used to handle context menu items and its action in the TreeGrid.
155
+ */
156
+ contextMenuModule: ContextMenu;
157
+ /**
158
+ * `detailRowModule` is used to handle detail rows rendering in the TreeGrid.
159
+ *
160
+ * @hidden
161
+ */
162
+ detailRowModule: DetailRow;
163
+ /**
164
+ * `freezeModule` is used to freeze the rows and columns in the TreeGrid.
165
+ *
166
+ * @hidden
167
+ */
168
+ freezeModule: Freeze;
169
+ /**
170
+ * Specifies the number of rows that should remain visible and fixed at the top of the TreeGrid during scrolling.
171
+ *
172
+ * This feature helps improve readability in data-heavy grids by keeping the header rows or key rows visible.
173
+ *
174
+ * @default 0
175
+ */
176
+ frozenRows: number;
177
+ /**
178
+ * Specifies the number of columns that should remain visible and fixed on the left side of the TreeGrid during horizontal scrolling.
179
+ *
180
+ * This feature ensures key columns, such as identifiers, stay visible while users scroll through data.
181
+ *
182
+ * @default 0
183
+ */
184
+ frozenColumns: number;
185
+ /**
186
+ * Defines the options for printing the TreeGrid.
187
+ * The available print modes are:
188
+ * * `AllPages`: Prints all pages of the TreeGrid.
189
+ * * `CurrentPage`: Prints only the current page of the TreeGrid.
190
+ *
191
+ * @default Syncfusion.EJ2.Grids.ClipMode.Ellipsis
192
+ * @aspType Syncfusion.EJ2.Grids.ClipMode
193
+ * @isEnumeration true
194
+ */
195
+ clipMode: ClipMode;
196
+ /**
197
+ * `resizeModule` is used to manipulate resizing in the TreeGrid.
198
+ *
199
+ * @hidden
200
+ */
201
+ resizeModule: Resize;
202
+ /**
203
+ * The `keyboardModule` is used to manipulate keyboard interactions in TreeGrid.
204
+ */
205
+ keyboardModule: KeyboardEvents;
206
+ /**
207
+ * The `printModule` is used to handle the printing feature of the TreeGrid.
208
+ */
209
+ printModule: Print;
210
+ /**
211
+ * `clipboardModule` is used to handle TreeGrid copy action.
212
+ */
213
+ clipboardModule: TreeClipboard;
214
+ private keyConfigs;
215
+ /** @hidden */
216
+ filterModule: Filter;
217
+ excelExportModule: ExcelExport;
218
+ pdfExportModule: PdfExport;
219
+ selectionModule: TreeGridSelection;
220
+ /** @hidden */
221
+ /** @hidden */
222
+ grid: Grid;
223
+ /**
224
+ * Defines the schema of dataSource.
225
+ * If the `columns` declaration is empty or undefined then the `columns` are automatically generated from data source.
226
+ * {% codeBlock src='treegrid/columns/index.md' %}{% endcodeBlock %}
227
+ *
228
+ * @default []
229
+ */
230
+ columns: ColumnModel[] | string[] | Column[];
231
+ /**
232
+ * Specifies the mapping property path for child records in data source
233
+ * {% codeBlock src='treegrid/childMapping/index.md' %}{% endcodeBlock %}
234
+ *
235
+ * @default null
236
+ */
237
+ childMapping: string;
238
+ /**
239
+ * Specifies whether record is parent or not for the remote data binding
240
+ *
241
+ * @default null
242
+ */
243
+ hasChildMapping: string;
244
+ /**
245
+ * Specifies the index of the column that needs to have the expander button.
246
+ *
247
+ * @default 0
248
+ */
249
+ treeColumnIndex: number;
250
+ /**
251
+ * Specifies the name of the field in the dataSource, which contains the id of that row.
252
+ * {% codeBlock src='treegrid/idMapping/index.md' %}{% endcodeBlock %}
253
+ *
254
+ * @default null
255
+ */
256
+ idMapping: string;
257
+ /**
258
+ * Specifies the name of the field in the dataSource, which contains the parent’s id
259
+ * {% codeBlock src='treegrid/parentIdMapping/index.md' %}{% endcodeBlock %}
260
+ *
261
+ * @default null
262
+ */
263
+ parentIdMapping: string;
264
+ /**
265
+ * Specifies whether to load all rows in a collapsed state when the TreeGrid is initially rendered.
266
+ *
267
+ * This setting is particularly useful when dealing with large datasets, as it helps enhance loading performance by
268
+ * reducing initial data rendering.
269
+ *
270
+ * @default false
271
+ */
272
+ enableCollapseAll: boolean;
273
+ /**
274
+ * Specifies the mapping property path for the expand status of a record in data source.
275
+ *
276
+ * @default null
277
+ */
278
+ expandStateMapping: string;
279
+ /**
280
+ * If `allowRowDragAndDrop` is set to true, row reordering functionality is enabled, allowing rows to be dragged
281
+ * and dropped within the TreeGrid or across TreeGrids.
282
+ *
283
+ * This feature enables users to reorganize data dynamically via drag-and-drop operations.
284
+ *
285
+ * @default false
286
+ */
287
+ allowRowDragAndDrop: boolean;
288
+ /**
289
+ * It is used to render TreeGrid table rows.
290
+ * {% codeBlock src='treegrid/dataSource/index.md' %}{% endcodeBlock %}
291
+ *
292
+ * @default []
293
+ * @isGenericType true
294
+ * @isDataSource true
295
+ */
296
+ dataSource: Object | DataManager;
297
+ /**
298
+ * Defines the external [Query](https://ej2.syncfusion.com/documentation/data/api-query.html)
299
+ * that will be executed along with data processing.
300
+ *
301
+ * @default null
302
+ */
303
+ query: Query;
304
+ /**
305
+ * @hidden
306
+ */
307
+ cloneQuery: Query;
308
+ /**
309
+ * Defines the options for printing the TreeGrid.
310
+ * The available print modes are:
311
+ * * `AllPages`: Prints all pages of the TreeGrid.
312
+ * * `CurrentPage`: Prints only the current page of the TreeGrid.
313
+ *
314
+ * @default Syncfusion.EJ2.Grids.PrintMode.AllPages
315
+ * @isEnumeration true
316
+ * @aspType Syncfusion.EJ2.Grids.PrintMode
317
+ */
318
+ printMode: PrintMode;
319
+ /**
320
+ * If `allowPaging` is set to true, pager renders.
321
+ *
322
+ * @default false
323
+ */
324
+ allowPaging: boolean;
325
+ /**
326
+ * When enabled, only parent records would be rendered during the initial render and child records will be loaded only when expanding a parent record.
327
+ * This property is only applicable for remote data binding.
328
+ * Loading child records on demand can improve the performance of data-bound controls with a large number of records.
329
+ * Child records are only loaded when they are requested, rather than loading all child records at once.
330
+ *
331
+ * @default true
332
+ */
333
+ loadChildOnDemand: boolean;
334
+ /**
335
+ * If `allowTextWrap` set to true,
336
+ * then text content will wrap to the next line when its text content exceeds the width of the Column Cells.
337
+ *
338
+ * @default false
339
+ */
340
+ allowTextWrap: boolean;
341
+ /**
342
+ * Configures the text wrap in the TreeGrid.
343
+ *
344
+ * @default {wrapMode:"Both"}
345
+ */
346
+ textWrapSettings: TextWrapSettingsModel;
347
+ /**
348
+ * If `allowReordering` is set to true, TreeGrid columns can be reordered.
349
+ * Reordering can be done by drag and drop of a particular column from one index to another index.
350
+ * > If TreeGrid is rendered with stacked headers, reordering is allowed only at the same level as the column headers.
351
+ *
352
+ * @default false
353
+ */
354
+ allowReordering: boolean;
355
+ /**
356
+ * If `allowResizing` is set to true, TreeGrid columns can be resized.
357
+ *
358
+ * @default false
359
+ */
360
+ allowResizing: boolean;
361
+ /**
362
+ * If `autoCheckHierarchy` is set to true, hierarchy checkbox selection is enabled in TreeGrid.
363
+ *
364
+ * @default false
365
+ */
366
+ autoCheckHierarchy: boolean;
367
+ /**
368
+ * Configures the pager in the TreeGrid.
369
+ *
370
+ * @default {currentPage: 1, pageSize: 12, pageCount: 8, enableQueryString: false, pageSizes: false, template: null}
371
+ */
372
+ pageSettings: PageSettingsModel;
373
+ /**
374
+ * Configures the row drop settings of the TreeGrid.
375
+ */
376
+ rowDropSettings: RowDropSettingsModel;
377
+ /**
378
+ * Defines the currencyCode format of the Tree Grid columns
379
+ *
380
+ * @private
381
+ */
382
+ private currencyCode;
383
+ /**
384
+ * It used to render pager template
385
+ * @default null
386
+ * @aspType string
387
+ */
388
+ pagerTemplate: string | Function;
389
+ /**
390
+ * If `showColumnMenu` set to true, then it will enable the column menu options in each columns.
391
+ *
392
+ * > Check the [Column menu](../../treegrid/columns/#column-menu/) for its configuration.
393
+ *
394
+ * @default false
395
+ */
396
+ showColumnMenu: boolean;
397
+ /**
398
+ * If `showColumnChooser` is set to true, it allows you to dynamically show or hide columns.
399
+ *
400
+ * @default false
401
+ */
402
+ showColumnChooser: boolean;
403
+ /**
404
+ * Configures the column chooser in the Grid.
405
+ *
406
+ * @default { columnChooserOperator: 'startsWith' }
407
+ */
408
+ columnChooserSettings: ColumnChooserSettingsModel;
409
+ /**
410
+ * If `allowSorting` is set to true, it allows sorting of treegrid records when column header is clicked.
411
+ *
412
+ * @default false
413
+ */
414
+ allowSorting: boolean;
415
+ /**
416
+ * If `allowMultiSorting` set to true, then it will allow the user to sort multiple column in the treegrid.
417
+ * > `allowSorting` should be true.
418
+ *
419
+ * @default true
420
+ */
421
+ allowMultiSorting: boolean;
422
+ /**
423
+ * Configures the sort settings of the TreeGrid.
424
+ *
425
+ * @default {columns:[]}
426
+ */
427
+ sortSettings: SortSettingsModel;
428
+ /**
429
+ * Configures the TreeGrid aggregate rows.
430
+ * > Check the [Aggregates](../../treegrid/aggregates/aggregates) for its configuration.
431
+ *
432
+ * @default []
433
+ */
434
+ aggregates: AggregateRowModel[];
435
+ /**
436
+ * Configures the edit settings.
437
+ *
438
+ * @default { allowAdding: false, allowEditing: false, allowDeleting: false, mode:'Normal',
439
+ * allowEditOnDblClick: true, showConfirmDialog: true, showDeleteConfirmDialog: false }
440
+ */
441
+ editSettings: EditSettingsModel;
442
+ /**
443
+ * If `allowFiltering` is set to true the filter bar will be displayed.
444
+ * If set to false the filter bar will not be displayed.
445
+ * Filter bar allows the user to filter tree grid records with required criteria.
446
+ *
447
+ * @default false
448
+ */
449
+ allowFiltering: boolean;
450
+ /**
451
+ * The detail template allows you to show or hide additional information about a particular row.
452
+ *
453
+ * > It accepts either the [template string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals)
454
+ * or the HTML element ID.
455
+ *
456
+ * @aspType string
457
+ */
458
+ detailTemplate: string | Function;
459
+ /**
460
+ * Configures the filter settings of the TreeGrid.
461
+ *
462
+ * @default {columns: [], type: 'FilterBar', mode: 'Immediate', showFilterBarStatus: true, immediateModeDelay: 1500 , operators: {}}
463
+ */
464
+ filterSettings: FilterSettingsModel;
465
+ /**
466
+ * Configures the search settings of the TreeGrid.
467
+ *
468
+ * @default {search: [] , operators: {}}
469
+ */
470
+ searchSettings: SearchSettingsModel;
471
+ /**
472
+ * `toolbar` defines the ToolBar items of the TreeGrid.
473
+ * It contains built-in and custom toolbar items.
474
+ * If a string value is assigned to the `toolbar` option, it is considered as the template for the whole TreeGrid ToolBar.
475
+ * If an array value is assigned, it is considered as the list of built-in and custom toolbar items in the TreeGrid's Toolbar.
476
+ * <br><br>
477
+ * The available built-in ToolBar items are:
478
+ * * Search: Searches records by the given key.
479
+ * * ExpandAll: Expands all the rows in TreeGrid
480
+ * * CollapseAll: Collapses all the rows in TreeGrid
481
+ * * ExcelExport - Export the TreeGrid to Excel(excelExport() method manually to make export.)
482
+ * * PdfExport - Export the TreeGrid to PDF(pdfExport() method manually to make export.)
483
+ * * CsvExport - Export the TreeGrid to CSV(csvExport() method manually to make export.)<br><br>
484
+ * The following code example implements the custom toolbar items.
485
+ *
486
+ * @default null
487
+ */
488
+ toolbar: (ToolbarItems | string | ItemModel | ToolbarItem)[];
489
+ /**
490
+ * @hidden
491
+ * It used to render toolbar template
492
+ * @default null
493
+ * @aspType string
494
+ */
495
+ toolbarTemplate: string | Function;
496
+ /**
497
+ * Defines how TreeGrid content lines are displayed, determining the visibility of vertical and horizontal lines.
498
+ *
499
+ * * `Both`: Displays both horizontal and vertical grid lines.
500
+ * * `None`: Hides both horizontal and vertical grid lines.
501
+ * * `Horizontal`: Displays only horizontal grid lines.
502
+ * * `Vertical`: Displays only vertical grid lines.
503
+ * * `Default`: Adjusts line visibility based on the theme.
504
+ *
505
+ * @default Syncfusion.EJ2.Grids.GridLine.Default
506
+ * @isEnumeration true
507
+ * @aspType Syncfusion.EJ2.Grids.GridLine
508
+ */
509
+ gridLines: GridLine;
510
+ /**
511
+ * `contextMenuItems` defines both built-in and custom context menu items.
512
+ * <br><br>
513
+ * The available built-in items are,
514
+ * * `AutoFitAll` - Auto fit the size of all columns.
515
+ * * `AutoFit` - Auto fit the current column.
516
+ * * `Edit` - Edit the current record.
517
+ * * `Delete` - Delete the current record.
518
+ * * `Save` - Save the edited record.
519
+ * * `Cancel` - Cancel the edited state.
520
+ * * `PdfExport` - Export the grid as Pdf format.
521
+ * * `ExcelExport` - Export the grid as Excel format.
522
+ * * `CsvExport` - Export the grid as CSV format.
523
+ * * `SortAscending` - Sort the current column in ascending order.
524
+ * * `SortDescending` - Sort the current column in descending order.
525
+ * * `FirstPage` - Go to the first page.
526
+ * * `PrevPage` - Go to the previous page.
527
+ * * `LastPage` - Go to the last page.
528
+ * * `NextPage` - Go to the next page.
529
+ *
530
+ * @default null
531
+ */
532
+ contextMenuItems: ContextMenuItem[] | ContextMenuItemModel[];
533
+ /**
534
+ * `columnMenuItems` defines both built-in and custom column menu items.
535
+ * <br><br>
536
+ * The available built-in items are,
537
+ * * `AutoFitAll` - Auto fit the size of all columns.
538
+ * * `AutoFit` - Auto fit the current column.
539
+ * * `SortAscending` - Sort the current column in ascending order.
540
+ * * `SortDescending` - Sort the current column in descending order.
541
+ * * `Filter` - Filter options will show based on filterSettings property like filterbar, menu filter.
542
+ *
543
+ * @default null
544
+ */
545
+ columnMenuItems: ColumnMenuItem[] | ColumnMenuItemModel[];
546
+ /**
547
+ * The row template that renders customized rows from the given template.
548
+ * By default, TreeGrid renders a table row for every data source item.
549
+ * > * It accepts either [template string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals)
550
+ * or HTML element ID.
551
+ * > * The row template must be a table row.
552
+ *
553
+ * > Check the [Row Template](../../treegrid/row) customization.
554
+ *
555
+ * @aspType string
556
+ */
557
+ rowTemplate: string | Function;
558
+ /**
559
+ * `copyHierarchyMode` Defines the copy clipboard types.
560
+ * <br><br>
561
+ * The available built-in items are,
562
+ * * `Parent` - Copy the selected data with parent record.
563
+ * * `Child` - Copy the selected data with child record.
564
+ * * `Both` - Copy the selected data with both parent and child record.
565
+ * * `None` - Copy only the selected record.
566
+ *
567
+ * @default Parent
568
+ */
569
+ copyHierarchyMode: CopyHierarchyType;
570
+ /**
571
+ * Defines the height of TreeGrid rows.
572
+ *
573
+ * @default null
574
+ */
575
+ rowHeight: number;
576
+ /**
577
+ * If `enableAltRow` is set to true, the TreeGrid will render with `e-altrow` CSS class to the alternative tr elements.
578
+ * > Check the [AltRow](../../treegrid/row/#styling-alternate-rows/) to customize the styles of alternative rows.
579
+ *
580
+ * @default true
581
+ */
582
+ enableAltRow: boolean;
583
+ /**
584
+ * Enables or disables the key board interaction of TreeGrid.
585
+ *
586
+ * @hidden
587
+ * @default true
588
+ */
589
+ allowKeyboard: boolean;
590
+ /**
591
+ * If `enableHover` is set to true, the row hover is enabled in the TreeGrid.
592
+ *
593
+ * @default false
594
+ */
595
+ enableHover: boolean;
596
+ /**
597
+ * If `enableAutoFill` is set to true, then the auto fill icon will displayed on cell selection for copy cells.
598
+ * It requires the selection `mode` to be Cell and `cellSelectionMode` to be `Box`.
599
+ *
600
+ * @default false
601
+ */
602
+ enableAutoFill: boolean;
603
+ /**
604
+ * If `enableAdaptiveUI` is set to true, the pop-up UI will become adaptive to small screens,
605
+ * and be used for filtering and other features.
606
+ * ```html
607
+ * <div id='treegrid'></div>
608
+ * <script>
609
+ * var treegridObj = new TreeGrid({ enableAdaptiveUI: true });
610
+ * treegridObj.appendTo('#treegrid');
611
+ * </script>
612
+ * ```
613
+ *
614
+ * @default false
615
+ */
616
+ enableAdaptiveUI: boolean;
617
+ /**
618
+ * If `enableImmutableMode` is set to true, the TreeGrid will reuse old rows if it exists in the new result instead of
619
+ * full refresh while performing the TreeGrid actions.
620
+ *
621
+ * @default false
622
+ */
623
+ enableImmutableMode: boolean;
624
+ /**
625
+ * Enables the sticky header feature, which keeps the column headers visible while scrolling the Tree Grid content or the entire document.
626
+ *
627
+ * @default false
628
+ */
629
+ enableStickyHeader: boolean;
630
+ /**
631
+ * The empty record template that renders customized element or text or image instead of displaying the empty record message in the TreeGrid.
632
+ *
633
+ * > It accepts either the [template string](../../common/template-engine/) or the HTML element ID.
634
+ *
635
+ * @default null
636
+ * @aspType string
637
+ */
638
+ emptyRecordTemplate: string | Function;
639
+ /**
640
+ * Defines the scrollable height of the TreeGrid content.
641
+ *
642
+ * @default 'auto'
643
+ */
644
+ height: string | number;
645
+ /**
646
+ * Defines the TreeGrid width.
647
+ *
648
+ * @default 'auto'
649
+ */
650
+ width: string | number;
651
+ /**
652
+ * Configures the loading indicator of the Tree Grid. Specifies whether to display spinner or shimmer effect
653
+ * during the waiting time on any actions (paging, sorting, filtering, CRUD operations) performed in Tree Grid.
654
+ *
655
+ * @default {indicatorType: 'Spinner'}
656
+ */
657
+ loadingIndicator: LoadingIndicatorModel;
658
+ /**
659
+ * Specifies whether to display shimmer effect during scrolling action in virtual scrolling feature.
660
+ * If disabled, spinner is shown instead of shimmer effect.
661
+ *
662
+ * @default true
663
+ */
664
+ enableVirtualMaskRow: boolean;
665
+ /**
666
+ * If `enableVirtualization` set to true, then the TreeGrid will render only the rows visible within the view-port
667
+ * and load subsequent rows on vertical scrolling. This helps to load large dataset in TreeGrid.
668
+ *
669
+ * @default false
670
+ */
671
+ enableVirtualization: boolean;
672
+ /**
673
+ * Enables column virtualization in the TreeGrid. When set to `true`, only columns visible within the viewport are rendered.
674
+ * Additional columns are loaded as you horizontally scroll. This is beneficial for rendering large datasets efficiently.
675
+ *
676
+ * @default false
677
+ */
678
+ enableColumnVirtualization: boolean;
679
+ /**
680
+ * Determines whether to sanitize untrusted HTML content in the TreeGrid. If `true`, potentially harmful HTML strings
681
+ * and scripts are sanitized before rendering to protect against XSS attacks.
682
+ *
683
+ * @default false
684
+ */
685
+ enableHtmlSanitizer: boolean;
686
+ /**
687
+ * Enables infinite scrolling in the TreeGrid. When set to `true`, additional data is loaded as the scrollbar
688
+ * reaches the end. Useful for handling large datasets.
689
+ *
690
+ * @default false
691
+ */
692
+ enableInfiniteScrolling: boolean;
693
+ /**
694
+ * Configures settings for infinite scrolling.
695
+ *
696
+ * @default { enableCache: false, maxBlocks: 5, initialBlocks: 5 }
697
+ */
698
+ infiniteScrollSettings: InfiniteScrollSettingsModel;
699
+ /**
700
+ * Specifies how data is retrieved from the data source for the TreeGrid.
701
+ * The available modes are:
702
+ * * `All`: Retrieve the entire data source.
703
+ * * `Schema`: Retrieve data only for defined columns.
704
+ * * `ExcludeHidden`: Retrieve data only for visible columns in the TreeGrid.
705
+ *
706
+ * @default All
707
+ */
708
+ columnQueryMode: ColumnQueryModeType;
709
+ /**
710
+ * If `allowSelection` is set to true, selection of (highlight row) TreeGrid records by clicking is allowed.
711
+ *
712
+ * @default true
713
+ */
714
+ allowSelection: boolean;
715
+ /**
716
+ * Specifies the index of the row to be selected upon initial rendering.
717
+ * Also retrieves the index of the currently selected row.
718
+ *
719
+ * @default -1
720
+ */
721
+ selectedRowIndex: number;
722
+ /**
723
+ * Configures the selection behavior.
724
+ *
725
+ * @default {mode: 'Row', cellSelectionMode: 'Flow', type: 'Single'}
726
+ */
727
+ selectionSettings: SelectionSettingsModel;
728
+ /**
729
+ * Enables exporting the TreeGrid to an Excel file if set to true.
730
+ *
731
+ * > Check the [ExcelExport](../../treegrid/excel-export/) documentation for more details.
732
+ *
733
+ * @default false
734
+ */
735
+ allowExcelExport: boolean;
736
+ /**
737
+ * Enables exporting the TreeGrid to a PDF file if set to true.
738
+ *
739
+ * > Check the [PdfExport](../../treegrid/pdf-export/) documentation for more details.
740
+ *
741
+ * @default false
742
+ */
743
+ allowPdfExport: boolean;
744
+ /**
745
+ * Triggers when the component is created.
746
+ *
747
+ * @event created
748
+ */
749
+ created: EmitType<Object>;
750
+ /**
751
+ * Allows customization of TreeGrid properties before rendering.
752
+ *
753
+ * @event load
754
+ */
755
+ load: EmitType<Object>;
756
+ /**
757
+ * Triggers while a TreeGrid record is expanding.
758
+ *
759
+ * @event expanding
760
+ */
761
+ expanding: EmitType<RowExpandingEventArgs>;
762
+ /**
763
+ * Triggers after a TreeGrid record is expanded.
764
+ *
765
+ * @event expanded
766
+ */
767
+ expanded: EmitType<RowExpandedEventArgs>;
768
+ /**
769
+ * Triggers while a TreeGrid record is collapsing.
770
+ *
771
+ * @event collapsing
772
+ */
773
+ collapsing: EmitType<RowCollapsingEventArgs>;
774
+ /**
775
+ * Triggers after a TreeGrid record is collapsed.
776
+ *
777
+ * @event collapsed
778
+ */
779
+ collapsed: EmitType<RowCollapsedEventArgs>;
780
+ /**
781
+ * Triggers when a cell is being saved.
782
+ *
783
+ * @event cellSave
784
+ */
785
+ cellSave: EmitType<CellSaveArgs>;
786
+ /**
787
+ * Triggers after a cell is saved.
788
+ *
789
+ * @event cellSaved
790
+ */
791
+ cellSaved: EmitType<CellSaveArgs>;
792
+ /**
793
+ * Triggers when TreeGrid actions like sorting, filtering, paging, etc., start.
794
+ *
795
+ * @event actionBegin
796
+ */
797
+ actionBegin: EmitType<PageEventArgs | FilterEventArgs | SortEventArgs | SearchEventArgs | AddEventArgs | SaveEventArgs | EditEventArgs | DeleteEventArgs>;
798
+ /**
799
+ * Triggers when TreeGrid actions like sorting, filtering, paging, etc., are completed.
800
+ *
801
+ * @event actionComplete
802
+ */
803
+ actionComplete: EmitType<PageEventArgs | FilterEventArgs | SortEventArgs | SearchEventArgs | AddEventArgs | SaveEventArgs | EditEventArgs | DeleteEventArgs>;
804
+ /**
805
+ * Triggers before a record is edited.
806
+ *
807
+ * @event beginEdit
808
+ */
809
+ beginEdit: EmitType<BeginEditArgs>;
810
+ /**
811
+ * Triggers when records are added in batch mode.
812
+ *
813
+ * @event batchAdd
814
+ */
815
+ batchAdd: EmitType<BatchAddArgs>;
816
+ /**
817
+ * Triggers when records are deleted in batch mode.
818
+ *
819
+ * @event batchDelete
820
+ */
821
+ batchDelete: EmitType<BatchDeleteArgs>;
822
+ /**
823
+ * Triggers before records are cancelled in batch mode.
824
+ *
825
+ * @event batchCancel
826
+ */
827
+ batchCancel: EmitType<BatchCancelArgs>;
828
+ /**
829
+ * Triggers before records are added in batch mode.
830
+ *
831
+ * @event beforeBatchAdd
832
+ */
833
+ beforeBatchAdd: EmitType<BeforeBatchAddArgs>;
834
+ /**
835
+ * Triggers before records are deleted in batch mode.
836
+ *
837
+ * @event beforeBatchDelete
838
+ */
839
+ beforeBatchDelete: EmitType<BeforeBatchDeleteArgs>;
840
+ /**
841
+ * Triggers before records are saved in batch mode.
842
+ *
843
+ * @event beforeBatchSave
844
+ */
845
+ beforeBatchSave: EmitType<BeforeBatchSaveArgs>;
846
+ /**
847
+ * Triggers when a cell is being edited.
848
+ *
849
+ * @event cellEdit
850
+ */
851
+ cellEdit: EmitType<CellEditArgs>;
852
+ /**
853
+ * Triggers when any TreeGrid action fails to achieve the desired results.
854
+ *
855
+ * @event actionFailure
856
+ */
857
+ actionFailure: EmitType<FailureEventArgs>;
858
+ /**
859
+ * Triggers when the data source is populated in the TreeGrid.
860
+ *
861
+ * @event dataBound
862
+ */
863
+ dataBound: EmitType<Object>;
864
+ /**
865
+ * Triggers when data in the TreeGrid is added, deleted, or updated.
866
+ * Invoke the done method from the argument to start rendering after an edit operation.
867
+ *
868
+ * @event dataSourceChanged
869
+ * @deprecated
870
+ */
871
+ dataSourceChanged: EmitType<DataSourceChangedEventArgs>;
872
+ /**
873
+ * Triggers when TreeGrid actions such as sorting, paging, etc., are completed.
874
+ * The current view data and total record count should be assigned to the dataSource based on the action performed.
875
+ *
876
+ * @event dataStateChange
877
+ * @deprecated
878
+ */
879
+ dataStateChange: EmitType<DataStateChangeEventArgs>;
880
+ /**
881
+ * Triggers when a record is double-clicked.
882
+ *
883
+ * @event recordDoubleClick
884
+ */
885
+ recordDoubleClick: EmitType<RecordDoubleClickEventArgs>;
886
+ /**
887
+ * Triggered every time a request is made to access row information, element, or data.
888
+ * This event is triggered before the row element is appended to the TreeGrid element.
889
+ *
890
+ * @event rowDataBound
891
+ */
892
+ rowDataBound: EmitType<RowDataBoundEventArgs>;
893
+ /**
894
+ * Triggers after a detail row expands. This event triggers initially during the first expand.
895
+ *
896
+ * @event detailDataBound
897
+ */
898
+ detailDataBound: EmitType<DetailDataBoundEventArgs>;
899
+ /**
900
+ * Triggered every time a request is made to access cell information, element, or data.
901
+ * This event is triggered before the cell element is appended to the TreeGrid element.
902
+ *
903
+ * @event queryCellInfo
904
+ */
905
+ queryCellInfo: EmitType<QueryCellInfoEventArgs>;
906
+ /**
907
+ * Triggers before row selection occurs.
908
+ *
909
+ * @event rowSelecting
910
+ */
911
+ rowSelecting: EmitType<RowSelectingEventArgs>;
912
+ /**
913
+ * Triggers after a row is selected.
914
+ *
915
+ * @event rowSelected
916
+ */
917
+ rowSelected: EmitType<RowSelectEventArgs>;
918
+ /**
919
+ * Triggers before the selected row is deselected.
920
+ *
921
+ * @event rowDeselecting
922
+ * @deprecated
923
+ */
924
+ rowDeselecting: EmitType<RowDeselectEventArgs>;
925
+ /**
926
+ * Triggers when a selected row is deselected.
927
+ *
928
+ * @event rowDeselected
929
+ */
930
+ rowDeselected: EmitType<RowDeselectEventArgs>;
931
+ /**
932
+ * Triggered for accessing header information.
933
+ *
934
+ * @event headerCellInfo
935
+ */
936
+ headerCellInfo: EmitType<HeaderCellInfoEventArgs>;
937
+ /**
938
+ * Triggers before any cell selection occurs.
939
+ *
940
+ * @event cellSelecting
941
+ */
942
+ cellSelecting: EmitType<CellSelectingEventArgs>;
943
+ /**
944
+ * Triggers before the column menu opens.
945
+ *
946
+ * @event columnMenuOpen
947
+ * @deprecated
948
+ */
949
+ columnMenuOpen: EmitType<ColumnMenuOpenEventArgs>;
950
+ /**
951
+ * Triggers when there is a click on the column menu.
952
+ *
953
+ * @event columnMenuClick
954
+ */
955
+ columnMenuClick: EmitType<MenuEventArgs>;
956
+ /**
957
+ * Triggers after a cell is selected.
958
+ *
959
+ * @event cellSelected
960
+ */
961
+ cellSelected: EmitType<CellSelectEventArgs>;
962
+ /**
963
+ * Triggers before a selected cell is deselected.
964
+ *
965
+ * @event cellDeselecting
966
+ * @deprecated
967
+ */
968
+ cellDeselecting: EmitType<CellDeselectEventArgs>;
969
+ /**
970
+ * Triggers when a selected cell is deselected.
971
+ *
972
+ * @event cellDeselected
973
+ * @deprecated
974
+ */
975
+ cellDeselected: EmitType<CellDeselectEventArgs>;
976
+ /**
977
+ * Triggers when column resizing starts.
978
+ *
979
+ * @event resizeStart
980
+ * @deprecated
981
+ */
982
+ resizeStart: EmitType<ResizeArgs>;
983
+ /**
984
+ * Triggers during column resizing.
985
+ *
986
+ * @event resizing
987
+ */
988
+ resizing: EmitType<ResizeArgs>;
989
+ /**
990
+ * Triggers when column resizing ends.
991
+ *
992
+ * @event resizeStop
993
+ */
994
+ resizeStop: EmitType<ResizeArgs>;
995
+ /**
996
+ * Triggers when column header dragging begins.
997
+ *
998
+ * @event columnDragStart
999
+ */
1000
+ columnDragStart: EmitType<ColumnDragEventArgs>;
1001
+ /**
1002
+ * Triggers continuously while the column header is being dragged.
1003
+ *
1004
+ * @event columnDrag
1005
+ */
1006
+ columnDrag: EmitType<ColumnDragEventArgs>;
1007
+ /**
1008
+ * Triggers when a column header is dropped onto the target column.
1009
+ *
1010
+ * @event columnDrop
1011
+ */
1012
+ columnDrop: EmitType<ColumnDragEventArgs>;
1013
+ /**
1014
+ * Triggers when the state of a checkbox changes in a checkbox column.
1015
+ *
1016
+ * @event checkboxChange
1017
+ */
1018
+ checkboxChange: EmitType<CheckBoxChangeEventArgs>;
1019
+ /**
1020
+ * Triggers after the print action has been completed.
1021
+ *
1022
+ * @event printComplete
1023
+ */
1024
+ printComplete: EmitType<PrintEventArgs>;
1025
+ /**
1026
+ * Triggers before the print action begins.
1027
+ *
1028
+ * @event beforePrint
1029
+ */
1030
+ beforePrint: EmitType<PrintEventArgs>;
1031
+ /**
1032
+ * Triggers when a toolbar item is clicked.
1033
+ *
1034
+ * @event toolbarClick
1035
+ */
1036
+ toolbarClick: EmitType<ClickEventArgs>;
1037
+ /**
1038
+ * Triggers before data is bound to the TreeGrid.
1039
+ *
1040
+ * @event beforeDataBound
1041
+ */
1042
+ beforeDataBound: EmitType<BeforeDataBoundArgs>;
1043
+ /**
1044
+ * Triggers before the context menu opens.
1045
+ *
1046
+ * @event contextMenuOpen
1047
+ */
1048
+ contextMenuOpen: EmitType<BeforeOpenCloseMenuEventArgs>;
1049
+ /**
1050
+ * Triggers when an item in the context menu is clicked.
1051
+ *
1052
+ * @event contextMenuClick
1053
+ */
1054
+ contextMenuClick: EmitType<MenuEventArgs>;
1055
+ /**
1056
+ * Triggers before the TreeGrid copy action is initiated.
1057
+ *
1058
+ * @event beforeCopy
1059
+ */
1060
+ beforeCopy: EmitType<BeforeCopyEventArgs>;
1061
+ /**
1062
+ * Triggers before the TreeGrid paste action is initiated.
1063
+ *
1064
+ * @event beforePaste
1065
+ */
1066
+ beforePaste: EmitType<BeforePasteEventArgs>;
1067
+ /**
1068
+ * Triggers continuously while row elements are being dragged.
1069
+ *
1070
+ * @event rowDrag
1071
+ */
1072
+ rowDrag: EmitType<RowDragEventArgs>;
1073
+ /**
1074
+ * Triggers when row element dragging starts.
1075
+ *
1076
+ * @event rowDragStart
1077
+ */
1078
+ rowDragStart: EmitType<RowDragEventArgs>;
1079
+ /**
1080
+ * Triggers just before the row element dragging begins.
1081
+ *
1082
+ * @event rowDragStartHelper
1083
+ */
1084
+ rowDragStartHelper: EmitType<RowDragEventArgs>;
1085
+ /**
1086
+ * Triggers when a row element is dropped onto the target row.
1087
+ *
1088
+ * @event rowDrop
1089
+ */
1090
+ rowDrop: EmitType<RowDragEventArgs>;
1091
+ /**
1092
+ * Triggers before each cell is exported to a PDF document, allowing customization of cells.
1093
+ *
1094
+ * @event pdfQueryCellInfo
1095
+ */
1096
+ pdfQueryCellInfo: EmitType<PdfQueryCellInfoEventArgs>;
1097
+ /**
1098
+ * Triggers before each header cell is exported to a PDF document, allowing customization of cells.
1099
+ *
1100
+ * @event pdfHeaderQueryCellInfo
1101
+ */
1102
+ pdfHeaderQueryCellInfo: EmitType<PdfHeaderQueryCellInfoEventArgs>;
1103
+ /**
1104
+ * Triggers before each cell is exported to an Excel file, allowing customization of cells.
1105
+ *
1106
+ * @event excelQueryCellInfo
1107
+ */
1108
+ excelQueryCellInfo: EmitType<ExcelQueryCellInfoEventArgs>;
1109
+ /**
1110
+ * Triggers before exporting aggregate cell to PDF document. You can also customize the PDF cells.
1111
+ *
1112
+ * @event pdfAggregateQueryCellInfo
1113
+ */
1114
+ pdfAggregateQueryCellInfo: EmitType<AggregateQueryCellInfoEventArgs>;
1115
+ /**
1116
+ * Triggers before exporting aggregate cell to Excel document.
1117
+ *
1118
+ * @event excelAggregateQueryCellInfo
1119
+ */
1120
+ excelAggregateQueryCellInfo: EmitType<AggregateQueryCellInfoEventArgs>;
1121
+ /**
1122
+ * Triggers before each header cell is exported to an Excel file, allowing customization of cells.
1123
+ *
1124
+ * @event excelHeaderQueryCellInfo
1125
+ */
1126
+ excelHeaderQueryCellInfo: EmitType<ExcelHeaderQueryCellInfoEventArgs>;
1127
+ /**
1128
+ * Triggers before TreeGrid data is exported to an Excel file.
1129
+ *
1130
+ * @event beforeExcelExport
1131
+ */
1132
+ beforeExcelExport: EmitType<Object>;
1133
+ /**
1134
+ * Triggers after TreeGrid data is exported to an Excel file.
1135
+ *
1136
+ * @event excelExportComplete
1137
+ */
1138
+ excelExportComplete: EmitType<ExcelExportCompleteArgs>;
1139
+ /**
1140
+ * Triggers before TreeGrid data is exported to a PDF document.
1141
+ *
1142
+ * @event beforePdfExport
1143
+ */
1144
+ beforePdfExport: EmitType<Object>;
1145
+ /**
1146
+ * Triggers after TreeGrid data is exported to a PDF document.
1147
+ *
1148
+ * @event pdfExportComplete
1149
+ */
1150
+ pdfExportComplete: EmitType<PdfExportCompleteArgs>;
1151
+ /**
1152
+ * Exports the TreeGrid data to an Excel file (.xlsx).
1153
+ *
1154
+ * @param {ExcelExportProperties | TreeGridExcelExportProperties} excelExportProperties - The properties used to configure the Excel export.
1155
+ * @param {boolean} isMultipleExport - Indicates whether multiple exporting is enabled.
1156
+ * @param {workbook} workbook - The workbook instance used for multiple exports.
1157
+ * @param {boolean} isBlob - If set to true, the result will be returned as blob data.
1158
+ * @returns {Promise<any>} - Returns a promise that resolves with the result of the export action.
1159
+ */
1160
+ excelExport(excelExportProperties?: ExcelExportProperties | TreeGridExcelExportProperties, isMultipleExport?: boolean, workbook?: any, isBlob?: boolean): Promise<any>;
1161
+ /**
1162
+ * Exports the TreeGrid data to a CSV file.
1163
+ *
1164
+ * @param {ExcelExportProperties} excelExportProperties - The properties used to configure the CSV export.
1165
+ * @param {boolean} isMultipleExport - Indicates whether multiple exporting is enabled.
1166
+ * @param {workbook} workbook - The workbook instance used for multiple exports.
1167
+ * @param {boolean} isBlob - If set to true, the result will be returned as blob data.
1168
+ * @returns {Promise<any>} - Returns a promise that resolves with the result of the export action.
1169
+ */
1170
+ csvExport(excelExportProperties?: ExcelExportProperties, isMultipleExport?: boolean, workbook?: any, isBlob?: boolean): Promise<any>;
1171
+ /**
1172
+ * Exports the TreeGrid data to a PDF document.
1173
+ *
1174
+ * @param {PdfExportProperties | TreeGridPdfExportProperties} pdfExportProperties - The properties used to configure the PDF export.
1175
+ * @param {boolean} isMultipleExport - Indicates whether multiple exporting is enabled.
1176
+ * @param {Object} pdfDoc - The PDF document instance used for multiple exports.
1177
+ * @param {boolean} isBlob - If set to true, the result will be returned as blob data.
1178
+ * @returns {Promise<any>} - Returns a promise that resolves with the result of the export action.
1179
+ */
1180
+ pdfExport(pdfExportProperties?: PdfExportProperties | TreeGridPdfExportProperties, isMultipleExport?: boolean, pdfDoc?: Object, isBlob?: boolean): Promise<Object>;
1181
+ /**
1182
+ * Sends a POST request to export the TreeGrid to an Excel file on the server side.
1183
+ *
1184
+ * @param {string} url - The URL for the server-side Excel export action.
1185
+ * @returns {void}
1186
+ */
1187
+ serverExcelExport(url: string): void;
1188
+ /**
1189
+ * Sends a POST request to export the TreeGrid to a PDF document on the server side.
1190
+ *
1191
+ * @param {string} url - The URL for the server-side PDF export action.
1192
+ * @returns {void}
1193
+ */
1194
+ serverPdfExport(url: string): void;
1195
+ /**
1196
+ * Sends a POST request to export the TreeGrid to a CSV file on the server side.
1197
+ *
1198
+ * @param {string} url - The URL for the server-side CSV export action.
1199
+ * @returns {void}
1200
+ */
1201
+ serverCsvExport(url: string): void;
1202
+ /**
1203
+ * Exports the TreeGrid data to the specified URL using a POST request.
1204
+ *
1205
+ * @param {string} url - Defines exporting url
1206
+ * @returns {void}
1207
+ */
1208
+ private exportTreeGrid;
1209
+ /**
1210
+ * Sets the header text and other properties for an array of columns based on specified criteria.
1211
+ *
1212
+ * @param {Column[]} columns - Defines array of columns
1213
+ * @param {string[]} include - Defines array of sting
1214
+ * @returns {Column[]} returns array of columns
1215
+ */
1216
+ private setHeaderText;
1217
+ /**
1218
+ * Retrieves the appropriate format string from the given format options.
1219
+ *
1220
+ * @param {string | NumberFormatOptions | DateFormatOptions} format - The format options to retrieve the format string from.
1221
+ * @returns {string} The format string extracted from the provided format options.
1222
+ */
1223
+ private getFormat;
1224
+ /**
1225
+ * For internal use only - Get the module name.
1226
+ *
1227
+ * @private
1228
+ * @returns {string} Returns TreeGrid module name
1229
+ */
1230
+ protected getModuleName(): string;
1231
+ /**
1232
+ * For internal use only - Initialize the event handler;
1233
+ *
1234
+ * @private
1235
+ * @returns {void}
1236
+ */
1237
+ protected preRender(): void;
1238
+ /**
1239
+ * Sorts a column with the specified options.
1240
+ *
1241
+ * @param {string} columnName - The name of the column to be sorted.
1242
+ * @param {SortDirection} direction - The direction of the sorting operation.
1243
+ * @param {boolean} isMultiSort - Specifies whether previous sorted columns should be maintained during sorting.
1244
+ * @returns {void}
1245
+ */
1246
+ sortByColumn(columnName: string, direction: SortDirection, isMultiSort?: boolean): void;
1247
+ /**
1248
+ * Clears all the sorted columns in the TreeGrid.
1249
+ *
1250
+ * @returns {void}
1251
+ */
1252
+ clearSorting(): void;
1253
+ /**
1254
+ * Removes the sorted state from a column specified by the field name.
1255
+ *
1256
+ * @param {string} field - The field name of the column from which the sort state should be removed.
1257
+ * @returns {void}
1258
+ * @hidden
1259
+ */
1260
+ removeSortColumn(field: string): void;
1261
+ /**
1262
+ * Searches for TreeGrid records using a specified search string.
1263
+ * Customize the search behavior through the [searchSettings](./#searchsettings/).
1264
+ *
1265
+ * @param {string} searchString - The string used as the search key.
1266
+ * @returns {void}
1267
+ */
1268
+ search(searchString: string): void;
1269
+ /**
1270
+ * Adjusts column widths to fit their content, ensuring content is displayed without wrapping or truncation.
1271
+ * - Hidden columns are ignored by this method.
1272
+ * - Use the `autoFitColumns` method during the `dataBound` event for initial rendering.
1273
+ *
1274
+ * @param {string | string[]} fieldNames - The name(s) of the column(s) to be auto-fitted.
1275
+ * @returns {void}
1276
+ */
1277
+ autoFitColumns(fieldNames?: string | string[]): void;
1278
+ /**
1279
+ * Reorders TreeGrid columns by specifying their field names.
1280
+ *
1281
+ * @param {string | string[]} fromFName - The field name(s) of the column(s) to be moved.
1282
+ * @param {string} toFName - The destination field name to place the moved columns.
1283
+ * @returns {void}
1284
+ */
1285
+ reorderColumns(fromFName: string | string[], toFName: string): void;
1286
+ private TreeGridLocale;
1287
+ /**
1288
+ * Prints all the pages of the TreeGrid and hides the pager by default.
1289
+ * Customize print options using the [printMode](./#printmode).
1290
+ *
1291
+ * @returns {void}
1292
+ */
1293
+ print(): void;
1294
+ private treeGridkeyActionHandler;
1295
+ private findnextRowElement;
1296
+ private findPreviousRowElement;
1297
+ private initProperties;
1298
+ /**
1299
+ * Attaches event handlers to the necessary elements during the component's initialization.
1300
+ *
1301
+ * @hidden
1302
+ * @returns {void}
1303
+ */
1304
+ wireEvents(): void;
1305
+ /**
1306
+ * Provides a list of the modules that are required for rendering the TreeGrid component.
1307
+ *
1308
+ * This method is essential for ensuring that all dependent modules are loaded and available
1309
+ * during the component's lifecycle, enabling full functionality.
1310
+ *
1311
+ * @returns {ModuleDeclaration[]} - Returns an array of the required TreeGrid module declarations.
1312
+ * @hidden
1313
+ */
1314
+ requiredModules(): ModuleDeclaration[];
1315
+ private resizeCheck;
1316
+ extendRequiredModules(modules: ModuleDeclaration[]): void;
1317
+ private isCommandColumn;
1318
+ /**
1319
+ * Unbinding events from the element while component destroy.
1320
+ *
1321
+ * @hidden
1322
+ * @returns {void}
1323
+ */
1324
+ unwireEvents(): void;
1325
+ /**
1326
+ * Logs tree grid error message on console
1327
+ *
1328
+ * @param {string | string[]} types - Tree Grid error type
1329
+ * @param {object} args - Error details
1330
+ * @hidden
1331
+ * @private
1332
+ * @returns {void}
1333
+ */
1334
+ log(types: string | string[], args?: Object): void;
1335
+ /**
1336
+ * For internal use only - To Initialize the component rendering.
1337
+ *
1338
+ * @private
1339
+ * @returns {void}
1340
+ */
1341
+ protected render(): void;
1342
+ private actionFailureHandler;
1343
+ private refreshToolbarItems;
1344
+ private afterGridRender;
1345
+ private convertTreeData;
1346
+ private bindGridProperties;
1347
+ private triggerEvents;
1348
+ private IsExpandCollapseClicked;
1349
+ private bindGridEvents;
1350
+ private lastRowBorder;
1351
+ private isPixelHeight;
1352
+ private extendedGridDataBoundEvent;
1353
+ private lastRowBorderEventListener;
1354
+ private objectEqualityChecker;
1355
+ private bindCallBackEvents;
1356
+ private extendedGridEditEvents;
1357
+ private updateRowTemplate;
1358
+ private bindedDataSource;
1359
+ private extendedGridActionEvents;
1360
+ private extendedGridEvents;
1361
+ private bindGridDragEvents;
1362
+ /**
1363
+ * Renders TreeGrid component
1364
+ *
1365
+ * @private
1366
+ * @returns {void}
1367
+ */
1368
+ protected loadGrid(): void;
1369
+ /**
1370
+ * AutoGenerate TreeGrid columns from first record
1371
+ *
1372
+ * @hidden
1373
+ * @returns {void}
1374
+ */
1375
+ private autoGenerateColumns;
1376
+ private getGridEditSettings;
1377
+ /**
1378
+ * Defines grid toolbar from treegrid toolbar model
1379
+ *
1380
+ * @hidden
1381
+ * @returns {Object[]} - returns context menu items
1382
+ */
1383
+ private getContextMenu;
1384
+ /**
1385
+ * Defines grid toolbar from treegrid toolbar model
1386
+ *
1387
+ * @hidden
1388
+ * @returns {Object[]} - Returns toolbar items
1389
+ */
1390
+ private getGridToolbar;
1391
+ private getGridColumns;
1392
+ private lastRowCellBorderUpdated;
1393
+ /**
1394
+ * Called internally if any of the property value changed.
1395
+ *
1396
+ * @param {TreeGridModel} newProp - properties details which has to be modified
1397
+ * @hidden
1398
+ * @returns {void}
1399
+ */
1400
+ onPropertyChanged(newProp: TreeGridModel): void;
1401
+ private updateTreeColumnTextAlign;
1402
+ /**
1403
+ * Destroys the TreeGrid component by detaching event handlers,
1404
+ * removing attributes and classes, and clearing the component's DOM elements.
1405
+ *
1406
+ * This method ensures that all resources used by the TreeGrid are properly released
1407
+ * and the component is cleaned up from the DOM to prevent memory leaks.
1408
+ *
1409
+ * @method destroy
1410
+ * @returns {void}
1411
+ */
1412
+ destroy(): void;
1413
+ /**
1414
+ * Updates the TreeGrid model and ensures that the underlying Grid's data model is in sync with TreeGrid.
1415
+ * This method binds current data and settings to the TreeGrid.
1416
+ *
1417
+ * @method dataBind
1418
+ * @returns {void}
1419
+ * @private
1420
+ */
1421
+ dataBind(): void;
1422
+ /**
1423
+ * Retrieves the properties of the TreeGrid that should be retained and persisted between sessions.
1424
+ *
1425
+ * The method ensures that user preferences and important settings like paging, sorting, filtering,
1426
+ * column configurations, etc., are preserved and can be restored when the component is re-initialized.
1427
+ *
1428
+ * @returns {string} - Returns persist properties details
1429
+ * @hidden
1430
+ */
1431
+ getPersistData(): string;
1432
+ private ignoreInArrays;
1433
+ private ignoreInColumn;
1434
+ private mouseClickHandler;
1435
+ /**
1436
+ * Retrieves all the TreeGrid row elements.
1437
+ *
1438
+ * This method is useful for accessing the HTML representation of the rows for further manipulation or inspection.
1439
+ *
1440
+ * @returns {HTMLTableRowElement[]} - Returns row elements collection
1441
+ */
1442
+ getRows(): HTMLTableRowElement[];
1443
+ /**
1444
+ * Obtains the pager element of the TreeGrid.
1445
+ *
1446
+ * The pager enables navigation between pages when the TreeGrid displays paginated data.
1447
+ *
1448
+ * @returns {Element} - Returns pager element
1449
+ */
1450
+ getPager(): Element;
1451
+ /**
1452
+ * Adds a new record to the TreeGrid at the specified position or default location.
1453
+ *
1454
+ * @param {Object} data - Object containing the data for the new record. If omitted, an empty row is added.
1455
+ * @param {number} index - The index at which the new row should be added.
1456
+ * @param {RowPosition} position - Specifies the position of the new row (e.g., before, after or child).
1457
+ *
1458
+ * > Requires `editSettings.allowAdding` to be true.
1459
+ *
1460
+ * @returns {void}
1461
+ */
1462
+ addRecord(data?: Object, index?: number, position?: RowPosition): void;
1463
+ /**
1464
+ * Cancels the current edit operation on the TreeGrid.
1465
+ *
1466
+ * This method discards changes made to the row and exits the edit mode without saving.
1467
+ *
1468
+ * @returns {void}
1469
+ */
1470
+ closeEdit(): void;
1471
+ /**
1472
+ * Saves the current cell value changes without committing to the data source.
1473
+ *
1474
+ * This operation persists the changes in the UI but not in the underlying data model.
1475
+ *
1476
+ * @returns {void}
1477
+ */
1478
+ saveCell(): void;
1479
+ /**
1480
+ * Updates the value of a specific cell directly, bypassing the edit mode.
1481
+ *
1482
+ * This method provides a quick way to update the UI and data without user interaction.
1483
+ *
1484
+ * @param {number} rowIndex Defines the row index.
1485
+ * @param {string} field Defines the column field.
1486
+ * @param {string | number | boolean | Date} value - Defines the value to be changed.
1487
+ * @returns {void}
1488
+ */
1489
+ updateCell(rowIndex: number, field: string, value: string | number | boolean | Date): void;
1490
+ /**
1491
+ * Updates a specific row with given values directly, skipping the edit state.
1492
+ *
1493
+ * This method allows for bulk updates of row data programmatically.
1494
+ *
1495
+ * @param {number} index - The index of the row to update.
1496
+ * @param {Object} data - The data object containing updated field values.
1497
+ * @returns {void}
1498
+ */
1499
+ updateRow(index: number, data: Object): void;
1500
+ /**
1501
+ * Deletes a record based on specified criteria or the selected record if none specified.
1502
+ *
1503
+ * @param {string} fieldName - The name of the primary key field.
1504
+ * @param {Object} data - The data object representing the record to delete.
1505
+ * @returns {void}
1506
+ *
1507
+ * > Requires `editSettings.allowDeleting` to be true.
1508
+ */
1509
+ deleteRecord(fieldName?: string, data?: Object): void;
1510
+ /**
1511
+ * Initiates editing for a specific row using its HTML element.
1512
+ *
1513
+ * This allows for manual control of which row enters edit mode through the UI.
1514
+ *
1515
+ * @param {HTMLTableRowElement} row - The table row element to enter into edit mode.
1516
+ * @returns {void}
1517
+ */
1518
+ startEdit(row?: HTMLTableRowElement): void;
1519
+ /**
1520
+ * Begins editing of a specific cell using row and field indices.
1521
+ *
1522
+ * Customers can programmatically specify which cell to edit without user input.
1523
+ *
1524
+ * @param {number} rowIndex - The index of the row containing the cell.
1525
+ * @param {string} field - The field name of the cell to edit.
1526
+ * @returns {void}
1527
+ */
1528
+ editCell(rowIndex?: number, field?: string): void;
1529
+ /**
1530
+ * Enables or disables specified ToolBar items within the TreeGrid.
1531
+ *
1532
+ * This facilitates dynamic control of toolbar actions based on application logic.
1533
+ *
1534
+ * @param {string[]} items - Array of ToolBar item IDs to enable or disable.
1535
+ * @param {boolean} isEnable - Boolean flag to determine whether to enable (true) or disable (false) items.
1536
+ * @returns {void}
1537
+ */
1538
+ enableToolbarItems(items: string[], isEnable: boolean): void;
1539
+ /**
1540
+ * Commits the edits made to a record in edit mode, updating the data source.
1541
+ *
1542
+ * Use this method to finalize changes for rows in edit mode, ensuring persistence.
1543
+ *
1544
+ * @returns {void}
1545
+ */
1546
+ endEdit(): void;
1547
+ /**
1548
+ * Displays the column chooser at a specified screen position.
1549
+ *
1550
+ * Useful for customizing the visibility of columns interactively via the UI.
1551
+ *
1552
+ * @param {number} x - The X-axis position of the column chooser.
1553
+ * @param {number} y - The Y-axis position of the column chooser.
1554
+ * @returns {void}
1555
+ */
1556
+ openColumnChooser(x?: number, y?: number): void;
1557
+ /**
1558
+ * Deletes a visible row from the TreeGrid using its HTML element.
1559
+ *
1560
+ * Apply this method when handling row deletions through DOM manipulations.
1561
+ *
1562
+ * @param {HTMLTableRowElement} tr - The table row element to remove.
1563
+ * @returns {void}
1564
+ */
1565
+ deleteRow(tr: HTMLTableRowElement): void;
1566
+ /**
1567
+ * Retrieves the primary key field names used in the TreeGrid.
1568
+ *
1569
+ * This information is crucial for identifying and manipulating unique rows.
1570
+ *
1571
+ * @returns {string[]} - Returns an array of primary key field names.
1572
+ */
1573
+ getPrimaryKeyFieldNames(): string[];
1574
+ /**
1575
+ * Updates the value of a specific cell using its primary key for identification.
1576
+ *
1577
+ * Useful for targeted updates that leverage unique identifiers to ensure accuracy.
1578
+ *
1579
+ * @param {string| number} key - The primary key value of the row containing the cell.
1580
+ * @param {string} field - The field name of the cell to update.
1581
+ * @param {string | number | boolean | Date} value - The new value to assign to the specified cell.
1582
+ * @returns {void}
1583
+ */
1584
+ setCellValue(key: string | number, field: string, value: string | number | boolean | Date): void;
1585
+ /**
1586
+ * Updates the data for a specific row identified by its primary key and refreshes the display.
1587
+ *
1588
+ * Important for keeping the displayed data consistent with the source database or dataset.
1589
+ *
1590
+ * @param {string| number} key - The primary key value of the row to update.
1591
+ * @param {Object} rowData - The new data to apply to the row.
1592
+ * @returns {void}
1593
+ */
1594
+ setRowData(key: string | number, rowData?: ITreeData): void;
1595
+ /**
1596
+ * Navigates to a specified page number within the TreeGrid pagination.
1597
+ *
1598
+ * This can be used to programmatically change the page being viewed,
1599
+ * allowing for scripted navigation through data.
1600
+ *
1601
+ * @param {number} pageNo - The page number to navigate to. Must be within valid page range.
1602
+ * @returns {void}
1603
+ */
1604
+ goToPage(pageNo: number): void;
1605
+ /**
1606
+ * Updates the external message displayed within the pager component.
1607
+ *
1608
+ * This is useful for showing custom messages or additional information
1609
+ * related to the data set or pagination status.
1610
+ *
1611
+ * @param {string} message - The custom message to display in the pager.
1612
+ * @returns {void}
1613
+ */
1614
+ updateExternalMessage(message: string): void;
1615
+ /**
1616
+ * Retrieves a cell element based on its row and column indices in the TreeGrid.
1617
+ *
1618
+ * This method is helpful for accessing cell-level elements for custom
1619
+ * operations or styling.
1620
+ *
1621
+ * @param {number} rowIndex - The index of the row containing the cell.
1622
+ * @param {number} columnIndex - The index of the column containing the cell.
1623
+ * @returns {Element} - Returns the HTML element of the specified cell.
1624
+ */
1625
+ getCellFromIndex(rowIndex: number, columnIndex: number): Element;
1626
+ /**
1627
+ * Retrieves a column object by the column's field name.
1628
+ *
1629
+ * This is typically used for obtaining the details of a column for
1630
+ * configuration or data manipulation purposes.
1631
+ *
1632
+ * @param {string} field - The field name of the column.
1633
+ * @returns {Column} - Returns the column object corresponding to the field.
1634
+ */
1635
+ getColumnByField(field: string): Column;
1636
+ /**
1637
+ * Fetches a column object using the column's unique identifier (UID).
1638
+ *
1639
+ * Useful in scenarios where columns do not have unique field names but
1640
+ * are uniquely identifiable via UID.
1641
+ *
1642
+ * @param {string} uid - The unique identifier for the column.
1643
+ * @returns {Column} - Returns the column object for the given UID.
1644
+ */
1645
+ getColumnByUid(uid: string): Column;
1646
+ /**
1647
+ * Retrieves the names of all column fields in the TreeGrid.
1648
+ *
1649
+ * This method provides a list of field names useful for dynamic operations
1650
+ * or configuration where fields need to be enumerated or manipulated.
1651
+ *
1652
+ * @returns {string[]} - Returns an array of column field names.
1653
+ */
1654
+ getColumnFieldNames(): string[];
1655
+ /**
1656
+ * Retrieves the footer content element of the TreeGrid, usually for styling or custom manipulation.
1657
+ *
1658
+ * This can be used to access the footer for adding custom functionality
1659
+ * or styling purposes to enhance user interaction at the bottom of the grid.
1660
+ *
1661
+ * @returns {Element} - Returns the footer content HTML element.
1662
+ */
1663
+ getFooterContent(): Element;
1664
+ /**
1665
+ * Acquires the footer table element of the TreeGrid for layout management.
1666
+ *
1667
+ * Useful for manipulating the table's structure or style beneath the grid content.
1668
+ *
1669
+ * @returns {Element} - Returns the footer table HTML element.
1670
+ */
1671
+ getFooterContentTable(): Element;
1672
+ /**
1673
+ * Shows one or more columns based on the specified column names.
1674
+ *
1675
+ * This is useful for dynamically adjusting the visibility of columns
1676
+ * based on user actions or application logic.
1677
+ *
1678
+ * @param {string|string[]} keys - A single column name or an array of column names to show.
1679
+ * @param {string} showBy - Key to determine visibility either as field name or header text.
1680
+ * @returns {void}
1681
+ */
1682
+ showColumns(keys: string | string[], showBy?: string): void;
1683
+ /**
1684
+ * Hides one or more columns based on the specified column names.
1685
+ *
1686
+ * Utilized to dynamically reduce the visibility of columns based on
1687
+ * user roles or preferences.
1688
+ *
1689
+ * @param {string|string[]} keys - A single column name or an array of column names to hide.
1690
+ * @param {string} hideBy - Key to evaluate columns either as field name or header text.
1691
+ * @returns {void}
1692
+ */
1693
+ hideColumns(keys: string | string[], hideBy?: string): void;
1694
+ /**
1695
+ * Retrieves a column header element based on the field name of the column.
1696
+ *
1697
+ * This method helps to directly manipulate headers, such as applying custom styles.
1698
+ *
1699
+ * @param {string} field - The field name of the desired column.
1700
+ * @returns {Element} - Returns the HTML element of the column header.
1701
+ */
1702
+ getColumnHeaderByField(field: string): Element;
1703
+ /**
1704
+ * Acquires the column header element using the column's index.
1705
+ *
1706
+ * Suitable for situations where direct column index is available
1707
+ * and header access is needed for operations.
1708
+ *
1709
+ * @param {number} index - The index of the column.
1710
+ * @returns {Element} - Returns the HTML element of the specified column header.
1711
+ */
1712
+ getColumnHeaderByIndex(index: number): Element;
1713
+ /**
1714
+ * Retrieves a column header element utilizing the column's UID.
1715
+ *
1716
+ * Useful for precision access to header elements when UIDs are used
1717
+ * uniquely to manage column identities.
1718
+ *
1719
+ * @param {string} uid - The UID of the column.
1720
+ * @returns {Element} - Returns the HTML element of the column header.
1721
+ */
1722
+ getColumnHeaderByUid(uid: string): Element;
1723
+ /**
1724
+ * Determines the column index by the specified field name.
1725
+ *
1726
+ * Helpful in converting field names to indices for operations that require
1727
+ * numeric input for array or collection indexing.
1728
+ *
1729
+ * @param {string} field - The field name of the column.
1730
+ * @returns {number} - Returns the index of the column.
1731
+ */
1732
+ getColumnIndexByField(field: string): number;
1733
+ private getVirtualColIndexByUid;
1734
+ /**
1735
+ * Determines the column index based on the unique identifier (UID).
1736
+ *
1737
+ * This can be crucial in scenarios that involve dynamic column management
1738
+ * where UID provides an accurate reference.
1739
+ *
1740
+ * @param {string} uid - The UID of the column.
1741
+ * @returns {number} - Returns the column index.
1742
+ */
1743
+ getColumnIndexByUid(uid: string): number;
1744
+ /**
1745
+ * Fetches a collection of columns from the TreeGrid optionally refreshing the column model.
1746
+ *
1747
+ * Use this method to retrieve and optionally refresh the list of columns
1748
+ * to ensure up-to-date configurations and settings.
1749
+ *
1750
+ * @param {boolean} isRefresh - Determines whether to refresh the grid's column model.
1751
+ * @returns {Column[]} - Returns an array of TreeGrid column objects.
1752
+ */
1753
+ getColumns(isRefresh?: boolean): Column[];
1754
+ private updateColumnModel;
1755
+ private updateColumnsWidth;
1756
+ /**
1757
+ * Retrieves the main content area of the TreeGrid.
1758
+ *
1759
+ * This method allows access to the main content DIV, which can
1760
+ * be used for layout adjustments or adding custom elements.
1761
+ *
1762
+ * @returns {Element} - Returns the TreeGrid content HTML element.
1763
+ */
1764
+ getContent(): Element;
1765
+ private mergePersistTreeGridData;
1766
+ private mergeColumns;
1767
+ private setFrozenCount;
1768
+ private splitFrozenCount;
1769
+ private removeBorder;
1770
+ private frozenLeftBorderColumns;
1771
+ private frozenRightBorderColumns;
1772
+ private isFrozenGrid;
1773
+ private updateTreeGridModel;
1774
+ /**
1775
+ * Retrieves the content table element of the TreeGrid.
1776
+ *
1777
+ * This table contains the main data display area, allowing for
1778
+ * interaction and data manipulation directly within the TreeGrid.
1779
+ *
1780
+ * @returns {Element} - Returns the HTML element representing the content table.
1781
+ */
1782
+ getContentTable(): Element;
1783
+ /**
1784
+ * Obtains all data row elements from the TreeGrid, excluding summary rows.
1785
+ *
1786
+ * Provides a way to access the visual representation of data for purposes
1787
+ * like custom formatting or event binding.
1788
+ *
1789
+ * @returns {Element[]} - Returns an array of data row elements.
1790
+ */
1791
+ getDataRows(): Element[];
1792
+ /**
1793
+ * Retrieves the current set of records that are visible in the TreeGrid view.
1794
+ *
1795
+ * This method excludes any summary rows to focus on the main data set
1796
+ * currently being viewed by the user.
1797
+ *
1798
+ * @returns {Object[]} - Returns an array of the current view records.
1799
+ * @isGenericType true
1800
+ */
1801
+ getCurrentViewRecords(): Object[];
1802
+ /**
1803
+ * Collects data changes (added, edited, and deleted) that have not been saved in batch mode.
1804
+ *
1805
+ * This allows you to view pending changes awaiting a commit to the data source.
1806
+ *
1807
+ * @returns {Object} - Returns an object detailing batch changes.
1808
+ */
1809
+ getBatchChanges(): Object;
1810
+ /**
1811
+ * Retrieves the header content element of the TreeGrid.
1812
+ *
1813
+ * Mainly used for interacting with the header section, which includes
1814
+ * column headers and any applied header styling or events.
1815
+ *
1816
+ * @returns {Element} - Returns the HTML element for header content.
1817
+ */
1818
+ getHeaderContent(): Element;
1819
+ /**
1820
+ * Retrieves the header table element of the TreeGrid.
1821
+ *
1822
+ * This method is useful for direct access to the table structure
1823
+ * where column headers are defined.
1824
+ *
1825
+ * @returns {Element} - Returns the HTML element for the header table.
1826
+ */
1827
+ getHeaderTable(): Element;
1828
+ /**
1829
+ * Fetches a specific row element based on its index in the TreeGrid.
1830
+ *
1831
+ * This provides a way to directly access and manipulate a row using its index.
1832
+ *
1833
+ * @param {number} index - The index of the desired row.
1834
+ * @returns {Element} - Returns the HTML element of the specified row.
1835
+ */
1836
+ getRowByIndex(index: number): Element;
1837
+ /**
1838
+ * Provides detailed information about a row based on a specified target element.
1839
+ *
1840
+ * Integral for retrieving metadata such as row index or data object
1841
+ * when working with events or complex tree structures.
1842
+ *
1843
+ * @param {Element | EventTarget} target - The target element or event triggering the request.
1844
+ * @returns {RowInfo} - Returns an object containing row information.
1845
+ */
1846
+ getRowInfo(target: Element | EventTarget): RowInfo;
1847
+ /**
1848
+ * Finds the unique identifier (UID) for a column based on its field name.
1849
+ *
1850
+ * UIDs are essential for precise identification and manipulation within complex grids.
1851
+ *
1852
+ * @param {string} field - The field name of the column.
1853
+ * @returns {string} - Returns the unique identifier for the specified column.
1854
+ */
1855
+ getUidByColumnField(field: string): string;
1856
+ /**
1857
+ * Retrieves all the columns that are currently set to be visible within the TreeGrid.
1858
+ *
1859
+ * Helps in understanding the user's current view and can be used to dynamically
1860
+ * adjust the visible columns.
1861
+ *
1862
+ * @returns {Column[]} - Returns an array of visible column objects.
1863
+ */
1864
+ getVisibleColumns(): Column[];
1865
+ /**
1866
+ * Displays a loading spinner overlay across the TreeGrid for any data action or long-running process.
1867
+ *
1868
+ * This can be manually invoked to indicate processing, enhancing user experience by providing feedback.
1869
+ *
1870
+ * @returns {void}
1871
+ */
1872
+ showSpinner(): void;
1873
+ /**
1874
+ * Hides a manually shown loading spinner overlay from the TreeGrid.
1875
+ *
1876
+ * Ensures that any long-running process indication is removed after completion
1877
+ * to manage user interface aesthetics.
1878
+ *
1879
+ * @returns {void}
1880
+ */
1881
+ hideSpinner(): void;
1882
+ /**
1883
+ * Refreshes the visual appearance and data of the TreeGrid, updating header and content.
1884
+ *
1885
+ * This is crucial for synchronizing the displayed data with the underlying data source,
1886
+ * ensuring the view reflects current data.
1887
+ *
1888
+ * @returns {void}
1889
+ */
1890
+ refresh(): void;
1891
+ /**
1892
+ * Retrieves the records associated with rows that have their checkboxes checked.
1893
+ *
1894
+ * Facilitates operations that require information about specifically selected or
1895
+ * interacted rows within the grid.
1896
+ *
1897
+ * @returns {Object[]} - Returns an array of checked row data objects.
1898
+ * @isGenericType true
1899
+ */
1900
+ getCheckedRecords(): Object[];
1901
+ /**
1902
+ * Retrieves currently visible records according to the TreeGrid's visual state.
1903
+ *
1904
+ * It considers row expansion and collapse states to return only those records
1905
+ * that a user can currently interact with.
1906
+ *
1907
+ * @returns {Object[]} - Returns visible records reflecting the TreeGrid's current view.
1908
+ * @isGenericType true
1909
+ */
1910
+ getVisibleRecords(): Object[];
1911
+ /**
1912
+ * Retrieves the indices of rows that have their checkboxes checked.
1913
+ *
1914
+ * This can assist in programatically assessing which rows have been selected
1915
+ * by checkbox interaction for further processing.
1916
+ *
1917
+ * @returns {number[]} - Returns an array of indices corresponding to checked rows.
1918
+ */
1919
+ getCheckedRowIndexes(): number[];
1920
+ /**
1921
+ * Selects rows in the TreeGrid using row indices, checking their associated checkboxes.
1922
+ *
1923
+ * This method provides automation for selecting or highlighting specific rows,
1924
+ * useful in scenarios needing pre-selection or default selections.
1925
+ *
1926
+ * @param {number[]} indexes - An array of row indices to be marked as selected.
1927
+ * @returns {void}
1928
+ */
1929
+ selectCheckboxes(indexes: number[]): void;
1930
+ /**
1931
+ * Updates and refreshes the TreeGrid's column definitions and layout.
1932
+ *
1933
+ * Ensures that the latest column settings are displayed, either refreshing the UI
1934
+ * or adjusting internal configurations to match current data or configuration updates.
1935
+ *
1936
+ * @param {boolean} refreshUI - A flag indicating whether the DOM should be updated.
1937
+ * @returns {void}
1938
+ */
1939
+ refreshColumns(refreshUI?: boolean): void;
1940
+ private getTreeColumn;
1941
+ /**
1942
+ * Refreshes the header section of the TreeGrid to reflect any structural or data changes.
1943
+ *
1944
+ * This method is useful when there are dynamic updates or layout adjustments
1945
+ * needed in the header portion to ensure it aligns with current grid data or settings.
1946
+ *
1947
+ * @returns {void}
1948
+ */
1949
+ refreshHeader(): void;
1950
+ /**
1951
+ * Expands or collapse child records
1952
+ *
1953
+ * @param {HTMLElement} target - Expand collapse icon cell as target element
1954
+ * @returns {void}
1955
+ * @hidden
1956
+ */
1957
+ private expandCollapseRequest;
1958
+ /**
1959
+ * Expands the specified parent row within the TreeGrid to reveal its nested data.
1960
+ *
1961
+ * This method is useful for programmatically expanding rows to display their
1962
+ * hierarchical children, providing detailed views for nested data structures.
1963
+ *
1964
+ * @param {HTMLTableRowElement} row - The table row element that should be expanded.
1965
+ * @param {Object} record - Optional. Represents the data record associated with the row to be expanded.
1966
+ * @param {Object} key - Optional. The primary key value that uniquely identifies the record.
1967
+ * @param {number} level - Optional. Indicates the hierarchical level of the record within the TreeGrid.
1968
+ * @returns {void}
1969
+ */
1970
+ expandRow(row: HTMLTableRowElement, record?: Object, key?: Object, level?: number): void;
1971
+ private expandRows;
1972
+ private expandCollapseAllChildren;
1973
+ private getCollapseExpandRecords;
1974
+ /**
1975
+ * Collapses the specified parent row in the TreeGrid.
1976
+ *
1977
+ * This method collapses the row associated with the provided HTMLTableRowElement,
1978
+ * hiding any of its displayed child rows. It is typically used to manage the
1979
+ * visibility of hierarchical data within a tree structure.
1980
+ *
1981
+ * @param {HTMLTableRowElement} row - The HTMLTableRowElement representing the parent row
1982
+ * whose child rows are to be collapsed.
1983
+ * @param {Object} record - (Optional) The data record associated with the row being collapsed.
1984
+ * This can be used to access or manipulate the underlying data
1985
+ * when collapsing the row.
1986
+ * @param {Object} key - (Optional) The primary key value of the record. It can be used to identify
1987
+ * the target record uniquely when collapsing the row, especially in cases
1988
+ * where the row or record data needs to be referenced or logged.
1989
+ * @returns {void}
1990
+ */
1991
+ collapseRow(row: HTMLTableRowElement, record?: Object, key?: Object): void;
1992
+ private collapseRows;
1993
+ private updateExpandStateMapping;
1994
+ /**
1995
+ * Expands all the records at the specified hierarchical level within the TreeGrid.
1996
+ *
1997
+ * This method is useful for visually expanding data at a certain depth, making
1998
+ * all parent rows visible at the given level and their child rows accessible.
1999
+ *
2000
+ * @param {number} level - The hierarchical level at which parent rows should be expanded.
2001
+ * @returns {void}
2002
+ */
2003
+ expandAtLevel(level: number): void;
2004
+ /**
2005
+ * Expands a specific record identified by the provided primary key value.
2006
+ *
2007
+ * This method is useful for expanding particular node in the TreeGrid when
2008
+ * the parent rows need to be targeted individually by their unique key.
2009
+ *
2010
+ * @param {Object} key - The primary key value of the record to be expanded.
2011
+ * @returns {void}
2012
+ */
2013
+ expandByKey(key: Object): void;
2014
+ private expandAction;
2015
+ private getRecordDetails;
2016
+ /**
2017
+ * Collapses all the records at the specified hierarchical level within the TreeGrid.
2018
+ *
2019
+ * This function helps in hiding child rows for all parent nodes at a given level,
2020
+ * effectively reducing the visible depth of the hierarchical structure.
2021
+ *
2022
+ * @param {number} level - The hierarchical level at which parent rows should be collapsed.
2023
+ * @returns {void}
2024
+ */
2025
+ collapseAtLevel(level: number): void;
2026
+ /**
2027
+ * Collapses a specific record identified by the provided primary key value.
2028
+ *
2029
+ * This method is useful for collapsing particular node in the TreeGrid when
2030
+ * the parent rows need to be targeted individually by their unique key.
2031
+ *
2032
+ * @param {Object} key - The primary key value of the record to be collapsed.
2033
+ * @returns {void}
2034
+ */
2035
+ collapseByKey(key: Object): void;
2036
+ private expandCollapseActionByKey;
2037
+ private collapseAction;
2038
+ /**
2039
+ * Expands all rows in the TreeGrid, making the full hierarchy visible.
2040
+ *
2041
+ * This method should be used with caution on large datasets, as it makes
2042
+ * all nodes and their child rows visible, which might affect performance.
2043
+ *
2044
+ * @returns {void}
2045
+ */
2046
+ expandAll(): void;
2047
+ /**
2048
+ * Collapses all rows in the TreeGrid, hiding all child rows and leaving only parent nodes visible.
2049
+ *
2050
+ * This method can be used to quickly minimize the view to only top-level data,
2051
+ * which is helpful for summarizing or performing broad overviews of the dataset.
2052
+ *
2053
+ * @returns {void}
2054
+ */
2055
+ collapseAll(): void;
2056
+ private expandCollapseAll;
2057
+ private expandCollapse;
2058
+ private updateChildOnDemand;
2059
+ private remoteExpand;
2060
+ private localExpand;
2061
+ private toggleRowVisibility;
2062
+ private updateAltRow;
2063
+ private treeColumnRowTemplate;
2064
+ private collapseRemoteChild;
2065
+ /**
2066
+ * Method to sanitize html element
2067
+ *
2068
+ * @param {any} value - Specifies the html value to sanitize
2069
+ * @returns {any} Returns the sanitized html value
2070
+ * @hidden
2071
+ */
2072
+ private sanitize;
2073
+ /**
2074
+ * @hidden
2075
+ * @returns {void}
2076
+ */
2077
+ addListener(): void;
2078
+ private updateResultModel;
2079
+ /**
2080
+ * @hidden
2081
+ * @returns {void}
2082
+ */
2083
+ private removeListener;
2084
+ /**
2085
+ * Filters the TreeGrid rows based on a specified column and filter criteria.
2086
+ *
2087
+ * This method allows for dynamic filtering against column data using various
2088
+ * operators and values, supporting case-sensitive filtering and accent sensitivity.
2089
+ *
2090
+ * @param {string} fieldName - The name of the column to apply the filter on.
2091
+ * @param {string} filterOperator - The operator used to perform the filter (e.g., 'equals', 'startswith').
2092
+ * @param {string | number | Date | boolean } filterValue - The value to filter against.
2093
+ * @param {string} predicate - The logical operator ('AND'/'OR') to combine this filter with others.
2094
+ * @param {boolean} matchCase - If true, the filter performs a case-sensitive match.
2095
+ * @param {boolean} ignoreAccent - If true, the filter ignores diacritical marks.
2096
+ * @param {string} actualFilterValue - The original value used for filtering, useful for distinguishing displayed and actual values.
2097
+ * @param {string} actualOperator - The actual operator that is applied when different from the displayed operator.
2098
+ * @returns {void}
2099
+ */
2100
+ filterByColumn(fieldName: string, filterOperator: string, filterValue: string | number | Date | boolean | number[] | string[] | Date[] | boolean[], predicate?: string, matchCase?: boolean, ignoreAccent?: boolean, actualFilterValue?: string, actualOperator?: string): void;
2101
+ /**
2102
+ * Clears all filters applied to the TreeGrid, restoring the view to show all records.
2103
+ *
2104
+ * This method is useful for resetting the grid to its unfiltered state.
2105
+ *
2106
+ * @returns {void}
2107
+ */
2108
+ clearFiltering(): void;
2109
+ /**
2110
+ * Removes filtered column by field name.
2111
+ *
2112
+ * @param {string} field - Defines column field name to remove filter.
2113
+ * @param {boolean} isClearFilterBar - Specifies whether the filter bar value needs to be cleared.
2114
+ * @returns {void}
2115
+ * @hidden
2116
+ */
2117
+ removeFilteredColsByField(field: string, isClearFilterBar?: boolean): void;
2118
+ /**
2119
+ * Selects a row in the TreeGrid by its index.
2120
+ *
2121
+ * Use this method to highlight a specific row; useful for programmatically navigating data.
2122
+ *
2123
+ * @param {number} index - Index of the row to select.
2124
+ * @param {boolean} isToggle - If true, toggles the selection state of the row.
2125
+ * @returns {void}
2126
+ */
2127
+ selectRow(index: number, isToggle?: boolean): void;
2128
+ /**
2129
+ * Selects multiple rows in the TreeGrid given an array of row indexes.
2130
+ *
2131
+ * Useful for batch operations where multiple row selections are necessary.
2132
+ *
2133
+ * @param {number[]} rowIndexes - Array of row index numbers to select.
2134
+ * @returns {void}
2135
+ */
2136
+ selectRows(rowIndexes: number[]): void;
2137
+ /**
2138
+ * Deselects all selected rows and cells within the TreeGrid.
2139
+ *
2140
+ * Resets the selection state of the grid, which is useful after bulk operations.
2141
+ *
2142
+ * @returns {void}
2143
+ */
2144
+ clearSelection(): void;
2145
+ /**
2146
+ * Copies the data of selected rows or cells to the clipboard.
2147
+ *
2148
+ * This method supports including headers for better context when pasting elsewhere.
2149
+ *
2150
+ * @param {boolean} withHeader - (Optional) If true, includes column headers in the copied data.
2151
+ * @returns {void}
2152
+ */
2153
+ copy(withHeader?: boolean): void;
2154
+ /**
2155
+ * Pastes data into the selected cells from the clipboard.
2156
+ *
2157
+ * Automatically places the pasted data starting from the specified indices.
2158
+ *
2159
+ * @param {string} data - The clipboard data to paste.
2160
+ * @param {number} rowIndex - The starting row index for pasting.
2161
+ * @param {number} colIndex - The starting column index for pasting.
2162
+ * @returns {void}
2163
+ */
2164
+ paste(data: string, rowIndex: number, colIndex: number): void;
2165
+ /**
2166
+ * Selects a cell by its index position in the TreeGrid.
2167
+ *
2168
+ * Useful for navigating or highlighting specific data cells within the grid.
2169
+ *
2170
+ * @param {IIndex} cellIndex - An object specifying the row and column indexes.
2171
+ * @param {boolean} isToggle - (Optional) If true, toggles the selection state of the cell.
2172
+ * @returns {void}
2173
+ */
2174
+ selectCell(cellIndex: IIndex, isToggle?: boolean): void;
2175
+ /**
2176
+ * Retrieves the currently selected rows.
2177
+ *
2178
+ * Useful for obtaining the selected data elements for downstream processing.
2179
+ *
2180
+ * @returns {Element[]} - An array of Element objects representing the selected rows.
2181
+ */
2182
+ getSelectedRows(): Element[];
2183
+ /**
2184
+ * Gets a movable table cell by row and column index.
2185
+ *
2186
+ * @param {number} rowIndex - Specifies the row index.
2187
+ * @param {number} columnIndex - Specifies the column index.
2188
+ * @returns {Element} - Returns movable cell element from the indexes passed
2189
+ *
2190
+ * @deprecated This method is deprecated. Use getCellFromIndex method instead.
2191
+ */
2192
+ getMovableCellFromIndex(rowIndex: number, columnIndex: number): Element;
2193
+ /**
2194
+ * Gets all the TreeGrid's movable table data rows.
2195
+ *
2196
+ * @returns {Element[]} - Returns element collection of movable rows
2197
+ *
2198
+ * @deprecated This method is deprecated. Use getDataRows method instead.
2199
+ */
2200
+ getMovableDataRows(): Element[];
2201
+ /**
2202
+ * Gets a movable tables row by index.
2203
+ *
2204
+ * @param {number} index - Specifies the row index.
2205
+ * @returns {Element} - Returns movable row based on index passed
2206
+ *
2207
+ * @deprecated This method is deprecated. Use getRowByIndex method instead.
2208
+ */
2209
+ getMovableRowByIndex(index: number): Element;
2210
+ /**
2211
+ * Gets the TreeGrid's movable content rows from frozen treegrid.
2212
+ *
2213
+ * @returns {Element[]}: Returns movable row element
2214
+ * @deprecated This method is deprecated. Use getRows method instead.
2215
+ */
2216
+ getMovableRows(): Element[];
2217
+ /**
2218
+ * Gets a frozen right tables row element by index.
2219
+ *
2220
+ * @param {number} index - Specifies the row index.
2221
+ * @returns {Element} returns the element
2222
+ *
2223
+ * @deprecated This method is deprecated. Use getRowByIndex method instead.
2224
+ */
2225
+ getFrozenRightRowByIndex(index: number): Element;
2226
+ /**
2227
+ * Gets the Tree Grid's frozen right content rows from frozen Tree Grid.
2228
+ *
2229
+ * @returns {Element[]} returns the element
2230
+ *
2231
+ * @deprecated This method is deprecated. Use getRows method instead.
2232
+ */
2233
+ getFrozenRightRows(): Element[];
2234
+ /**
2235
+ * Gets all the Tree Grid's frozen right table data rows.
2236
+ *
2237
+ * @returns {Element[]} Returns the Element
2238
+ *
2239
+ * @deprecated This method is deprecated. Use getDataRows method instead.
2240
+ */
2241
+ getFrozenRightDataRows(): Element[];
2242
+ /**
2243
+ * Gets a frozen right table cell by row and column index.
2244
+ *
2245
+ * @param {number} rowIndex - Specifies the row index.
2246
+ * @param {number} columnIndex - Specifies the column index.
2247
+ * @returns {Element} Returns the Element
2248
+ *
2249
+ * @deprecated This method is deprecated. Use getCellFromIndex method instead.
2250
+ */
2251
+ getFrozenRightCellFromIndex(rowIndex: number, columnIndex: number): Element;
2252
+ /**
2253
+ * Gets a frozen left column header by column index.
2254
+ *
2255
+ * @param {number} index - Specifies the column index.
2256
+ * @returns {Element} Returns the Element
2257
+ *
2258
+ * @deprecated This method is deprecated. Use getColumnHeaderByIndex method instead.
2259
+ */
2260
+ getFrozenLeftColumnHeaderByIndex(index: number): Element;
2261
+ /**
2262
+ * Gets a frozen right column header by column index.
2263
+ *
2264
+ * @param {number} index - Specifies the column index.
2265
+ * @returns {Element} Returns the Element
2266
+ *
2267
+ * @deprecated This method is deprecated. Use getColumnHeaderByIndex method instead.
2268
+ */
2269
+ getFrozenRightColumnHeaderByIndex(index: number): Element;
2270
+ /**
2271
+ * Gets a movable column header by column index.
2272
+ *
2273
+ * @param {number} index - Specifies the column index.
2274
+ * @returns {Element} Returns the Element
2275
+ *
2276
+ * @deprecated This method is deprecated. Use getColumnHeaderByIndex method instead.
2277
+ */
2278
+ getMovableColumnHeaderByIndex(index: number): Element;
2279
+ /**
2280
+ * @hidden
2281
+ * @returns {number} Returns the movable column count
2282
+ */
2283
+ getMovableColumnsCount(): number;
2284
+ /**
2285
+ * @hidden
2286
+ * @returns {number} Returns the Frozen Left column
2287
+ */
2288
+ getFrozenLeftColumnsCount(): number;
2289
+ /**
2290
+ * @hidden
2291
+ * @returns {number} Returns the Frozen Right column count
2292
+ */
2293
+ getFrozenRightColumnsCount(): number;
2294
+ /**
2295
+ * @hidden
2296
+ * @returns {Column[]} Returns the column
2297
+ */
2298
+ getFrozenLeftColumns(): Column[];
2299
+ /**
2300
+ * @hidden
2301
+ * @returns {Column[]} Returns the column
2302
+ */
2303
+ getFrozenRightColumns(): Column[];
2304
+ /**
2305
+ * @hidden
2306
+ * @returns {number} Returns the visible movable count
2307
+ */
2308
+ getVisibleMovableCount(): number;
2309
+ /**
2310
+ * @hidden
2311
+ * @returns {number} Returns the visible Frozen Right count
2312
+ */
2313
+ getVisibleFrozenRightCount(): number;
2314
+ /**
2315
+ * @hidden
2316
+ * @returns {number} Returns the visible Frozen left count
2317
+ */
2318
+ getVisibleFrozenLeftCount(): number;
2319
+ /**
2320
+ * @hidden
2321
+ * @returns {Column[]} Returns the column
2322
+ */
2323
+ getMovableColumns(): Column[];
2324
+ /**
2325
+ * Gets the number of frozen column in tree grid
2326
+ *
2327
+ * @hidden
2328
+ * @returns {number} - Returns frozen column count
2329
+ */
2330
+ getFrozenColumns(): number;
2331
+ private getFrozenCount;
2332
+ /**
2333
+ * Retrieves the indexes of the currently selected rows in the TreeGrid.
2334
+ *
2335
+ * This method is useful when you need to perform actions based on the selected rows,
2336
+ * such as retrieving data or changing the selection.
2337
+ *
2338
+ * @returns {number[]} - An array of numbers representing the indexes of selected rows.
2339
+ */
2340
+ getSelectedRowIndexes(): number[];
2341
+ /**
2342
+ * Retrieves the indexes of the selected cells within the selected rows.
2343
+ *
2344
+ * This can be useful for handling cell-specific operations, such as
2345
+ * applying styles or editing values programmatically.
2346
+ *
2347
+ * @returns {ISelectedCell[]} - An array of objects representing the selected cells' indexes.
2348
+ */
2349
+ getSelectedRowCellIndexes(): ISelectedCell[];
2350
+ /**
2351
+ * Retrieves the data records corresponding to the currently selected rows.
2352
+ *
2353
+ * This method provides the full record data for the selected rows,
2354
+ * which is useful for data manipulation or extraction operations.
2355
+ *
2356
+ * @isGenericType true
2357
+ * @returns {Object[]} - An array of data objects representing the selected records.
2358
+ */
2359
+ getSelectedRecords(): Object[];
2360
+ /**
2361
+ * Obtains the data handling modules used by the TreeGrid.
2362
+ *
2363
+ * This includes both the base data module for standard grid operations and the tree module
2364
+ * for handling hierarchical data, giving complete access to data management capabilities.
2365
+ *
2366
+ * @returns {{baseModule: Data, treeModule: DataManipulation}} - An object containing both grid and tree data modules.
2367
+ */
2368
+ getDataModule(): {
2369
+ baseModule: Data;
2370
+ treeModule: DataManipulation;
2371
+ };
2372
+ /**
2373
+ * Reorders rows in the TreeGrid based on specified source indexes and a target position.
2374
+ *
2375
+ * This functionality allows for dynamic rearrangement of rows, such as moving selected
2376
+ * rows to a new position as siblings or children.
2377
+ *
2378
+ * @param {number[]} fromIndexes - An array indicating the source indexes of the rows to be moved.
2379
+ * @param {number} toIndex - The target index where the rows should be moved.
2380
+ * @param {string} position - The position relative to the target index ('above', 'below', 'child').
2381
+ * @returns {void}
2382
+ */
2383
+ reorderRows(fromIndexes: number[], toIndex: number, position: string): void;
2384
+ /**
2385
+ * Indents a specified record, promoting it to one level deeper in the hierarchy.
2386
+ *
2387
+ * This function moves the selected row to become the last child of its preceding row,
2388
+ * altering the visual and hierarchical data structure.
2389
+ *
2390
+ * @param {Object} record - (Optional) The record to be indented. If omitted, the currently selected row is used.
2391
+ * @returns {void}
2392
+ */
2393
+ indent(record?: Object): void;
2394
+ /**
2395
+ * Outdents a specified record, moving it one level up in the hierarchy.
2396
+ *
2397
+ * This method repositions the selected row to be a sibling of its parent, impacting
2398
+ * its display and the hierarchical relationships within the TreeGrid.
2399
+ *
2400
+ * @param {Object} record - (Optional) The record to be outdented. If omitted, the currently selected row is used.
2401
+ * @returns {void}
2402
+ */
2403
+ outdent(record?: Object): void;
2404
+ /**
2405
+ * `columnchooserModule` is used to dynamically show or hide the TreeGrid columns.
2406
+ *
2407
+ * @hidden
2408
+ */
2409
+ columnChooserModule: ColumnChooser;
2410
+ /**
2411
+ * The `toolbarModule` is used to manipulate ToolBar items and its action in the TreeGrid.
2412
+ */
2413
+ toolbarModule: Toolbar;
2414
+ /**
2415
+ * The `editModule` is used to handle TreeGrid content manipulation.
2416
+ */
2417
+ editModule: Edit;
2418
+ /**
2419
+ * The `pagerModule` is used to manipulate paging in the TreeGrid.
2420
+ */
2421
+ pagerModule: Page;
2422
+ }