@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
@@ -2467,12 +2467,10 @@ class DataManipulation {
2467
2467
  if (this.parent.parentIdMapping) {
2468
2468
  this.parent.query = isNullOrUndefined(this.parent.query) ?
2469
2469
  new Query() : this.parent.query;
2470
- if (this.parent.parentIdMapping) {
2471
- const filterKey = this.parent.query.params.filter((param) => param.key === 'IdMapping');
2472
- if (this.parent.initialRender && !filterKey.length) {
2473
- this.parent.query.where(this.parent.parentIdMapping, 'equal', null);
2474
- this.parent.query.addParams('IdMapping', this.parent.idMapping);
2475
- }
2470
+ const filterKey = this.parent.query.params.filter((param) => param.key === 'IdMapping');
2471
+ if (this.parent.initialRender && !filterKey.length) {
2472
+ this.parent.query.where(this.parent.parentIdMapping, 'equal', null);
2473
+ this.parent.query.addParams('IdMapping', this.parent.idMapping);
2476
2474
  }
2477
2475
  if (!this.parent.hasChildMapping) {
2478
2476
  let qry = this.parent.query.clone();
@@ -3027,9 +3025,6 @@ class DataManipulation {
3027
3025
  ? currentData[this.parent.expandStateMapping] : true;
3028
3026
  }
3029
3027
  }
3030
- if (!Object.prototype.hasOwnProperty.call(currentData, 'index')) {
3031
- currentData.index = currentData.hasChildRecords ? this.storedIndex : this.storedIndex;
3032
- }
3033
3028
  if (this.isSelfReference && isNullOrUndefined(currentData[this.parent.parentIdMapping])) {
3034
3029
  this.parent.parentData.push(currentData);
3035
3030
  }
@@ -3216,8 +3211,7 @@ class DataManipulation {
3216
3211
  }
3217
3212
  const isPdfExport = 'isPdfExport';
3218
3213
  const isCollapsedStatePersist = 'isCollapsedStatePersist';
3219
- if ((isPrinting === true || (args[`${isPdfExport}`] && (isNullOrUndefined(args[`${isCollapsedStatePersist}`])
3220
- || args[`${isCollapsedStatePersist}`]))) && this.parent.printMode === 'AllPages') {
3214
+ if ((isPrinting === true || (args[`${isPdfExport}`] && args[`${isCollapsedStatePersist}`] === true)) && this.parent.printMode === 'AllPages') {
3221
3215
  const actualResults = [];
3222
3216
  for (let i = 0; i < results.length; i++) {
3223
3217
  const expandStatus = getExpandStatus(this.parent, results[parseInt(i.toString(), 10)], this.parent.parentData);
@@ -5418,8 +5412,13 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
5418
5412
  this.grid.dataSource = { result: data, count: datacount };
5419
5413
  }
5420
5414
  else {
5415
+ let cacheAdaptor = null;
5416
+ if ((this.dataSource instanceof DataManager) && this.dataSource[`${dataSource}`] &&
5417
+ this.dataSource[`${dataSource}`].enableCaching) {
5418
+ cacheAdaptor = this.dataSource[`${adaptor}`].cacheAdaptor;
5419
+ }
5421
5420
  this.grid.dataSource = !(this.dataSource instanceof DataManager) ?
5422
- this.flatData : new DataManager(this.dataSource.dataSource, this.dataSource.defaultQuery, this.dataSource.adaptor, this.hasPreAndPostMiddleware(this.dataSource) ? this.dataSource : undefined);
5421
+ this.flatData : new DataManager(this.dataSource.dataSource, this.dataSource.defaultQuery, cacheAdaptor ? cacheAdaptor : this.dataSource.adaptor, this.hasPreAndPostMiddleware(this.dataSource) ? this.dataSource : undefined);
5423
5422
  }
5424
5423
  if (this.dataSource instanceof DataManager && (this.dataSource.dataSource.offline || this.dataSource.ready)) {
5425
5424
  this.grid.dataSource[`${dataSource}`].json = extendArray(this.dataSource[`${dataSource}`].json);
@@ -5813,6 +5812,14 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
5813
5812
  gridColumn.textAlign = 'Right';
5814
5813
  }
5815
5814
  }
5815
+ else if (!isNullOrUndefined(this.columnModel[this.treeColumnIndex]) && !this.enableRtl) {
5816
+ if (isNullOrUndefined(this.treeColumnField)) {
5817
+ this.treeColumnField = gridColumn.field;
5818
+ }
5819
+ if (isNullOrUndefined(this.treeColumnTextAlign) && this.treeColumnField === this.columnModel[this.treeColumnIndex].field) {
5820
+ this.treeColumnTextAlign = this.columnModel[this.treeColumnIndex].textAlign;
5821
+ }
5822
+ }
5816
5823
  }
5817
5824
  return gridColumnCollection;
5818
5825
  }
@@ -5834,6 +5841,7 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
5834
5841
  onPropertyChanged(newProp) {
5835
5842
  const properties = Object.keys(newProp);
5836
5843
  let requireRefresh = false;
5844
+ let refreshComponent = false;
5837
5845
  for (const prop of properties) {
5838
5846
  switch (prop) {
5839
5847
  case 'columns':
@@ -5976,6 +5984,8 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
5976
5984
  this.TreeGridLocale();
5977
5985
  this.grid.toolbar = this.getGridToolbar();
5978
5986
  this.grid.contextMenuItems = this.getContextMenu();
5987
+ requireRefresh = true;
5988
+ refreshComponent = true;
5979
5989
  break;
5980
5990
  case 'selectedRowIndex':
5981
5991
  this.grid.selectedRowIndex = this.selectedRowIndex;
@@ -6005,10 +6015,8 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
6005
6015
  this.grid.allowPdfExport = this.allowPdfExport;
6006
6016
  break;
6007
6017
  case 'enableRtl':
6008
- if (!isNullOrUndefined(this.treeColumnField)) {
6009
- this.updateTreeColumnTextAlign();
6010
- }
6011
6018
  this.grid.enableRtl = this.enableRtl;
6019
+ this.updateColumnModel();
6012
6020
  break;
6013
6021
  case 'allowReordering':
6014
6022
  this.grid.allowReordering = this.allowReordering;
@@ -6061,7 +6069,7 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
6061
6069
  }
6062
6070
  }
6063
6071
  if (requireRefresh) {
6064
- if (this.isFrozenGrid()) {
6072
+ if (refreshComponent || this.isFrozenGrid()) {
6065
6073
  this.refreshLayout();
6066
6074
  }
6067
6075
  else {
@@ -6873,6 +6881,12 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
6873
6881
  if (!this.stackedHeader && !isNullOrUndefined(this.columns)) {
6874
6882
  merge(this.columns, this.columnModel);
6875
6883
  }
6884
+ if (!this.enableRtl && !isNullOrUndefined(this.columnModel[this.treeColumnIndex])
6885
+ && !isNullOrUndefined(this.treeColumnField)) {
6886
+ if (this.columnModel[this.treeColumnIndex].field === this.treeColumnField) {
6887
+ this.columnModel[this.treeColumnIndex].textAlign = this.treeColumnTextAlign;
6888
+ }
6889
+ }
6876
6890
  this[`${deepMerge}`] = undefined; // Workaround for blazor updateModel
6877
6891
  return this.columnModel;
6878
6892
  }
@@ -8734,6 +8748,15 @@ let TreeGrid = TreeGrid_1 = class TreeGrid extends Component {
8734
8748
  return 0;
8735
8749
  }
8736
8750
  }
8751
+ /**
8752
+ * Gets the row index based on the given primary key value or row data.
8753
+ *
8754
+ * @param {string | number | object} value - The primary key value or row data.
8755
+ * @returns {number} Returns the row index.
8756
+ */
8757
+ getRowIndexByPrimaryKey(value) {
8758
+ return this.grid.getRowIndexByPrimaryKey(value);
8759
+ }
8737
8760
  };
8738
8761
  __decorate$c([
8739
8762
  Property(0)
@@ -11913,7 +11936,9 @@ class PdfExport {
11913
11936
  }
11914
11937
  prop = isNullOrUndefined(prop) ? {} : prop;
11915
11938
  prop.dataSource = new DataManager({ json: dtSrc });
11916
- prop.query = args['query'];
11939
+ if (this.parent.aggregates.length > 0) {
11940
+ prop.query = args['query'];
11941
+ }
11917
11942
  return prop;
11918
11943
  }
11919
11944
  /**
@@ -13135,7 +13160,8 @@ class BatchEdit {
13135
13160
  if (this.parent.editModule['isAddedRowByMethod'] && !isNullOrUndefined(this.parent.editModule['addRowIndex']) &&
13136
13161
  !this.parent.editModule['isAddedRowByContextMenu'] && !this.parent.editModule.isAddedMultipleRowsByMethod) {
13137
13162
  const newlyAddedRecords = this.parent.getBatchChanges()['addedRecords'];
13138
- const index = parseInt(this.parent.getContentTable().getElementsByClassName('e-insertedrow')[newlyAddedRecords.length - 1].getAttribute('aria-rowindex'), 10) - 1;
13163
+ const index = this.getInsertedRowIndex(newlyAddedRecords.length - 1);
13164
+ this.batchIndex = index;
13139
13165
  this.batchRecords.splice(index, 0, newlyAddedRecords[newlyAddedRecords.length - 1]);
13140
13166
  }
13141
13167
  }
@@ -13302,6 +13328,17 @@ class BatchEdit {
13302
13328
  this.batchDeletedRecords = [];
13303
13329
  this.parent.grid.renderModule.refresh();
13304
13330
  }
13331
+ getInsertedRowIndex(elementIndex) {
13332
+ const header = this.parent.getHeaderTable().getElementsByClassName('e-insertedrow')[parseInt(elementIndex.toString(), 10)];
13333
+ const content = this.parent.getContentTable().getElementsByClassName('e-insertedrow')[parseInt(elementIndex.toString(), 10)];
13334
+ if (this.parent.frozenRows && header) {
13335
+ return parseInt(header.getAttribute('aria-rowindex'), 10) - 1;
13336
+ }
13337
+ if (content) {
13338
+ return parseInt(content.getAttribute('aria-rowindex'), 10) - 1;
13339
+ }
13340
+ return -1;
13341
+ }
13305
13342
  batchSave(args) {
13306
13343
  if (this.parent.editSettings.mode === 'Batch') {
13307
13344
  let i;
@@ -13330,7 +13367,7 @@ class BatchEdit {
13330
13367
  if (this.parent.editModule['isAddedRowByMethod'] && addRecords.length && !isNullOrUndefined(this.parent.editModule['addRowIndex']) && !this.parent.editModule['isAddedRowByContextMenu']) {
13331
13368
  addRecords.reverse();
13332
13369
  for (let i = 0; i < addRecords.length; i++) {
13333
- const index = parseInt(this.parent.getContentTable().getElementsByClassName('e-insertedrow')[parseInt(i.toString(), 10)].getAttribute('aria-rowindex'), 10) - 1;
13370
+ const index = this.getInsertedRowIndex(parseInt(i.toString(), 10));
13334
13371
  data.splice(index, 0, addRecords[parseInt(i.toString(), 10)]);
13335
13372
  }
13336
13373
  }
@@ -13570,6 +13607,7 @@ class Edit {
13570
13607
  this.parent.grid.on(beforeBatchCancel, this.beforeBatchCancel, this);
13571
13608
  this.parent.grid.on('reset-edit-props', this.resetIsOnBatch, this);
13572
13609
  this.parent.grid.on('get-row-position', this.getRowPosition, this);
13610
+ this.parent.grid.on('last-row-validation', this.lastRowValidation, this);
13573
13611
  }
13574
13612
  gridDblClick(e) {
13575
13613
  this.doubleClickTarget = e.target;
@@ -13583,6 +13621,7 @@ class Edit {
13583
13621
  /* eslint-disable-next-line */
13584
13622
  this.parent.grid.getDataRows()[rowIndex].dataset.uid = this.parent.grid.contentModule.getRows()[rowIndex].uid;
13585
13623
  }
13624
+ this.doubleClickTarget = null;
13586
13625
  }
13587
13626
  }
13588
13627
  getRowPosition(addArgs) {
@@ -13628,6 +13667,7 @@ class Edit {
13628
13667
  this.parent.grid.off('dblclick', this.gridDblClick);
13629
13668
  this.parent.grid.off('reset-edit-props', this.resetIsOnBatch);
13630
13669
  this.parent.grid.off('get-row-position', this.getRowPosition);
13670
+ this.parent.grid.off('last-row-validation', this.lastRowValidation);
13631
13671
  //this.parent.grid.off('click', this.gridSingleClick);
13632
13672
  }
13633
13673
  /**
@@ -13775,7 +13815,7 @@ class Edit {
13775
13815
  this.parent.grid.isEdit = false;
13776
13816
  }
13777
13817
  resetIsOnBatch() {
13778
- if (this.parent.enableVirtualization && this.parent.editSettings.mode === 'Cell') {
13818
+ if (this.parent.enableVirtualization && this.parent.editSettings.mode === 'Cell' && !this.parent['isGantt']) {
13779
13819
  this.isOnBatch = false;
13780
13820
  this.updateGridEditMode('Normal');
13781
13821
  }
@@ -14206,7 +14246,9 @@ class Edit {
14206
14246
  seletedRow: 0
14207
14247
  };
14208
14248
  this.beginAddEdit(args);
14209
- this.batchEditModule['batchAddRowRecord'].push(this.batchEditModule['addRowRecord']);
14249
+ if (this.batchEditModule['addRowRecord']) {
14250
+ this.batchEditModule['batchAddRowRecord'].push(this.batchEditModule['addRowRecord']);
14251
+ }
14210
14252
  this.batchEditModule['batchAddedRecords'].push(args['data']);
14211
14253
  }
14212
14254
  else if (this.parent.editSettings.mode === 'Batch' && this.isAddedMultipleRowsByMethod && (this.parent.editSettings.newRowPosition === 'Above' || this.parent.editSettings.newRowPosition === 'Below')) {
@@ -14226,7 +14268,9 @@ class Edit {
14226
14268
  seletedRow: 0
14227
14269
  };
14228
14270
  this.beginAddEdit(args);
14229
- this.batchEditModule['batchAddRowRecord'].push(this.batchEditModule['addRowRecord']);
14271
+ if (this.batchEditModule['addRowRecord']) {
14272
+ this.batchEditModule['batchAddRowRecord'].push(this.batchEditModule['addRowRecord']);
14273
+ }
14230
14274
  this.batchEditModule['batchAddedRecords'].push(args['data']);
14231
14275
  }
14232
14276
  }
@@ -14633,6 +14677,31 @@ class Edit {
14633
14677
  }
14634
14678
  this.parent.grid.editModule.closeEdit();
14635
14679
  }
14680
+ /**
14681
+ * Handles TreeGrid-specific validation for tooltip positioning on last row.
14682
+ *
14683
+ * @param {Object} args - Validation flags
14684
+ * @param {boolean} args.isBeginEdit - Whether editing has begun
14685
+ * @param {boolean} args.isAddedRow - Whether the row is newly added
14686
+ * @param {boolean} args.isLastRow - Whether this is the last row
14687
+ * @param {boolean} args.validationPositionResult - Validation position result
14688
+ * @returns {void}
14689
+ * @hidden
14690
+ */
14691
+ lastRowValidation(args) {
14692
+ if (!this.parent.enableVirtualization) {
14693
+ return;
14694
+ }
14695
+ const { isBeginEdit, isAddedRow, isLastRow } = args;
14696
+ const newRowPosition = this.parent.editSettings.newRowPosition;
14697
+ if ((newRowPosition === 'Child' || newRowPosition === 'Below' || newRowPosition === 'Above') &&
14698
+ isAddedRow && isLastRow) {
14699
+ args.validationPositionResult = true;
14700
+ }
14701
+ else if (isBeginEdit && isLastRow) {
14702
+ args.validationPositionResult = true;
14703
+ }
14704
+ }
14636
14705
  }
14637
14706
 
14638
14707
  /**
@@ -14913,7 +14982,7 @@ class VirtualTreeContentRenderer extends VirtualContentRenderer {
14913
14982
  this.startIndex = lastIndex - this.parent.getRows().length;
14914
14983
  this.endIndex = lastIndex;
14915
14984
  }
14916
- else if (this.parent.root.editSettings.newRowPosition !== 'Top' && this.parent.root.editModule.selectedIndex !== -1 || this.parent.root.editModule.selectedIndex !== -1) {
14985
+ else if (this.parent.root.editModule.selectedIndex !== -1) {
14917
14986
  this.startIndex += 1;
14918
14987
  this.endIndex += 1;
14919
14988
  }
@@ -15390,8 +15459,10 @@ class VirtualTreeContentRenderer extends VirtualContentRenderer {
15390
15459
  const directVirtualRender = 'directVirtualRender';
15391
15460
  if (!this.parent[`${directVirtualRender}`]) { // with this property, columns are rendered without debouncing on horizontal scroll.
15392
15461
  const preventEvent = 'preventEvent';
15393
- if (Browser.isIE && !isWheel && check && !this[`${preventEvent}`] && !this.parent.enableVirtualMaskRow) {
15394
- this.parent.showSpinner();
15462
+ if (!isWheel && check && !this[`${preventEvent}`] && !this.parent.enableVirtualMaskRow) {
15463
+ if (Browser.isIE) {
15464
+ this.parent.showSpinner();
15465
+ }
15395
15466
  }
15396
15467
  if (this.parent.enableVirtualMaskRow && !this[`${preventEvent}`]) {
15397
15468
  setTimeout(() => {
@@ -15469,12 +15540,12 @@ class VirtualTreeContentRenderer extends VirtualContentRenderer {
15469
15540
  this.parent.root.scrollPosition = scrollArgs.offset;
15470
15541
  }
15471
15542
  const info = scrollArgs.sentinel;
15543
+ const rowHeight = parseInt(this.parent.getRowHeight().toString(), 10);
15544
+ const outBuffer = this.parent.pageSettings.pageSize - Math.ceil(this.parent.pageSettings.pageSize / 2);
15472
15545
  let treeGridParent = null;
15473
15546
  if (this.parent.clipboardModule && this.parent.clipboardModule['treeGridParent']) {
15474
15547
  treeGridParent = this.parent.clipboardModule['treeGridParent'];
15475
15548
  }
15476
- const rowHeight = parseInt(this.parent.getRowHeight().toString(), 10);
15477
- const outBuffer = this.parent.pageSettings.pageSize - Math.ceil(this.parent.pageSettings.pageSize / 2);
15478
15549
  let content;
15479
15550
  if (!isNullOrUndefined(this.parent.contentModule)) {
15480
15551
  content = this.parent.getContent().querySelector('.e-content');
@@ -15741,6 +15812,9 @@ class VirtualTreeContentRenderer extends VirtualContentRenderer {
15741
15812
  const focusCell = 'focusCell';
15742
15813
  const restoreAdd = 'restoreAdd';
15743
15814
  const ensureSelectedRowPosition = 'ensureSelectedRowPosition';
15815
+ if (this['pressedKey'] === 'downArrow' || this['pressedKey'] === 'upArrow') {
15816
+ this['activeKey'] = this['pressedKey'];
15817
+ }
15744
15818
  super[`${focusCell}`](e);
15745
15819
  const isAdd = 'isAdd';
15746
15820
  if (this[`${isAdd}`] && !this.parent.getContent().querySelector('.e-content').querySelector('.e-addedrow')) {