@syncfusion/ej2-treegrid 33.2.12 → 34.1.29

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 (300) hide show
  1. package/dist/ej2-treegrid.min.js +2 -2
  2. package/dist/ej2-treegrid.umd.min.js +2 -2
  3. package/dist/ej2-treegrid.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-treegrid.es2015.js +101 -27
  5. package/dist/es6/ej2-treegrid.es2015.js.map +1 -1
  6. package/dist/es6/ej2-treegrid.es5.js +101 -27
  7. package/dist/es6/ej2-treegrid.es5.js.map +1 -1
  8. package/dist/global/ej2-treegrid.min.js +2 -2
  9. package/dist/global/ej2-treegrid.min.js.map +1 -1
  10. package/dist/global/index.d.ts +1 -1
  11. package/helpers/e2e/index.d.ts +1 -0
  12. package/helpers/e2e/index.js +8 -0
  13. package/helpers/e2e/treegridhelper.d.ts +21 -0
  14. package/helpers/e2e/treegridhelper.js +83 -0
  15. package/package.json +5 -5
  16. package/src/treegrid/actions/batch-edit.d.ts +1 -0
  17. package/src/treegrid/actions/batch-edit.js +14 -2
  18. package/src/treegrid/actions/edit.d.ts +12 -0
  19. package/src/treegrid/actions/edit.js +35 -3
  20. package/src/treegrid/actions/pdf-export.js +3 -1
  21. package/src/treegrid/base/data.js +5 -11
  22. package/src/treegrid/base/treegrid.d.ts +7 -0
  23. package/src/treegrid/base/treegrid.js +34 -5
  24. package/src/treegrid/renderer/virtual-tree-content-render.js +10 -5
  25. package/styles/bds-lite.css +0 -351
  26. package/styles/bds-lite.scss +1 -15
  27. package/styles/bds.css +0 -355
  28. package/styles/bds.scss +2 -16
  29. package/styles/bootstrap-dark-lite.css +0 -100
  30. package/styles/bootstrap-dark-lite.scss +1 -15
  31. package/styles/bootstrap-dark.css +0 -100
  32. package/styles/bootstrap-dark.scss +2 -16
  33. package/styles/bootstrap-lite.css +0 -100
  34. package/styles/bootstrap-lite.scss +1 -15
  35. package/styles/bootstrap.css +0 -100
  36. package/styles/bootstrap.scss +2 -16
  37. package/styles/bootstrap4-lite.css +0 -144
  38. package/styles/bootstrap4-lite.scss +1 -15
  39. package/styles/bootstrap4.css +0 -144
  40. package/styles/bootstrap4.scss +2 -16
  41. package/styles/bootstrap5-dark-lite.css +0 -139
  42. package/styles/bootstrap5-dark-lite.scss +1 -15
  43. package/styles/bootstrap5-dark.css +0 -139
  44. package/styles/bootstrap5-dark.scss +2 -16
  45. package/styles/bootstrap5-lite.css +0 -139
  46. package/styles/bootstrap5-lite.scss +1 -16
  47. package/styles/bootstrap5.3-lite.css +0 -307
  48. package/styles/bootstrap5.3-lite.scss +1 -16
  49. package/styles/bootstrap5.3.css +0 -391
  50. package/styles/bootstrap5.3.scss +2 -17
  51. package/styles/bootstrap5.css +0 -139
  52. package/styles/bootstrap5.scss +2 -17
  53. package/styles/fabric-dark-lite.css +0 -76
  54. package/styles/fabric-dark-lite.scss +1 -16
  55. package/styles/fabric-dark.css +0 -76
  56. package/styles/fabric-dark.scss +2 -17
  57. package/styles/fabric-lite.css +0 -76
  58. package/styles/fabric-lite.scss +1 -16
  59. package/styles/fabric.css +0 -76
  60. package/styles/fabric.scss +2 -17
  61. package/styles/fluent-dark-lite.css +0 -131
  62. package/styles/fluent-dark-lite.scss +1 -16
  63. package/styles/fluent-dark.css +0 -131
  64. package/styles/fluent-dark.scss +2 -17
  65. package/styles/fluent-lite.css +0 -131
  66. package/styles/fluent-lite.scss +1 -16
  67. package/styles/fluent.css +0 -131
  68. package/styles/fluent.scss +2 -17
  69. package/styles/fluent2-lite.css +0 -548
  70. package/styles/fluent2-lite.scss +1 -16
  71. package/styles/fluent2.css +0 -634
  72. package/styles/fluent2.scss +2 -17
  73. package/styles/highcontrast-light-lite.css +0 -85
  74. package/styles/highcontrast-light-lite.scss +1 -16
  75. package/styles/highcontrast-light.css +0 -85
  76. package/styles/highcontrast-light.scss +2 -17
  77. package/styles/highcontrast-lite.css +0 -85
  78. package/styles/highcontrast-lite.scss +1 -16
  79. package/styles/highcontrast.css +0 -85
  80. package/styles/highcontrast.scss +2 -17
  81. package/styles/material-dark-lite.css +0 -161
  82. package/styles/material-dark-lite.scss +1 -16
  83. package/styles/material-dark.css +0 -161
  84. package/styles/material-dark.scss +2 -17
  85. package/styles/material-lite.css +0 -185
  86. package/styles/material-lite.scss +1 -15
  87. package/styles/material.css +0 -185
  88. package/styles/material.scss +2 -16
  89. package/styles/material3-dark-lite.css +0 -393
  90. package/styles/material3-dark-lite.scss +1 -16
  91. package/styles/material3-dark.css +0 -475
  92. package/styles/material3-dark.scss +2 -17
  93. package/styles/material3-lite.css +0 -397
  94. package/styles/material3-lite.scss +1 -16
  95. package/styles/material3.css +0 -481
  96. package/styles/material3.scss +2 -17
  97. package/styles/tailwind-dark-lite.css +0 -112
  98. package/styles/tailwind-dark-lite.scss +1 -16
  99. package/styles/tailwind-dark.css +0 -112
  100. package/styles/tailwind-dark.scss +2 -17
  101. package/styles/tailwind-lite.css +0 -112
  102. package/styles/tailwind-lite.scss +1 -16
  103. package/styles/tailwind.css +0 -112
  104. package/styles/tailwind.scss +2 -17
  105. package/styles/tailwind3-lite.css +0 -347
  106. package/styles/tailwind3-lite.scss +1 -16
  107. package/styles/tailwind3.css +0 -421
  108. package/styles/tailwind3.scss +2 -17
  109. package/styles/treegrid/_all.scss +2 -2
  110. package/styles/treegrid/_bds-definition.scss +4 -2
  111. package/styles/treegrid/_bigger.scss +1 -1
  112. package/styles/treegrid/_bootstrap-dark-definition.scss +4 -2
  113. package/styles/treegrid/_bootstrap-definition.scss +4 -2
  114. package/styles/treegrid/_bootstrap4-definition.scss +4 -2
  115. package/styles/treegrid/_bootstrap5-dark-definition.scss +4 -2
  116. package/styles/treegrid/_bootstrap5-definition.scss +4 -2
  117. package/styles/treegrid/_bootstrap5.3-definition.scss +4 -2
  118. package/styles/treegrid/_fabric-dark-definition.scss +4 -2
  119. package/styles/treegrid/_fabric-definition.scss +4 -2
  120. package/styles/treegrid/_fluent-dark-definition.scss +4 -2
  121. package/styles/treegrid/_fluent-definition.scss +4 -2
  122. package/styles/treegrid/_fluent2-definition.scss +4 -2
  123. package/styles/treegrid/_fusionnew-definition.scss +2 -0
  124. package/styles/treegrid/_highcontrast-definition.scss +4 -2
  125. package/styles/treegrid/_highcontrast-light-definition.scss +4 -2
  126. package/styles/treegrid/_layout.scss +4 -4
  127. package/styles/treegrid/_material-dark-definition.scss +4 -2
  128. package/styles/treegrid/_material-definition.scss +4 -2
  129. package/styles/treegrid/_material3-dark-definition.scss +4 -2
  130. package/styles/treegrid/_material3-definition.scss +4 -2
  131. package/styles/treegrid/_tailwind-dark-definition.scss +4 -2
  132. package/styles/treegrid/_tailwind-definition.scss +4 -2
  133. package/styles/treegrid/_tailwind3-definition.scss +4 -2
  134. package/styles/treegrid/_variables.scss +2 -0
  135. package/styles/treegrid/bds.css +0 -355
  136. package/styles/treegrid/bds.scss +2 -17
  137. package/styles/treegrid/bootstrap-dark.css +0 -100
  138. package/styles/treegrid/bootstrap-dark.scss +2 -17
  139. package/styles/treegrid/bootstrap.css +0 -100
  140. package/styles/treegrid/bootstrap.scss +2 -17
  141. package/styles/treegrid/bootstrap4.css +0 -144
  142. package/styles/treegrid/bootstrap4.scss +2 -17
  143. package/styles/treegrid/bootstrap5-dark.css +0 -139
  144. package/styles/treegrid/bootstrap5-dark.scss +2 -17
  145. package/styles/treegrid/bootstrap5.3.css +0 -391
  146. package/styles/treegrid/bootstrap5.3.scss +2 -17
  147. package/styles/treegrid/bootstrap5.css +0 -139
  148. package/styles/treegrid/bootstrap5.scss +2 -17
  149. package/styles/treegrid/fabric-dark.css +0 -76
  150. package/styles/treegrid/fabric-dark.scss +2 -17
  151. package/styles/treegrid/fabric.css +0 -76
  152. package/styles/treegrid/fabric.scss +2 -17
  153. package/styles/treegrid/fluent-dark.css +0 -131
  154. package/styles/treegrid/fluent-dark.scss +2 -17
  155. package/styles/treegrid/fluent.css +0 -131
  156. package/styles/treegrid/fluent.scss +2 -17
  157. package/styles/treegrid/fluent2.css +0 -634
  158. package/styles/treegrid/fluent2.scss +2 -17
  159. package/styles/treegrid/highcontrast-light.css +0 -85
  160. package/styles/treegrid/highcontrast-light.scss +2 -17
  161. package/styles/treegrid/highcontrast.css +0 -85
  162. package/styles/treegrid/highcontrast.scss +2 -17
  163. package/styles/treegrid/icons/_bds.scss +1 -1
  164. package/styles/treegrid/icons/_bootstrap-dark.scss +1 -1
  165. package/styles/treegrid/icons/_bootstrap.scss +1 -1
  166. package/styles/treegrid/icons/_bootstrap4.scss +1 -1
  167. package/styles/treegrid/icons/_bootstrap5.3.scss +1 -1
  168. package/styles/treegrid/icons/_bootstrap5.scss +1 -1
  169. package/styles/treegrid/icons/_fabric-dark.scss +1 -1
  170. package/styles/treegrid/icons/_fabric.scss +1 -1
  171. package/styles/treegrid/icons/_fluent.scss +1 -1
  172. package/styles/treegrid/icons/_fluent2.scss +1 -1
  173. package/styles/treegrid/icons/_fusionnew.scss +1 -1
  174. package/styles/treegrid/icons/_highcontrast-light.scss +1 -1
  175. package/styles/treegrid/icons/_highcontrast.scss +1 -1
  176. package/styles/treegrid/icons/_material-dark.scss +1 -1
  177. package/styles/treegrid/icons/_material.scss +1 -1
  178. package/styles/treegrid/icons/_material3.scss +1 -1
  179. package/styles/treegrid/icons/_tailwind-dark.scss +1 -1
  180. package/styles/treegrid/icons/_tailwind.scss +1 -1
  181. package/styles/treegrid/icons/_tailwind3.scss +1 -1
  182. package/styles/treegrid/material-dark.css +0 -161
  183. package/styles/treegrid/material-dark.scss +2 -17
  184. package/styles/treegrid/material.css +0 -185
  185. package/styles/treegrid/material.scss +2 -17
  186. package/styles/treegrid/material3-dark.css +0 -475
  187. package/styles/treegrid/material3-dark.scss +2 -17
  188. package/styles/treegrid/material3.css +0 -481
  189. package/styles/treegrid/material3.scss +2 -17
  190. package/styles/treegrid/tailwind-dark.css +0 -112
  191. package/styles/treegrid/tailwind-dark.scss +2 -17
  192. package/styles/treegrid/tailwind.css +0 -112
  193. package/styles/treegrid/tailwind.scss +2 -17
  194. package/styles/treegrid/tailwind3.css +0 -421
  195. package/styles/treegrid/tailwind3.scss +2 -17
  196. package/styles/treegrid/_all.bds.scss +0 -2
  197. package/styles/treegrid/_all.bootstrap-dark.scss +0 -2
  198. package/styles/treegrid/_all.bootstrap.scss +0 -2
  199. package/styles/treegrid/_all.bootstrap4.scss +0 -2
  200. package/styles/treegrid/_all.bootstrap5-dark.scss +0 -2
  201. package/styles/treegrid/_all.bootstrap5.3.scss +0 -2
  202. package/styles/treegrid/_all.bootstrap5.scss +0 -2
  203. package/styles/treegrid/_all.fabric-dark.scss +0 -2
  204. package/styles/treegrid/_all.fabric.scss +0 -2
  205. package/styles/treegrid/_all.fluent-dark.scss +0 -2
  206. package/styles/treegrid/_all.fluent.scss +0 -2
  207. package/styles/treegrid/_all.fluent2.scss +0 -2
  208. package/styles/treegrid/_all.highcontrast-light.scss +0 -2
  209. package/styles/treegrid/_all.highcontrast.scss +0 -2
  210. package/styles/treegrid/_all.material-dark.scss +0 -2
  211. package/styles/treegrid/_all.material.scss +0 -2
  212. package/styles/treegrid/_all.material3-dark.scss +0 -2
  213. package/styles/treegrid/_all.material3.scss +0 -2
  214. package/styles/treegrid/_all.tailwind-dark.scss +0 -2
  215. package/styles/treegrid/_all.tailwind.scss +0 -2
  216. package/styles/treegrid/_all.tailwind3.scss +0 -2
  217. package/styles/treegrid/_bigger.bds.scss +0 -3
  218. package/styles/treegrid/_bigger.bootstrap-dark.scss +0 -3
  219. package/styles/treegrid/_bigger.bootstrap.scss +0 -3
  220. package/styles/treegrid/_bigger.bootstrap4.scss +0 -3
  221. package/styles/treegrid/_bigger.bootstrap5-dark.scss +0 -3
  222. package/styles/treegrid/_bigger.bootstrap5.3.scss +0 -3
  223. package/styles/treegrid/_bigger.bootstrap5.scss +0 -3
  224. package/styles/treegrid/_bigger.fabric-dark.scss +0 -3
  225. package/styles/treegrid/_bigger.fabric.scss +0 -3
  226. package/styles/treegrid/_bigger.fluent-dark.scss +0 -3
  227. package/styles/treegrid/_bigger.fluent.scss +0 -3
  228. package/styles/treegrid/_bigger.fluent2.scss +0 -3
  229. package/styles/treegrid/_bigger.highcontrast-light.scss +0 -3
  230. package/styles/treegrid/_bigger.highcontrast.scss +0 -3
  231. package/styles/treegrid/_bigger.material-dark.scss +0 -3
  232. package/styles/treegrid/_bigger.material.scss +0 -3
  233. package/styles/treegrid/_bigger.material3-dark.scss +0 -3
  234. package/styles/treegrid/_bigger.material3.scss +0 -3
  235. package/styles/treegrid/_bigger.tailwind-dark.scss +0 -3
  236. package/styles/treegrid/_bigger.tailwind.scss +0 -3
  237. package/styles/treegrid/_bigger.tailwind3.scss +0 -3
  238. package/styles/treegrid/_layout.bds.scss +0 -4
  239. package/styles/treegrid/_layout.bootstrap-dark.scss +0 -4
  240. package/styles/treegrid/_layout.bootstrap.scss +0 -4
  241. package/styles/treegrid/_layout.bootstrap4.scss +0 -4
  242. package/styles/treegrid/_layout.bootstrap5-dark.scss +0 -4
  243. package/styles/treegrid/_layout.bootstrap5.3.scss +0 -4
  244. package/styles/treegrid/_layout.bootstrap5.scss +0 -4
  245. package/styles/treegrid/_layout.fabric-dark.scss +0 -4
  246. package/styles/treegrid/_layout.fabric.scss +0 -4
  247. package/styles/treegrid/_layout.fluent-dark.scss +0 -4
  248. package/styles/treegrid/_layout.fluent.scss +0 -4
  249. package/styles/treegrid/_layout.fluent2.scss +0 -4
  250. package/styles/treegrid/_layout.highcontrast-light.scss +0 -4
  251. package/styles/treegrid/_layout.highcontrast.scss +0 -4
  252. package/styles/treegrid/_layout.material-dark.scss +0 -4
  253. package/styles/treegrid/_layout.material.scss +0 -4
  254. package/styles/treegrid/_layout.material3-dark.scss +0 -4
  255. package/styles/treegrid/_layout.material3.scss +0 -4
  256. package/styles/treegrid/_layout.tailwind-dark.scss +0 -4
  257. package/styles/treegrid/_layout.tailwind.scss +0 -4
  258. package/styles/treegrid/_layout.tailwind3.scss +0 -4
  259. package/styles/treegrid/_theme-variables.bds.scss +0 -1
  260. package/styles/treegrid/_theme-variables.bootstrap-dark.scss +0 -1
  261. package/styles/treegrid/_theme-variables.bootstrap.scss +0 -1
  262. package/styles/treegrid/_theme-variables.bootstrap4.scss +0 -1
  263. package/styles/treegrid/_theme-variables.bootstrap5-dark.scss +0 -1
  264. package/styles/treegrid/_theme-variables.bootstrap5.3.scss +0 -1
  265. package/styles/treegrid/_theme-variables.bootstrap5.scss +0 -1
  266. package/styles/treegrid/_theme-variables.fabric-dark.scss +0 -1
  267. package/styles/treegrid/_theme-variables.fabric.scss +0 -1
  268. package/styles/treegrid/_theme-variables.fluent-dark.scss +0 -1
  269. package/styles/treegrid/_theme-variables.fluent.scss +0 -1
  270. package/styles/treegrid/_theme-variables.fluent2.scss +0 -1
  271. package/styles/treegrid/_theme-variables.highcontrast-light.scss +0 -1
  272. package/styles/treegrid/_theme-variables.highcontrast.scss +0 -1
  273. package/styles/treegrid/_theme-variables.material-dark.scss +0 -1
  274. package/styles/treegrid/_theme-variables.material.scss +0 -1
  275. package/styles/treegrid/_theme-variables.material3-dark.scss +0 -1
  276. package/styles/treegrid/_theme-variables.material3.scss +0 -1
  277. package/styles/treegrid/_theme-variables.tailwind-dark.scss +0 -1
  278. package/styles/treegrid/_theme-variables.tailwind.scss +0 -1
  279. package/styles/treegrid/_theme-variables.tailwind3.scss +0 -1
  280. package/styles/treegrid/_theme.bds.scss +0 -1
  281. package/styles/treegrid/_theme.bootstrap-dark.scss +0 -1
  282. package/styles/treegrid/_theme.bootstrap.scss +0 -1
  283. package/styles/treegrid/_theme.bootstrap4.scss +0 -1
  284. package/styles/treegrid/_theme.bootstrap5-dark.scss +0 -1
  285. package/styles/treegrid/_theme.bootstrap5.3.scss +0 -1
  286. package/styles/treegrid/_theme.bootstrap5.scss +0 -1
  287. package/styles/treegrid/_theme.fabric-dark.scss +0 -1
  288. package/styles/treegrid/_theme.fabric.scss +0 -1
  289. package/styles/treegrid/_theme.fluent-dark.scss +0 -1
  290. package/styles/treegrid/_theme.fluent.scss +0 -1
  291. package/styles/treegrid/_theme.fluent2.scss +0 -1
  292. package/styles/treegrid/_theme.highcontrast-light.scss +0 -1
  293. package/styles/treegrid/_theme.highcontrast.scss +0 -1
  294. package/styles/treegrid/_theme.material-dark.scss +0 -1
  295. package/styles/treegrid/_theme.material.scss +0 -1
  296. package/styles/treegrid/_theme.material3-dark.scss +0 -1
  297. package/styles/treegrid/_theme.material3.scss +0 -1
  298. package/styles/treegrid/_theme.tailwind-dark.scss +0 -1
  299. package/styles/treegrid/_theme.tailwind.scss +0 -1
  300. package/styles/treegrid/_theme.tailwind3.scss +0 -1
