@syncfusion/ej2-treegrid 33.2.10 → 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 (296) 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 +121 -26
  5. package/dist/es6/ej2-treegrid.es2015.js.map +1 -1
  6. package/dist/es6/ej2-treegrid.es5.js +121 -26
  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/package.json +5 -5
  12. package/src/treegrid/actions/batch-edit.d.ts +1 -0
  13. package/src/treegrid/actions/batch-edit.js +14 -2
  14. package/src/treegrid/actions/edit.d.ts +12 -0
  15. package/src/treegrid/actions/edit.js +35 -3
  16. package/src/treegrid/actions/pdf-export.js +3 -1
  17. package/src/treegrid/base/data.js +5 -11
  18. package/src/treegrid/base/treegrid.d.ts +7 -0
  19. package/src/treegrid/base/treegrid.js +34 -5
  20. package/src/treegrid/renderer/virtual-tree-content-render.js +30 -4
  21. package/styles/bds-lite.css +0 -351
  22. package/styles/bds-lite.scss +1 -15
  23. package/styles/bds.css +0 -355
  24. package/styles/bds.scss +2 -16
  25. package/styles/bootstrap-dark-lite.css +0 -100
  26. package/styles/bootstrap-dark-lite.scss +1 -15
  27. package/styles/bootstrap-dark.css +0 -100
  28. package/styles/bootstrap-dark.scss +2 -16
  29. package/styles/bootstrap-lite.css +0 -100
  30. package/styles/bootstrap-lite.scss +1 -15
  31. package/styles/bootstrap.css +0 -100
  32. package/styles/bootstrap.scss +2 -16
  33. package/styles/bootstrap4-lite.css +0 -144
  34. package/styles/bootstrap4-lite.scss +1 -15
  35. package/styles/bootstrap4.css +0 -144
  36. package/styles/bootstrap4.scss +2 -16
  37. package/styles/bootstrap5-dark-lite.css +0 -139
  38. package/styles/bootstrap5-dark-lite.scss +1 -15
  39. package/styles/bootstrap5-dark.css +0 -139
  40. package/styles/bootstrap5-dark.scss +2 -16
  41. package/styles/bootstrap5-lite.css +0 -139
  42. package/styles/bootstrap5-lite.scss +1 -16
  43. package/styles/bootstrap5.3-lite.css +0 -307
  44. package/styles/bootstrap5.3-lite.scss +1 -16
  45. package/styles/bootstrap5.3.css +0 -391
  46. package/styles/bootstrap5.3.scss +2 -17
  47. package/styles/bootstrap5.css +0 -139
  48. package/styles/bootstrap5.scss +2 -17
  49. package/styles/fabric-dark-lite.css +0 -76
  50. package/styles/fabric-dark-lite.scss +1 -16
  51. package/styles/fabric-dark.css +0 -76
  52. package/styles/fabric-dark.scss +2 -17
  53. package/styles/fabric-lite.css +0 -76
  54. package/styles/fabric-lite.scss +1 -16
  55. package/styles/fabric.css +0 -76
  56. package/styles/fabric.scss +2 -17
  57. package/styles/fluent-dark-lite.css +0 -131
  58. package/styles/fluent-dark-lite.scss +1 -16
  59. package/styles/fluent-dark.css +0 -131
  60. package/styles/fluent-dark.scss +2 -17
  61. package/styles/fluent-lite.css +0 -131
  62. package/styles/fluent-lite.scss +1 -16
  63. package/styles/fluent.css +0 -131
  64. package/styles/fluent.scss +2 -17
  65. package/styles/fluent2-lite.css +0 -548
  66. package/styles/fluent2-lite.scss +1 -16
  67. package/styles/fluent2.css +0 -634
  68. package/styles/fluent2.scss +2 -17
  69. package/styles/highcontrast-light-lite.css +0 -85
  70. package/styles/highcontrast-light-lite.scss +1 -16
  71. package/styles/highcontrast-light.css +0 -85
  72. package/styles/highcontrast-light.scss +2 -17
  73. package/styles/highcontrast-lite.css +0 -85
  74. package/styles/highcontrast-lite.scss +1 -16
  75. package/styles/highcontrast.css +0 -85
  76. package/styles/highcontrast.scss +2 -17
  77. package/styles/material-dark-lite.css +0 -161
  78. package/styles/material-dark-lite.scss +1 -16
  79. package/styles/material-dark.css +0 -161
  80. package/styles/material-dark.scss +2 -17
  81. package/styles/material-lite.css +0 -185
  82. package/styles/material-lite.scss +1 -15
  83. package/styles/material.css +0 -185
  84. package/styles/material.scss +2 -16
  85. package/styles/material3-dark-lite.css +0 -393
  86. package/styles/material3-dark-lite.scss +1 -16
  87. package/styles/material3-dark.css +0 -475
  88. package/styles/material3-dark.scss +2 -17
  89. package/styles/material3-lite.css +0 -397
  90. package/styles/material3-lite.scss +1 -16
  91. package/styles/material3.css +0 -481
  92. package/styles/material3.scss +2 -17
  93. package/styles/tailwind-dark-lite.css +0 -112
  94. package/styles/tailwind-dark-lite.scss +1 -16
  95. package/styles/tailwind-dark.css +0 -112
  96. package/styles/tailwind-dark.scss +2 -17
  97. package/styles/tailwind-lite.css +0 -112
  98. package/styles/tailwind-lite.scss +1 -16
  99. package/styles/tailwind.css +0 -112
  100. package/styles/tailwind.scss +2 -17
  101. package/styles/tailwind3-lite.css +0 -347
  102. package/styles/tailwind3-lite.scss +1 -16
  103. package/styles/tailwind3.css +0 -421
  104. package/styles/tailwind3.scss +2 -17
  105. package/styles/treegrid/_all.scss +2 -2
  106. package/styles/treegrid/_bds-definition.scss +4 -2
  107. package/styles/treegrid/_bigger.scss +1 -1
  108. package/styles/treegrid/_bootstrap-dark-definition.scss +4 -2
  109. package/styles/treegrid/_bootstrap-definition.scss +4 -2
  110. package/styles/treegrid/_bootstrap4-definition.scss +4 -2
  111. package/styles/treegrid/_bootstrap5-dark-definition.scss +4 -2
  112. package/styles/treegrid/_bootstrap5-definition.scss +4 -2
  113. package/styles/treegrid/_bootstrap5.3-definition.scss +4 -2
  114. package/styles/treegrid/_fabric-dark-definition.scss +4 -2
  115. package/styles/treegrid/_fabric-definition.scss +4 -2
  116. package/styles/treegrid/_fluent-dark-definition.scss +4 -2
  117. package/styles/treegrid/_fluent-definition.scss +4 -2
  118. package/styles/treegrid/_fluent2-definition.scss +4 -2
  119. package/styles/treegrid/_fusionnew-definition.scss +2 -0
  120. package/styles/treegrid/_highcontrast-definition.scss +4 -2
  121. package/styles/treegrid/_highcontrast-light-definition.scss +4 -2
  122. package/styles/treegrid/_layout.scss +4 -4
  123. package/styles/treegrid/_material-dark-definition.scss +4 -2
  124. package/styles/treegrid/_material-definition.scss +4 -2
  125. package/styles/treegrid/_material3-dark-definition.scss +4 -2
  126. package/styles/treegrid/_material3-definition.scss +4 -2
  127. package/styles/treegrid/_tailwind-dark-definition.scss +4 -2
  128. package/styles/treegrid/_tailwind-definition.scss +4 -2
  129. package/styles/treegrid/_tailwind3-definition.scss +4 -2
  130. package/styles/treegrid/_variables.scss +2 -0
  131. package/styles/treegrid/bds.css +0 -355
  132. package/styles/treegrid/bds.scss +2 -17
  133. package/styles/treegrid/bootstrap-dark.css +0 -100
  134. package/styles/treegrid/bootstrap-dark.scss +2 -17
  135. package/styles/treegrid/bootstrap.css +0 -100
  136. package/styles/treegrid/bootstrap.scss +2 -17
  137. package/styles/treegrid/bootstrap4.css +0 -144
  138. package/styles/treegrid/bootstrap4.scss +2 -17
  139. package/styles/treegrid/bootstrap5-dark.css +0 -139
  140. package/styles/treegrid/bootstrap5-dark.scss +2 -17
  141. package/styles/treegrid/bootstrap5.3.css +0 -391
  142. package/styles/treegrid/bootstrap5.3.scss +2 -17
  143. package/styles/treegrid/bootstrap5.css +0 -139
  144. package/styles/treegrid/bootstrap5.scss +2 -17
  145. package/styles/treegrid/fabric-dark.css +0 -76
  146. package/styles/treegrid/fabric-dark.scss +2 -17
  147. package/styles/treegrid/fabric.css +0 -76
  148. package/styles/treegrid/fabric.scss +2 -17
  149. package/styles/treegrid/fluent-dark.css +0 -131
  150. package/styles/treegrid/fluent-dark.scss +2 -17
  151. package/styles/treegrid/fluent.css +0 -131
  152. package/styles/treegrid/fluent.scss +2 -17
  153. package/styles/treegrid/fluent2.css +0 -634
  154. package/styles/treegrid/fluent2.scss +2 -17
  155. package/styles/treegrid/highcontrast-light.css +0 -85
  156. package/styles/treegrid/highcontrast-light.scss +2 -17
  157. package/styles/treegrid/highcontrast.css +0 -85
  158. package/styles/treegrid/highcontrast.scss +2 -17
  159. package/styles/treegrid/icons/_bds.scss +1 -1
  160. package/styles/treegrid/icons/_bootstrap-dark.scss +1 -1
  161. package/styles/treegrid/icons/_bootstrap.scss +1 -1
  162. package/styles/treegrid/icons/_bootstrap4.scss +1 -1
  163. package/styles/treegrid/icons/_bootstrap5.3.scss +1 -1
  164. package/styles/treegrid/icons/_bootstrap5.scss +1 -1
  165. package/styles/treegrid/icons/_fabric-dark.scss +1 -1
  166. package/styles/treegrid/icons/_fabric.scss +1 -1
  167. package/styles/treegrid/icons/_fluent.scss +1 -1
  168. package/styles/treegrid/icons/_fluent2.scss +1 -1
  169. package/styles/treegrid/icons/_fusionnew.scss +1 -1
  170. package/styles/treegrid/icons/_highcontrast-light.scss +1 -1
  171. package/styles/treegrid/icons/_highcontrast.scss +1 -1
  172. package/styles/treegrid/icons/_material-dark.scss +1 -1
  173. package/styles/treegrid/icons/_material.scss +1 -1
  174. package/styles/treegrid/icons/_material3.scss +1 -1
  175. package/styles/treegrid/icons/_tailwind-dark.scss +1 -1
  176. package/styles/treegrid/icons/_tailwind.scss +1 -1
  177. package/styles/treegrid/icons/_tailwind3.scss +1 -1
  178. package/styles/treegrid/material-dark.css +0 -161
  179. package/styles/treegrid/material-dark.scss +2 -17
  180. package/styles/treegrid/material.css +0 -185
  181. package/styles/treegrid/material.scss +2 -17
  182. package/styles/treegrid/material3-dark.css +0 -475
  183. package/styles/treegrid/material3-dark.scss +2 -17
  184. package/styles/treegrid/material3.css +0 -481
  185. package/styles/treegrid/material3.scss +2 -17
  186. package/styles/treegrid/tailwind-dark.css +0 -112
  187. package/styles/treegrid/tailwind-dark.scss +2 -17
  188. package/styles/treegrid/tailwind.css +0 -112
  189. package/styles/treegrid/tailwind.scss +2 -17
  190. package/styles/treegrid/tailwind3.css +0 -421
  191. package/styles/treegrid/tailwind3.scss +2 -17
  192. package/styles/treegrid/_all.bds.scss +0 -2
  193. package/styles/treegrid/_all.bootstrap-dark.scss +0 -2
  194. package/styles/treegrid/_all.bootstrap.scss +0 -2
  195. package/styles/treegrid/_all.bootstrap4.scss +0 -2
  196. package/styles/treegrid/_all.bootstrap5-dark.scss +0 -2
  197. package/styles/treegrid/_all.bootstrap5.3.scss +0 -2
  198. package/styles/treegrid/_all.bootstrap5.scss +0 -2
  199. package/styles/treegrid/_all.fabric-dark.scss +0 -2
  200. package/styles/treegrid/_all.fabric.scss +0 -2
  201. package/styles/treegrid/_all.fluent-dark.scss +0 -2
  202. package/styles/treegrid/_all.fluent.scss +0 -2
  203. package/styles/treegrid/_all.fluent2.scss +0 -2
  204. package/styles/treegrid/_all.highcontrast-light.scss +0 -2
  205. package/styles/treegrid/_all.highcontrast.scss +0 -2
  206. package/styles/treegrid/_all.material-dark.scss +0 -2
  207. package/styles/treegrid/_all.material.scss +0 -2
  208. package/styles/treegrid/_all.material3-dark.scss +0 -2
  209. package/styles/treegrid/_all.material3.scss +0 -2
  210. package/styles/treegrid/_all.tailwind-dark.scss +0 -2
  211. package/styles/treegrid/_all.tailwind.scss +0 -2
  212. package/styles/treegrid/_all.tailwind3.scss +0 -2
  213. package/styles/treegrid/_bigger.bds.scss +0 -3
  214. package/styles/treegrid/_bigger.bootstrap-dark.scss +0 -3
  215. package/styles/treegrid/_bigger.bootstrap.scss +0 -3
  216. package/styles/treegrid/_bigger.bootstrap4.scss +0 -3
  217. package/styles/treegrid/_bigger.bootstrap5-dark.scss +0 -3
  218. package/styles/treegrid/_bigger.bootstrap5.3.scss +0 -3
  219. package/styles/treegrid/_bigger.bootstrap5.scss +0 -3
  220. package/styles/treegrid/_bigger.fabric-dark.scss +0 -3
  221. package/styles/treegrid/_bigger.fabric.scss +0 -3
  222. package/styles/treegrid/_bigger.fluent-dark.scss +0 -3
  223. package/styles/treegrid/_bigger.fluent.scss +0 -3
  224. package/styles/treegrid/_bigger.fluent2.scss +0 -3
  225. package/styles/treegrid/_bigger.highcontrast-light.scss +0 -3
  226. package/styles/treegrid/_bigger.highcontrast.scss +0 -3
  227. package/styles/treegrid/_bigger.material-dark.scss +0 -3
  228. package/styles/treegrid/_bigger.material.scss +0 -3
  229. package/styles/treegrid/_bigger.material3-dark.scss +0 -3
  230. package/styles/treegrid/_bigger.material3.scss +0 -3
  231. package/styles/treegrid/_bigger.tailwind-dark.scss +0 -3
  232. package/styles/treegrid/_bigger.tailwind.scss +0 -3
  233. package/styles/treegrid/_bigger.tailwind3.scss +0 -3
  234. package/styles/treegrid/_layout.bds.scss +0 -4
  235. package/styles/treegrid/_layout.bootstrap-dark.scss +0 -4
  236. package/styles/treegrid/_layout.bootstrap.scss +0 -4
  237. package/styles/treegrid/_layout.bootstrap4.scss +0 -4
  238. package/styles/treegrid/_layout.bootstrap5-dark.scss +0 -4
  239. package/styles/treegrid/_layout.bootstrap5.3.scss +0 -4
  240. package/styles/treegrid/_layout.bootstrap5.scss +0 -4
  241. package/styles/treegrid/_layout.fabric-dark.scss +0 -4
  242. package/styles/treegrid/_layout.fabric.scss +0 -4
  243. package/styles/treegrid/_layout.fluent-dark.scss +0 -4
  244. package/styles/treegrid/_layout.fluent.scss +0 -4
  245. package/styles/treegrid/_layout.fluent2.scss +0 -4
  246. package/styles/treegrid/_layout.highcontrast-light.scss +0 -4
  247. package/styles/treegrid/_layout.highcontrast.scss +0 -4
  248. package/styles/treegrid/_layout.material-dark.scss +0 -4
  249. package/styles/treegrid/_layout.material.scss +0 -4
  250. package/styles/treegrid/_layout.material3-dark.scss +0 -4
  251. package/styles/treegrid/_layout.material3.scss +0 -4
  252. package/styles/treegrid/_layout.tailwind-dark.scss +0 -4
  253. package/styles/treegrid/_layout.tailwind.scss +0 -4
  254. package/styles/treegrid/_layout.tailwind3.scss +0 -4
  255. package/styles/treegrid/_theme-variables.bds.scss +0 -1
  256. package/styles/treegrid/_theme-variables.bootstrap-dark.scss +0 -1
  257. package/styles/treegrid/_theme-variables.bootstrap.scss +0 -1
  258. package/styles/treegrid/_theme-variables.bootstrap4.scss +0 -1
  259. package/styles/treegrid/_theme-variables.bootstrap5-dark.scss +0 -1
  260. package/styles/treegrid/_theme-variables.bootstrap5.3.scss +0 -1
  261. package/styles/treegrid/_theme-variables.bootstrap5.scss +0 -1
  262. package/styles/treegrid/_theme-variables.fabric-dark.scss +0 -1
  263. package/styles/treegrid/_theme-variables.fabric.scss +0 -1
  264. package/styles/treegrid/_theme-variables.fluent-dark.scss +0 -1
  265. package/styles/treegrid/_theme-variables.fluent.scss +0 -1
  266. package/styles/treegrid/_theme-variables.fluent2.scss +0 -1
  267. package/styles/treegrid/_theme-variables.highcontrast-light.scss +0 -1
  268. package/styles/treegrid/_theme-variables.highcontrast.scss +0 -1
  269. package/styles/treegrid/_theme-variables.material-dark.scss +0 -1
  270. package/styles/treegrid/_theme-variables.material.scss +0 -1
  271. package/styles/treegrid/_theme-variables.material3-dark.scss +0 -1
  272. package/styles/treegrid/_theme-variables.material3.scss +0 -1
  273. package/styles/treegrid/_theme-variables.tailwind-dark.scss +0 -1
  274. package/styles/treegrid/_theme-variables.tailwind.scss +0 -1
  275. package/styles/treegrid/_theme-variables.tailwind3.scss +0 -1
  276. package/styles/treegrid/_theme.bds.scss +0 -1
  277. package/styles/treegrid/_theme.bootstrap-dark.scss +0 -1
  278. package/styles/treegrid/_theme.bootstrap.scss +0 -1
  279. package/styles/treegrid/_theme.bootstrap4.scss +0 -1
  280. package/styles/treegrid/_theme.bootstrap5-dark.scss +0 -1
  281. package/styles/treegrid/_theme.bootstrap5.3.scss +0 -1
  282. package/styles/treegrid/_theme.bootstrap5.scss +0 -1
  283. package/styles/treegrid/_theme.fabric-dark.scss +0 -1
  284. package/styles/treegrid/_theme.fabric.scss +0 -1
  285. package/styles/treegrid/_theme.fluent-dark.scss +0 -1
  286. package/styles/treegrid/_theme.fluent.scss +0 -1
  287. package/styles/treegrid/_theme.fluent2.scss +0 -1
  288. package/styles/treegrid/_theme.highcontrast-light.scss +0 -1
  289. package/styles/treegrid/_theme.highcontrast.scss +0 -1
  290. package/styles/treegrid/_theme.material-dark.scss +0 -1
  291. package/styles/treegrid/_theme.material.scss +0 -1
  292. package/styles/treegrid/_theme.material3-dark.scss +0 -1
  293. package/styles/treegrid/_theme.material3.scss +0 -1
  294. package/styles/treegrid/_theme.tailwind-dark.scss +0 -1
  295. package/styles/treegrid/_theme.tailwind.scss +0 -1
  296. 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(() => {
@@ -15471,6 +15542,10 @@ class VirtualTreeContentRenderer extends VirtualContentRenderer {
15471
15542
  const info = scrollArgs.sentinel;
15472
15543
  const rowHeight = parseInt(this.parent.getRowHeight().toString(), 10);
15473
15544
  const outBuffer = this.parent.pageSettings.pageSize - Math.ceil(this.parent.pageSettings.pageSize / 2);
15545
+ let treeGridParent = null;
15546
+ if (this.parent.clipboardModule && this.parent.clipboardModule['treeGridParent']) {
15547
+ treeGridParent = this.parent.clipboardModule['treeGridParent'];
15548
+ }
15474
15549
  let content;
15475
15550
  if (!isNullOrUndefined(this.parent.contentModule)) {
15476
15551
  content = this.parent.getContent().querySelector('.e-content');
@@ -15546,7 +15621,7 @@ class VirtualTreeContentRenderer extends VirtualContentRenderer {
15546
15621
  else if (downScroll && (scrollArgs.direction !== 'right' && scrollArgs.direction !== 'left') && !isNullOrUndefined(content)) {
15547
15622
  let nextSetResIndex = ~~(content.scrollTop / rowHeight);
15548
15623
  const isLastBlock = (this[`${selectedRowIndex}`] + this.parent.pageSettings.pageSize) < this.totalRecords ? false : true;
15549
- if (!isNullOrUndefined(this[`${selectedRowIndex}`]) && this[`${selectedRowIndex}`] !== -1 &&
15624
+ if (treeGridParent !== null && treeGridParent.isGantt && !isNullOrUndefined(this[`${selectedRowIndex}`]) && this[`${selectedRowIndex}`] !== -1 &&
15550
15625
  nextSetResIndex !== this[`${selectedRowIndex}`] && !isLastBlock && !this.parent.allowRowDragAndDrop) {
15551
15626
  nextSetResIndex = this[`${selectedRowIndex}`];
15552
15627
  }
@@ -15657,6 +15732,15 @@ class VirtualTreeContentRenderer extends VirtualContentRenderer {
15657
15732
  * @returns {void}
15658
15733
  */
15659
15734
  appendContent(target, newChild, e) {
15735
+ let treeGridParent = null;
15736
+ if (this.parent.clipboardModule && this.parent.clipboardModule['treeGridParent']) {
15737
+ treeGridParent = this.parent.clipboardModule['treeGridParent'];
15738
+ }
15739
+ const totalBlocks = this.getTotalBlocks();
15740
+ const lastPage = Math.ceil(totalBlocks / 2);
15741
+ const isBottom = (this.parent.pageSettings.currentPage === lastPage) &&
15742
+ (treeGridParent && treeGridParent.flatData &&
15743
+ treeGridParent.flatData.length === e.index + 1);
15660
15744
  if ((this.parent.dataSource instanceof DataManager && this.parent.dataSource.dataSource.url !== undefined
15661
15745
  && !this.parent.dataSource.dataSource.offline && this.parent.dataSource.dataSource.url !== '') || isCountRequired(this.parent)
15662
15746
  || (this.parent.isFrozenGrid() && (e.requestType === undefined || !isNullOrUndefined(e.virtualInfo) && (e.virtualInfo.direction === 'right' || e.virtualInfo.direction === 'left')))) {
@@ -15728,6 +15812,9 @@ class VirtualTreeContentRenderer extends VirtualContentRenderer {
15728
15812
  const focusCell = 'focusCell';
15729
15813
  const restoreAdd = 'restoreAdd';
15730
15814
  const ensureSelectedRowPosition = 'ensureSelectedRowPosition';
15815
+ if (this['pressedKey'] === 'downArrow' || this['pressedKey'] === 'upArrow') {
15816
+ this['activeKey'] = this['pressedKey'];
15817
+ }
15731
15818
  super[`${focusCell}`](e);
15732
15819
  const isAdd = 'isAdd';
15733
15820
  if (this[`${isAdd}`] && !this.parent.getContent().querySelector('.e-content').querySelector('.e-addedrow')) {
@@ -15741,6 +15828,14 @@ class VirtualTreeContentRenderer extends VirtualContentRenderer {
15741
15828
  }
15742
15829
  }
15743
15830
  }
15831
+ if ((treeGridParent !== null && !treeGridParent.isGantt) && e.action === 'add' && isBottom) {
15832
+ const rowHeight = this.parent.getRowHeight();
15833
+ const pageSize = this.parent.pageSettings.pageSize;
15834
+ const newTranslateY = (this.totalRecords * rowHeight) - (pageSize * rowHeight);
15835
+ this.translateY = newTranslateY > 0 ? newTranslateY : this.translateY;
15836
+ this.virtualEle.adjustTable(cOffset, this.translateY);
15837
+ this.content.scrollTop = this.translateY;
15838
+ }
15744
15839
  this.restoreEditState();
15745
15840
  super[`${restoreAdd}`]();
15746
15841
  super[`${ensureSelectedRowPosition}`]();