@syncfusion/ej2-treegrid 25.2.6 → 26.1.35-760834

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 (231) hide show
  1. package/.eslintrc.json +243 -259
  2. package/README.md +83 -83
  3. package/dist/ej2-treegrid.min.js +1 -10
  4. package/dist/ej2-treegrid.umd.min.js +1 -10
  5. package/dist/ej2-treegrid.umd.min.js.map +1 -1
  6. package/dist/es6/ej2-treegrid.es2015.js +842 -553
  7. package/dist/es6/ej2-treegrid.es2015.js.map +1 -1
  8. package/dist/es6/ej2-treegrid.es5.js +1361 -1069
  9. package/dist/es6/ej2-treegrid.es5.js.map +1 -1
  10. package/dist/global/ej2-treegrid.min.js +1 -10
  11. package/dist/global/ej2-treegrid.min.js.map +1 -1
  12. package/dist/global/index.d.ts +0 -9
  13. package/dist/ts/undefined +73 -0
  14. package/license +9 -9
  15. package/package.json +70 -70
  16. package/src/treegrid/actions/clipboard.js +13 -13
  17. package/src/treegrid/actions/crud-actions.js +1 -1
  18. package/src/treegrid/actions/edit.js +11 -9
  19. package/src/treegrid/actions/excel-export.js +16 -4
  20. package/src/treegrid/actions/logger.js +13 -13
  21. package/src/treegrid/actions/page.js +4 -0
  22. package/src/treegrid/actions/rowdragdrop.js +27 -16
  23. package/src/treegrid/actions/selection.js +13 -1
  24. package/src/treegrid/actions/virtual-scroll.d.ts +2 -0
  25. package/src/treegrid/actions/virtual-scroll.js +26 -14
  26. package/src/treegrid/base/constant.d.ts +2 -0
  27. package/src/treegrid/base/constant.js +2 -0
  28. package/src/treegrid/base/data.js +22 -4
  29. package/src/treegrid/base/interface.js +0 -1
  30. package/src/treegrid/base/treegrid-model.d.ts +875 -875
  31. package/src/treegrid/base/treegrid.d.ts +45 -41
  32. package/src/treegrid/base/treegrid.js +338 -101
  33. package/src/treegrid/models/column-model.d.ts +6 -6
  34. package/src/treegrid/models/column.js +19 -19
  35. package/src/treegrid/models/edit-settings-model.d.ts +72 -72
  36. package/src/treegrid/models/edit-settings.js +19 -19
  37. package/src/treegrid/models/filter-settings-model.d.ts +206 -206
  38. package/src/treegrid/models/filter-settings.js +19 -19
  39. package/src/treegrid/models/infinite-scroll-settings-model.d.ts +16 -16
  40. package/src/treegrid/models/infinite-scroll-settings.js +19 -19
  41. package/src/treegrid/models/loading-indicator.js +19 -19
  42. package/src/treegrid/models/page-settings-model.d.ts +46 -46
  43. package/src/treegrid/models/page-settings.js +19 -19
  44. package/src/treegrid/models/rowdrop-settings-model.d.ts +6 -6
  45. package/src/treegrid/models/rowdrop-settings.js +19 -19
  46. package/src/treegrid/models/search-settings-model.d.ts +60 -60
  47. package/src/treegrid/models/search-settings.js +19 -19
  48. package/src/treegrid/models/selection-settings-model.d.ts +66 -66
  49. package/src/treegrid/models/selection-settings.js +19 -19
  50. package/src/treegrid/models/sort-settings-model.d.ts +24 -24
  51. package/src/treegrid/models/sort-settings.js +19 -19
  52. package/src/treegrid/models/summary-model.d.ts +64 -64
  53. package/src/treegrid/models/summary.js +19 -19
  54. package/src/treegrid/models/textwrap-settings-model.d.ts +9 -9
  55. package/src/treegrid/models/textwrap-settings.js +19 -19
  56. package/src/treegrid/renderer/virtual-row-model-generator.js +15 -15
  57. package/src/treegrid/renderer/virtual-tree-content-render.js +26 -20
  58. package/styles/bds-lite.css +745 -0
  59. package/styles/bds-lite.scss +18 -0
  60. package/styles/bds.css +765 -0
  61. package/styles/bds.scss +19 -0
  62. package/styles/bootstrap-dark-lite.css +506 -0
  63. package/styles/bootstrap-dark-lite.scss +18 -0
  64. package/styles/bootstrap-dark.css +187 -117
  65. package/styles/bootstrap-dark.scss +19 -1
  66. package/styles/bootstrap-lite.css +509 -0
  67. package/styles/bootstrap-lite.scss +18 -0
  68. package/styles/bootstrap.css +190 -121
  69. package/styles/bootstrap.scss +19 -1
  70. package/styles/bootstrap4-lite.css +550 -0
  71. package/styles/bootstrap4-lite.scss +18 -0
  72. package/styles/bootstrap4.css +194 -133
  73. package/styles/bootstrap4.scss +19 -1
  74. package/styles/bootstrap5-dark-lite.css +545 -0
  75. package/styles/bootstrap5-dark-lite.scss +18 -0
  76. package/styles/bootstrap5-dark.css +189 -123
  77. package/styles/bootstrap5-dark.scss +19 -1
  78. package/styles/bootstrap5-lite.css +545 -0
  79. package/styles/bootstrap5-lite.scss +18 -0
  80. package/styles/bootstrap5.3-lite.css +549 -0
  81. package/styles/bootstrap5.3-lite.scss +18 -0
  82. package/styles/bootstrap5.3.css +569 -0
  83. package/styles/bootstrap5.3.scss +19 -0
  84. package/styles/bootstrap5.css +188 -122
  85. package/styles/bootstrap5.scss +19 -1
  86. package/styles/fabric-dark-lite.css +485 -0
  87. package/styles/fabric-dark-lite.scss +18 -0
  88. package/styles/fabric-dark.css +188 -118
  89. package/styles/fabric-dark.scss +19 -1
  90. package/styles/fabric-lite.css +485 -0
  91. package/styles/fabric-lite.scss +18 -0
  92. package/styles/fabric.css +188 -111
  93. package/styles/fabric.scss +19 -1
  94. package/styles/fluent-dark-lite.css +548 -0
  95. package/styles/fluent-dark-lite.scss +18 -0
  96. package/styles/fluent-dark.css +195 -116
  97. package/styles/fluent-dark.scss +19 -1
  98. package/styles/fluent-lite.css +548 -0
  99. package/styles/fluent-lite.scss +18 -0
  100. package/styles/fluent.css +195 -116
  101. package/styles/fluent.scss +19 -1
  102. package/styles/fluent2-lite.css +735 -0
  103. package/styles/fluent2-lite.scss +18 -0
  104. package/styles/fluent2.css +758 -0
  105. package/styles/fluent2.scss +19 -0
  106. package/styles/highcontrast-light-lite.css +491 -0
  107. package/styles/highcontrast-light-lite.scss +18 -0
  108. package/styles/highcontrast-light.css +185 -103
  109. package/styles/highcontrast-light.scss +19 -1
  110. package/styles/highcontrast-lite.css +498 -0
  111. package/styles/highcontrast-lite.scss +18 -0
  112. package/styles/highcontrast.css +196 -107
  113. package/styles/highcontrast.scss +19 -1
  114. package/styles/material-dark-lite.css +567 -0
  115. package/styles/material-dark-lite.scss +18 -0
  116. package/styles/material-dark.css +220 -105
  117. package/styles/material-dark.scss +19 -1
  118. package/styles/material-lite.css +591 -0
  119. package/styles/material-lite.scss +18 -0
  120. package/styles/material.css +234 -129
  121. package/styles/material.scss +19 -1
  122. package/styles/material3-dark-lite.css +578 -0
  123. package/styles/material3-dark-lite.scss +18 -0
  124. package/styles/material3-dark.css +220 -185
  125. package/styles/material3-dark.scss +19 -1
  126. package/styles/material3-lite.css +580 -0
  127. package/styles/material3-lite.scss +18 -0
  128. package/styles/material3.css +221 -240
  129. package/styles/material3.scss +19 -1
  130. package/styles/tailwind-dark-lite.css +518 -0
  131. package/styles/tailwind-dark-lite.scss +18 -0
  132. package/styles/tailwind-dark.css +196 -103
  133. package/styles/tailwind-dark.scss +19 -1
  134. package/styles/tailwind-lite.css +518 -0
  135. package/styles/tailwind-lite.scss +18 -0
  136. package/styles/tailwind.css +196 -103
  137. package/styles/tailwind.scss +19 -1
  138. package/styles/tailwind3-lite.css +561 -0
  139. package/styles/tailwind3-lite.scss +18 -0
  140. package/styles/tailwind3.css +581 -0
  141. package/styles/tailwind3.scss +19 -0
  142. package/styles/treegrid/_all.scss +2 -2
  143. package/styles/treegrid/_bds-definition.scss +24 -28
  144. package/styles/treegrid/_bigger.scss +66 -0
  145. package/styles/treegrid/_bootstrap-dark-definition.scss +29 -30
  146. package/styles/treegrid/_bootstrap-definition.scss +29 -30
  147. package/styles/treegrid/_bootstrap4-definition.scss +29 -30
  148. package/styles/treegrid/_bootstrap5-definition.scss +24 -28
  149. package/styles/treegrid/_bootstrap5.3-definition.scss +24 -0
  150. package/styles/treegrid/_fabric-dark-definition.scss +29 -30
  151. package/styles/treegrid/_fabric-definition.scss +29 -30
  152. package/styles/treegrid/_fluent-definition.scss +25 -29
  153. package/styles/treegrid/_fluent2-definition.scss +24 -0
  154. package/styles/treegrid/_fusionnew-definition.scss +24 -28
  155. package/styles/treegrid/_highcontrast-definition.scss +29 -30
  156. package/styles/treegrid/_highcontrast-light-definition.scss +29 -30
  157. package/styles/treegrid/_icons.scss +47 -37
  158. package/styles/treegrid/_layout.scss +530 -455
  159. package/styles/treegrid/_material-dark-definition.scss +29 -30
  160. package/styles/treegrid/_material-definition.scss +29 -30
  161. package/styles/treegrid/_material3-definition.scss +24 -28
  162. package/styles/treegrid/_tailwind-definition.scss +24 -28
  163. package/styles/treegrid/_tailwind3-definition.scss +24 -0
  164. package/styles/treegrid/_theme.scss +1 -1
  165. package/styles/treegrid/bds.css +765 -0
  166. package/styles/treegrid/bds.scss +19 -0
  167. package/styles/treegrid/bootstrap-dark.css +187 -117
  168. package/styles/treegrid/bootstrap-dark.scss +1 -0
  169. package/styles/treegrid/bootstrap.css +190 -121
  170. package/styles/treegrid/bootstrap.scss +1 -0
  171. package/styles/treegrid/bootstrap4.css +194 -133
  172. package/styles/treegrid/bootstrap4.scss +1 -0
  173. package/styles/treegrid/bootstrap5-dark.css +189 -123
  174. package/styles/treegrid/bootstrap5-dark.scss +1 -0
  175. package/styles/treegrid/bootstrap5.3.css +569 -0
  176. package/styles/treegrid/bootstrap5.3.scss +19 -0
  177. package/styles/treegrid/bootstrap5.css +188 -122
  178. package/styles/treegrid/bootstrap5.scss +1 -0
  179. package/styles/treegrid/fabric-dark.css +188 -118
  180. package/styles/treegrid/fabric-dark.scss +1 -0
  181. package/styles/treegrid/fabric.css +188 -111
  182. package/styles/treegrid/fabric.scss +1 -0
  183. package/styles/treegrid/fluent-dark.css +195 -116
  184. package/styles/treegrid/fluent-dark.scss +1 -0
  185. package/styles/treegrid/fluent.css +195 -116
  186. package/styles/treegrid/fluent.scss +1 -0
  187. package/styles/treegrid/fluent2.css +758 -0
  188. package/styles/treegrid/fluent2.scss +19 -0
  189. package/styles/treegrid/highcontrast-light.css +185 -103
  190. package/styles/treegrid/highcontrast-light.scss +1 -0
  191. package/styles/treegrid/highcontrast.css +196 -107
  192. package/styles/treegrid/highcontrast.scss +1 -0
  193. package/styles/treegrid/icons/_bds.scss +37 -37
  194. package/styles/treegrid/icons/_bootstrap-dark.scss +47 -37
  195. package/styles/treegrid/icons/_bootstrap.scss +47 -37
  196. package/styles/treegrid/icons/_bootstrap4.scss +47 -37
  197. package/styles/treegrid/icons/_bootstrap5.3.scss +47 -0
  198. package/styles/treegrid/icons/_bootstrap5.scss +47 -37
  199. package/styles/treegrid/icons/_fabric-dark.scss +47 -37
  200. package/styles/treegrid/icons/_fabric.scss +47 -37
  201. package/styles/treegrid/icons/_fluent.scss +47 -37
  202. package/styles/treegrid/icons/_fluent2.scss +47 -0
  203. package/styles/treegrid/icons/_fusionnew.scss +30 -26
  204. package/styles/treegrid/icons/_highcontrast-light.scss +47 -37
  205. package/styles/treegrid/icons/_highcontrast.scss +47 -37
  206. package/styles/treegrid/icons/_material-dark.scss +47 -37
  207. package/styles/treegrid/icons/_material.scss +47 -37
  208. package/styles/treegrid/icons/_material3.scss +47 -37
  209. package/styles/treegrid/icons/_tailwind-dark.scss +47 -37
  210. package/styles/treegrid/icons/_tailwind.scss +47 -37
  211. package/styles/treegrid/icons/_tailwind3.scss +47 -0
  212. package/styles/treegrid/material-dark.css +220 -105
  213. package/styles/treegrid/material-dark.scss +1 -0
  214. package/styles/treegrid/material.css +234 -129
  215. package/styles/treegrid/material.scss +1 -0
  216. package/styles/treegrid/material3-dark.css +220 -185
  217. package/styles/treegrid/material3-dark.scss +2 -1
  218. package/styles/treegrid/material3.css +221 -240
  219. package/styles/treegrid/material3.scss +2 -1
  220. package/styles/treegrid/tailwind-dark.css +196 -103
  221. package/styles/treegrid/tailwind-dark.scss +1 -0
  222. package/styles/treegrid/tailwind.css +196 -103
  223. package/styles/treegrid/tailwind.scss +1 -0
  224. package/styles/treegrid/tailwind3.css +581 -0
  225. package/styles/treegrid/tailwind3.scss +19 -0
  226. package/CHANGELOG.md +0 -264
  227. package/helpers/e2e/index.d.ts +0 -1
  228. package/helpers/e2e/index.js +0 -8
  229. package/helpers/e2e/treegridhelper.d.ts +0 -21
  230. package/helpers/e2e/treegridhelper.js +0 -83
  231. package/tslint.json +0 -111
@@ -1,15 +1,15 @@
1
- import { Browser, ChildProperty, Collection, Complex, Component, Event, EventHandler, Internationalization, KeyboardEvents, L10n, NotifyPropertyChanges, Property, SanitizeHtmlHelper, addClass, classList, closest, compile, createElement, debounce, extend, getEnumValue, getValue, isNullOrUndefined, merge, remove, removeClass, select, setStyleAttribute, setValue } from '@syncfusion/ej2-base';
2
- import { Aggregate, Cell, CellRenderer, CellType, Clipboard, ColumnChooser, ColumnMenu, CommandColumn, ContextMenu, DetailRow, Edit, ExcelExport, Filter, Freeze, Grid, InfiniteScroll, InterSectionObserver, Logger, Page, PdfExport, Print, RenderType, Reorder, Resize, RowDD, RowDropSettings, RowRenderer, Scroll, Sort, Toolbar, VirtualContentRenderer, VirtualHeaderRenderer, VirtualRowModelGenerator, VirtualScroll, appendChildren, calculateAggregate, detailLists, extend as extend$1, getActualProperties, getNumberFormat, getObject, getTransformValues, getUid, iterateArrayOrObject, parentsUntil, resetRowIndex, templateCompiler } from '@syncfusion/ej2-grids';
1
+ import { merge, Property, ChildProperty, Collection, isNullOrUndefined, Browser, removeClass, addClass, getValue, createElement, setValue, extend as extend$1, Internationalization, getEnumValue, compile, Component, L10n, EventHandler, KeyboardEvents, SanitizeHtmlHelper, Complex, Event, NotifyPropertyChanges, closest, classList, setStyleAttribute, select, debounce, remove } from '@syncfusion/ej2-base';
2
+ import { Logger as Logger$1, Grid, detailLists, Clipboard, getObject, parentsUntil, Print as Print$1, templateCompiler, appendChildren, extend, CellRenderer, getUid, CellType, Freeze as Freeze$1, getNumberFormat, getActualProperties, iterateArrayOrObject, RowDropSettings as RowDropSettings$1, Reorder as Reorder$1, Resize as Resize$1, RowDD as RowDD$1, Scroll, VirtualRowModelGenerator, Filter as Filter$1, ExcelExport as ExcelExport$1, Data, ExportHelper, PdfExport as PdfExport$1, Page as Page$1, Toolbar as Toolbar$1, Aggregate as Aggregate$1, calculateAggregate, Sort as Sort$1, ColumnMenu as ColumnMenu$1, ContextMenu as ContextMenu$1, Edit as Edit$1, resetRowIndex, CommandColumn as CommandColumn$1, DetailRow as DetailRow$1, VirtualContentRenderer, Cell, InterSectionObserver, getTransformValues, VirtualScroll as VirtualScroll$1, RenderType, VirtualHeaderRenderer, ColumnChooser as ColumnChooser$1, InfiniteScroll as InfiniteScroll$1, RowRenderer } from '@syncfusion/ej2-grids';
3
3
  import { createCheckBox } from '@syncfusion/ej2-buttons';
4
- import { CacheAdaptor, DataManager, DataUtil, Deferred, JsonAdaptor, ODataAdaptor, Predicate, Query, RemoteSaveAdaptor, UrlAdaptor, WebApiAdaptor, WebMethodAdaptor } from '@syncfusion/ej2-data';
5
- import { createSpinner, hideSpinner, showSpinner } from '@syncfusion/ej2-popups';
4
+ import { DataManager, ODataAdaptor, WebApiAdaptor, WebMethodAdaptor, CacheAdaptor, UrlAdaptor, Query, DataUtil, RemoteSaveAdaptor, Deferred, JsonAdaptor, Predicate as Predicate$1 } from '@syncfusion/ej2-data';
5
+ import { showSpinner, hideSpinner, createSpinner } from '@syncfusion/ej2-popups';
6
6
 
7
- var __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
8
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
9
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
10
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
11
- return c > 3 && r && Object.defineProperty(target, key, r), r;
12
- };
7
+ var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
8
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
9
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
10
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
11
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
12
+ };
13
13
  /**
14
14
  * Represents TreeGrid `Column` model class.
15
15
  */