@@ -2631,12 +2631,10 @@ var DataManipulation = /** @__PURE__ @class */ (function () {
2631
2631
  if (this.parent.parentIdMapping) {
2632
2632
  this.parent.query = isNullOrUndefined(this.parent.query) ?
2633
2633
  new Query() : this.parent.query;
2634
- if (this.parent.parentIdMapping) {
2635
- var filterKey = this.parent.query.params.filter(function (param) { return param.key === 'IdMapping'; });
2636
- if (this.parent.initialRender && !filterKey.length) {
2637
- this.parent.query.where(this.parent.parentIdMapping, 'equal', null);
2638
- this.parent.query.addParams('IdMapping', this.parent.idMapping);
2639
- }
2634
+ var filterKey = this.parent.query.params.filter(function (param) { return param.key === 'IdMapping'; });
2635
+ if (this.parent.initialRender && !filterKey.length) {
2636
+ this.parent.query.where(this.parent.parentIdMapping, 'equal', null);
2637
+ this.parent.query.addParams('IdMapping', this.parent.idMapping);
2640
2638
  }
2641
2639
  if (!this.parent.hasChildMapping) {
2642
2640
  var qry = this.parent.query.clone();
@@ -3202,9 +3200,6 @@ var DataManipulation = /** @__PURE__ @class */ (function () {
3202
3200
  ? currentData[this.parent.expandStateMapping] : true;
3203
3201
  }
3204
3202
  }
3205
- if (!Object.prototype.hasOwnProperty.call(currentData, 'index')) {
3206
- currentData.index = currentData.hasChildRecords ? this.storedIndex : this.storedIndex;
3207
- }
3208
3203
  if (this.isSelfReference && isNullOrUndefined(currentData[this.parent.parentIdMapping])) {
3209
3204
  this.parent.parentData.push(currentData);
3210
3205
  }
@@ -3391,8 +3386,7 @@ var DataManipulation = /** @__PURE__ @class */ (function () {
3391
3386
  }
3392
3387
  var isPdfExport = 'isPdfExport';
3393
3388
  var isCollapsedStatePersist = 'isCollapsedStatePersist';
3394
- if ((isPrinting === true || (args["" + isPdfExport] && (isNullOrUndefined(args["" + isCollapsedStatePersist])
3395
- || args["" + isCollapsedStatePersist]))) && this.parent.printMode === 'AllPages') {
3389
+ if ((isPrinting === true || (args["" + isPdfExport] && args["" + isCollapsedStatePersist] === true)) && this.parent.printMode === 'AllPages') {
3396
3390
  var actualResults = [];
3397
3391
  for (var i = 0; i < results.length; i++) {
3398
3392
  var expandStatus = getExpandStatus(this.parent, results[parseInt(i.toString(), 10)], this.parent.parentData);
@@ -5747,8 +5741,13 @@ var TreeGrid = /** @__PURE__ @class */ (function (_super) {
5747
5741
  this.grid.dataSource = { result: data, count: datacount };
5748
5742
  }
5749
5743
  else {
5744
+ var cacheAdaptor = null;
5745
+ if ((this.dataSource instanceof DataManager) && this.dataSource["" + dataSource] &&
5746
+ this.dataSource["" + dataSource].enableCaching) {
5747
+ cacheAdaptor = this.dataSource["" + adaptor].cacheAdaptor;
5748
+ }
5750
5749
  this.grid.dataSource = !(this.dataSource instanceof DataManager) ?
5751
- this.flatData : new DataManager(this.dataSource.dataSource, this.dataSource.defaultQuery, this.dataSource.adaptor, this.hasPreAndPostMiddleware(this.dataSource) ? this.dataSource : undefined);
5750
+ this.flatData : new DataManager(this.dataSource.dataSource, this.dataSource.defaultQuery, cacheAdaptor ? cacheAdaptor : this.dataSource.adaptor, this.hasPreAndPostMiddleware(this.dataSource) ? this.dataSource : undefined);
5752
5751
  }
5753
5752
  if (this.dataSource instanceof DataManager && (this.dataSource.dataSource.offline || this.dataSource.ready)) {
5754
5753
  this.grid.dataSource["" + dataSource].json = extendArray(this.dataSource["" + dataSource].json);
@@ -6148,6 +6147,14 @@ var TreeGrid = /** @__PURE__ @class */ (function (_super) {
6148
6147
  gridColumn.textAlign = 'Right';
6149
6148
  }
6150
6149
  }
6150
+ else if (!isNullOrUndefined(this.columnModel[this.treeColumnIndex]) && !this.enableRtl) {
6151
+ if (isNullOrUndefined(this.treeColumnField)) {
6152
+ this.treeColumnField = gridColumn.field;
6153
+ }
6154
+ if (isNullOrUndefined(this.treeColumnTextAlign) && this.treeColumnField === this.columnModel[this.treeColumnIndex].field) {
6155
+ this.treeColumnTextAlign = this.columnModel[this.treeColumnIndex].textAlign;
6156
+ }
6157
+ }
6151
6158
  }
6152
6159
  return gridColumnCollection;
6153
6160
  };
@@ -6169,6 +6176,7 @@ var TreeGrid = /** @__PURE__ @class */ (function (_super) {
6169
6176
  TreeGrid.prototype.onPropertyChanged = function (newProp) {
6170
6177
  var properties = Object.keys(newProp);
6171
6178
  var requireRefresh = false;
6179
+ var refreshComponent = false;
6172
6180
  for (var _i = 0, properties_1 = properties; _i < properties_1.length; _i++) {
6173
6181
  var prop = properties_1[_i];
6174
6182
  switch (prop) {
@@ -6312,6 +6320,8 @@ var TreeGrid = /** @__PURE__ @class */ (function (_super) {
6312
6320
  this.TreeGridLocale();
6313
6321
  this.grid.toolbar = this.getGridToolbar();
6314
6322
  this.grid.contextMenuItems = this.getContextMenu();
6323
+ requireRefresh = true;
6324
+ refreshComponent = true;
6315
6325
  break;
6316
6326
  case 'selectedRowIndex':
6317
6327
  this.grid.selectedRowIndex = this.selectedRowIndex;
@@ -6341,10 +6351,8 @@ var TreeGrid = /** @__PURE__ @class */ (function (_super) {
6341
6351
  this.grid.allowPdfExport = this.allowPdfExport;
6342
6352
  break;
6343
6353
  case 'enableRtl':
6344
- if (!isNullOrUndefined(this.treeColumnField)) {
6345
- this.updateTreeColumnTextAlign();
6346
- }
6347
6354
  this.grid.enableRtl = this.enableRtl;
6355
+ this.updateColumnModel();
6348
6356
  break;
6349
6357
  case 'allowReordering':
6350
6358
  this.grid.allowReordering = this.allowReordering;
@@ -6397,7 +6405,7 @@ var TreeGrid = /** @__PURE__ @class */ (function (_super) {
6397
6405
  }
6398
6406
  }
6399
6407
  if (requireRefresh) {
6400
- if (this.isFrozenGrid()) {
6408
+ if (refreshComponent || this.isFrozenGrid()) {
6401
6409
  this.refreshLayout();
6402
6410
  }
6403
6411
  else {
@@ -7212,6 +7220,12 @@ var TreeGrid = /** @__PURE__ @class */ (function (_super) {
7212
7220
  if (!this.stackedHeader && !isNullOrUndefined(this.columns)) {
7213
7221
  merge(this.columns, this.columnModel);
7214
7222
  }
7223
+ if (!this.enableRtl && !isNullOrUndefined(this.columnModel[this.treeColumnIndex])
7224
+ && !isNullOrUndefined(this.treeColumnField)) {
7225
+ if (this.columnModel[this.treeColumnIndex].field === this.treeColumnField) {
7226
+ this.columnModel[this.treeColumnIndex].textAlign = this.treeColumnTextAlign;
7227
+ }
7228
+ }
7215
7229
  this["" + deepMerge] = undefined; // Workaround for blazor updateModel
7216
7230
  return this.columnModel;
7217
7231
  };
@@ -9103,6 +9117,15 @@ var TreeGrid = /** @__PURE__ @class */ (function (_super) {
9103
9117
  return 0;
9104
9118
  }
9105
9119
  };
9120
+ /**
9121
+ * Gets the row index based on the given primary key value or row data.
9122
+ *
9123
+ * @param {string | number | object} value - The primary key value or row data.
9124
+ * @returns {number} Returns the row index.
9125
+ */
9126
+ TreeGrid.prototype.getRowIndexByPrimaryKey = function (value) {
9127
+ return this.grid.getRowIndexByPrimaryKey(value);
9128
+ };
9106
9129
  var TreeGrid_1;
9107
9130
  __decorate$c([
9108
9131
  Property(0)
@@ -12339,7 +12362,9 @@ var PdfExport = /** @__PURE__ @class */ (function () {
12339
12362
  }
12340
12363
  prop = isNullOrUndefined(prop) ? {} : prop;
12341
12364
  prop.dataSource = new DataManager({ json: dtSrc });
12342
- prop.query = args['query'];
12365
+ if (this.parent.aggregates.length > 0) {
12366
+ prop.query = args['query'];
12367
+ }
12343
12368
  return prop;
12344
12369
  };
12345
12370
  /**
@@ -13584,7 +13609,8 @@ var BatchEdit = /** @__PURE__ @class */ (function () {
13584
13609
  if (this.parent.editModule['isAddedRowByMethod'] && !isNullOrUndefined(this.parent.editModule['addRowIndex']) &&
13585
13610
  !this.parent.editModule['isAddedRowByContextMenu'] && !this.parent.editModule.isAddedMultipleRowsByMethod) {
13586
13611
  var newlyAddedRecords = this.parent.getBatchChanges()['addedRecords'];
13587
- var index = parseInt(this.parent.getContentTable().getElementsByClassName('e-insertedrow')[newlyAddedRecords.length - 1].getAttribute('aria-rowindex'), 10) - 1;
13612
+ var index = this.getInsertedRowIndex(newlyAddedRecords.length - 1);
13613
+ this.batchIndex = index;
13588
13614
  this.batchRecords.splice(index, 0, newlyAddedRecords[newlyAddedRecords.length - 1]);
13589
13615
  }
13590
13616
  }
@@ -13760,6 +13786,17 @@ var BatchEdit = /** @__PURE__ @class */ (function () {
13760
13786
  this.batchDeletedRecords = [];
13761
13787
  this.parent.grid.renderModule.refresh();
13762
13788
  };
13789
+ BatchEdit.prototype.getInsertedRowIndex = function (elementIndex) {
13790
+ var header = this.parent.getHeaderTable().getElementsByClassName('e-insertedrow')[parseInt(elementIndex.toString(), 10)];
13791
+ var content = this.parent.getContentTable().getElementsByClassName('e-insertedrow')[parseInt(elementIndex.toString(), 10)];
13792
+ if (this.parent.frozenRows && header) {
13793
+ return parseInt(header.getAttribute('aria-rowindex'), 10) - 1;
13794
+ }
13795
+ if (content) {
13796
+ return parseInt(content.getAttribute('aria-rowindex'), 10) - 1;
13797
+ }
13798
+ return -1;
13799
+ };
13763
13800
  BatchEdit.prototype.batchSave = function (args) {
13764
13801
  if (this.parent.editSettings.mode === 'Batch') {
13765
13802
  var i = void 0;
@@ -13788,7 +13825,7 @@ var BatchEdit = /** @__PURE__ @class */ (function () {
13788
13825
  if (this.parent.editModule['isAddedRowByMethod'] && addRecords.length && !isNullOrUndefined(this.parent.editModule['addRowIndex']) && !this.parent.editModule['isAddedRowByContextMenu']) {
13789
13826
  addRecords.reverse();
13790
13827
  for (var i_1 = 0; i_1 < addRecords.length; i_1++) {
13791
- var index_1 = parseInt(this.parent.getContentTable().getElementsByClassName('e-insertedrow')[parseInt(i_1.toString(), 10)].getAttribute('aria-rowindex'), 10) - 1;
13828
+ var index_1 = this.getInsertedRowIndex(parseInt(i_1.toString(), 10));
13792
13829
  data.splice(index_1, 0, addRecords[parseInt(i_1.toString(), 10)]);
13793
13830
  }
13794
13831
  }
@@ -14031,6 +14068,7 @@ var Edit = /** @__PURE__ @class */ (function () {
14031
14068
  this.parent.grid.on(beforeBatchCancel, this.beforeBatchCancel, this);
14032
14069
  this.parent.grid.on('reset-edit-props', this.resetIsOnBatch, this);
14033
14070
  this.parent.grid.on('get-row-position', this.getRowPosition, this);
14071
+ this.parent.grid.on('last-row-validation', this.lastRowValidation, this);
14034
14072
  };
14035
14073
  Edit.prototype.gridDblClick = function (e) {
14036
14074
  this.doubleClickTarget = e.target;
@@ -14044,6 +14082,7 @@ var Edit = /** @__PURE__ @class */ (function () {
14044
14082
  /* eslint-disable-next-line */
14045
14083
  this.parent.grid.getDataRows()[rowIndex].dataset.uid = this.parent.grid.contentModule.getRows()[rowIndex].uid;
14046
14084
  }
14085
+ this.doubleClickTarget = null;
14047
14086
  }
14048
14087
  };
14049
14088
  Edit.prototype.getRowPosition = function (addArgs) {
@@ -14089,6 +14128,7 @@ var Edit = /** @__PURE__ @class */ (function () {
14089
14128
  this.parent.grid.off('dblclick', this.gridDblClick);
14090
14129
  this.parent.grid.off('reset-edit-props', this.resetIsOnBatch);
14091
14130
  this.parent.grid.off('get-row-position', this.getRowPosition);
14131
+ this.parent.grid.off('last-row-validation', this.lastRowValidation);
14092
14132
  //this.parent.grid.off('click', this.gridSingleClick);
14093
14133
  };
14094
14134
  /**
@@ -14237,7 +14277,7 @@ var Edit = /** @__PURE__ @class */ (function () {
14237
14277
  this.parent.grid.isEdit = false;
14238
14278
  };
14239
14279
  Edit.prototype.resetIsOnBatch = function () {
14240
- if (this.parent.enableVirtualization && this.parent.editSettings.mode === 'Cell') {
14280
+ if (this.parent.enableVirtualization && this.parent.editSettings.mode === 'Cell' && !this.parent['isGantt']) {
14241
14281
  this.isOnBatch = false;
14242
14282
  this.updateGridEditMode('Normal');
14243
14283
  }
@@ -14670,7 +14710,9 @@ var Edit = /** @__PURE__ @class */ (function () {
14670
14710
  seletedRow: 0
14671
14711
  };
14672
14712
  this.beginAddEdit(args);
14673
- this.batchEditModule['batchAddRowRecord'].push(this.batchEditModule['addRowRecord']);
14713
+ if (this.batchEditModule['addRowRecord']) {
14714
+ this.batchEditModule['batchAddRowRecord'].push(this.batchEditModule['addRowRecord']);
14715
+ }
14674
14716
  this.batchEditModule['batchAddedRecords'].push(args['data']);
14675
14717
  }
14676
14718
  else if (this.parent.editSettings.mode === 'Batch' && this.isAddedMultipleRowsByMethod && (this.parent.editSettings.newRowPosition === 'Above' || this.parent.editSettings.newRowPosition === 'Below')) {
@@ -14690,7 +14732,9 @@ var Edit = /** @__PURE__ @class */ (function () {
14690
14732
  seletedRow: 0
14691
14733
  };
14692
14734
  this.beginAddEdit(args);
14693
- this.batchEditModule['batchAddRowRecord'].push(this.batchEditModule['addRowRecord']);
14735
+ if (this.batchEditModule['addRowRecord']) {
14736
+ this.batchEditModule['batchAddRowRecord'].push(this.batchEditModule['addRowRecord']);
14737
+ }
14694
14738
  this.batchEditModule['batchAddedRecords'].push(args['data']);
14695
14739
  }
14696
14740
  }
@@ -15107,6 +15151,31 @@ var Edit = /** @__PURE__ @class */ (function () {
15107
15151
  }
15108
15152
  this.parent.grid.editModule.closeEdit();
15109
15153
  };
15154
+ /**
15155
+ * Handles TreeGrid-specific validation for tooltip positioning on last row.
15156
+ *
15157
+ * @param {Object} args - Validation flags
15158
+ * @param {boolean} args.isBeginEdit - Whether editing has begun
15159
+ * @param {boolean} args.isAddedRow - Whether the row is newly added
15160
+ * @param {boolean} args.isLastRow - Whether this is the last row
15161
+ * @param {boolean} args.validationPositionResult - Validation position result
15162
+ * @returns {void}
15163
+ * @hidden
15164
+ */
15165
+ Edit.prototype.lastRowValidation = function (args) {
15166
+ if (!this.parent.enableVirtualization) {
15167
+ return;
15168
+ }
15169
+ var isBeginEdit = args.isBeginEdit, isAddedRow = args.isAddedRow, isLastRow = args.isLastRow;
15170
+ var newRowPosition = this.parent.editSettings.newRowPosition;
15171
+ if ((newRowPosition === 'Child' || newRowPosition === 'Below' || newRowPosition === 'Above') &&
15172
+ isAddedRow && isLastRow) {
15173
+ args.validationPositionResult = true;
15174
+ }
15175
+ else if (isBeginEdit && isLastRow) {
15176
+ args.validationPositionResult = true;
15177
+ }
15178
+ };
15110
15179
  return Edit;
15111
15180
  }());
15112
15181
 
@@ -15405,7 +15474,7 @@ var VirtualTreeContentRenderer = /** @__PURE__ @class */ (function (_super) {
15405
15474
  this.startIndex = lastIndex - this.parent.getRows().length;
15406
15475
  this.endIndex = lastIndex;
15407
15476
  }
15408
- else if (this.parent.root.editSettings.newRowPosition !== 'Top' && this.parent.root.editModule.selectedIndex !== -1 || this.parent.root.editModule.selectedIndex !== -1) {
15477
+ else if (this.parent.root.editModule.selectedIndex !== -1) {
15409
15478
  this.startIndex += 1;
15410
15479
  this.endIndex += 1;
15411
15480
  }
@@ -15884,8 +15953,10 @@ var VirtualTreeContentRenderer = /** @__PURE__ @class */ (function (_super) {
15884
15953
  var directVirtualRender = 'directVirtualRender';
15885
15954
  if (!_this.parent["" + directVirtualRender]) { // with this property, columns are rendered without debouncing on horizontal scroll.
15886
15955
  var preventEvent = 'preventEvent';
15887
- if (Browser.isIE && !isWheel && check && !_this["" + preventEvent] && !_this.parent.enableVirtualMaskRow) {
15888
- _this.parent.showSpinner();
15956
+ if (!isWheel && check && !_this["" + preventEvent] && !_this.parent.enableVirtualMaskRow) {
15957
+ if (Browser.isIE) {
15958
+ _this.parent.showSpinner();
15959
+ }
15889
15960
  }
15890
15961
  if (_this.parent.enableVirtualMaskRow && !_this["" + preventEvent]) {
15891
15962
  setTimeout(function () {
@@ -15963,12 +16034,12 @@ var VirtualTreeContentRenderer = /** @__PURE__ @class */ (function (_super) {
15963
16034
  this.parent.root.scrollPosition = scrollArgs.offset;
15964
16035
  }
15965
16036
  var info = scrollArgs.sentinel;
16037
+ var rowHeight = parseInt(this.parent.getRowHeight().toString(), 10);
16038
+ var outBuffer = this.parent.pageSettings.pageSize - Math.ceil(this.parent.pageSettings.pageSize / 2);
15966
16039
  var treeGridParent = null;
15967
16040
  if (this.parent.clipboardModule && this.parent.clipboardModule['treeGridParent']) {
15968
16041
  treeGridParent = this.parent.clipboardModule['treeGridParent'];
15969
16042
  }
15970
- var rowHeight = parseInt(this.parent.getRowHeight().toString(), 10);
15971
- var outBuffer = this.parent.pageSettings.pageSize - Math.ceil(this.parent.pageSettings.pageSize / 2);
15972
16043
  var content;
15973
16044
  if (!isNullOrUndefined(this.parent.contentModule)) {
15974
16045
  content = this.parent.getContent().querySelector('.e-content');
@@ -16235,6 +16306,9 @@ var VirtualTreeContentRenderer = /** @__PURE__ @class */ (function (_super) {
16235
16306
  var focusCell = 'focusCell';
16236
16307
  var restoreAdd = 'restoreAdd';
16237
16308
  var ensureSelectedRowPosition = 'ensureSelectedRowPosition';
16309
+ if (this['pressedKey'] === 'downArrow' || this['pressedKey'] === 'upArrow') {
16310
+ this['activeKey'] = this['pressedKey'];
16311
+ }
16238
16312
  _super.prototype["" + focusCell].call(this, e);
16239
16313
  var isAdd = 'isAdd';
16240
16314
  if (this["" + isAdd] && !this.parent.getContent().querySelector('.e-content').querySelector('.e-addedrow')) {