@@ -107,7 +107,7 @@ class Column {
107
107
  */
108
108
  class TreeGridColumn extends Column {
109
109
  }
110
- __decorate$1([
110
+ __decorate([
111
111
  Property(null)
112
112
  ], TreeGridColumn.prototype, "columns", void 0);
113
113
  /**
@@ -116,110 +116,110 @@ __decorate$1([
116
116
  class StackedColumn extends TreeGridColumn {
117
117
  }
118
118
 
119
- var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
120
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
121
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
122
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
123
- return c > 3 && r && Object.defineProperty(target, key, r), r;
124
- };
119
+ var __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
120
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
121
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
122
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
123
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
124
+ };
125
125
  /**
126
126
  * Configures the Loading Indicator of the Tree Grid.
127
127
  */
128
128
  class LoadingIndicator extends ChildProperty {
129
129
  }
130
- __decorate$2([
130
+ __decorate$1([
131
131
  Property('Spinner')
132
132
  ], LoadingIndicator.prototype, "indicatorType", void 0);
133
133
 
134
- var __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
135
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
136
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
137
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
138
- return c > 3 && r && Object.defineProperty(target, key, r), r;
139
- };
134
+ var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
135
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
136
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
137
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
138
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
139
+ };
140
140
  /**
141
141
  * Represents the Tree Grid predicate for the filter column.
142
142
  */
143
- class Predicate$1 extends ChildProperty {
143
+ class Predicate extends ChildProperty {
144
144
  }
145
- __decorate$3([
145
+ __decorate$2([
146
146
  Property()
147
- ], Predicate$1.prototype, "field", void 0);
148
- __decorate$3([
147
+ ], Predicate.prototype, "field", void 0);
148
+ __decorate$2([
149
149
  Property()
150
- ], Predicate$1.prototype, "operator", void 0);
151
- __decorate$3([
150
+ ], Predicate.prototype, "operator", void 0);
151
+ __decorate$2([
152
152
  Property()
153
- ], Predicate$1.prototype, "value", void 0);
154
- __decorate$3([
153
+ ], Predicate.prototype, "value", void 0);
154
+ __decorate$2([
155
155
  Property()
156
- ], Predicate$1.prototype, "matchCase", void 0);
157
- __decorate$3([
156
+ ], Predicate.prototype, "matchCase", void 0);
157
+ __decorate$2([
158
158
  Property()
159
- ], Predicate$1.prototype, "ignoreAccent", void 0);
160
- __decorate$3([
159
+ ], Predicate.prototype, "ignoreAccent", void 0);
160
+ __decorate$2([
161
161
  Property()
162
- ], Predicate$1.prototype, "predicate", void 0);
163
- __decorate$3([
162
+ ], Predicate.prototype, "predicate", void 0);
163
+ __decorate$2([
164
164
  Property({})
165
- ], Predicate$1.prototype, "actualFilterValue", void 0);
166
- __decorate$3([
165
+ ], Predicate.prototype, "actualFilterValue", void 0);
166
+ __decorate$2([
167
167
  Property({})
168
- ], Predicate$1.prototype, "actualOperator", void 0);
169
- __decorate$3([
168
+ ], Predicate.prototype, "actualOperator", void 0);
169
+ __decorate$2([
170
170
  Property()
171
- ], Predicate$1.prototype, "type", void 0);
172
- __decorate$3([
171
+ ], Predicate.prototype, "type", void 0);
172
+ __decorate$2([
173
173
  Property()
174
- ], Predicate$1.prototype, "ejpredicate", void 0);
175
- __decorate$3([
174
+ ], Predicate.prototype, "ejpredicate", void 0);
175
+ __decorate$2([
176
176
  Property()
177
- ], Predicate$1.prototype, "uid", void 0);
178
- __decorate$3([
177
+ ], Predicate.prototype, "uid", void 0);
178
+ __decorate$2([
179
179
  Property()
180
- ], Predicate$1.prototype, "isForeignKey", void 0);
180
+ ], Predicate.prototype, "isForeignKey", void 0);
181
181
  /**
182
182
  * Configures the filtering behavior of the TreeGrid.
183
183
  */
184
184
  class FilterSettings extends ChildProperty {
185
185
  }
186
- __decorate$3([
187
- Collection([], Predicate$1)
186
+ __decorate$2([
187
+ Collection([], Predicate)
188
188
  ], FilterSettings.prototype, "columns", void 0);
189
- __decorate$3([
189
+ __decorate$2([
190
190
  Property('FilterBar')
191
191
  ], FilterSettings.prototype, "type", void 0);
192
- __decorate$3([
192
+ __decorate$2([
193
193
  Property()
194
194
  ], FilterSettings.prototype, "mode", void 0);
195
- __decorate$3([
195
+ __decorate$2([
196
196
  Property(true)
197
197
  ], FilterSettings.prototype, "showFilterBarStatus", void 0);
198
- __decorate$3([
198
+ __decorate$2([
199
199
  Property(1500)
200
200
  ], FilterSettings.prototype, "immediateModeDelay", void 0);
201
- __decorate$3([
201
+ __decorate$2([
202
202
  Property()
203
203
  ], FilterSettings.prototype, "operators", void 0);
204
- __decorate$3([
204
+ __decorate$2([
205
205
  Property(false)
206
206
  ], FilterSettings.prototype, "ignoreAccent", void 0);
207
- __decorate$3([
207
+ __decorate$2([
208
208
  Property('Parent')
209
209
  ], FilterSettings.prototype, "hierarchyMode", void 0);
210
210
 
211
- var __decorate$4 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
212
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
213
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
214
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
215
- return c > 3 && r && Object.defineProperty(target, key, r), r;
216
- };
211
+ var __decorate$3 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
212
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
213
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
214
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
215
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
216
+ };
217
217
  /**
218
218
  * Configures the textwrap behavior of the TreeGrid.
219
219
  */
220
220
  class TextWrapSettings extends ChildProperty {
221
221
  }
222
- __decorate$4([
222
+ __decorate$3([
223
223
  Property('Both')
224
224
  ], TextWrapSettings.prototype, "wrapMode", void 0);
225
225
 
@@ -232,9 +232,9 @@ const DOC_URL = 'https://ej2.syncfusion.com/documentation/treegrid';
232
232
  const BASE_DOC_URL = 'https://ej2.syncfusion.com/documentation';
233
233
  const ERROR = '[EJ2TreeGrid.Error]';
234
234
  let IsRowDDEnabled = false;
235
- class Logger$1 extends Logger {
235
+ class Logger extends Logger$1 {
236
236
  constructor(parent) {
237
- Grid.Inject(Logger);
237
+ Grid.Inject(Logger$1);
238
238
  super(parent);
239
239
  }
240
240
  /**
@@ -502,6 +502,8 @@ const ariaColIndex = 'aria-colindex';
502
502
  const dataRowIndex = 'data-rowindex';
503
503
  /** @hidden */
504
504
  const ariaRowIndex = 'aria-rowindex';
505
+ /** @hidden */
506
+ const actionFailure = 'actionFailure';
505
507
 
506
508
  /**
507
509
  * The `Clipboard` module is used to handle clipboard copy action.
@@ -764,7 +766,7 @@ function getExpandStatus(parent, record, parents) {
764
766
  return false;
765
767
  }
766
768
  else if (childParent) {
767
- return getExpandStatus(parent, childParent, parents);
769
+ return getExpandStatus(parent, childParent);
768
770
  }
769
771
  return true;
770
772
  }
@@ -941,6 +943,14 @@ class Selection {
941
943
  checkBox = checkWrap.querySelector('input[type="checkbox"]');
942
944
  this.triggerChkChangeEvent(checkBox, checkBoxvalue, target.closest('tr'));
943
945
  }
946
+ if (!isNullOrUndefined(this.parent['parentQuery']) && this.parent.selectionSettings.persistSelection
947
+ && this.parent['columnModel'].filter((col) => { return col.type === 'checkbox'; }).length > 0
948
+ && isRemoteData(this.parent)) {
949
+ if (this.parent['parentQuery'].length > 0) {
950
+ this.parent.query.queries.push(...this.parent['parentQuery']);
951
+ this.parent['parentQuery'] = [];
952
+ }
953
+ }
944
954
  }
945
955
  triggerChkChangeEvent(checkBox, checkState, rowElement) {
946
956
  const data = this.parent.getCurrentViewRecords()[rowElement.rowIndex];
@@ -1032,6 +1042,10 @@ class Selection {
1032
1042
  }
1033
1043
  }
1034
1044
  selectCheckboxes(rowIndexes) {
1045
+ if (isNullOrUndefined(rowIndexes)) {
1046
+ const error = 'The provided value for the rowIndexes is undefined. Please ensure the rowIndexes contains number.';
1047
+ this.parent.trigger(actionFailure, { error: error });
1048
+ }
1035
1049
  for (let i = 0; i < rowIndexes.length; i++) {
1036
1050
  let record = this.parent.getCurrentViewRecords()[rowIndexes[parseInt(i.toString(), 10)]];
1037
1051
  const flatRecord = getParentData(this.parent, record.uniqueID);
@@ -1373,7 +1387,7 @@ class Selection {
1373
1387
  *
1374
1388
  * @hidden
1375
1389
  */
1376
- class Print$1 {
1390
+ class Print {
1377
1391
  /**
1378
1392
  * Constructor for Print module
1379
1393
  *
@@ -1381,7 +1395,7 @@ class Print$1 {
1381
1395
  */
1382
1396
  constructor(parent) {
1383
1397
  this.parent = parent;
1384
- Grid.Inject(Print);
1398
+ Grid.Inject(Print$1);
1385
1399
  this.addEventListener();
1386
1400
  }
1387
1401
  /**
@@ -1425,63 +1439,63 @@ class Print$1 {
1425
1439
  }
1426
1440
  }
1427
1441
 
1428
- var __decorate$5 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1429
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1430
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1431
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1432
- return c > 3 && r && Object.defineProperty(target, key, r), r;
1433
- };
1442
+ var __decorate$4 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1443
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1444
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1445
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1446
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
1447
+ };
1434
1448
  /**
1435
1449
  * Configures the filtering behavior of the TreeGrid.
1436
1450
  */
1437
1451
  class SearchSettings extends ChildProperty {
1438
1452
  }
1439
- __decorate$5([
1453
+ __decorate$4([
1440
1454
  Property()
1441
1455
  ], SearchSettings.prototype, "fields", void 0);
1442
- __decorate$5([
1456
+ __decorate$4([
1443
1457
  Property(false)
1444
1458
  ], SearchSettings.prototype, "ignoreCase", void 0);
1445
- __decorate$5([
1459
+ __decorate$4([
1446
1460
  Property('contains')
1447
1461
  ], SearchSettings.prototype, "operator", void 0);
1448
- __decorate$5([
1462
+ __decorate$4([
1449
1463
  Property()
1450
1464
  ], SearchSettings.prototype, "key", void 0);
1451
- __decorate$5([
1465
+ __decorate$4([
1452
1466
  Property()
1453
1467
  ], SearchSettings.prototype, "hierarchyMode", void 0);
1454
1468
 
1455
- var __decorate$6 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1456
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1457
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1458
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1459
- return c > 3 && r && Object.defineProperty(target, key, r), r;
1460
- };
1469
+ var __decorate$5 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1470
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1471
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1472
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1473
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
1474
+ };
1461
1475
  /**
1462
1476
  * Configures the selection behavior of the TreeGrid.
1463
1477
  */
1464
1478
  class SelectionSettings extends ChildProperty {
1465
1479
  }
1466
- __decorate$6([
1480
+ __decorate$5([
1467
1481
  Property('Row')
1468
1482
  ], SelectionSettings.prototype, "mode", void 0);
1469
- __decorate$6([
1483
+ __decorate$5([
1470
1484
  Property('Flow')
1471
1485
  ], SelectionSettings.prototype, "cellSelectionMode", void 0);
1472
- __decorate$6([
1486
+ __decorate$5([
1473
1487
  Property('Single')
1474
1488
  ], SelectionSettings.prototype, "type", void 0);
1475
- __decorate$6([
1489
+ __decorate$5([
1476
1490
  Property(false)
1477
1491
  ], SelectionSettings.prototype, "persistSelection", void 0);
1478
- __decorate$6([
1492
+ __decorate$5([
1479
1493
  Property('Default')
1480
1494
  ], SelectionSettings.prototype, "checkboxMode", void 0);
1481
- __decorate$6([
1495
+ __decorate$5([
1482
1496
  Property(false)
1483
1497
  ], SelectionSettings.prototype, "checkboxOnly", void 0);
1484
- __decorate$6([
1498
+ __decorate$5([
1485
1499
  Property(true)
1486
1500
  ], SelectionSettings.prototype, "enableToggle", void 0);
1487
1501
 
@@ -1517,10 +1531,10 @@ class Render {
1517
1531
  if (!isNullOrUndefined(data.parentItem) && !isFilterChildHierarchy(this.parent) &&
1518
1532
  (!(this.parent.allowPaging && !(this.parent.pageSettings.pageSizeMode === 'Root')) ||
1519
1533
  (isRemoteData(this.parent) && !isOffline(this.parent)))) {
1520
- const collapsed$$1 = (this.parent.initialRender && (!(isNullOrUndefined(parentData[this.parent.expandStateMapping]) ||
1534
+ const collapsed = (this.parent.initialRender && (!(isNullOrUndefined(parentData[this.parent.expandStateMapping]) ||
1521
1535
  parentData[this.parent.expandStateMapping]) || this.parent.enableCollapseAll)) ||
1522
1536
  !getExpandStatus(this.parent, args.data, this.parent.grid.getCurrentViewRecords());
1523
- if (collapsed$$1 && !isNullOrUndefined(args.row)) {
1537
+ if (collapsed && !isNullOrUndefined(args.row)) {
1524
1538
  args.row.style.display = 'none';
1525
1539
  const rowsObj = this.parent.grid.getRowsObject();
1526
1540
  if (!this.parent.grid.isFrozenGrid() && !isNullOrUndefined(args.row.getAttribute('data-uid'))) {
@@ -1799,7 +1813,7 @@ class Render {
1799
1813
  }
1800
1814
  else {
1801
1815
  const str = 'isStringTemplate';
1802
- const result = args.column[`${templateFn}`](extend$1({ 'index': '' }, args.data), this.parent, 'template', tempID, this.parent[`${str}`]);
1816
+ const result = args.column[`${templateFn}`](extend({ 'index': '' }, args.data), this.parent, 'template', tempID, this.parent[`${str}`]);
1803
1817
  appendChildren(cellElement, result);
1804
1818
  }
1805
1819
  delete args.column.template;
@@ -1941,7 +1955,8 @@ class DataManipulation {
1941
1955
  * @returns {void}
1942
1956
  */
1943
1957
  convertToFlatData(data) {
1944
- this.parent.flatData = (Object.keys(data).length === 0 && !(this.parent.dataSource instanceof DataManager) ?
1958
+ this.parent.flatData = (!isNullOrUndefined(data) && Object.keys(data).length === 0
1959
+ && !(this.parent.dataSource instanceof DataManager) ?
1945
1960
  this.parent.dataSource : []);
1946
1961
  this.parent.parentData = [];
1947
1962
  if ((isRemoteData(this.parent) && !isOffline(this.parent)) && data instanceof DataManager && !(data instanceof Array)) {
@@ -1997,7 +2012,7 @@ class DataManipulation {
1997
2012
  const keys = Object.keys(data);
1998
2013
  for (let i = 0; i < keys.length; i++) {
1999
2014
  const tempData = data[parseInt(i.toString(), 10)];
2000
- this.hierarchyData.push(extend({}, tempData));
2015
+ this.hierarchyData.push(extend$1({}, tempData));
2001
2016
  if (!isNullOrUndefined(tempData[this.parent.idMapping])) {
2002
2017
  this.taskIds.push(tempData[this.parent.idMapping]);
2003
2018
  }
@@ -2099,7 +2114,7 @@ class DataManipulation {
2099
2114
  }
2100
2115
  }
2101
2116
  if (isNullOrUndefined(records[parseInt(rec.toString(), 10)].index)) {
2102
- records[parseInt(rec.toString(), 10)].taskData = extend({}, records[parseInt(rec.toString(), 10)]);
2117
+ records[parseInt(rec.toString(), 10)].taskData = extend$1({}, records[parseInt(rec.toString(), 10)]);
2103
2118
  records[parseInt(rec.toString(), 10)].uniqueID = getUid(this.parent.element.id + '_data_');
2104
2119
  setValue('uniqueIDCollection.' + records[parseInt(rec.toString(), 10)].uniqueID, records[parseInt(rec.toString(), 10)], this.parent);
2105
2120
  records[parseInt(rec.toString(), 10)].level = 0;
@@ -2199,16 +2214,20 @@ class DataManipulation {
2199
2214
  const clonequries = qry.queries.filter((e) => e.fn !== 'onPage' && e.fn !== 'onWhere');
2200
2215
  qry.queries = clonequries;
2201
2216
  qry.isCountRequired = true;
2217
+ let idMappingValue = parseInt(rowDetails.record[this.parent.idMapping], 10);
2218
+ if (isNaN(idMappingValue)) {
2219
+ idMappingValue = rowDetails.record[this.parent.idMapping].toString();
2220
+ }
2202
2221
  if (this.parent.enableVirtualization && rowDetails.action === 'remoteExpand') {
2203
2222
  qry.take(this.parent.pageSettings.pageSize);
2204
2223
  const expandDetail = [];
2205
- expandDetail.push('ExpandingAction', parseInt(rowDetails.record[this.parent.idMapping], 10).toString());
2224
+ expandDetail.push('ExpandingAction', idMappingValue.toString());
2206
2225
  qry.expand(expandDetail);
2207
2226
  }
2208
2227
  else if (this.parent.enableVirtualization && rowDetails.action === 'collapse') {
2209
2228
  qry.take(this.parent.grid.pageSettings.pageSize);
2210
2229
  const expandDetail = [];
2211
- expandDetail.push('CollapsingAction', parseInt(rowDetails.record[this.parent.idMapping], 10).toString());
2230
+ expandDetail.push('CollapsingAction', idMappingValue.toString());
2212
2231
  qry.expand(expandDetail);
2213
2232
  }
2214
2233
  qry.where(this.parent.parentIdMapping, 'equal', rowDetails.record[this.parent.idMapping]);
@@ -2291,7 +2310,7 @@ class DataManipulation {
2291
2310
  }
2292
2311
  }
2293
2312
  }
2294
- result[parseInt(r.toString(), 10)].taskData = extend({}, result[parseInt(r.toString(), 10)]);
2313
+ result[parseInt(r.toString(), 10)].taskData = extend$1({}, result[parseInt(r.toString(), 10)]);
2295
2314
  if (result[parseInt(r.toString(), 10)][`${this.parent.parentIdMapping}`] && this.parent.enableVirtualization && this.parent[`${remoteExpandedData}`].length) {
2296
2315
  for (let i = 0; i < this.parent[`${remoteExpandedData}`].length; i++) {
2297
2316
  if (result[parseInt(r.toString(), 10)][`${this.parent.parentIdMapping}`] === this.parent[`${remoteExpandedData}`][parseInt(i.toString(), 10)][`${this.parent.idMapping}`]) {
@@ -2319,7 +2338,7 @@ class DataManipulation {
2319
2338
  }
2320
2339
  }
2321
2340
  else {
2322
- const parentData = extend({}, rowDetails.record);
2341
+ const parentData = extend$1({}, rowDetails.record);
2323
2342
  delete parentData.childRecords;
2324
2343
  result[parseInt(r.toString(), 10)].parentItem = parentData;
2325
2344
  result[parseInt(r.toString(), 10)].parentUniqueID = rowDetails.record.uniqueID;
@@ -2327,7 +2346,7 @@ class DataManipulation {
2327
2346
  }
2328
2347
  else {
2329
2348
  result[parseInt(r.toString(), 10)].level = rowDetails.record.level + 1;
2330
- const parentData = extend({}, rowDetails.record);
2349
+ const parentData = extend$1({}, rowDetails.record);
2331
2350
  delete parentData.childRecords;
2332
2351
  result[parseInt(r.toString(), 10)].parentItem = parentData;
2333
2352
  result[parseInt(r.toString(), 10)].parentUniqueID = rowDetails.record.uniqueID;
@@ -2403,6 +2422,9 @@ class DataManipulation {
2403
2422
  e[`${result}`] = this.parent.summaryModule.calculateSummaryValue(summaryQuery, e[`${result}`], true);
2404
2423
  }
2405
2424
  }
2425
+ if (rowDetails.action === 'remoteExpand' && this.parent.allowPaging && this.parent.pageSettings.pageSizeMode === 'All') {
2426
+ this.parent.grid.pageSettings.totalRecordsCount = this.parent.grid.currentViewData.length + result.length;
2427
+ }
2406
2428
  if (this.parent.enableVirtualization) {
2407
2429
  this.parent.grid.pageSettings.totalRecordsCount = e.count;
2408
2430
  }
@@ -2447,7 +2469,7 @@ class DataManipulation {
2447
2469
  const treeGridData = [];
2448
2470
  const keys = Object.keys(data);
2449
2471
  for (let i = 0, len = keys.length; i < len; i++) {
2450
- const currentData = extend({}, data[parseInt(i.toString(), 10)]);
2472
+ const currentData = extend$1({}, data[parseInt(i.toString(), 10)]);
2451
2473
  currentData.taskData = data[parseInt(i.toString(), 10)];
2452
2474
  let level = 0;
2453
2475
  this.storedIndex++;
@@ -2456,7 +2478,17 @@ class DataManipulation {
2456
2478
  }
2457
2479
  if ((!isNullOrUndefined(currentData[this.parent.childMapping]) && !isCountRequired(this.parent)) ||
2458
2480
  ((currentData[this.parent.hasChildMapping]) && isCountRequired(this.parent))) {
2459
- currentData.hasChildRecords = true;
2481
+ if (!isNullOrUndefined(currentData[this.parent.childMapping])) {
2482
+ if (currentData[this.parent.childMapping].length > 0) {
2483
+ currentData.hasChildRecords = true;
2484
+ }
2485
+ else {
2486
+ currentData.hasChildRecords = false;
2487
+ }
2488
+ }
2489
+ else {
2490
+ currentData.hasChildRecords = true;
2491
+ }
2460
2492
  if (this.parent.enableCollapseAll || !isNullOrUndefined(this.parent.dataStateChange)
2461
2493
  && isNullOrUndefined(currentData[this.parent.childMapping])) {
2462
2494
  currentData.expanded = false;
@@ -2475,7 +2507,7 @@ class DataManipulation {
2475
2507
  currentData.uniqueID = getUid(this.parent.element.id + '_data_');
2476
2508
  setValue('uniqueIDCollection.' + currentData.uniqueID, currentData, this.parent);
2477
2509
  if (!isNullOrUndefined(parentRecords)) {
2478
- const parentData = extend({}, parentRecords);
2510
+ const parentData = extend$1({}, parentRecords);
2479
2511
  delete parentData.childRecords;
2480
2512
  delete parentData[this.parent.childMapping];
2481
2513
  if (this.isSelfReference) {
@@ -2756,48 +2788,48 @@ var ContextMenuItems;
2756
2788
  ContextMenuItems[ContextMenuItems["RowOutdent"] = 17] = "RowOutdent";
2757
2789
  })(ContextMenuItems || (ContextMenuItems = {}));
2758
2790
 
2759
- var __decorate$7 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2760
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2761
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2762
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
2763
- return c > 3 && r && Object.defineProperty(target, key, r), r;
2764
- };
2791
+ var __decorate$6 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2792
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2793
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2794
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
2795
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
2796
+ };
2765
2797
  /**
2766
2798
  * Configures the paging behavior of the TreeGrid.
2767
2799
  */
2768
2800
  class PageSettings extends ChildProperty {
2769
2801
  }
2770
- __decorate$7([
2802
+ __decorate$6([
2771
2803
  Property(12)
2772
2804
  ], PageSettings.prototype, "pageSize", void 0);
2773
- __decorate$7([
2805
+ __decorate$6([
2774
2806
  Property(8)
2775
2807
  ], PageSettings.prototype, "pageCount", void 0);
2776
- __decorate$7([
2808
+ __decorate$6([
2777
2809
  Property(1)
2778
2810
  ], PageSettings.prototype, "currentPage", void 0);
2779
- __decorate$7([
2811
+ __decorate$6([
2780
2812
  Property()
2781
2813
  ], PageSettings.prototype, "totalRecordsCount", void 0);
2782
- __decorate$7([
2814
+ __decorate$6([
2783
2815
  Property(false)
2784
2816
  ], PageSettings.prototype, "enableQueryString", void 0);
2785
- __decorate$7([
2817
+ __decorate$6([
2786
2818
  Property(false)
2787
2819
  ], PageSettings.prototype, "pageSizes", void 0);
2788
- __decorate$7([
2820
+ __decorate$6([
2789
2821
  Property(null)
2790
2822
  ], PageSettings.prototype, "template", void 0);
2791
- __decorate$7([
2823
+ __decorate$6([
2792
2824
  Property('All')
2793
2825
  ], PageSettings.prototype, "pageSizeMode", void 0);
2794
2826
 
2795
- var __decorate$8 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2796
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2797
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2798
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
2799
- return c > 3 && r && Object.defineProperty(target, key, r), r;
2800
- };
2827
+ var __decorate$7 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2828
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2829
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2830
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
2831
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
2832
+ };
2801
2833
  /**
2802
2834
  * Configures the TreeGrid's aggregate column.
2803
2835
  */
@@ -2868,93 +2900,93 @@ class AggregateColumn extends ChildProperty {
2868
2900
  this.setProperties(prop, true);
2869
2901
  }
2870
2902
  }
2871
- __decorate$8([
2903
+ __decorate$7([
2872
2904
  Property()
2873
2905
  ], AggregateColumn.prototype, "type", void 0);
2874
- __decorate$8([
2906
+ __decorate$7([
2875
2907
  Property()
2876
2908
  ], AggregateColumn.prototype, "footerTemplate", void 0);
2877
- __decorate$8([
2909
+ __decorate$7([
2878
2910
  Property()
2879
2911
  ], AggregateColumn.prototype, "field", void 0);
2880
- __decorate$8([
2912
+ __decorate$7([
2881
2913
  Property()
2882
2914
  ], AggregateColumn.prototype, "format", void 0);
2883
- __decorate$8([
2915
+ __decorate$7([
2884
2916
  Property()
2885
2917
  ], AggregateColumn.prototype, "columnName", void 0);
2886
- __decorate$8([
2918
+ __decorate$7([
2887
2919
  Property()
2888
2920
  ], AggregateColumn.prototype, "customAggregate", void 0);
2889
2921
  class AggregateRow extends ChildProperty {
2890
2922
  }
2891
- __decorate$8([
2923
+ __decorate$7([
2892
2924
  Collection([], AggregateColumn)
2893
2925
  ], AggregateRow.prototype, "columns", void 0);
2894
- __decorate$8([
2926
+ __decorate$7([
2895
2927
  Property(true)
2896
2928
  ], AggregateRow.prototype, "showChildSummary", void 0);
2897
2929
 
2898
- var __decorate$9 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2899
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2900
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2901
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
2902
- return c > 3 && r && Object.defineProperty(target, key, r), r;
2903
- };
2930
+ var __decorate$8 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2931
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2932
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2933
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
2934
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
2935
+ };
2904
2936
  /**
2905
2937
  * Configures the edit behavior of the TreeGrid.
2906
2938
  */
2907
2939
  class EditSettings extends ChildProperty {
2908
2940
  }
2909
- __decorate$9([
2941
+ __decorate$8([
2910
2942
  Property(false)
2911
2943
  ], EditSettings.prototype, "allowAdding", void 0);
2912
- __decorate$9([
2944
+ __decorate$8([
2913
2945
  Property(false)
2914
2946
  ], EditSettings.prototype, "allowEditing", void 0);
2915
- __decorate$9([
2947
+ __decorate$8([
2916
2948
  Property(false)
2917
2949
  ], EditSettings.prototype, "allowDeleting", void 0);
2918
- __decorate$9([
2950
+ __decorate$8([
2919
2951
  Property('Cell')
2920
2952
  ], EditSettings.prototype, "mode", void 0);
2921
- __decorate$9([
2953
+ __decorate$8([
2922
2954
  Property('Top')
2923
2955
  ], EditSettings.prototype, "newRowPosition", void 0);
2924
- __decorate$9([
2956
+ __decorate$8([
2925
2957
  Property(true)
2926
2958
  ], EditSettings.prototype, "allowEditOnDblClick", void 0);
2927
- __decorate$9([
2959
+ __decorate$8([
2928
2960
  Property(true)
2929
2961
  ], EditSettings.prototype, "showConfirmDialog", void 0);
2930
- __decorate$9([
2962
+ __decorate$8([
2931
2963
  Property(false)
2932
2964
  ], EditSettings.prototype, "showDeleteConfirmDialog", void 0);
2933
- __decorate$9([
2965
+ __decorate$8([
2934
2966
  Property('')
2935
2967
  ], EditSettings.prototype, "template", void 0);
2936
- __decorate$9([
2968
+ __decorate$8([
2937
2969
  Property({})
2938
2970
  ], EditSettings.prototype, "dialog", void 0);
2939
- __decorate$9([
2971
+ __decorate$8([
2940
2972
  Property(false)
2941
2973
  ], EditSettings.prototype, "allowNextRowEdit", void 0);
2942
2974
 
2943
- var __decorate$10 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2944
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2945
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2946
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
2947
- return c > 3 && r && Object.defineProperty(target, key, r), r;
2948
- };
2975
+ var __decorate$9 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2976
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2977
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2978
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
2979
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
2980
+ };
2949
2981
  /**
2950
2982
  * Represents the field name and direction of sort column.
2951
2983
  */
2952
2984
  class SortDescriptor extends ChildProperty {
2953
2985
  }
2954
- __decorate$10([
2986
+ __decorate$9([
2955
2987
  Property()
2956
2988
  ], SortDescriptor.prototype, "field", void 0);
2957
- __decorate$10([
2989
+ __decorate$9([
2958
2990
  Property()
2959
2991
  ], SortDescriptor.prototype, "direction", void 0);
2960
2992
  /**
@@ -2962,10 +2994,10 @@ __decorate$10([
2962
2994
  */
2963
2995
  class SortSettings extends ChildProperty {
2964
2996
  }
2965
- __decorate$10([
2997
+ __decorate$9([
2966
2998
  Collection([], SortDescriptor)
2967
2999
  ], SortSettings.prototype, "columns", void 0);
2968
- __decorate$10([
3000
+ __decorate$9([
2969
3001
  Property(true)
2970
3002
  ], SortSettings.prototype, "allowUnsort", void 0);
2971
3003
 
@@ -3010,7 +3042,7 @@ function editAction(details, control, isSelfReference, addRowIndex, selectedInde
3010
3042
  modifiedData = extendArray(value);
3011
3043
  }
3012
3044
  else {
3013
- modifiedData.push(extend({}, value));
3045
+ modifiedData.push(extend$1({}, value));
3014
3046
  }
3015
3047
  if (!isSkip && (action !== 'add' ||
3016
3048
  (control.editSettings.newRowPosition !== 'Top' && control.editSettings.newRowPosition !== 'Bottom'))) {
@@ -3126,7 +3158,7 @@ function addAction(details, treeData, control, isSelfReference, addRowIndex, sel
3126
3158
  let value;
3127
3159
  let isSkip = false;
3128
3160
  const currentViewRecords = control.grid.getCurrentViewRecords();
3129
- value = extend({}, details.value);
3161
+ value = extend$1({}, details.value);
3130
3162
  value = getPlainData(value);
3131
3163
  switch (control.editSettings.newRowPosition) {
3132
3164
  case 'Top':
@@ -3139,28 +3171,28 @@ function addAction(details, treeData, control, isSelfReference, addRowIndex, sel
3139
3171
  break;
3140
3172
  case 'Above':
3141
3173
  if (!isNullOrUndefined(addRowRecord)) {
3142
- value = extend({}, addRowRecord);
3174
+ value = extend$1({}, addRowRecord);
3143
3175
  value = getPlainData(value);
3144
3176
  }
3145
3177
  else {
3146
- value = extend({}, currentViewRecords[addRowIndex + 1]);
3178
+ value = extend$1({}, currentViewRecords[addRowIndex + 1]);
3147
3179
  value = getPlainData(value);
3148
3180
  }
3149
3181
  break;
3150
3182
  case 'Below':
3151
3183
  case 'Child':
3152
3184
  if (!isNullOrUndefined(addRowRecord)) {
3153
- value = extend({}, addRowRecord);
3185
+ value = extend$1({}, addRowRecord);
3154
3186
  value = getPlainData(value);
3155
3187
  }
3156
3188
  else {
3157
3189
  const primaryKeys = control.grid.getPrimaryKeyFieldNames()[0];
3158
3190
  const currentdata = currentViewRecords[parseInt(addRowIndex.toString(), 10)];
3159
3191
  if (!isNullOrUndefined(currentdata) && currentdata[`${primaryKeys}`] === details.value[`${primaryKeys}`] || selectedIndex !== -1) {
3160
- value = extend({}, currentdata);
3192
+ value = extend$1({}, currentdata);
3161
3193
  }
3162
3194
  else {
3163
- value = extend({}, details.value);
3195
+ value = extend$1({}, details.value);
3164
3196
  }
3165
3197
  value = getPlainData(value);
3166
3198
  const internalProperty = 'internalProperties';
@@ -3200,7 +3232,7 @@ function removeChildRecords(childRecords, modifiedData, action, key, control, is
3200
3232
  editedData.taskData[keys[parseInt(i.toString(), 10)]] =
3201
3233
  childRecords[parseInt(j.toString(), 10)][keys[parseInt(i.toString(), 10)]] =
3202
3234
  modifiedData[keys[parseInt(i.toString(), 10)]];
3203
- if (control.grid.editSettings.mode === 'Normal' && control.editSettings.mode === 'Cell') {
3235
+ if (control.grid.editSettings.mode === 'Normal' && control.editSettings.mode === 'Cell' && !isNullOrUndefined(control.grid.editModule)) {
3204
3236
  const editModule = 'editModule';
3205
3237
  control.grid.editModule[`${editModule}`].editRowIndex = modifiedData.index;
3206
3238
  control.grid.editModule[`${editModule}`].updateCurrentViewData(modifiedData);
@@ -3369,33 +3401,33 @@ function updateParentRow(key, record, action, control, isSelfReference, child) {
3369
3401
  }
3370
3402
  }
3371
3403
 
3372
- var __decorate$11 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3373
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3374
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3375
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
3376
- return c > 3 && r && Object.defineProperty(target, key, r), r;
3377
- };
3404
+ var __decorate$a = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3405
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3406
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3407
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
3408
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
3409
+ };
3378
3410
  /**
3379
3411
  * Configures the infinite scroll behavior of Tree Grid.
3380
3412
  */
3381
3413
  class InfiniteScrollSettings extends ChildProperty {
3382
3414
  }
3383
- __decorate$11([
3415
+ __decorate$a([
3384
3416
  Property(false)
3385
3417
  ], InfiniteScrollSettings.prototype, "enableCache", void 0);
3386
- __decorate$11([
3418
+ __decorate$a([
3387
3419
  Property(3)
3388
3420
  ], InfiniteScrollSettings.prototype, "maxBlocks", void 0);
3389
- __decorate$11([
3421
+ __decorate$a([
3390
3422
  Property(3)
3391
3423
  ], InfiniteScrollSettings.prototype, "initialBlocks", void 0);
3392
3424
 
3393
- var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3394
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3395
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3396
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
3397
- return c > 3 && r && Object.defineProperty(target, key, r), r;
3398
- };
3425
+ var __decorate$b = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3426
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3427
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3428
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
3429
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
3430
+ };
3399
3431
  var TreeGrid_1;
3400
3432
  /**
3401
3433
  * Represents the TreeGrid component.
@@ -3442,15 +3474,15 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
3442
3474
  return false;
3443
3475
  }
3444
3476
  };
3445
- TreeGrid_1.Inject(Selection, Logger$1);
3477
+ TreeGrid_1.Inject(Selection, Logger);
3446
3478
  setValue('mergePersistData', this.mergePersistTreeGridData, this);
3447
3479
  const logger = 'Logger';
3448
3480
  if (!isNullOrUndefined(this.injectedModules[`${logger}`])) {
3449
- Grid.Inject(Logger);
3481
+ Grid.Inject(Logger$1);
3450
3482
  }
3451
3483
  const freezeModulePresent = this.injectedModules.filter((e) => {
3452
3484
  if (e.prototype.getModuleName() === 'freeze') {
3453
- Grid.Inject(Freeze);
3485
+ Grid.Inject(Freeze$1);
3454
3486
  }
3455
3487
  });
3456
3488
  this.grid = new Grid();
@@ -3527,6 +3559,7 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
3527
3559
  }
3528
3560
  /**
3529
3561
  * Exports the TreeGrid data to the specified URL using a POST request.
3562
+ *
3530
3563
  * @param {string} url - Defines exporting url
3531
3564
  * @returns {void}
3532
3565
  */
@@ -3557,6 +3590,7 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
3557
3590
  }
3558
3591
  /**
3559
3592
  * Sets the header text and other properties for an array of columns based on specified criteria.
3593
+ *
3560
3594
  * @param {Column[]} columns - Defines array of columns
3561
3595
  * @param {string[]} include - Defines array of sting
3562
3596
  * @returns {Column[]} returns array of columns
@@ -3643,6 +3677,10 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
3643
3677
  * @returns {void}
3644
3678
  */
3645
3679
  sortByColumn(columnName, direction, isMultiSort) {
3680
+ if (isNullOrUndefined(columnName) && isNullOrUndefined(direction)) {
3681
+ const error = 'The provided value for the columnName and direction is undefined. Please ensure the columnName and direction contains string.';
3682
+ this.trigger(actionFailure, { error: error });
3683
+ }
3646
3684
  if (this.sortModule) {
3647
3685
  this.sortModule.sortColumn(columnName, direction, isMultiSort);
3648
3686
  }
@@ -3703,21 +3741,27 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
3703
3741
  * @returns {void}
3704
3742
  */
3705
3743
  reorderColumns(fromFName, toFName) {
3744
+ if (isNullOrUndefined(fromFName) && isNullOrUndefined(toFName)) {
3745
+ const error = 'The provided value for the fromFName and toFName is undefined. Please ensure the fromFName and toFName contains string.';
3746
+ this.trigger(actionFailure, { error: error });
3747
+ }
3706
3748
  this.grid.reorderColumns(fromFName, toFName);
3707
3749
  }
3708
3750
  TreeGridLocale() {
3709
- /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
3710
- const locale = L10n.locale;
3711
- const localeObject = {};
3712
- setValue(this.locale, {}, localeObject);
3713
- let gridLocale;
3714
- gridLocale = {};
3715
- gridLocale = getObject(this.locale, locale);
3716
- let treeGridLocale;
3717
- treeGridLocale = {};
3718
- treeGridLocale = getObject(this.getModuleName(), gridLocale);
3719
- setValue('grid', treeGridLocale, getObject(this.locale, localeObject));
3720
- L10n.load(localeObject);
3751
+ if (!isNullOrUndefined(this.locale)) {
3752
+ /* eslint-disable-next-line @typescript-eslint/no-explicit-any */
3753
+ const locale = L10n.locale;
3754
+ const localeObject = {};
3755
+ setValue(this.locale, {}, localeObject);
3756
+ let gridLocale;
3757
+ gridLocale = {};
3758
+ gridLocale = getObject(this.locale, locale);
3759
+ let treeGridLocale;
3760
+ treeGridLocale = {};
3761
+ treeGridLocale = getObject(this.getModuleName(), gridLocale);
3762
+ setValue('grid', treeGridLocale, getObject(this.locale, localeObject));
3763
+ L10n.load(localeObject);
3764
+ }
3721
3765
  }
3722
3766
  /**
3723
3767
  * By default, prints all the pages of the TreeGrid and hides the pager.
@@ -3764,45 +3808,61 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
3764
3808
  }
3765
3809
  break;
3766
3810
  case 'downArrow':
3767
- if (!this.enableVirtualization) {
3811
+ if (!this.enableVirtualization && isNullOrUndefined(this.rowTemplate)) {
3768
3812
  target = e.target;
3769
- parentTarget = target.parentElement;
3770
- if (!isNullOrUndefined(parentTarget)) {
3771
- const cellIndex = parentTarget.cellIndex;
3772
- if (this.grid.getColumnByIndex(cellIndex).editType === 'dropdownedit' && isNullOrUndefined(this.grid.getColumnByIndex(cellIndex).edit['obj'])) {
3773
- parentTarget = target;
3774
- }
3775
- summaryElement = this.findnextRowElement(parentTarget);
3776
- if (summaryElement !== null) {
3777
- const cellIndex = e.target.cellIndex;
3778
- const row = summaryElement.children[parseInt(cellIndex.toString(), 10)];
3779
- addClass([row], 'e-focused');
3780
- addClass([row], 'e-focus');
3781
- }
3782
- else {
3783
- this.clearSelection();
3813
+ if (!isNullOrUndefined(target.querySelectorAll('.e-rowcell'))) {
3814
+ target = parentsUntil(target, 'e-rowcell');
3815
+ }
3816
+ if (!isNullOrUndefined(target)) {
3817
+ parentTarget = target.parentElement;
3818
+ if (!isNullOrUndefined(parentTarget)) {
3819
+ const cellIndex = parentTarget.cellIndex;
3820
+ if (this.grid.getColumnByIndex(cellIndex).editType === 'dropdownedit' && isNullOrUndefined(this.grid.getColumnByIndex(cellIndex).edit['obj'])) {
3821
+ parentTarget = target;
3822
+ }
3823
+ summaryElement = this.findnextRowElement(parentTarget);
3824
+ if (summaryElement !== null) {
3825
+ const cellIndex = target.cellIndex;
3826
+ const row = summaryElement.children[parseInt(cellIndex.toString(), 10)];
3827
+ if (!isNullOrUndefined(row) && !this.grid.isEdit) {
3828
+ addClass([row], 'e-focused');
3829
+ addClass([row], 'e-focus');
3830
+ }
3831
+ }
3832
+ else {
3833
+ this.clearSelection();
3834
+ }
3784
3835
  }
3785
3836
  }
3786
3837
  }
3787
3838
  break;
3788
3839
  case 'upArrow':
3789
- if (!this.enableVirtualization) {
3840
+ if (!this.enableVirtualization && isNullOrUndefined(this.rowTemplate)) {
3790
3841
  target = e.target;
3791
- parentTarget = target.parentElement;
3792
- if (!isNullOrUndefined(parentTarget)) {
3793
- const cellIndex = parentTarget.cellIndex;
3794
- if (this.grid.getColumnByIndex(cellIndex).editType === 'dropdownedit' && isNullOrUndefined(this.grid.getColumnByIndex(cellIndex).edit['obj'])) {
3795
- parentTarget = target;
3796
- }
3797
- summaryElement = this.findPreviousRowElement(parentTarget);
3798
- if (summaryElement !== null) {
3799
- const cIndex = e.target.cellIndex;
3800
- const rows = summaryElement.children[parseInt(cIndex.toString(), 10)];
3801
- addClass([rows], 'e-focused');
3802
- addClass([rows], 'e-focus');
3803
- }
3804
- else {
3805
- this.clearSelection();
3842
+ if (!isNullOrUndefined(target.querySelectorAll('.e-rowcell'))) {
3843
+ target = parentsUntil(target, 'e-rowcell');
3844
+ }
3845
+ if (!isNullOrUndefined(target)) {
3846
+ parentTarget = target.parentElement;
3847
+ if (!isNullOrUndefined(parentTarget)) {
3848
+ const cellIndex = parentTarget.cellIndex;
3849
+ if (this.grid.getColumnByIndex(cellIndex).editType === 'dropdownedit' && isNullOrUndefined(this.grid.getColumnByIndex(cellIndex).edit['obj'])) {
3850
+ parentTarget = target;
3851
+ }
3852
+ summaryElement = this.findPreviousRowElement(parentTarget);
3853
+ if (summaryElement !== null) {
3854
+ const cellIndex = target.cellIndex;
3855
+ if (!isNullOrUndefined(cellIndex)) {
3856
+ const row = summaryElement.children[parseInt(cellIndex.toString(), 10)];
3857
+ if (!isNullOrUndefined(row) && !this.grid.isEdit) {
3858
+ addClass([row], 'e-focused');
3859
+ addClass([row], 'e-focus');
3860
+ }
3861
+ }
3862
+ }
3863
+ else {
3864
+ this.clearSelection();
3865
+ }
3806
3866
  }
3807
3867
  }
3808
3868
  }
@@ -3876,7 +3936,9 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
3876
3936
  requiredModules() {
3877
3937
  const modules = [];
3878
3938
  const splitFrozenCount = 'splitFrozenCount';
3879
- this.grid[`${splitFrozenCount}`](this.getColumns());
3939
+ if (!this.isReact && isNullOrUndefined(this['changedProperties'].columns)) {
3940
+ this.grid[`${splitFrozenCount}`](this.getColumns());
3941
+ }
3880
3942
  if (this.isDestroyed) {
3881
3943
  return modules;
3882
3944
  }
@@ -3996,7 +4058,7 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
3996
4058
  name: 'Edit'
3997
4059
  });
3998
4060
  }
3999
- if (this.isCommandColumn(this.columns)) {
4061
+ if (!isNullOrUndefined(this.columns) && this.isCommandColumn(this.columns)) {
4000
4062
  modules.push({
4001
4063
  member: 'commandColumn',
4002
4064
  args: [this],
@@ -4092,7 +4154,7 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
4092
4154
  this.log(['mapping_fields_missing']);
4093
4155
  this.renderModule = new Render(this);
4094
4156
  this.dataModule = new DataManipulation(this);
4095
- this.printModule = new Print$1(this);
4157
+ this.printModule = new Print(this);
4096
4158
  this.trigger(load);
4097
4159
  this.autoGenerateColumns();
4098
4160
  this.initialRender = true;
@@ -4127,6 +4189,7 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
4127
4189
  const root = 'root';
4128
4190
  this.grid[`${root}`] = this[`${root}`] ? this[`${root}`] : this;
4129
4191
  this.grid.appendTo(gridContainer);
4192
+ this.actionFailureHandler();
4130
4193
  const gridContent = this.element.getElementsByClassName('e-gridcontent')[0].childNodes[0];
4131
4194
  gridContent.setAttribute('tabindex', '0');
4132
4195
  const contentTable = this.element.getElementsByClassName('e-content')[0].querySelector('.e-table');
@@ -4149,6 +4212,84 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
4149
4212
  }
4150
4213
  };
4151
4214
  }
4215
+ actionFailureHandler() {
4216
+ const failureCases = [];
4217
+ const primaryKeyFieldNames = this.getPrimaryKeyFieldNames();
4218
+ const RecordsCount = this.flatData.length;
4219
+ if ((this.editSettings.allowAdding || this.editSettings.allowDeleting || this.editSettings.allowEditing)
4220
+ && primaryKeyFieldNames.length === 0 && RecordsCount !== 0) {
4221
+ failureCases.push('For the CRUD actions, it is necessary to enable Primary Key field for the unique data column.');
4222
+ }
4223
+ if (this.allowRowDragAndDrop && primaryKeyFieldNames.length === 0 && RecordsCount !== 0) {
4224
+ failureCases.push('For the Row Drag and Drop actions, it is necessary to enable Primary Key field for the unique data column.');
4225
+ }
4226
+ if (this.allowPaging && this.enableVirtualization) {
4227
+ failureCases.push('Paging is not allowed in virtualization case.');
4228
+ }
4229
+ if (RecordsCount === 0 && this.columns.length === 0) {
4230
+ failureCases.push('Either of the Data source or columns should be given.');
4231
+ }
4232
+ if (this.frozenColumns > 0 && this.columnModel.filter((col) => col.isFrozen)) {
4233
+ failureCases.push('Use only one attribute for Frozen either IsFrozen or FrozenColumns.');
4234
+ }
4235
+ if (this.enableVirtualization && !isNullOrUndefined(this.detailTemplate)) {
4236
+ failureCases.push('Virtual scrolling is not compatible with the detail template');
4237
+ }
4238
+ if (this.stackedHeader && !isNullOrUndefined(this.detailTemplate)) {
4239
+ failureCases.push('Virtual scrolling is not compatible with the detail template');
4240
+ }
4241
+ if ((this.frozenColumns > 0 || this.columnModel.filter((col) => col.isFrozen) || this.frozenRows > 0)
4242
+ && (!isNullOrUndefined(this.detailTemplate) || !isNullOrUndefined(this.rowTemplate))) {
4243
+ failureCases.push('Frozen rows and columns are not supported with the Detail template and row template.');
4244
+ }
4245
+ if ((this.frozenColumns > 0 || this.columnModel.filter((col) => col.isFrozen).length > 0 || this.frozenRows > 0) && this.editSettings.mode === 'Cell') {
4246
+ failureCases.push('Frozen rows and columns are not supported with cell editing.');
4247
+ }
4248
+ if (this.allowSelection && !isNullOrUndefined(this.rowTemplate)) {
4249
+ failureCases.push('Selection is not supported in RowTemplate');
4250
+ }
4251
+ if (this.treeColumnIndex < 0) {
4252
+ failureCases.push('For showing tree structure it is must to set the TreeColumnIndex value.');
4253
+ }
4254
+ if (this.treeColumnIndex >= this.columns.length) {
4255
+ failureCases.push('TreeColumnIndex value should not exceed the total column count.');
4256
+ }
4257
+ if (this.enableVirtualization &&
4258
+ (this.columnModel.some((col) => /%$/.test(col.width)) ||
4259
+ /%$/.test(this.height.toString()))) {
4260
+ failureCases.push('column width and height should be in pixels');
4261
+ }
4262
+ if ((this.childMapping !== 'Children') && !isNullOrUndefined(this.idMapping)) {
4263
+ failureCases.push('Both IdMapping and ChildMapping should not be used together for tree grid rendering.');
4264
+ }
4265
+ if ((!isNullOrUndefined(this.idMapping) && (isNullOrUndefined(this.parentIdMapping))) ||
4266
+ ((isNullOrUndefined(this.idMapping) && (!isNullOrUndefined(this.parentIdMapping))))) {
4267
+ failureCases.push('IdMapping and ParentIdMapping properties should be defined and vice versa.');
4268
+ }
4269
+ const checkboxColumn = this.columnModel.filter((col) => col.showCheckbox);
4270
+ const treeColumn = this.columns[this.treeColumnIndex];
4271
+ if (checkboxColumn.length !== 0) {
4272
+ if (checkboxColumn !== treeColumn) {
4273
+ failureCases.push('ShowCheckbox column should not be defined other than the tree column.');
4274
+ }
4275
+ if (checkboxColumn.length > 1) {
4276
+ failureCases.push('Only one column can have the ShowCheckbox option enabled.');
4277
+ }
4278
+ }
4279
+ const alignColumn = this.columnModel.filter((col) => col.textAlign === 'Right' && col.field === this.columnModel[this.treeColumnIndex].field);
4280
+ if (alignColumn.length !== 0) {
4281
+ failureCases.push('TextAlign right for the tree column is not applicable.');
4282
+ }
4283
+ if (failureCases.length > 0) {
4284
+ const failureEventArgs = {
4285
+ error: {}
4286
+ };
4287
+ failureCases.forEach((failureCase, index) => {
4288
+ failureEventArgs.error[parseInt(index.toString(), 10)] = failureCase;
4289
+ });
4290
+ this.trigger(actionFailure, failureEventArgs);
4291
+ }
4292
+ }
4152
4293
  refreshToolbarItems() {
4153
4294
  const toolbarElement = this.toolbarModule.getToolbar();
4154
4295
  const indentID = this.element.id + '_gridcontrol_indent';
@@ -4281,10 +4422,28 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
4281
4422
  bindGridEvents() {
4282
4423
  this.grid.rowSelecting = (args) => {
4283
4424
  this.IsExpandCollapseClicked(args);
4425
+ if (!isNullOrUndefined(args.data) && this.selectionSettings.persistSelection
4426
+ && this.columnModel.filter((col) => col.type === 'checkbox').length > 0 && isRemoteData(this)) {
4427
+ if (!isNullOrUndefined(args.data.parentItem) || args.isHeaderCheckboxClicked) {
4428
+ this.parentQuery = this.query.queries.filter((q) => q.e.field === this.parentIdMapping);
4429
+ this.query.queries = this.query.queries.slice(0, 0);
4430
+ }
4431
+ }
4432
+ if (this.pageSettings.pageSizeMode === 'Root') {
4433
+ this.grid.selectionModule['totalRecordsCount'] = this.grid.currentViewData.length;
4434
+ }
4435
+ if (this.enableVirtualization && args.rowIndex === this.selectedRowIndex) {
4436
+ args.cancel = true;
4437
+ }
4284
4438
  this.trigger(rowSelecting, args);
4285
4439
  };
4286
4440
  this.grid.rowDeselecting = (args) => {
4287
4441
  this.IsExpandCollapseClicked(args);
4442
+ if (!isNullOrUndefined(args.data) && this.selectionSettings.persistSelection
4443
+ && this.columnModel.filter((col) => col.type === 'checkbox').length > 0 && isRemoteData(this)) {
4444
+ this.parentQuery = this.query.queries.filter((q) => q.e.field === this.parentIdMapping);
4445
+ this.query.queries = this.query.queries.slice(0, 0);
4446
+ }
4288
4447
  this.trigger(rowDeselecting, args);
4289
4448
  };
4290
4449
  this.grid.rowSelected = (args) => {
@@ -4354,11 +4513,13 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
4354
4513
  this.grid.on('initial-end', this.afterGridRender, this);
4355
4514
  if (!isNullOrUndefined(this.loggerModule)) {
4356
4515
  const loggerModule = 'loggerModule';
4357
- this.loggerModule = this.grid[`${loggerModule}`] = new Logger$1(this.grid);
4516
+ this.loggerModule = this.grid[`${loggerModule}`] = new Logger(this.grid);
4358
4517
  }
4359
4518
  };
4360
4519
  this.grid.printComplete = this.triggerEvents.bind(this);
4361
- this.grid.actionFailure = this.triggerEvents.bind(this);
4520
+ this.grid.actionFailure = (args) => {
4521
+ this.trigger(actionFailure, args);
4522
+ };
4362
4523
  this.extendedGridDataBoundEvent();
4363
4524
  this.extendedGridEvents();
4364
4525
  this.extendedGridActionEvents();
@@ -4422,6 +4583,16 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
4422
4583
  this.grid.selectionModule[`${updateRowSelection}`](this.getRows()[parseInt(index.toString(), 10)], index);
4423
4584
  }
4424
4585
  }
4586
+ if (this.enableVirtualization && this.selectionSettings.persistSelection
4587
+ && !isNullOrUndefined(this.virtualScrollModule.prevSelectedRecord)) {
4588
+ for (let i = 0; i < this.virtualScrollModule.prevSelectedRecord.length; i++) {
4589
+ const updateRowSelection = 'updateRowSelection';
4590
+ const index =
4591
+ // eslint-disable-next-line max-len
4592
+ this.getCurrentViewRecords().indexOf(this.virtualScrollModule.prevSelectedRecord[parseInt(i.toString(), 10)]);
4593
+ this.grid.selectionModule[`${updateRowSelection}`](this.getRows()[parseInt(index.toString(), 10)], index);
4594
+ }
4595
+ }
4425
4596
  this.trigger(dataBound, args);
4426
4597
  this.initialRender = false;
4427
4598
  };
@@ -4446,7 +4617,7 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
4446
4617
  treeGrid.notify('dataProcessor', args);
4447
4618
  //args = treeGrid.dataModule.dataProcessor(args);
4448
4619
  }
4449
- extend(args, treeGrid.dataResults);
4620
+ extend$1(args, treeGrid.dataResults);
4450
4621
  if (treeGrid.enableImmutableMode) {
4451
4622
  args.result = args.result.slice();
4452
4623
  }
@@ -4726,9 +4897,9 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
4726
4897
  }
4727
4898
  else {
4728
4899
  if (this.grid.isFrozenGrid() && this.enableVirtualization && args['tableName'] === 'movable') {
4729
- const movableContent$$1 = this.grid.element.querySelector('.' + movableContent);
4730
- const frozenContent$$1 = this.grid.element.querySelector('.' + frozenContent);
4731
- movableContent$$1.style.height = frozenContent$$1.style.height = 'auto';
4900
+ const movableContent$1 = this.grid.element.querySelector('.' + movableContent);
4901
+ const frozenContent$1 = this.grid.element.querySelector('.' + frozenContent);
4902
+ movableContent$1.style.height = frozenContent$1.style.height = 'auto';
4732
4903
  }
4733
4904
  this.trigger(actionComplete, args);
4734
4905
  }
@@ -5025,6 +5196,12 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
5025
5196
  onPropertyChanged(newProp) {
5026
5197
  const properties = Object.keys(newProp);
5027
5198
  let requireRefresh = false;
5199
+ if (properties.indexOf('columns') > -1 && !isNullOrUndefined(newProp.columns) && this.frozenColumns === 0
5200
+ && this.frozenRows === 0 && !this.columnModel.some((col) => col.isFrozen || col.freeze)) {
5201
+ this.grid.columns = this.getGridColumns(newProp.columns);
5202
+ this.grid['updateColumnObject']();
5203
+ requireRefresh = true;
5204
+ }
5028
5205
  for (const prop of properties) {
5029
5206
  switch (prop) {
5030
5207
  case 'treeColumnIndex':
@@ -5366,6 +5543,22 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
5366
5543
  }
5367
5544
  }
5368
5545
  }
5546
+ if (((target.classList.contains('e-flmenu-cancelbtn') || target.classList.contains('e-flmenu-okbtn')
5547
+ || target.classList.contains('e-content') || target.classList.contains('e-rowcell'))
5548
+ && !isNullOrUndefined(this.filterModule) && this.isReact)) {
5549
+ if (!isNullOrUndefined(this.grid.filterModule['column'])) {
5550
+ if (this.grid.filterModule['column'].filterTemplate) {
5551
+ const elem = document.getElementById(this.grid.filterModule.filterModule['dlgObj'].element.id);
5552
+ this.grid.filterModule['fltrDlgDetails'].isOpen = false;
5553
+ if (this.grid.filterModule.filterModule['dlgObj'] && !this.grid.filterModule.filterModule['dlgObj'].isDestroyed && elem) {
5554
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
5555
+ this.clearTemplate(['filterTemplate'], undefined, () => {
5556
+ this.grid.filterModule.filterModule['dlgObj'].destroy();
5557
+ });
5558
+ }
5559
+ }
5560
+ }
5561
+ }
5369
5562
  }
5370
5563
  /**
5371
5564
  * Returns TreeGrid rows
@@ -5443,7 +5636,7 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
5443
5636
  if (this.grid.editModule) {
5444
5637
  if (!isNullOrUndefined(index)) {
5445
5638
  const griddata = this.grid.getCurrentViewRecords()[parseInt(index.toString(), 10)];
5446
- extend(griddata, data);
5639
+ extend$1(griddata, data);
5447
5640
  this.grid.editModule.updateRow(index, griddata);
5448
5641
  }
5449
5642
  else {
@@ -5460,6 +5653,10 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
5460
5653
  * @returns {void}
5461
5654
  */
5462
5655
  deleteRecord(fieldName, data) {
5656
+ if ((isNullOrUndefined(fieldName) && (isNullOrUndefined(data)) || (this.getSelectedRecords().length <= 0))) {
5657
+ const error = 'The provided value for the fieldName and data is undefined. Please ensure the fieldName and data contains number.';
5658
+ this.trigger(actionFailure, { error: error });
5659
+ }
5463
5660
  if (this.grid.editModule) {
5464
5661
  this.grid.editModule.deleteRecord(fieldName, data);
5465
5662
  }
@@ -5528,6 +5725,10 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
5528
5725
  * @returns {void}
5529
5726
  */
5530
5727
  deleteRow(tr) {
5728
+ if (isNullOrUndefined(tr)) {
5729
+ const error = 'The provided value for the tr is undefined. Please ensure the tr contains HTMLTableRowElement.';
5730
+ this.trigger(actionFailure, { error: error });
5731
+ }
5531
5732
  if (this.grid.editModule) {
5532
5733
  this.grid.editModule.deleteRow(tr);
5533
5734
  }
@@ -5553,9 +5754,11 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
5553
5754
  this.grid.setCellValue(key, field, value);
5554
5755
  const rowIndex = this.grid.getRowIndexByPrimaryKey(key);
5555
5756
  const record = this.getCurrentViewRecords()[parseInt(rowIndex.toString(), 10)];
5556
- if (!isNullOrUndefined(record)) {
5557
- editAction({ value: record, action: 'edit' }, this, this.isSelfReference, record.index, this.grid.selectedRowIndex, field);
5757
+ if (isNullOrUndefined(record)) {
5758
+ const error = 'The provided value for the record is undefined. Please ensure the record contains ITreeData.';
5759
+ this.trigger(actionFailure, { error: error });
5558
5760
  }
5761
+ editAction({ value: record, action: 'edit' }, this, this.isSelfReference, record.index, this.grid.selectedRowIndex, field);
5559
5762
  }
5560
5763
  /**
5561
5764
  * Updates and refresh the particular row values based on the given primary key value.
@@ -5593,8 +5796,8 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
5593
5796
  this.grid.setRowData(key, rowData);
5594
5797
  const visibleRecords = this.getVisibleRecords();
5595
5798
  if (visibleRecords.length > 0 && key === (visibleRecords[visibleRecords.length - 1])[`${primaryKey}`]) {
5596
- const table$$1 = this.getContentTable();
5597
- const sHeight = table$$1.scrollHeight;
5799
+ const table = this.getContentTable();
5800
+ const sHeight = table.scrollHeight;
5598
5801
  const clientHeight = this.getContent().clientHeight;
5599
5802
  this.lastRowBorder(this.getRows()[currentRecords.indexOf(record)], sHeight <= clientHeight);
5600
5803
  }
@@ -5606,6 +5809,10 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
5606
5809
  * @returns {void}
5607
5810
  */
5608
5811
  goToPage(pageNo) {
5812
+ if (isNullOrUndefined(pageNo)) {
5813
+ const error = 'The provided value for the pageNo is undefined. Please ensure the pageNo contains number.';
5814
+ this.trigger(actionFailure, { error: error });
5815
+ }
5609
5816
  if (this.grid.pagerModule) {
5610
5817
  this.grid.pagerModule.goToPage(pageNo);
5611
5818
  }
@@ -5707,6 +5914,10 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
5707
5914
  * @returns {void}
5708
5915
  */
5709
5916
  hideColumns(keys, hideBy) {
5917
+ if (isNullOrUndefined(keys)) {
5918
+ const error = 'The provided value for the keys is undefined. Please ensure the keys contains string.';
5919
+ this.trigger(actionFailure, { error: error });
5920
+ }
5710
5921
  this.grid.hideColumns(keys, hideBy);
5711
5922
  this.updateColumnModel();
5712
5923
  }
@@ -5803,10 +6014,10 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
5803
6014
  if (this.grid.columns.length !== this.columnModel.length) {
5804
6015
  this.stackedHeader = true;
5805
6016
  }
5806
- if (this.stackedHeader && this.allowResizing) {
6017
+ if (this.stackedHeader && this.allowResizing && !isNullOrUndefined(this.columns)) {
5807
6018
  this.updateColumnsWidth(this.columns);
5808
6019
  }
5809
- if (!this.stackedHeader) {
6020
+ if (!this.stackedHeader && !isNullOrUndefined(this.columns)) {
5810
6021
  merge(this.columns, this.columnModel);
5811
6022
  }
5812
6023
  this[`${deepMerge}`] = undefined; // Workaround for blazor updateModel
@@ -5814,10 +6025,10 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
5814
6025
  }
5815
6026
  updateColumnsWidth(columns) {
5816
6027
  columns.forEach((column) => {
5817
- if (column.columns) {
6028
+ if (!isNullOrUndefined(column) && column.columns) {
5818
6029
  this.updateColumnsWidth(column.columns);
5819
6030
  }
5820
- else if (column.field) {
6031
+ else if (!isNullOrUndefined(column) && column.field) {
5821
6032
  const currentColumn = this.grid.getColumnByField(column.field);
5822
6033
  if (!isNullOrUndefined(currentColumn)) {
5823
6034
  column.width = currentColumn.width;
@@ -6120,6 +6331,11 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
6120
6331
  * @returns {void}
6121
6332
  */
6122
6333
  expandRow(row, record, key, level) {
6334
+ this.isCollapseAll = false;
6335
+ if (isNullOrUndefined(row) && isNullOrUndefined(record) && isNullOrUndefined(key) && isNullOrUndefined(level)) {
6336
+ const error = 'The provided value for the row is undefined. Please ensure the row contains row element.';
6337
+ this.trigger(actionFailure, { error: error });
6338
+ }
6123
6339
  let parentRec = this.parentData;
6124
6340
  if (!this.enableVirtualization) {
6125
6341
  parentRec = this.flatData.filter((e) => {
@@ -6143,13 +6359,13 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
6143
6359
  if (expandingArgs.expandAll) {
6144
6360
  this.expandCollapseAllChildren(record, 'expand', key, level);
6145
6361
  }
6146
- this.expandRows(row, record, parentRec, key, level);
6362
+ this.expandRows(row, record, parentRec);
6147
6363
  }
6148
6364
  });
6149
6365
  }
6150
6366
  else if ((!this.allowPaging || (pagerValuePresent && this.grid.pagerModule.pagerObj.pagerdropdownModule['dropDownListObject'].value === 'All')) &&
6151
6367
  !this.expandAllPrevent && this.isExpandingEventTriggered) {
6152
- this.expandRows(row, record, parentRec, key, level);
6368
+ this.expandRows(row, record, parentRec);
6153
6369
  }
6154
6370
  this.isExpandingEventTriggered = true;
6155
6371
  }
@@ -6160,13 +6376,13 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
6160
6376
  if (expandingArgs.expandAll) {
6161
6377
  this.expandCollapseAllChildren(record, 'expand', key, level);
6162
6378
  }
6163
- this.expandRows(row, record, parentRec, key, level);
6379
+ this.expandRows(row, record, parentRec);
6164
6380
  }
6165
6381
  });
6166
6382
  }
6167
6383
  }
6168
6384
  // Internal method to handle the rows expand
6169
- expandRows(row, record, parentRec, key, level) {
6385
+ expandRows(row, record, parentRec) {
6170
6386
  this.expandCollapse('expand', row, record);
6171
6387
  const children = 'Children';
6172
6388
  if (!(isRemoteData(this) && !isOffline(this)) && (!isCountRequired(this) || !isNullOrUndefined(record[`${children}`]))) {
@@ -6179,6 +6395,10 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
6179
6395
  expandArgs = { data: parentRec, row: row };
6180
6396
  this.trigger(expanded, expandArgs);
6181
6397
  }
6398
+ else if (!this.isExpandAll && this.enableVirtualization && this.selectionSettings.persistSelection
6399
+ && !isNullOrUndefined(this.virtualScrollModule.prevSelectedRecord)) {
6400
+ this.virtualScrollModule.prevSelectedRecord = [];
6401
+ }
6182
6402
  else if (!this.isExpandAll) {
6183
6403
  this.trigger(expanded, expandArgs);
6184
6404
  }
@@ -6204,13 +6424,13 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
6204
6424
  return e.hasChildRecords;
6205
6425
  });
6206
6426
  }
6207
- else if (isNullOrUndefined(record)) {
6427
+ else if (isNullOrUndefined(record) && !isNullOrUndefined(row)) {
6208
6428
  if (this.detailTemplate) {
6209
6429
  record = this.grid.getCurrentViewRecords()[row.getAttribute('data-rowindex')];
6210
6430
  }
6211
6431
  else {
6212
- if (this.enableVirtualization && this.isCollapseAll) {
6213
- if (this.isExpandAll && row.rowIndex === -1) {
6432
+ if (this.enableVirtualization && (this.isCollapseAll || this.isExpandAll)) {
6433
+ if (row.rowIndex === -1) {
6214
6434
  record = this.grid.getCurrentViewRecords()[parseInt(row.getAttribute('data-rowindex'), 10)];
6215
6435
  }
6216
6436
  else {
@@ -6236,6 +6456,11 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
6236
6456
  * @returns {void}
6237
6457
  */
6238
6458
  collapseRow(row, record, key) {
6459
+ this.isExpandAll = false;
6460
+ if (isNullOrUndefined(row) && isNullOrUndefined(record) && isNullOrUndefined(key)) {
6461
+ const error = 'The provided value for the row is undefined. Please ensure the row contains row element.';
6462
+ this.trigger(actionFailure, { error: error });
6463
+ }
6239
6464
  let parentRec = this.parentData;
6240
6465
  if (!this.enableVirtualization) {
6241
6466
  parentRec = this.flatData.filter((e) => {
@@ -6252,12 +6477,12 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
6252
6477
  if (collapsingArgs.collapseAll) {
6253
6478
  this.expandCollapseAllChildren(record, 'collapse', key);
6254
6479
  }
6255
- this.collapseRows(row, record, parentRec, key);
6480
+ this.collapseRows(row, record, parentRec);
6256
6481
  }
6257
6482
  });
6258
6483
  }
6259
6484
  else if (!this.allowPaging && !this.collapseAllPrevent && this.isCollapsingEventTriggered) {
6260
- this.collapseRows(row, record, parentRec, key);
6485
+ this.collapseRows(row, record, parentRec);
6261
6486
  }
6262
6487
  this.isCollapsingEventTriggered = true;
6263
6488
  }
@@ -6265,13 +6490,13 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
6265
6490
  const args = { data: record, row: row, cancel: false };
6266
6491
  this.trigger(collapsing, args, (collapsingArgs) => {
6267
6492
  if (!collapsingArgs.cancel && !isNullOrUndefined(record)) {
6268
- this.collapseRows(row, record, parentRec, key);
6493
+ this.collapseRows(row, record, parentRec);
6269
6494
  }
6270
6495
  });
6271
6496
  }
6272
6497
  }
6273
6498
  // Internal method for handling the rows collapse
6274
- collapseRows(row, record, parentRec, key) {
6499
+ collapseRows(row, record, parentRec) {
6275
6500
  this.expandCollapse('collapse', row, record);
6276
6501
  let collapseArgs = { data: record, row: row };
6277
6502
  if (!isRemoteData(this)) {
@@ -6315,6 +6540,10 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
6315
6540
  * @returns {void}
6316
6541
  */
6317
6542
  expandAtLevel(level) {
6543
+ if (isNullOrUndefined(level)) {
6544
+ const error = 'The provided value for the level is undefined. Please ensure the level contains number.';
6545
+ this.trigger(actionFailure, { error: error });
6546
+ }
6318
6547
  if (((this.allowPaging && this.pageSettings.pageSizeMode === 'All') || this.enableVirtualization) && !isRemoteData(this)) {
6319
6548
  const rec = this.grid.dataSource.filter((e) => {
6320
6549
  if (e.hasChildRecords && e.level === level) {
@@ -6337,6 +6566,10 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
6337
6566
  * @returns {void}
6338
6567
  */
6339
6568
  expandByKey(key) {
6569
+ if (isNullOrUndefined(key)) {
6570
+ const error = 'The provided value for the key is undefined. Please ensure the key contains number.';
6571
+ this.trigger(actionFailure, { error: error });
6572
+ }
6340
6573
  this.expandCollapseActionByKey(key, 'Expand');
6341
6574
  }
6342
6575
  expandAction(record, key, level, isPaging = false) {
@@ -6389,6 +6622,10 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
6389
6622
  * @returns {void}
6390
6623
  */
6391
6624
  collapseAtLevel(level) {
6625
+ if (isNullOrUndefined(level)) {
6626
+ const error = 'The provided value for the level is undefined. Please ensure the level contains number.';
6627
+ this.trigger(actionFailure, { error: error });
6628
+ }
6392
6629
  if (((this.allowPaging && this.pageSettings.pageSizeMode === 'All') || this.enableVirtualization) && !isRemoteData(this)) {
6393
6630
  const record = this.grid.dataSource.filter((e) => {
6394
6631
  if (e.hasChildRecords && e.level === level) {
@@ -6411,6 +6648,10 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
6411
6648
  * @returns {void}
6412
6649
  */
6413
6650
  collapseByKey(key) {
6651
+ if (isNullOrUndefined(key)) {
6652
+ const error = 'The provided value for the key is undefined. Please ensure the key contains number.';
6653
+ this.trigger(actionFailure, { error: error });
6654
+ }
6414
6655
  this.expandCollapseActionByKey(key, 'Collapse');
6415
6656
  }
6416
6657
  expandCollapseActionByKey(key, action) {
@@ -6450,6 +6691,10 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
6450
6691
  * @returns {void}
6451
6692
  */
6452
6693
  expandAll() {
6694
+ if (this.getCurrentViewRecords().length === 0) {
6695
+ const error = 'The provided value for the datasource is undefined. Please ensure to add the dataSource.';
6696
+ this.trigger(actionFailure, { error: error });
6697
+ }
6453
6698
  this.isExpandedEventTriggered = false;
6454
6699
  this.isExpandingEventTriggered = false;
6455
6700
  this.expandCollapseAll('expand');
@@ -6460,6 +6705,10 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
6460
6705
  * @returns {void}
6461
6706
  */
6462
6707
  collapseAll() {
6708
+ if (this.getCurrentViewRecords().length === 0) {
6709
+ const error = 'The provided value for the datasource is undefined. Please ensure to add the dataSource.';
6710
+ this.trigger(actionFailure, { error: error });
6711
+ }
6463
6712
  this.isCollapsedEventTriggered = false;
6464
6713
  this.isCollapsingEventTriggered = false;
6465
6714
  this.expandCollapseAll('collapse');
@@ -6476,6 +6725,9 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
6476
6725
  return e.querySelector('.e-treegrid' + (action === 'expand' ? 'collapse' : 'expand'));
6477
6726
  });
6478
6727
  }
6728
+ if (!rows.length && this.getRows().length) {
6729
+ rows.push(this.getRows()[0]);
6730
+ }
6479
6731
  this.isExpandAll = true;
6480
6732
  this.isCollapseAll = true;
6481
6733
  if (((this.allowPaging && this.pageSettings.pageSizeMode === 'All') || this.enableVirtualization || this.enableInfiniteScrolling) && !isRemoteData(this)) {
@@ -6523,9 +6775,12 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
6523
6775
  }
6524
6776
  expandCollapse(action, row, record, isChild) {
6525
6777
  const expandingArgs = { row: row, data: record, childData: [], requestType: action };
6526
- const childRecords = this.grid.currentViewData.filter((e) => {
6527
- return e.parentUniqueID === record.uniqueID;
6528
- });
6778
+ let childRecords;
6779
+ if (!isNullOrUndefined(record)) {
6780
+ childRecords = this.grid.currentViewData.filter((e) => {
6781
+ return e.parentUniqueID === record.uniqueID;
6782
+ });
6783
+ }
6529
6784
  let targetEle;
6530
6785
  if ((!isRemoteData(this) && action === 'expand' && this.isSelfReference && isCountRequired(this) && !childRecords.length) || (action === 'collapse' || (this.isExpandAll && this.loadChildOnDemand) && !isRemoteData(this) && this.isSelfReference && isCountRequired(this))) {
6531
6786
  this.updateChildOnDemand(expandingArgs);
@@ -6554,7 +6809,7 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
6554
6809
  let displayAction;
6555
6810
  if (action === 'expand') {
6556
6811
  displayAction = 'table-row';
6557
- if (!isChild) {
6812
+ if (!isChild && !isNullOrUndefined(record)) {
6558
6813
  record.expanded = true;
6559
6814
  this.uniqueIDCollection[record.uniqueID].expanded = record.expanded;
6560
6815
  }
@@ -6575,7 +6830,7 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
6575
6830
  }
6576
6831
  else {
6577
6832
  displayAction = 'none';
6578
- if (!isChild || isCountRequired(this)) {
6833
+ if ((!isChild || isCountRequired(this)) && !isNullOrUndefined(row)) {
6579
6834
  record.expanded = false;
6580
6835
  this.uniqueIDCollection[record.uniqueID].expanded = record.expanded;
6581
6836
  }
@@ -6626,8 +6881,8 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
6626
6881
  totalRows = [].slice.call(rows);
6627
6882
  for (let i = totalRows.length - 1; i >= 0; i--) {
6628
6883
  if (!isHidden(totalRows[parseInt(i.toString(), 10)])) {
6629
- const table$$1 = this.getContentTable();
6630
- const sHeight = table$$1.scrollHeight;
6884
+ const table = this.getContentTable();
6885
+ const sHeight = table.scrollHeight;
6631
6886
  const clientHeight = this.getContent().clientHeight;
6632
6887
  this.lastRowBorder(totalRows[parseInt(i.toString(), 10)], sHeight <= clientHeight);
6633
6888
  break;
@@ -6686,8 +6941,8 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
6686
6941
  if (childData[parseInt(i.toString(), 10)]) {
6687
6942
  childData[parseInt(i.toString(), 10)].level = record.level + 1;
6688
6943
  childData[parseInt(i.toString(), 10)].index = Math.ceil(Math.random() * 1000);
6689
- childData[parseInt(i.toString(), 10)].parentItem = extend({}, record);
6690
- childData[parseInt(i.toString(), 10)].taskData = extend({}, childData[parseInt(i.toString(), 10)]);
6944
+ childData[parseInt(i.toString(), 10)].parentItem = extend$1({}, record);
6945
+ childData[parseInt(i.toString(), 10)].taskData = extend$1({}, childData[parseInt(i.toString(), 10)]);
6691
6946
  delete childData[parseInt(i.toString(), 10)].parentItem.childRecords;
6692
6947
  delete childData[parseInt(i.toString(), 10)].taskData.parentItem;
6693
6948
  childData[parseInt(i.toString(), 10)].parentUniqueID = record.uniqueID;
@@ -7001,6 +7256,10 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
7001
7256
  * @returns {void}
7002
7257
  */
7003
7258
  filterByColumn(fieldName, filterOperator, filterValue, predicate, matchCase, ignoreAccent, actualFilterValue, actualOperator) {
7259
+ if (isNullOrUndefined(fieldName) && isNullOrUndefined(filterOperator) && isNullOrUndefined(filterValue)) {
7260
+ const error = 'The provided value for the fieldName, filterOperator and filterValue are undefined. Please ensure the fieldName, filterOperator and filterValue.';
7261
+ this.trigger(actionFailure, { error: error });
7262
+ }
7004
7263
  this.grid.filterByColumn(fieldName, filterOperator, filterValue, predicate, matchCase, ignoreAccent, actualFilterValue, actualOperator);
7005
7264
  }
7006
7265
  /**
@@ -7067,6 +7326,10 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
7067
7326
  * @returns {void}
7068
7327
  */
7069
7328
  paste(data, rowIndex, colIndex) {
7329
+ if (isNullOrUndefined(data) && isNullOrUndefined(rowIndex) && isNullOrUndefined(colIndex)) {
7330
+ const error = 'The provided value for the index is undefined. Please ensure the index contains number.';
7331
+ this.trigger(actionFailure, { error: error });
7332
+ }
7070
7333
  this.clipboardModule.paste(data, rowIndex, colIndex);
7071
7334
  }
7072
7335
  /**
@@ -7278,7 +7541,7 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
7278
7541
  * @returns {number} - Returns frozen column count
7279
7542
  */
7280
7543
  getFrozenColumns() {
7281
- return this.getFrozenCount(this.columns, 0) + this.frozenColumns;
7544
+ return this.getFrozenCount(!isNullOrUndefined(this.columns) && this.columns, 0) + this.frozenColumns;
7282
7545
  }
7283
7546
  getFrozenCount(cols, cnt) {
7284
7547
  for (let j = 0, len = cols.length; j < len; j++) {
@@ -7335,6 +7598,10 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
7335
7598
  * @returns {void}
7336
7599
  */
7337
7600
  reorderRows(fromIndexes, toIndex, position) {
7601
+ if (isNullOrUndefined(fromIndexes) && isNullOrUndefined(toIndex) && isNullOrUndefined(position)) {
7602
+ const error = 'The provided value for the fromIndexes, toIndex and position is undefined. Please ensure the fromIndexes and toIndex contains number and position contains string.';
7603
+ this.trigger(actionFailure, { error: error });
7604
+ }
7338
7605
  this.rowDragAndDropModule.reorderRows(fromIndexes, toIndex, position);
7339
7606
  }
7340
7607
  /**
@@ -7362,400 +7629,400 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
7362
7629
  }
7363
7630
  }
7364
7631
  };
7365
- __decorate([
7632
+ __decorate$b([
7366
7633
  Property(0)
7367
7634
  ], TreeGrid.prototype, "frozenRows", void 0);
7368
- __decorate([
7635
+ __decorate$b([
7369
7636
  Property(0)
7370
7637
  ], TreeGrid.prototype, "frozenColumns", void 0);
7371
- __decorate([
7638
+ __decorate$b([
7372
7639
  Property('Ellipsis')
7373
7640
  ], TreeGrid.prototype, "clipMode", void 0);
7374
- __decorate([
7641
+ __decorate$b([
7375
7642
  Property([])
7376
7643
  ], TreeGrid.prototype, "columns", void 0);
7377
- __decorate([
7644
+ __decorate$b([
7378
7645
  Property(null)
7379
7646
  ], TreeGrid.prototype, "childMapping", void 0);
7380
- __decorate([
7647
+ __decorate$b([
7381
7648
  Property(null)
7382
7649
  ], TreeGrid.prototype, "hasChildMapping", void 0);
7383
- __decorate([
7650
+ __decorate$b([
7384
7651
  Property(0)
7385
7652
  ], TreeGrid.prototype, "treeColumnIndex", void 0);
7386
- __decorate([
7653
+ __decorate$b([
7387
7654
  Property(null)
7388
7655
  ], TreeGrid.prototype, "idMapping", void 0);
7389
- __decorate([
7656
+ __decorate$b([
7390
7657
  Property(null)
7391
7658
  ], TreeGrid.prototype, "parentIdMapping", void 0);
7392
- __decorate([
7659
+ __decorate$b([
7393
7660
  Property(false)
7394
7661
  ], TreeGrid.prototype, "enableCollapseAll", void 0);
7395
- __decorate([
7662
+ __decorate$b([
7396
7663
  Property(null)
7397
7664
  ], TreeGrid.prototype, "expandStateMapping", void 0);
7398
- __decorate([
7665
+ __decorate$b([
7399
7666
  Property(false)
7400
7667
  ], TreeGrid.prototype, "allowRowDragAndDrop", void 0);
7401
- __decorate([
7668
+ __decorate$b([
7402
7669
  Property([])
7403
7670
  ], TreeGrid.prototype, "dataSource", void 0);
7404
- __decorate([
7671
+ __decorate$b([
7405
7672
  Property()
7406
7673
  ], TreeGrid.prototype, "query", void 0);
7407
- __decorate([
7674
+ __decorate$b([
7408
7675
  Property()
7409
7676
  ], TreeGrid.prototype, "cloneQuery", void 0);
7410
- __decorate([
7677
+ __decorate$b([
7411
7678
  Property('AllPages')
7412
7679
  ], TreeGrid.prototype, "printMode", void 0);
7413
- __decorate([
7680
+ __decorate$b([
7414
7681
  Property(false)
7415
7682
  ], TreeGrid.prototype, "allowPaging", void 0);
7416
- __decorate([
7683
+ __decorate$b([
7417
7684
  Property(false)
7418
7685
  ], TreeGrid.prototype, "loadChildOnDemand", void 0);
7419
- __decorate([
7686
+ __decorate$b([
7420
7687
  Property(false)
7421
7688
  ], TreeGrid.prototype, "allowTextWrap", void 0);
7422
- __decorate([
7689
+ __decorate$b([
7423
7690
  Complex({}, TextWrapSettings)
7424
7691
  ], TreeGrid.prototype, "textWrapSettings", void 0);
7425
- __decorate([
7692
+ __decorate$b([
7426
7693
  Property(false)
7427
7694
  ], TreeGrid.prototype, "allowReordering", void 0);
7428
- __decorate([
7695
+ __decorate$b([
7429
7696
  Property(false)
7430
7697
  ], TreeGrid.prototype, "allowResizing", void 0);
7431
- __decorate([
7698
+ __decorate$b([
7432
7699
  Property(false)
7433
7700
  ], TreeGrid.prototype, "autoCheckHierarchy", void 0);
7434
- __decorate([
7701
+ __decorate$b([
7435
7702
  Complex({}, PageSettings)
7436
7703
  ], TreeGrid.prototype, "pageSettings", void 0);
7437
- __decorate([
7438
- Complex({}, RowDropSettings)
7704
+ __decorate$b([
7705
+ Complex({}, RowDropSettings$1)
7439
7706
  ], TreeGrid.prototype, "rowDropSettings", void 0);
7440
- __decorate([
7707
+ __decorate$b([
7441
7708
  Property('USD')
7442
7709
  ], TreeGrid.prototype, "currencyCode", void 0);
7443
- __decorate([
7710
+ __decorate$b([
7444
7711
  Property()
7445
7712
  ], TreeGrid.prototype, "pagerTemplate", void 0);
7446
- __decorate([
7713
+ __decorate$b([
7447
7714
  Property(false)
7448
7715
  ], TreeGrid.prototype, "showColumnMenu", void 0);
7449
- __decorate([
7716
+ __decorate$b([
7450
7717
  Property(false)
7451
7718
  ], TreeGrid.prototype, "showColumnChooser", void 0);
7452
- __decorate([
7719
+ __decorate$b([
7453
7720
  Property(false)
7454
7721
  ], TreeGrid.prototype, "allowSorting", void 0);
7455
- __decorate([
7722
+ __decorate$b([
7456
7723
  Property(true)
7457
7724
  ], TreeGrid.prototype, "allowMultiSorting", void 0);
7458
- __decorate([
7725
+ __decorate$b([
7459
7726
  Complex({}, SortSettings)
7460
7727
  ], TreeGrid.prototype, "sortSettings", void 0);
7461
- __decorate([
7728
+ __decorate$b([
7462
7729
  Collection([], AggregateRow)
7463
7730
  ], TreeGrid.prototype, "aggregates", void 0);
7464
- __decorate([
7731
+ __decorate$b([
7465
7732
  Complex({}, EditSettings)
7466
7733
  ], TreeGrid.prototype, "editSettings", void 0);
7467
- __decorate([
7734
+ __decorate$b([
7468
7735
  Property(false)
7469
7736
  ], TreeGrid.prototype, "allowFiltering", void 0);
7470
- __decorate([
7737
+ __decorate$b([
7471
7738
  Property()
7472
7739
  ], TreeGrid.prototype, "detailTemplate", void 0);
7473
- __decorate([
7740
+ __decorate$b([
7474
7741
  Complex({}, FilterSettings)
7475
7742
  ], TreeGrid.prototype, "filterSettings", void 0);
7476
- __decorate([
7743
+ __decorate$b([
7477
7744
  Complex({}, SearchSettings)
7478
7745
  ], TreeGrid.prototype, "searchSettings", void 0);
7479
- __decorate([
7746
+ __decorate$b([
7480
7747
  Property()
7481
7748
  ], TreeGrid.prototype, "toolbar", void 0);
7482
- __decorate([
7749
+ __decorate$b([
7483
7750
  Property()
7484
7751
  ], TreeGrid.prototype, "toolbarTemplate", void 0);
7485
- __decorate([
7752
+ __decorate$b([
7486
7753
  Property('Default')
7487
7754
  ], TreeGrid.prototype, "gridLines", void 0);
7488
- __decorate([
7755
+ __decorate$b([
7489
7756
  Property()
7490
7757
  ], TreeGrid.prototype, "contextMenuItems", void 0);
7491
- __decorate([
7758
+ __decorate$b([
7492
7759
  Property()
7493
7760
  ], TreeGrid.prototype, "columnMenuItems", void 0);
7494
- __decorate([
7761
+ __decorate$b([
7495
7762
  Property()
7496
7763
  ], TreeGrid.prototype, "rowTemplate", void 0);
7497
- __decorate([
7764
+ __decorate$b([
7498
7765
  Property('Parent')
7499
7766
  ], TreeGrid.prototype, "copyHierarchyMode", void 0);
7500
- __decorate([
7767
+ __decorate$b([
7501
7768
  Property(null)
7502
7769
  ], TreeGrid.prototype, "rowHeight", void 0);
7503
- __decorate([
7770
+ __decorate$b([
7504
7771
  Property(true)
7505
7772
  ], TreeGrid.prototype, "enableAltRow", void 0);
7506
- __decorate([
7773
+ __decorate$b([
7507
7774
  Property(true)
7508
7775
  ], TreeGrid.prototype, "allowKeyboard", void 0);
7509
- __decorate([
7776
+ __decorate$b([
7510
7777
  Property(false)
7511
7778
  ], TreeGrid.prototype, "enableHover", void 0);
7512
- __decorate([
7779
+ __decorate$b([
7513
7780
  Property(false)
7514
7781
  ], TreeGrid.prototype, "enableAutoFill", void 0);
7515
- __decorate([
7782
+ __decorate$b([
7516
7783
  Property(false)
7517
7784
  ], TreeGrid.prototype, "enableAdaptiveUI", void 0);
7518
- __decorate([
7785
+ __decorate$b([
7519
7786
  Property(false)
7520
7787
  ], TreeGrid.prototype, "enableImmutableMode", void 0);
7521
- __decorate([
7788
+ __decorate$b([
7522
7789
  Property('auto')
7523
7790
  ], TreeGrid.prototype, "height", void 0);
7524
- __decorate([
7791
+ __decorate$b([
7525
7792
  Property('auto')
7526
7793
  ], TreeGrid.prototype, "width", void 0);
7527
- __decorate([
7794
+ __decorate$b([
7528
7795
  Complex({}, LoadingIndicator)
7529
7796
  ], TreeGrid.prototype, "loadingIndicator", void 0);
7530
- __decorate([
7797
+ __decorate$b([
7531
7798
  Property(true)
7532
7799
  ], TreeGrid.prototype, "enableVirtualMaskRow", void 0);
7533
- __decorate([
7800
+ __decorate$b([
7534
7801
  Property(false)
7535
7802
  ], TreeGrid.prototype, "enableVirtualization", void 0);
7536
- __decorate([
7803
+ __decorate$b([
7537
7804
  Property(false)
7538
7805
  ], TreeGrid.prototype, "enableColumnVirtualization", void 0);
7539
- __decorate([
7806
+ __decorate$b([
7540
7807
  Property(false)
7541
7808
  ], TreeGrid.prototype, "enableHtmlSanitizer", void 0);
7542
- __decorate([
7809
+ __decorate$b([
7543
7810
  Property(false)
7544
7811
  ], TreeGrid.prototype, "enableInfiniteScrolling", void 0);
7545
- __decorate([
7812
+ __decorate$b([
7546
7813
  Complex({}, InfiniteScrollSettings)
7547
7814
  ], TreeGrid.prototype, "infiniteScrollSettings", void 0);
7548
- __decorate([
7815
+ __decorate$b([
7549
7816
  Property('All')
7550
7817
  ], TreeGrid.prototype, "columnQueryMode", void 0);
7551
- __decorate([
7818
+ __decorate$b([
7552
7819
  Event()
7553
7820
  ], TreeGrid.prototype, "created", void 0);
7554
- __decorate([
7821
+ __decorate$b([
7555
7822
  Event()
7556
7823
  ], TreeGrid.prototype, "load", void 0);
7557
- __decorate([
7824
+ __decorate$b([
7558
7825
  Event()
7559
7826
  ], TreeGrid.prototype, "expanding", void 0);
7560
- __decorate([
7827
+ __decorate$b([
7561
7828
  Event()
7562
7829
  ], TreeGrid.prototype, "expanded", void 0);
7563
- __decorate([
7830
+ __decorate$b([
7564
7831
  Event()
7565
7832
  ], TreeGrid.prototype, "collapsing", void 0);
7566
- __decorate([
7833
+ __decorate$b([
7567
7834
  Event()
7568
7835
  ], TreeGrid.prototype, "collapsed", void 0);
7569
- __decorate([
7836
+ __decorate$b([
7570
7837
  Event()
7571
7838
  ], TreeGrid.prototype, "cellSave", void 0);
7572
- __decorate([
7839
+ __decorate$b([
7573
7840
  Event()
7574
7841
  ], TreeGrid.prototype, "cellSaved", void 0);
7575
- __decorate([
7842
+ __decorate$b([
7576
7843
  Event()
7577
7844
  ], TreeGrid.prototype, "actionBegin", void 0);
7578
- __decorate([
7845
+ __decorate$b([
7579
7846
  Event()
7580
7847
  ], TreeGrid.prototype, "actionComplete", void 0);
7581
- __decorate([
7848
+ __decorate$b([
7582
7849
  Event()
7583
7850
  ], TreeGrid.prototype, "beginEdit", void 0);
7584
- __decorate([
7851
+ __decorate$b([
7585
7852
  Event()
7586
7853
  ], TreeGrid.prototype, "batchAdd", void 0);
7587
- __decorate([
7854
+ __decorate$b([
7588
7855
  Event()
7589
7856
  ], TreeGrid.prototype, "batchDelete", void 0);
7590
- __decorate([
7857
+ __decorate$b([
7591
7858
  Event()
7592
7859
  ], TreeGrid.prototype, "batchCancel", void 0);
7593
- __decorate([
7860
+ __decorate$b([
7594
7861
  Event()
7595
7862
  ], TreeGrid.prototype, "beforeBatchAdd", void 0);
7596
- __decorate([
7863
+ __decorate$b([
7597
7864
  Event()
7598
7865
  ], TreeGrid.prototype, "beforeBatchDelete", void 0);
7599
- __decorate([
7866
+ __decorate$b([
7600
7867
  Event()
7601
7868
  ], TreeGrid.prototype, "beforeBatchSave", void 0);
7602
- __decorate([
7869
+ __decorate$b([
7603
7870
  Event()
7604
7871
  ], TreeGrid.prototype, "cellEdit", void 0);
7605
- __decorate([
7872
+ __decorate$b([
7606
7873
  Event()
7607
7874
  ], TreeGrid.prototype, "actionFailure", void 0);
7608
- __decorate([
7875
+ __decorate$b([
7609
7876
  Event()
7610
7877
  ], TreeGrid.prototype, "dataBound", void 0);
7611
- __decorate([
7878
+ __decorate$b([
7612
7879
  Event()
7613
7880
  ], TreeGrid.prototype, "dataSourceChanged", void 0);
7614
- __decorate([
7881
+ __decorate$b([
7615
7882
  Event()
7616
7883
  ], TreeGrid.prototype, "dataStateChange", void 0);
7617
- __decorate([
7884
+ __decorate$b([
7618
7885
  Event()
7619
7886
  ], TreeGrid.prototype, "recordDoubleClick", void 0);
7620
- __decorate([
7887
+ __decorate$b([
7621
7888
  Event()
7622
7889
  ], TreeGrid.prototype, "rowDataBound", void 0);
7623
- __decorate([
7890
+ __decorate$b([
7624
7891
  Event()
7625
7892
  ], TreeGrid.prototype, "detailDataBound", void 0);
7626
- __decorate([
7893
+ __decorate$b([
7627
7894
  Event()
7628
7895
  ], TreeGrid.prototype, "queryCellInfo", void 0);
7629
- __decorate([
7896
+ __decorate$b([
7630
7897
  Property(true)
7631
7898
  ], TreeGrid.prototype, "allowSelection", void 0);
7632
- __decorate([
7899
+ __decorate$b([
7633
7900
  Event()
7634
7901
  ], TreeGrid.prototype, "rowSelecting", void 0);
7635
- __decorate([
7902
+ __decorate$b([
7636
7903
  Event()
7637
7904
  ], TreeGrid.prototype, "rowSelected", void 0);
7638
- __decorate([
7905
+ __decorate$b([
7639
7906
  Event()
7640
7907
  ], TreeGrid.prototype, "rowDeselecting", void 0);
7641
- __decorate([
7908
+ __decorate$b([
7642
7909
  Event()
7643
7910
  ], TreeGrid.prototype, "rowDeselected", void 0);
7644
- __decorate([
7911
+ __decorate$b([
7645
7912
  Event()
7646
7913
  ], TreeGrid.prototype, "headerCellInfo", void 0);
7647
- __decorate([
7914
+ __decorate$b([
7648
7915
  Event()
7649
7916
  ], TreeGrid.prototype, "cellSelecting", void 0);
7650
- __decorate([
7917
+ __decorate$b([
7651
7918
  Event()
7652
7919
  ], TreeGrid.prototype, "columnMenuOpen", void 0);
7653
- __decorate([
7920
+ __decorate$b([
7654
7921
  Event()
7655
7922
  ], TreeGrid.prototype, "columnMenuClick", void 0);
7656
- __decorate([
7923
+ __decorate$b([
7657
7924
  Event()
7658
7925
  ], TreeGrid.prototype, "cellSelected", void 0);
7659
- __decorate([
7926
+ __decorate$b([
7660
7927
  Event()
7661
7928
  ], TreeGrid.prototype, "cellDeselecting", void 0);
7662
- __decorate([
7929
+ __decorate$b([
7663
7930
  Event()
7664
7931
  ], TreeGrid.prototype, "cellDeselected", void 0);
7665
- __decorate([
7932
+ __decorate$b([
7666
7933
  Event()
7667
7934
  ], TreeGrid.prototype, "resizeStart", void 0);
7668
- __decorate([
7935
+ __decorate$b([
7669
7936
  Event()
7670
7937
  ], TreeGrid.prototype, "resizing", void 0);
7671
- __decorate([
7938
+ __decorate$b([
7672
7939
  Event()
7673
7940
  ], TreeGrid.prototype, "resizeStop", void 0);
7674
- __decorate([
7941
+ __decorate$b([
7675
7942
  Event()
7676
7943
  ], TreeGrid.prototype, "columnDragStart", void 0);
7677
- __decorate([
7944
+ __decorate$b([
7678
7945
  Event()
7679
7946
  ], TreeGrid.prototype, "columnDrag", void 0);
7680
- __decorate([
7947
+ __decorate$b([
7681
7948
  Event()
7682
7949
  ], TreeGrid.prototype, "columnDrop", void 0);
7683
- __decorate([
7950
+ __decorate$b([
7684
7951
  Event()
7685
7952
  ], TreeGrid.prototype, "checkboxChange", void 0);
7686
- __decorate([
7953
+ __decorate$b([
7687
7954
  Event()
7688
7955
  ], TreeGrid.prototype, "printComplete", void 0);
7689
- __decorate([
7956
+ __decorate$b([
7690
7957
  Event()
7691
7958
  ], TreeGrid.prototype, "beforePrint", void 0);
7692
- __decorate([
7959
+ __decorate$b([
7693
7960
  Event()
7694
7961
  ], TreeGrid.prototype, "toolbarClick", void 0);
7695
- __decorate([
7962
+ __decorate$b([
7696
7963
  Event()
7697
7964
  ], TreeGrid.prototype, "beforeDataBound", void 0);
7698
- __decorate([
7965
+ __decorate$b([
7699
7966
  Event()
7700
7967
  ], TreeGrid.prototype, "contextMenuOpen", void 0);
7701
- __decorate([
7968
+ __decorate$b([
7702
7969
  Event()
7703
7970
  ], TreeGrid.prototype, "contextMenuClick", void 0);
7704
- __decorate([
7971
+ __decorate$b([
7705
7972
  Event()
7706
7973
  ], TreeGrid.prototype, "beforeCopy", void 0);
7707
- __decorate([
7974
+ __decorate$b([
7708
7975
  Event()
7709
7976
  ], TreeGrid.prototype, "beforePaste", void 0);
7710
- __decorate([
7977
+ __decorate$b([
7711
7978
  Event()
7712
7979
  ], TreeGrid.prototype, "rowDrag", void 0);
7713
- __decorate([
7980
+ __decorate$b([
7714
7981
  Event()
7715
7982
  ], TreeGrid.prototype, "rowDragStart", void 0);
7716
- __decorate([
7983
+ __decorate$b([
7717
7984
  Event()
7718
7985
  ], TreeGrid.prototype, "rowDragStartHelper", void 0);
7719
- __decorate([
7986
+ __decorate$b([
7720
7987
  Event()
7721
7988
  ], TreeGrid.prototype, "rowDrop", void 0);
7722
- __decorate([
7989
+ __decorate$b([
7723
7990
  Property(-1)
7724
7991
  ], TreeGrid.prototype, "selectedRowIndex", void 0);
7725
- __decorate([
7992
+ __decorate$b([
7726
7993
  Complex({}, SelectionSettings)
7727
7994
  ], TreeGrid.prototype, "selectionSettings", void 0);
7728
- __decorate([
7995
+ __decorate$b([
7729
7996
  Property(false)
7730
7997
  ], TreeGrid.prototype, "allowExcelExport", void 0);
7731
- __decorate([
7998
+ __decorate$b([
7732
7999
  Property(false)
7733
8000
  ], TreeGrid.prototype, "allowPdfExport", void 0);
7734
- __decorate([
8001
+ __decorate$b([
7735
8002
  Event()
7736
8003
  ], TreeGrid.prototype, "pdfQueryCellInfo", void 0);
7737
- __decorate([
8004
+ __decorate$b([
7738
8005
  Event()
7739
8006
  ], TreeGrid.prototype, "pdfHeaderQueryCellInfo", void 0);
7740
- __decorate([
8007
+ __decorate$b([
7741
8008
  Event()
7742
8009
  ], TreeGrid.prototype, "excelQueryCellInfo", void 0);
7743
- __decorate([
8010
+ __decorate$b([
7744
8011
  Event()
7745
8012
  ], TreeGrid.prototype, "excelHeaderQueryCellInfo", void 0);
7746
- __decorate([
8013
+ __decorate$b([
7747
8014
  Event()
7748
8015
  ], TreeGrid.prototype, "beforeExcelExport", void 0);
7749
- __decorate([
8016
+ __decorate$b([
7750
8017
  Event()
7751
8018
  ], TreeGrid.prototype, "excelExportComplete", void 0);
7752
- __decorate([
8019
+ __decorate$b([
7753
8020
  Event()
7754
8021
  ], TreeGrid.prototype, "beforePdfExport", void 0);
7755
- __decorate([
8022
+ __decorate$b([
7756
8023
  Event()
7757
8024
  ], TreeGrid.prototype, "pdfExportComplete", void 0);
7758
- TreeGrid = TreeGrid_1 = __decorate([
8025
+ TreeGrid = TreeGrid_1 = __decorate$b([
7759
8026
  NotifyPropertyChanges
7760
8027
  ], TreeGrid);
7761
8028
 
@@ -7764,14 +8031,14 @@ TreeGrid = TreeGrid_1 = __decorate([
7764
8031
  *
7765
8032
  * @hidden
7766
8033
  */
7767
- class Reorder$1 {
8034
+ class Reorder {
7768
8035
  /**
7769
8036
  * Constructor for Reorder module
7770
8037
  *
7771
8038
  * @param {TreeGrid} parent - Tree Grid instance
7772
8039
  */
7773
8040
  constructor(parent) {
7774
- Grid.Inject(Reorder);
8041
+ Grid.Inject(Reorder$1);
7775
8042
  this.parent = parent;
7776
8043
  this.addEventListener();
7777
8044
  }
@@ -7828,14 +8095,14 @@ class Reorder$1 {
7828
8095
  *
7829
8096
  * @hidden
7830
8097
  */
7831
- class Resize$1 {
8098
+ class Resize {
7832
8099
  /**
7833
8100
  * Constructor for Resize module
7834
8101
  *
7835
8102
  * @param {TreeGrid} parent - Tree Grid instance
7836
8103
  */
7837
8104
  constructor(parent) {
7838
- Grid.Inject(Resize);
8105
+ Grid.Inject(Resize$1);
7839
8106
  this.parent = parent;
7840
8107
  }
7841
8108
  /**
@@ -7875,7 +8142,7 @@ class Resize$1 {
7875
8142
  *
7876
8143
  * @hidden
7877
8144
  */
7878
- class RowDD$1 {
8145
+ class RowDD {
7879
8146
  /**
7880
8147
  * Constructor for render module
7881
8148
  *
@@ -7896,7 +8163,7 @@ class RowDD$1 {
7896
8163
  this.hasDropItem = true;
7897
8164
  /** @hidden */
7898
8165
  this.isaddtoBottom = false;
7899
- Grid.Inject(RowDD);
8166
+ Grid.Inject(RowDD$1);
7900
8167
  this.parent = parent;
7901
8168
  this.addEventListener();
7902
8169
  }
@@ -8167,15 +8434,17 @@ class RowDD$1 {
8167
8434
  !Object.prototype.hasOwnProperty.call(draggedRecord.taskData, tObj.childMapping)) {
8168
8435
  draggedRecord.taskData[tObj.childMapping] = [];
8169
8436
  }
8170
- if (Object.prototype.hasOwnProperty.call(draggedRecord, tObj.childMapping) &&
8171
- (draggedRecord[tObj.childMapping]).length && !this.isDraggedWithChild &&
8172
- !isNullOrUndefined(tObj.parentIdMapping)) {
8173
- const childData = (draggedRecord[tObj.childMapping]);
8174
- for (let j = 0; j < childData.length; j++) {
8175
- if (dragRecords.indexOf(childData[parseInt(j.toString(), 10)]) === -1) {
8176
- dragRecords.splice(j, 0, childData[parseInt(j.toString(), 10)]);
8177
- childData[parseInt(j.toString(), 10)].taskData = extend({}, childData[parseInt(j.toString(), 10)]);
8178
- i += 1;
8437
+ if (!isNullOrUndefined(draggedRecord[tObj.childMapping])) {
8438
+ if (Object.prototype.hasOwnProperty.call(draggedRecord, tObj.childMapping) &&
8439
+ (draggedRecord[tObj.childMapping]).length && !this.isDraggedWithChild &&
8440
+ !isNullOrUndefined(tObj.parentIdMapping)) {
8441
+ const childData = (draggedRecord[tObj.childMapping]);
8442
+ for (let j = 0; j < childData.length; j++) {
8443
+ if (dragRecords.indexOf(childData[parseInt(j.toString(), 10)]) === -1) {
8444
+ dragRecords.splice(j, 0, childData[parseInt(j.toString(), 10)]);
8445
+ childData[parseInt(j.toString(), 10)].taskData = extend$1({}, childData[parseInt(j.toString(), 10)]);
8446
+ i += 1;
8447
+ }
8179
8448
  }
8180
8449
  }
8181
8450
  }
@@ -8249,13 +8518,22 @@ class RowDD$1 {
8249
8518
  else {
8250
8519
  tempDataSource = proxy.dataSource;
8251
8520
  }
8252
- // eslint-disable-next-line max-len
8253
- if (tempDataSource && (!isNullOrUndefined(droppedRecord) && !droppedRecord.parentItem) && !isNullOrUndefined(droppedRecord.taskData)) {
8521
+ if (tempDataSource && (!isNullOrUndefined(droppedRecord) && !droppedRecord.parentItem)
8522
+ && !isNullOrUndefined(droppedRecord.taskData)) {
8254
8523
  const keys = Object.keys(tempDataSource);
8255
8524
  for (let i = 0; i < keys.length; i++) {
8256
- if (tempDataSource[parseInt(i.toString(), 10)][this.parent.childMapping] ===
8257
- droppedRecord.taskData[this.parent.childMapping]) {
8258
- idx = i;
8525
+ if (tempDataSource[parseInt(i.toString(), 10)][this.parent.childMapping]) {
8526
+ if (tempDataSource[parseInt(i.toString(), 10)][this.parent.childMapping] ===
8527
+ droppedRecord.taskData[this.parent.childMapping]) {
8528
+ idx = i;
8529
+ }
8530
+ }
8531
+ else {
8532
+ const primaryKeyField = this.parent.getPrimaryKeyFieldNames()[0];
8533
+ if (tempDataSource[parseInt(i.toString(), 10)][`${primaryKeyField}`] ===
8534
+ droppedRecord.taskData[`${primaryKeyField}`]) {
8535
+ idx = i;
8536
+ }
8259
8537
  }
8260
8538
  }
8261
8539
  if (this.dropPosition === 'topSegment') {
@@ -8464,16 +8742,16 @@ class RowDD$1 {
8464
8742
  classList(ele, ['e-errorcontainer'], []);
8465
8743
  classList(ele, ['e-icons', 'e-errorelem'], []);
8466
8744
  const errorVal = dragelem.querySelector('.errorValue');
8467
- let content$$1 = dragelem.querySelector('.e-rowcell').innerHTML;
8745
+ let content = dragelem.querySelector('.e-rowcell').innerHTML;
8468
8746
  if (errorVal) {
8469
- content$$1 = this.parent[`${sanitize}`](errorVal.innerHTML);
8747
+ content = this.parent[`${sanitize}`](errorVal.innerHTML);
8470
8748
  errorVal.parentNode.removeChild(errorVal);
8471
8749
  }
8472
8750
  dragelem.querySelector('.e-rowcell').innerHTML = '';
8473
8751
  const spanContent = document.createElement('span');
8474
8752
  spanContent.className = 'errorValue';
8475
8753
  spanContent.style.paddingLeft = '16px';
8476
- spanContent.innerHTML = this.parent[`${sanitize}`](content$$1);
8754
+ spanContent.innerHTML = this.parent[`${sanitize}`](content);
8477
8755
  dragelem.querySelector('.e-rowcell').appendChild(ele);
8478
8756
  dragelem.querySelector('.e-rowcell').appendChild(spanContent);
8479
8757
  const dropItemSpan = document.querySelector('.e-dropitemscount');
@@ -8574,7 +8852,7 @@ class RowDD$1 {
8574
8852
  this.canDrop = false;
8575
8853
  this.addErrorElem();
8576
8854
  }
8577
- if (!tObj.rowDropSettings.targetID && this.canDrop) {
8855
+ if (!tObj.rowDropSettings.targetID && this.canDrop && !isNullOrUndefined(args.rows[0])) {
8578
8856
  tObj.rowDragAndDropModule.updateIcon(args.rows, rowIdx, args);
8579
8857
  }
8580
8858
  if (isNullOrUndefined(tObj.rowDropSettings.targetID) && !this.canDrop) {
@@ -8818,7 +9096,7 @@ class RowDD$1 {
8818
9096
  for (let i = 0; i < dragLength; i++) {
8819
9097
  draggedRecord = dragRecords[parseInt(i.toString(), 10)];
8820
9098
  this.draggedRecord = draggedRecord;
8821
- if (this.dropPosition !== 'Invalid') {
9099
+ if (this.dropPosition !== 'Invalid' && !isNullOrUndefined(this.droppedRecord)) {
8822
9100
  if (!tObj.rowDropSettings.targetID || isByMethod) {
8823
9101
  this.deleteDragRow();
8824
9102
  }
@@ -8962,7 +9240,7 @@ class RowDD$1 {
8962
9240
  }
8963
9241
  }
8964
9242
  if (this.dropPosition === 'middleSegment') {
8965
- const parentItem = extend({}, droppedRecord);
9243
+ const parentItem = extend$1({}, droppedRecord);
8966
9244
  delete parentItem.childRecords;
8967
9245
  draggedRecord.parentItem = parentItem;
8968
9246
  draggedRecord.parentUniqueID = droppedRecord.uniqueID;
@@ -9253,28 +9531,20 @@ class RowDD$1 {
9253
9531
  }
9254
9532
  }
9255
9533
 
9256
- /**
9257
- * Base export
9258
- */
9259
-
9260
- var __decorate$12 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
9261
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
9262
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
9263
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
9264
- return c > 3 && r && Object.defineProperty(target, key, r), r;
9265
- };
9534
+ var __decorate$c = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
9535
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
9536
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
9537
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
9538
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
9539
+ };
9266
9540
  /**
9267
9541
  * Configures the row drop settings of the TreeGrid.
9268
9542
  */
9269
- class RowDropSettings$1 extends ChildProperty {
9543
+ class RowDropSettings extends ChildProperty {
9270
9544
  }
9271
- __decorate$12([
9545
+ __decorate$c([
9272
9546
  Property()
9273
- ], RowDropSettings$1.prototype, "targetID", void 0);
9274
-
9275
- /**
9276
- * Models export
9277
- */
9547
+ ], RowDropSettings.prototype, "targetID", void 0);
9278
9548
 
9279
9549
  /**
9280
9550
  * RowModelGenerator is used to generate grid data rows.
@@ -9328,8 +9598,8 @@ class TreeVirtualRowModelGenerator extends VirtualRowModelGenerator {
9328
9598
  const rows = super.generateRows(data, notifyArgs);
9329
9599
  if (!isNullOrUndefined((this.visualData))) {
9330
9600
  for (let r = 0; r < rows.length; r++) {
9331
- rows[parseInt(r.toString(), 10)].index =
9332
- (this.visualData).indexOf(rows[parseInt(r.toString(), 10)].data);
9601
+ rows[parseInt(r.toString(), 10)].index
9602
+ = (this.visualData).indexOf(rows[parseInt(r.toString(), 10)].data);
9333
9603
  }
9334
9604
  }
9335
9605
  return rows;
@@ -9368,23 +9638,19 @@ class TreeVirtualRowModelGenerator extends VirtualRowModelGenerator {
9368
9638
  }
9369
9639
  }
9370
9640
 
9371
- /**
9372
- * Renderer export
9373
- */
9374
-
9375
9641
  /**
9376
9642
  * TreeGrid Filter module will handle filtering action
9377
9643
  *
9378
9644
  * @hidden
9379
9645
  */
9380
- class Filter$1 {
9646
+ class Filter {
9381
9647
  /**
9382
9648
  * Constructor for Filter module
9383
9649
  *
9384
9650
  * @param {TreeGrid} parent - Tree Grid instance
9385
9651
  */
9386
9652
  constructor(parent) {
9387
- Grid.Inject(Filter);
9653
+ Grid.Inject(Filter$1);
9388
9654
  this.parent = parent;
9389
9655
  this.isHierarchyFilter = false;
9390
9656
  this.filteredResult = [];
@@ -9606,7 +9872,7 @@ class Filter$1 {
9606
9872
  *
9607
9873
  * @hidden
9608
9874
  */
9609
- class ExcelExport$1 {
9875
+ class ExcelExport {
9610
9876
  /**
9611
9877
  * Constructor for Excel Export module
9612
9878
  *
@@ -9614,7 +9880,7 @@ class ExcelExport$1 {
9614
9880
  */
9615
9881
  constructor(parent) {
9616
9882
  this.isCollapsedStatePersist = false;
9617
- Grid.Inject(ExcelExport);
9883
+ Grid.Inject(ExcelExport$1);
9618
9884
  this.parent = parent;
9619
9885
  this.dataResults = {};
9620
9886
  this.addEventListener();
@@ -9667,15 +9933,21 @@ class ExcelExport$1 {
9667
9933
  /* eslint-disable-next-line */
9668
9934
  isMultipleExport, workbook, isBlob, isCsv) {
9669
9935
  const dataSource = this.parent.dataSource;
9936
+ const data = new Data(this.parent.grid);
9670
9937
  const property = Object();
9671
9938
  setValue('isCsv', isCsv, property);
9672
9939
  setValue('cancel', false, property);
9673
9940
  if (!isNullOrUndefined(excelExportProperties)) {
9674
9941
  this.isCollapsedStatePersist = excelExportProperties.isCollapsedStatePersist;
9675
9942
  }
9676
- if (!isNullOrUndefined(excelExportProperties) && !isNullOrUndefined(excelExportProperties.dataSource)
9677
- && !isNullOrUndefined(excelExportProperties.dataSource instanceof DataManager)) {
9678
- return this.parent.grid.excelExportModule.Map(this.parent.grid, excelExportProperties, isMultipleExport, workbook, isCsv, isBlob);
9943
+ if (!isNullOrUndefined(excelExportProperties)) {
9944
+ if (!isNullOrUndefined(excelExportProperties.dataSource) && !excelExportProperties.dataSource['dataSource']) {
9945
+ return this.parent.grid.excelExportModule.Map(this.parent.grid, excelExportProperties, isMultipleExport, workbook, isCsv, isBlob);
9946
+ }
9947
+ if (excelExportProperties.exportType === 'CurrentPage') {
9948
+ excelExportProperties.dataSource = this.parent.getCurrentViewRecords();
9949
+ return this.parent.grid.excelExportModule.Map(this.parent.grid, excelExportProperties, isMultipleExport, workbook, isCsv, isBlob);
9950
+ }
9679
9951
  }
9680
9952
  return new Promise((resolve) => {
9681
9953
  const dm = this.isLocal() && !(dataSource instanceof DataManager) ? new DataManager(dataSource)
@@ -9684,9 +9956,14 @@ class ExcelExport$1 {
9684
9956
  if (!this.isLocal()) {
9685
9957
  query = this.generateQuery(query);
9686
9958
  query.queries = this.parent.grid.getDataModule().generateQuery().queries;
9959
+ query = ExportHelper.getQuery(this.parent.grid, data);
9960
+ if (isNullOrUndefined(this.parent.filterModule)) {
9961
+ query.queries = query.queries.slice(1, 2);
9962
+ query.params = query.params.slice(0, 0);
9963
+ }
9687
9964
  setValue('query', query, property);
9688
9965
  }
9689
- this.parent.trigger(beforeExcelExport, extend(property, excelExportProperties));
9966
+ this.parent.trigger(beforeExcelExport, extend$1(property, excelExportProperties));
9690
9967
  if (getObject('cancel', property)) {
9691
9968
  return null;
9692
9969
  }
@@ -9811,14 +10088,14 @@ class ExcelExport$1 {
9811
10088
  *
9812
10089
  * @hidden
9813
10090
  */
9814
- class PdfExport$1 {
10091
+ class PdfExport {
9815
10092
  /**
9816
10093
  * Constructor for PDF export module
9817
10094
  *
9818
10095
  * @param {TreeGrid} parent - Tree Grid instance
9819
10096
  */
9820
10097
  constructor(parent) {
9821
- Grid.Inject(PdfExport);
10098
+ Grid.Inject(PdfExport$1);
9822
10099
  this.parent = parent;
9823
10100
  this.dataResults = {};
9824
10101
  this.addEventListener();
@@ -9876,7 +10153,7 @@ class PdfExport$1 {
9876
10153
  query = this.generateQuery(query);
9877
10154
  setValue('query', query, prop);
9878
10155
  }
9879
- this.parent.trigger(beforePdfExport, extend(prop, pdfExportProperties));
10156
+ this.parent.trigger(beforePdfExport, extend$1(prop, pdfExportProperties));
9880
10157
  if (getObject('cancel', prop)) {
9881
10158
  return null;
9882
10159
  }
@@ -9971,9 +10248,9 @@ class PdfExport$1 {
9971
10248
  *
9972
10249
  * @hidden
9973
10250
  */
9974
- class Page$1 {
10251
+ class Page {
9975
10252
  constructor(parent) {
9976
- Grid.Inject(Page);
10253
+ Grid.Inject(Page$1);
9977
10254
  this.parent = parent;
9978
10255
  this.addEventListener();
9979
10256
  }
@@ -10038,6 +10315,10 @@ class Page$1 {
10038
10315
  * @returns {void}
10039
10316
  */
10040
10317
  updateExternalMessage(message) {
10318
+ if (isNullOrUndefined(message)) {
10319
+ const error = 'The provided value for the message is undefined. Please ensure the message contains string.';
10320
+ this.parent.trigger(actionFailure, { error: error });
10321
+ }
10041
10322
  this.parent.grid.pagerModule.updateExternalMessage(message);
10042
10323
  }
10043
10324
  /**
@@ -10134,8 +10415,8 @@ class Page$1 {
10134
10415
  }
10135
10416
  else {
10136
10417
  const dm = new DataManager(pageingDetails.result);
10137
- const expanded$$1 = new Predicate('expanded', 'notequal', null).or('expanded', 'notequal', undefined);
10138
- const parents = dm.executeLocal(new Query().where(expanded$$1));
10418
+ const expanded = new Predicate$1('expanded', 'notequal', null).or('expanded', 'notequal', undefined);
10419
+ const parents = dm.executeLocal(new Query().where(expanded));
10139
10420
  let visualData;
10140
10421
  if (isFilterChildHierarchy(this.parent) && (pageingDetails.actionArgs.action !== 'collapse' &&
10141
10422
  pageingDetails.actionArgs.action !== 'expand')) {
@@ -10143,7 +10424,7 @@ class Page$1 {
10143
10424
  }
10144
10425
  else {
10145
10426
  visualData = parents.filter((e) => {
10146
- return getExpandStatus(this.parent, e, parents);
10427
+ return getExpandStatus(this.parent, e);
10147
10428
  });
10148
10429
  }
10149
10430
  pageingDetails.count = visualData.length;
@@ -10170,9 +10451,9 @@ class Page$1 {
10170
10451
  *
10171
10452
  * @hidden
10172
10453
  */
10173
- class Toolbar$1 {
10454
+ class Toolbar {
10174
10455
  constructor(parent) {
10175
- Grid.Inject(Toolbar);
10456
+ Grid.Inject(Toolbar$1);
10176
10457
  this.parent = parent;
10177
10458
  this.addEventListener();
10178
10459
  }
@@ -10319,14 +10600,14 @@ class Toolbar$1 {
10319
10600
  *
10320
10601
  * @hidden
10321
10602
  */
10322
- class Aggregate$1 {
10603
+ class Aggregate {
10323
10604
  /**
10324
10605
  * Constructor for Aggregate module
10325
10606
  *
10326
10607
  * @param {TreeGrid} parent - Tree Grid instance
10327
10608
  */
10328
10609
  constructor(parent) {
10329
- Grid.Inject(Aggregate);
10610
+ Grid.Inject(Aggregate$1);
10330
10611
  this.parent = parent;
10331
10612
  this.flatChildRecords = [];
10332
10613
  this.summaryQuery = [];
@@ -10394,7 +10675,7 @@ class Aggregate$1 {
10394
10675
  }
10395
10676
  });
10396
10677
  const currentIndex = idx + childRecordsLength + summaryRowIndex;
10397
- const summaryParent = extend({}, parentRecord);
10678
+ const summaryParent = extend$1({}, parentRecord);
10398
10679
  delete summaryParent.childRecords;
10399
10680
  delete summaryParent[this.parent.childMapping];
10400
10681
  setValue('parentItem', summaryParent, item);
@@ -10560,9 +10841,9 @@ class Aggregate$1 {
10560
10841
  *
10561
10842
  * @hidden
10562
10843
  */
10563
- class Sort$1 {
10844
+ class Sort {
10564
10845
  constructor(grid) {
10565
- Grid.Inject(Sort);
10846
+ Grid.Inject(Sort$1);
10566
10847
  this.parent = grid;
10567
10848
  this.taskIds = [];
10568
10849
  this.flatSortedData = [];
@@ -10683,14 +10964,14 @@ class Sort$1 {
10683
10964
  *
10684
10965
  * @hidden
10685
10966
  */
10686
- class ColumnMenu$1 {
10967
+ class ColumnMenu {
10687
10968
  /**
10688
10969
  * Constructor for render module
10689
10970
  *
10690
10971
  * @param {TreeGrid} parent - Tree Grid instance
10691
10972
  */
10692
10973
  constructor(parent) {
10693
- Grid.Inject(ColumnMenu);
10974
+ Grid.Inject(ColumnMenu$1);
10694
10975
  this.parent = parent;
10695
10976
  }
10696
10977
  getColumnMenu() {
@@ -10715,9 +10996,9 @@ class ColumnMenu$1 {
10715
10996
  *
10716
10997
  * @hidden
10717
10998
  */
10718
- class ContextMenu$1 {
10999
+ class ContextMenu {
10719
11000
  constructor(parent) {
10720
- Grid.Inject(ContextMenu);
11001
+ Grid.Inject(ContextMenu$1);
10721
11002
  this.parent = parent;
10722
11003
  this.addEventListener();
10723
11004
  }
@@ -10997,7 +11278,7 @@ class BatchEdit {
10997
11278
  if (this.parent.editSettings.newRowPosition === 'Child') {
10998
11279
  added.primaryParent = parentRecord;
10999
11280
  if (this.selectedIndex > -1) {
11000
- added.parentItem = extend({}, this.batchRecords[this.addRowIndex]);
11281
+ added.parentItem = extend$1({}, this.batchRecords[this.addRowIndex]);
11001
11282
  added.parentUniqueID = added.parentItem.uniqueID;
11002
11283
  delete added.parentItem.childRecords;
11003
11284
  delete added.parentItem[this.parent.childMapping];
@@ -11106,13 +11387,13 @@ class BatchEdit {
11106
11387
  this.updateRowIndex();
11107
11388
  // update focus module, need to refix this once grid source modified.
11108
11389
  const focusModule = getValue('focusModule', this.parent.grid);
11109
- const table$$1 = this.parent.getContentTable();
11390
+ const table = this.parent.getContentTable();
11110
11391
  if (this.parent.getBatchChanges()[this.deletedRecords].length && this.parent.editSettings.newRowPosition === 'Above') {
11111
11392
  actualIndex = e.row.rowIndex;
11112
11393
  focusModule.getContent().matrix.matrix = this.matrix;
11113
11394
  }
11114
11395
  else {
11115
- actualIndex = table$$1.getElementsByClassName('e-batchrow')[0].rowIndex;
11396
+ actualIndex = table.getElementsByClassName('e-batchrow')[0].rowIndex;
11116
11397
  // if (this.parent.frozenRows || this.parent.frozenColumns) {
11117
11398
  // actualIndex = this.batchIndex;
11118
11399
  // }
@@ -11340,7 +11621,7 @@ class BatchEdit {
11340
11621
  addRecords.reverse();
11341
11622
  }
11342
11623
  for (i = 0; i < addRecords.length; i++) {
11343
- const taskData = extend({}, addRecords[parseInt(i.toString(), 10)]);
11624
+ const taskData = extend$1({}, addRecords[parseInt(i.toString(), 10)]);
11344
11625
  delete taskData.parentItem;
11345
11626
  delete taskData.uniqueID;
11346
11627
  delete taskData.index;
@@ -11464,7 +11745,7 @@ class BatchEdit {
11464
11745
  * TreeGrid Edit Module
11465
11746
  * The `Edit` module is used to handle editing actions.
11466
11747
  */
11467
- class Edit$1 {
11748
+ class Edit {
11468
11749
  /**
11469
11750
  * Constructor for Edit module
11470
11751
  *
@@ -11476,7 +11757,7 @@ class Edit$1 {
11476
11757
  this.prevAriaRowIndex = '-1';
11477
11758
  this.isAddedRowByMethod = false;
11478
11759
  this.isAddedRowByContextMenu = false;
11479
- Grid.Inject(Edit);
11760
+ Grid.Inject(Edit$1);
11480
11761
  this.parent = parent;
11481
11762
  this.isSelfReference = !isNullOrUndefined(parent.parentIdMapping);
11482
11763
  this.previousNewRowPosition = null;
@@ -11600,8 +11881,9 @@ class Edit$1 {
11600
11881
  const eventArgs = getObject('editAction', args);
11601
11882
  const eventName = getObject('name', eventArgs);
11602
11883
  const treeObj = this.parent;
11603
- const adaptor = treeObj.dataSource.adaptor;
11604
- if ((isRemoteData(treeObj) || adaptor instanceof RemoteSaveAdaptor) &&
11884
+ const adaptor = !isNullOrUndefined(treeObj.dataSource)
11885
+ && treeObj.dataSource.adaptor;
11886
+ if (!isNullOrUndefined(adaptor) && (isRemoteData(treeObj) || adaptor instanceof RemoteSaveAdaptor) &&
11605
11887
  (eventArgs.requestType === 'save' && eventArgs.action === 'add') &&
11606
11888
  (treeObj.editSettings.newRowPosition === 'Child' || treeObj.editSettings.newRowPosition === 'Below'
11607
11889
  || treeObj.editSettings.newRowPosition === 'Above')) {
@@ -11816,7 +12098,7 @@ class Edit$1 {
11816
12098
  customCellSave(args) {
11817
12099
  if (isCountRequired(this.parent) && this.parent.editSettings.mode === 'Cell' && args.action === 'edit') {
11818
12100
  this.updateCell(args, args.rowIndex);
11819
- this.afterCellSave(args, args.row, args.rowIndex);
12101
+ this.afterCellSave(args, args.row);
11820
12102
  }
11821
12103
  }
11822
12104
  cellSave(args) {
@@ -11859,7 +12141,7 @@ class Edit$1 {
11859
12141
  }
11860
12142
  }
11861
12143
  const arg = {};
11862
- extend(arg, args);
12144
+ extend$1(arg, args);
11863
12145
  arg.cancel = false;
11864
12146
  arg.type = 'save';
11865
12147
  row = this.parent.grid.getRows()[row.rowIndex];
@@ -11880,7 +12162,7 @@ class Edit$1 {
11880
12162
  else {
11881
12163
  this.updateCell(args, rowIndex);
11882
12164
  setValue('isEdit', false, this.parent.grid);
11883
- this.afterCellSave(args, row, rowIndex);
12165
+ this.afterCellSave(args, row);
11884
12166
  }
11885
12167
  }
11886
12168
  else if (isRemoteData(this.parent) ||
@@ -11889,7 +12171,7 @@ class Edit$1 {
11889
12171
  if (this.parent['isGantt'] && !this.parent.loadChildOnDemand) {
11890
12172
  this.updateCell(args, rowIndex);
11891
12173
  setValue('isEdit', false, this.parent.grid);
11892
- this.afterCellSave(args, row, rowIndex);
12174
+ this.afterCellSave(args, row);
11893
12175
  }
11894
12176
  else {
11895
12177
  let crud = null;
@@ -11900,7 +12182,7 @@ class Edit$1 {
11900
12182
  }
11901
12183
  this.updateCell(args, rowIndex);
11902
12184
  setValue('isEdit', false, this.parent.grid);
11903
- this.afterCellSave(args, row, rowIndex);
12185
+ this.afterCellSave(args, row);
11904
12186
  });
11905
12187
  }
11906
12188
  }
@@ -11913,7 +12195,7 @@ class Edit$1 {
11913
12195
  this.parent.grid.contentModule['virtualData'] = {};
11914
12196
  }
11915
12197
  }
11916
- afterCellSave(args, row, rowIndex) {
12198
+ afterCellSave(args, row) {
11917
12199
  if (this.parent.grid.aggregateModule) {
11918
12200
  this.parent.grid.aggregateModule.refresh(args.rowData);
11919
12201
  }
@@ -12033,9 +12315,9 @@ class Edit$1 {
12033
12315
  if (!isNullOrUndefined(treecell)) {
12034
12316
  for (let l = 0; l < treecell.classList.length; l++) {
12035
12317
  const value = treecell.classList[parseInt(l.toString(), 10)];
12036
- const remove$$1 = /e-gridrowindex/i;
12318
+ const remove = /e-gridrowindex/i;
12037
12319
  const removed = /e-griddetailrowindex/i;
12038
- const result = value.match(remove$$1);
12320
+ const result = value.match(remove);
12039
12321
  const results = value.match(removed);
12040
12322
  if (result != null) {
12041
12323
  removeClass([treecell], value);
@@ -12242,6 +12524,7 @@ class Edit$1 {
12242
12524
  this.addRowIndex = this.parent.grid.selectedRowIndex > -1 ? this.parent.grid.selectedRowIndex : 0;
12243
12525
  }
12244
12526
  }
12527
+ const selectedRecords = this.parent.getSelectedRecords()[0];
12245
12528
  if ((this.isAddedRowByMethod || (this.isAddedRowByContextMenu && this.parent.grid.selectedRowIndex !== -1)) &&
12246
12529
  (this.parent.enableVirtualization || this.parent.enableInfiniteScrolling)) {
12247
12530
  this.addRowRecord = this.parent.flatData[this.parent.grid.selectedRowIndex];
@@ -12249,8 +12532,8 @@ class Edit$1 {
12249
12532
  this.addRowRecord = this.parent.getCurrentViewRecords()[this.addRowIndex];
12250
12533
  }
12251
12534
  }
12252
- else {
12253
- this.addRowRecord = this.parent.getSelectedRecords()[0];
12535
+ else if (!isNullOrUndefined(selectedRecords)) {
12536
+ this.addRowRecord = selectedRecords;
12254
12537
  }
12255
12538
  }
12256
12539
  if (this.isAddedRowByMethod && args.index !== 0) {
@@ -12286,7 +12569,7 @@ class Edit$1 {
12286
12569
  if (args.action === 'add') {
12287
12570
  const key = this.parent.grid.getPrimaryKeyFieldNames()[0];
12288
12571
  let position = null;
12289
- value.taskData = isNullOrUndefined(value.taskData) ? extend({}, args.data) : value.taskData;
12572
+ value.taskData = isNullOrUndefined(value.taskData) ? extend$1({}, args.data) : value.taskData;
12290
12573
  let currentData;
12291
12574
  if (this.parent.enableVirtualization && args.index !== 0) {
12292
12575
  currentData = this.parent.flatData;
@@ -12338,7 +12621,7 @@ class Edit$1 {
12338
12621
  else if (this.parent.editSettings.newRowPosition === 'Child') {
12339
12622
  position = 'after';
12340
12623
  if ((this.selectedIndex > -1 || isVirtualization) && withinRange) {
12341
- value.parentItem = extend({}, currentData[this.addRowIndex]);
12624
+ value.parentItem = extend$1({}, currentData[this.addRowIndex]);
12342
12625
  value.parentUniqueID = value.parentItem.uniqueID;
12343
12626
  delete value.parentItem.childRecords;
12344
12627
  delete value.parentItem[this.parent.childMapping];
@@ -12364,7 +12647,7 @@ class Edit$1 {
12364
12647
  if (this.parent.editSettings.newRowPosition === 'Above' || this.parent.editSettings.newRowPosition === 'Below') {
12365
12648
  if ((this.selectedIndex > -1 || isVirtualization) && level && withinRange) {
12366
12649
  value.parentUniqueID = parentUniqueID;
12367
- value.parentItem = extend({}, parentItem);
12650
+ value.parentItem = extend$1({}, parentItem);
12368
12651
  delete value.parentItem.childRecords;
12369
12652
  delete value.parentItem[this.parent.childMapping];
12370
12653
  }
@@ -12505,9 +12788,9 @@ class Edit$1 {
12505
12788
  *
12506
12789
  * @hidden
12507
12790
  */
12508
- class CommandColumn$1 {
12791
+ class CommandColumn {
12509
12792
  constructor(parent) {
12510
- Grid.Inject(CommandColumn);
12793
+ Grid.Inject(CommandColumn$1);
12511
12794
  this.parent = parent;
12512
12795
  }
12513
12796
  /**
@@ -12535,9 +12818,9 @@ class CommandColumn$1 {
12535
12818
  *
12536
12819
  * @hidden
12537
12820
  */
12538
- class DetailRow$1 {
12821
+ class DetailRow {
12539
12822
  constructor(parent) {
12540
- Grid.Inject(DetailRow);
12823
+ Grid.Inject(DetailRow$1);
12541
12824
  this.parent = parent;
12542
12825
  this.addEventListener();
12543
12826
  }
@@ -12676,6 +12959,7 @@ class VirtualTreeContentRenderer extends VirtualContentRenderer {
12676
12959
  getFrozenRightVirtualRowByIndex(index) {
12677
12960
  return this.getRowCollection(index, false, false, true);
12678
12961
  }
12962
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
12679
12963
  getRowCollection(index, isMovable, isRowObject, isFrozenRight) {
12680
12964
  const startIdx = parseInt(this.parent.getRows()[0].getAttribute(dataRowIndex), 10);
12681
12965
  const rowCollection = this.parent.getDataRows();
@@ -12708,10 +12992,10 @@ class VirtualTreeContentRenderer extends VirtualContentRenderer {
12708
12992
  }
12709
12993
  }
12710
12994
  indexModifier(args) {
12711
- const content$$1 = this.parent.getContent().querySelector('.e-content');
12995
+ const content = this.parent.getContent().querySelector('.e-content');
12712
12996
  if ((this.recordAdded || args.requestType === 'delete' && this.endIndex > args.count - this.parent.pageSettings.pageSize) && this.startIndex > -1 && this.endIndex > -1) {
12713
12997
  if (this.endIndex > args.count - this.parent.pageSettings.pageSize) {
12714
- const nextSetResIndex = ~~(content$$1.scrollTop / this.parent.getRowHeight());
12998
+ const nextSetResIndex = ~~(content.scrollTop / this.parent.getRowHeight());
12715
12999
  let lastIndex = nextSetResIndex + this.parent.getRows().length;
12716
13000
  if (lastIndex > args.count) {
12717
13001
  lastIndex = nextSetResIndex +
@@ -12839,8 +13123,9 @@ class VirtualTreeContentRenderer extends VirtualContentRenderer {
12839
13123
  super[`${dataBoundEve}`]();
12840
13124
  }
12841
13125
  rowSelectedEvent(args) {
12842
- const rowSelected$$1 = 'rowSelected';
12843
- super[`${rowSelected$$1}`](args);
13126
+ const rowSelected = 'rowSelected';
13127
+ super[`${rowSelected}`](args);
13128
+ this.parent.notify('virtualTransform', { requestType: 'transformChange' });
12844
13129
  }
12845
13130
  toSelectVirtualRow(args) {
12846
13131
  if (this.parent.isEdit) {
@@ -12925,8 +13210,8 @@ class VirtualTreeContentRenderer extends VirtualContentRenderer {
12925
13210
  }
12926
13211
  virtualEditSuccess() {
12927
13212
  const isAdd = 'isAdd';
12928
- const content$$1 = this.parent.getContent().querySelector('.e-content');
12929
- if (this[`${isAdd}`] && content$$1.querySelector('.e-addedrow')) {
13213
+ const content = this.parent.getContent().querySelector('.e-content');
13214
+ if (this[`${isAdd}`] && content.querySelector('.e-addedrow')) {
12930
13215
  this.recordAdded = true;
12931
13216
  }
12932
13217
  }
@@ -12940,8 +13225,8 @@ class VirtualTreeContentRenderer extends VirtualContentRenderer {
12940
13225
  }
12941
13226
  restoreNewRow() {
12942
13227
  const isAdd = 'isAdd';
12943
- const content$$1 = this.parent.getContent().querySelector('.e-content');
12944
- if (this[`${isAdd}`] && !content$$1.querySelector('.e-addedrow')) {
13228
+ const content = this.parent.getContent().querySelector('.e-content');
13229
+ if (this[`${isAdd}`] && !content.querySelector('.e-addedrow')) {
12945
13230
  this.parent.isEdit = false;
12946
13231
  this.parent.editModule.addRecord(null, this.parent.root.editModule.selectedIndex);
12947
13232
  }
@@ -12958,8 +13243,8 @@ class VirtualTreeContentRenderer extends VirtualContentRenderer {
12958
13243
  this.addRowIndex = addArgs.addRowIndex;
12959
13244
  this.dataRowIndex = this.parent.root.editModule.selectedIndex;
12960
13245
  }
12961
- const actionComplete$$1 = 'actionComplete';
12962
- super[`${actionComplete$$1}`](args);
13246
+ const actionComplete = 'actionComplete';
13247
+ super[`${actionComplete}`](args);
12963
13248
  }
12964
13249
  onEnteredAction() {
12965
13250
  return (element, current, direction, e, isWheel, check) => {
@@ -13007,21 +13292,25 @@ class VirtualTreeContentRenderer extends VirtualContentRenderer {
13007
13292
  const info = scrollArgs.sentinel;
13008
13293
  const rowHeight = this.parent.getRowHeight();
13009
13294
  const outBuffer = this.parent.pageSettings.pageSize - Math.ceil(this.parent.pageSettings.pageSize / 2);
13010
- const content$$1 = this.parent.getContent().querySelector('.e-content');
13295
+ let content;
13296
+ if (!isNullOrUndefined(this.parent.contentModule)) {
13297
+ content = this.parent.getContent().querySelector('.e-content');
13298
+ }
13011
13299
  const scrollHeight = outBuffer * rowHeight;
13012
- const upScroll = (scrollArgs.offset.top - this.translateY) < 0;
13300
+ const upScroll = (scrollArgs.offset.top - this.translateY) <= 0;
13013
13301
  const downScroll = Math.ceil(scrollArgs.offset.top - this.translateY) + rowHeight >= scrollHeight;
13014
13302
  const selectedRowIndex = 'selectedRowIndex';
13015
13303
  const currentViewData = this.parent.currentViewData;
13016
13304
  const indexValue = 'index';
13017
- if (upScroll && (scrollArgs.direction !== 'right' && scrollArgs.direction !== 'left')) {
13305
+ if (upScroll && (scrollArgs.direction !== 'right' && scrollArgs.direction !== 'left') && !isNullOrUndefined(content)) {
13018
13306
  const vHeight = +(this.parent.height.toString().indexOf('%') < 0 ? parseInt(this.parent.height.toString(), 10) :
13019
13307
  this.parent.element.getBoundingClientRect().height);
13020
- let index = (~~(content$$1.scrollTop / rowHeight)
13308
+ let index = (~~(content.scrollTop / rowHeight)
13021
13309
  + Math.ceil(vHeight / rowHeight))
13022
13310
  - this.parent.pageSettings.pageSize;
13023
13311
  index = (index > 0) ? index : 0;
13024
- if (!isNullOrUndefined(this[`${selectedRowIndex}`]) && this[`${selectedRowIndex}`] !== -1 && index !== this[`${selectedRowIndex}`]) {
13312
+ if (!isNullOrUndefined(this[`${selectedRowIndex}`]) && this[`${selectedRowIndex}`] !== -1 && index !== this[`${selectedRowIndex}`] &&
13313
+ ((this.parent.rowHeight * this.parent.pageSettings.pageSize) < content.scrollTop)) {
13025
13314
  index = this[`${selectedRowIndex}`];
13026
13315
  }
13027
13316
  this.startIndex = index;
@@ -13061,8 +13350,8 @@ class VirtualTreeContentRenderer extends VirtualContentRenderer {
13061
13350
  scrollArgs.offset.top - (outBuffer * rowHeight) + 10 : 0;
13062
13351
  }
13063
13352
  }
13064
- else if (downScroll && (scrollArgs.direction !== 'right' && scrollArgs.direction !== 'left')) {
13065
- let nextSetResIndex = ~~(content$$1.scrollTop / rowHeight);
13353
+ else if (downScroll && (scrollArgs.direction !== 'right' && scrollArgs.direction !== 'left') && !isNullOrUndefined(content)) {
13354
+ let nextSetResIndex = ~~(content.scrollTop / rowHeight);
13066
13355
  const isLastBlock = (this[`${selectedRowIndex}`] + this.parent.pageSettings.pageSize) < this.totalRecords ? false : true;
13067
13356
  if (!isNullOrUndefined(this[`${selectedRowIndex}`]) && this[`${selectedRowIndex}`] !== -1 &&
13068
13357
  nextSetResIndex !== this[`${selectedRowIndex}`] && !isLastBlock) {
@@ -13084,7 +13373,7 @@ class VirtualTreeContentRenderer extends VirtualContentRenderer {
13084
13373
  this.startIndex = currentViewData[0][`${indexValue}`] + (this.parent.pageSettings.pageSize / 2);
13085
13374
  }
13086
13375
  if (scrollArgs.offset.top > (rowHeight * this.totalRecords)) {
13087
- this.translateY = this.getTranslateY(scrollArgs.offset.top, content$$1.getBoundingClientRect().height);
13376
+ this.translateY = this.getTranslateY(scrollArgs.offset.top, content.getBoundingClientRect().height);
13088
13377
  }
13089
13378
  else {
13090
13379
  if (this.totalRecords === this.endIndex) {
@@ -13111,10 +13400,10 @@ class VirtualTreeContentRenderer extends VirtualContentRenderer {
13111
13400
  this.previousInfo = viewInfo;
13112
13401
  this.parent.setColumnIndexesInView(this.parent.enableColumnVirtualization ? viewInfo.columnIndexes : []);
13113
13402
  const page = viewInfo.loadNext && !viewInfo.loadSelf ? viewInfo.nextInfo.page : viewInfo.page;
13403
+ this.parent.setProperties({ pageSettings: { currentPage: page } }, true);
13114
13404
  if (downScroll && this.endIndex === this.totalRecords && viewInfo.loadNext) {
13115
13405
  viewInfo.loadNext = false;
13116
13406
  }
13117
- this.parent.setProperties({ pageSettings: { currentPage: page } }, true);
13118
13407
  this.requestType = 'virtualscroll';
13119
13408
  if (scrollArgs.direction !== 'right' && scrollArgs.direction !== 'left') {
13120
13409
  viewInfo.event = viewInfo.event === 'refresh-virtual-block' ? 'model-changed' : viewInfo.event;
@@ -13135,7 +13424,7 @@ class VirtualTreeContentRenderer extends VirtualContentRenderer {
13135
13424
  }
13136
13425
  appendContent(target, newChild, e) {
13137
13426
  if ((this.parent.dataSource instanceof DataManager && this.parent.dataSource.dataSource.url !== undefined
13138
- && !this.parent.dataSource.dataSource.offline && this.parent.dataSource.dataSource.url !== '') || isCountRequired(this.parent) || this.parent.isFrozenGrid()) {
13427
+ && !this.parent.dataSource.dataSource.offline && this.parent.dataSource.dataSource.url !== '') || isCountRequired(this.parent)) {
13139
13428
  if (getValue('isExpandCollapse', e)) {
13140
13429
  this.isRemoteExpand = true;
13141
13430
  }
@@ -13313,7 +13602,7 @@ class TreeInterSectionObserver extends InterSectionObserver {
13313
13602
  *
13314
13603
  * @hidden
13315
13604
  */
13316
- class VirtualScroll$1 {
13605
+ class VirtualScroll {
13317
13606
  /**
13318
13607
  * Constructor for VirtualScroll module
13319
13608
  *
@@ -13322,6 +13611,7 @@ class VirtualScroll$1 {
13322
13611
  constructor(parent) {
13323
13612
  this.prevstartIndex = -1;
13324
13613
  this.prevendIndex = -1;
13614
+ this.prevSelectedRecord = [];
13325
13615
  this.parent = parent;
13326
13616
  Grid.Inject(TreeVirtual);
13327
13617
  this.addEventListener();
@@ -13377,15 +13667,19 @@ class VirtualScroll$1 {
13377
13667
  this.parent.selectionSettings.mode === 'Row' && !this.parent.selectionSettings.persistSelection) {
13378
13668
  this.parent.grid.clearSelection();
13379
13669
  }
13670
+ if (getValue('isCollapseAll', this.parent) && this.parent.selectionSettings.persistSelection && this.parent.getSelectedRecords().length > 0) {
13671
+ this.prevSelectedRecord = this.parent.getSelectedRecords();
13672
+ this.parent.grid.clearSelection();
13673
+ }
13380
13674
  const requestType = getValue('isCollapseAll', this.parent) ? 'collapseAll' : 'refresh';
13381
13675
  getValue('grid.renderModule', this.parent).dataManagerSuccess(ret, { requestType: requestType });
13382
13676
  }
13383
13677
  virtualPageAction(pageingDetails) {
13384
13678
  const dm = new DataManager(pageingDetails.result);
13385
- const expanded$$1 = new Predicate('expanded', 'notequal', null).or('expanded', 'notequal', undefined);
13386
- const parents = dm.executeLocal(new Query().where(expanded$$1));
13679
+ const expanded = new Predicate$1('expanded', 'notequal', null).or('expanded', 'notequal', undefined);
13680
+ const parents = dm.executeLocal(new Query().where(expanded));
13387
13681
  const visualData = parents.filter((e) => {
13388
- return getExpandStatus(this.parent, e, parents);
13682
+ return getExpandStatus(this.parent, e);
13389
13683
  });
13390
13684
  this.visualData = visualData;
13391
13685
  pageingDetails.count = visualData.length;
@@ -13406,7 +13700,7 @@ class VirtualScroll$1 {
13406
13700
  }
13407
13701
  else {
13408
13702
  const requestType = pageingDetails.actionArgs.requestType;
13409
- if (requestType === 'filtering' || requestType === 'collapseAll' || requestType === 'searching' ||
13703
+ if (requestType === 'filtering' || requestType === 'collapseAll' || requestType === 'searching' || (requestType === 'refresh' && getValue('isExpandAll', this.parent)) ||
13410
13704
  (requestType === 'refresh' && this.parent.enableCollapseAll && endIndex > visualData.length && isNullOrUndefined(this.expandCollapseRec))) {
13411
13705
  startIndex = 0;
13412
13706
  endIndex = this.parent.grid.pageSettings.pageSize - 1;
@@ -13447,6 +13741,12 @@ class VirtualScroll$1 {
13447
13741
  }
13448
13742
  }
13449
13743
  //}
13744
+ if (this.prevrequestType === 'collapseAll' && pageingDetails.actionArgs.requestType === 'virtualscroll'
13745
+ && !isNullOrUndefined(this.parent.idMapping) && startIndex === 0) {
13746
+ startIndex = 0;
13747
+ endIndex = this.parent.grid.pageSettings.pageSize - 1;
13748
+ this.parent.grid.notify(virtualActionArgs, { setTop: true });
13749
+ }
13450
13750
  if ((this.parent.enableCollapseAll || this.parent.expandStateMapping) && !isNullOrUndefined(this.expandCollapseRec)) {
13451
13751
  if (pageingDetails.count < this.parent.getRows()[0].getBoundingClientRect().height) {
13452
13752
  startIndex = 0;
@@ -13465,6 +13765,7 @@ class VirtualScroll$1 {
13465
13765
  }
13466
13766
  this.prevstartIndex = startIndex;
13467
13767
  this.prevendIndex = endIndex;
13768
+ this.prevrequestType = pageingDetails.actionArgs.requestType;
13468
13769
  }
13469
13770
  this.parent.notify('updateAction', pageingDetails);
13470
13771
  }
@@ -13478,7 +13779,7 @@ class VirtualScroll$1 {
13478
13779
  this.removeEventListener();
13479
13780
  }
13480
13781
  }
13481
- class TreeVirtual extends VirtualScroll {
13782
+ class TreeVirtual extends VirtualScroll$1 {
13482
13783
  constructor(parent, locator) {
13483
13784
  super(parent, locator);
13484
13785
  getValue('parent', this).off('initial-load', getValue('instantiateRenderer', this), this);
@@ -13519,14 +13820,14 @@ class TreeVirtual extends VirtualScroll {
13519
13820
  *
13520
13821
  * @hidden
13521
13822
  */
13522
- class Freeze$1 {
13823
+ class Freeze {
13523
13824
  /**
13524
13825
  * Constructor for render module
13525
13826
  *
13526
13827
  * @param {TreeGrid} parent - Tree Grid instance
13527
13828
  */
13528
13829
  constructor(parent) {
13529
- Grid.Inject(Freeze);
13830
+ Grid.Inject(Freeze$1);
13530
13831
  this.parent = parent;
13531
13832
  this.addEventListener();
13532
13833
  }
@@ -13618,14 +13919,14 @@ class Freeze$1 {
13618
13919
  *
13619
13920
  * @hidden
13620
13921
  */
13621
- class ColumnChooser$1 {
13922
+ class ColumnChooser {
13622
13923
  /**
13623
13924
  * Constructor for render module
13624
13925
  *
13625
13926
  * @param {TreeGrid} parent - Tree Grid instance.
13626
13927
  */
13627
13928
  constructor(parent) {
13628
- Grid.Inject(ColumnChooser);
13929
+ Grid.Inject(ColumnChooser$1);
13629
13930
  this.parent = parent;
13630
13931
  }
13631
13932
  /**
@@ -13663,7 +13964,7 @@ class ColumnChooser$1 {
13663
13964
  *
13664
13965
  * @hidden
13665
13966
  */
13666
- class InfiniteScroll$1 {
13967
+ class InfiniteScroll {
13667
13968
  /**
13668
13969
  * Constructor for VirtualScroll module
13669
13970
  *
@@ -13671,7 +13972,7 @@ class InfiniteScroll$1 {
13671
13972
  */
13672
13973
  constructor(parent) {
13673
13974
  this.parent = parent;
13674
- Grid.Inject(InfiniteScroll);
13975
+ Grid.Inject(InfiniteScroll$1);
13675
13976
  this.addEventListener();
13676
13977
  }
13677
13978
  /**
@@ -13769,8 +14070,8 @@ class InfiniteScroll$1 {
13769
14070
  */
13770
14071
  infinitePageAction(pageingDetails) {
13771
14072
  const dm = new DataManager(pageingDetails.result);
13772
- const expanded$$1 = new Predicate('expanded', 'notequal', null).or('expanded', 'notequal', undefined);
13773
- const visualData = dm.executeLocal(new Query().where(expanded$$1));
14073
+ const expanded = new Predicate$1('expanded', 'notequal', null).or('expanded', 'notequal', undefined);
14074
+ const visualData = dm.executeLocal(new Query().where(expanded));
13774
14075
  const actionArgs = getValue('actionArgs', pageingDetails.actionArgs);
13775
14076
  const actions = getValue('actions', this.parent.grid.infiniteScrollModule);
13776
14077
  if (this.parent.grid.infiniteScrollModule['isInitialRender'] && !this.parent.initialRender) {
@@ -13960,17 +14261,5 @@ class InfiniteScroll$1 {
13960
14261
  }
13961
14262
  }
13962
14263
 
13963
- /**
13964
- * actions export
13965
- */
13966
-
13967
- /**
13968
- * TreeGrid component exported items
13969
- */
13970
-
13971
- /**
13972
- * Export TreeGrid component
13973
- */
13974
-
13975
- export { TreeGrid, load, rowDataBound, dataBound, queryCellInfo, beforeDataBound, actionBegin, dataStateChange, actionComplete, rowSelecting, rowSelected, checkboxChange, rowDeselected, toolbarClick, beforeExcelExport, beforePdfExport, resizeStop, expanded, expanding, collapsed, collapsing, remoteExpand, localPagedExpandCollapse, pagingActions, printGridInit, contextMenuOpen, contextMenuClick, beforeCopy, beforePaste, savePreviousRowPosition, crudAction, beginEdit, beginAdd, recordDoubleClick, cellSave, cellSaved, cellEdit, batchDelete, batchCancel, batchAdd, beforeBatchDelete, beforeBatchAdd, beforeBatchSave, batchSave, keyPressed, updateData, doubleTap, virtualColumnIndex, virtualActionArgs, destroy, dataListener, indexModifier, beforeStartEdit, beforeBatchCancel, batchEditFormRendered, detailDataBound, rowDrag, rowDragStartHelper, rowDrop, rowDragStart, rowsAdd, rowsRemove, rowdraging, rowDropped, autoCol, rowDeselecting, headerContent, movableContent, movableHeader, frozenContent, frozenHeader, content, table, leftRight, frozenRight, frozenLeft, dataColIndex, ariaColIndex, dataRowIndex, ariaRowIndex, DataManipulation, Reorder$1 as Reorder, Resize$1 as Resize, RowDD$1 as RowDD, Column, TreeGridColumn, StackedColumn, EditSettings, Predicate$1 as Predicate, FilterSettings, PageSettings, SearchSettings, SelectionSettings, AggregateColumn, AggregateRow, SortDescriptor, SortSettings, RowDropSettings$1 as RowDropSettings, InfiniteScrollSettings, LoadingIndicator, Render, TreeVirtualRowModelGenerator, isRemoteData, isCountRequired, isCheckboxcolumn, isFilterChildHierarchy, findParentRecords, getExpandStatus, findChildrenRecords, isOffline, extendArray, getPlainData, getParentData, isHidden, ToolbarItem, ContextMenuItems, Filter$1 as Filter, ExcelExport$1 as ExcelExport, PdfExport$1 as PdfExport, Page$1 as Page, Toolbar$1 as Toolbar, Aggregate$1 as Aggregate, Sort$1 as Sort, TreeClipboard, ColumnMenu$1 as ColumnMenu, ContextMenu$1 as ContextMenu, Edit$1 as Edit, CommandColumn$1 as CommandColumn, Selection, DetailRow$1 as DetailRow, VirtualScroll$1 as VirtualScroll, TreeVirtual, Freeze$1 as Freeze, ColumnChooser$1 as ColumnChooser, Logger$1 as Logger, treeGridDetails, InfiniteScroll$1 as InfiniteScroll };
14264
+ export { Aggregate, AggregateColumn, AggregateRow, Column, ColumnChooser, ColumnMenu, CommandColumn, ContextMenu, ContextMenuItems, DataManipulation, DetailRow, Edit, EditSettings, ExcelExport, Filter, FilterSettings, Freeze, InfiniteScroll, InfiniteScrollSettings, LoadingIndicator, Logger, Page, PageSettings, PdfExport, Predicate, Render, Reorder, Resize, RowDD, RowDropSettings, SearchSettings, Selection, SelectionSettings, Sort, SortDescriptor, SortSettings, StackedColumn, Toolbar, ToolbarItem, TreeClipboard, TreeGrid, TreeGridColumn, TreeVirtual, TreeVirtualRowModelGenerator, VirtualScroll, actionBegin, actionComplete, actionFailure, ariaColIndex, ariaRowIndex, autoCol, batchAdd, batchCancel, batchDelete, batchEditFormRendered, batchSave, beforeBatchAdd, beforeBatchCancel, beforeBatchDelete, beforeBatchSave, beforeCopy, beforeDataBound, beforeExcelExport, beforePaste, beforePdfExport, beforeStartEdit, beginAdd, beginEdit, cellEdit, cellSave, cellSaved, checkboxChange, collapsed, collapsing, content, contextMenuClick, contextMenuOpen, crudAction, dataBound, dataColIndex, dataListener, dataRowIndex, dataStateChange, destroy, detailDataBound, doubleTap, expanded, expanding, extendArray, findChildrenRecords, findParentRecords, frozenContent, frozenHeader, frozenLeft, frozenRight, getExpandStatus, getParentData, getPlainData, headerContent, indexModifier, isCheckboxcolumn, isCountRequired, isFilterChildHierarchy, isHidden, isOffline, isRemoteData, keyPressed, leftRight, load, localPagedExpandCollapse, movableContent, movableHeader, pagingActions, printGridInit, queryCellInfo, recordDoubleClick, remoteExpand, resizeStop, rowDataBound, rowDeselected, rowDeselecting, rowDrag, rowDragStart, rowDragStartHelper, rowDrop, rowDropped, rowSelected, rowSelecting, rowdraging, rowsAdd, rowsRemove, savePreviousRowPosition, table, toolbarClick, treeGridDetails, updateData, virtualActionArgs, virtualColumnIndex };
13976
14265
  //# sourceMappingURL=ej2-treegrid.es2015.js.map