@progress/kendo-vue-treelist 5.3.0-dev.202410141143 → 5.3.0-develop.2

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 (263) hide show
  1. package/README.md +26 -34
  2. package/TreeList.js +8 -0
  3. package/TreeList.mjs +722 -0
  4. package/TreeListNav.js +8 -0
  5. package/TreeListNav.mjs +98 -0
  6. package/cells/EditCells/TreeListBooleanEditor.js +8 -0
  7. package/cells/EditCells/TreeListBooleanEditor.mjs +154 -0
  8. package/cells/EditCells/TreeListDateEditor.js +8 -0
  9. package/cells/EditCells/TreeListDateEditor.mjs +140 -0
  10. package/cells/EditCells/TreeListNumericEditor.js +8 -0
  11. package/cells/EditCells/TreeListNumericEditor.mjs +140 -0
  12. package/cells/EditCells/TreeListTextEditor.js +8 -0
  13. package/cells/EditCells/TreeListTextEditor.mjs +157 -0
  14. package/cells/FilterCells/TreeListBooleanFilter.js +8 -0
  15. package/cells/FilterCells/TreeListBooleanFilter.mjs +54 -0
  16. package/cells/FilterCells/TreeListDateFilter.js +8 -0
  17. package/cells/FilterCells/TreeListDateFilter.mjs +54 -0
  18. package/cells/FilterCells/TreeListNumericFilter.js +8 -0
  19. package/cells/FilterCells/TreeListNumericFilter.mjs +54 -0
  20. package/cells/FilterCells/TreeListTextFilter.js +8 -0
  21. package/cells/FilterCells/TreeListTextFilter.mjs +54 -0
  22. package/cells/FilterCells/utils.js +8 -0
  23. package/cells/FilterCells/utils.mjs +59 -0
  24. package/cells/TreeListCell.js +8 -0
  25. package/cells/TreeListCell.mjs +184 -0
  26. package/cells/TreeListSelectionCell.js +8 -0
  27. package/cells/TreeListSelectionCell.mjs +146 -0
  28. package/constants/main.js +8 -0
  29. package/constants/main.mjs +14 -0
  30. package/dist/cdn/js/kendo-vue-treelist.js +8 -1
  31. package/index.d.mts +1814 -0
  32. package/index.d.ts +1814 -0
  33. package/index.js +8 -0
  34. package/index.mjs +58 -0
  35. package/messages/main.js +8 -0
  36. package/messages/main.mjs +112 -0
  37. package/package-metadata.js +8 -0
  38. package/package-metadata.mjs +18 -0
  39. package/package.json +24 -61
  40. package/rows/RowDragClue.js +8 -0
  41. package/rows/RowDragClue.mjs +56 -0
  42. package/rows/TreeListDraggableRow.js +8 -0
  43. package/rows/TreeListDraggableRow.mjs +113 -0
  44. package/rows/TreeListRow.js +8 -0
  45. package/rows/TreeListRow.mjs +124 -0
  46. package/utils/data-operations.js +8 -0
  47. package/utils/data-operations.mjs +103 -0
  48. package/utils/main.js +8 -0
  49. package/utils/main.mjs +53 -0
  50. package/dist/es/ScrollMode.d.ts +0 -1
  51. package/dist/es/ScrollMode.js +0 -1
  52. package/dist/es/TreeList.d.ts +0 -56
  53. package/dist/es/TreeList.js +0 -1289
  54. package/dist/es/TreeListNav.d.ts +0 -46
  55. package/dist/es/TreeListNav.js +0 -123
  56. package/dist/es/additionalTypes.ts +0 -21
  57. package/dist/es/cells/EditCells/TreeListBooleanEditor.d.ts +0 -49
  58. package/dist/es/cells/EditCells/TreeListBooleanEditor.js +0 -194
  59. package/dist/es/cells/EditCells/TreeListDateEditor.d.ts +0 -49
  60. package/dist/es/cells/EditCells/TreeListDateEditor.js +0 -174
  61. package/dist/es/cells/EditCells/TreeListNumericEditor.d.ts +0 -49
  62. package/dist/es/cells/EditCells/TreeListNumericEditor.js +0 -174
  63. package/dist/es/cells/EditCells/TreeListTextEditor.d.ts +0 -50
  64. package/dist/es/cells/EditCells/TreeListTextEditor.js +0 -190
  65. package/dist/es/cells/FilterCells/TreeListBooleanFilter.d.ts +0 -22
  66. package/dist/es/cells/FilterCells/TreeListBooleanFilter.js +0 -89
  67. package/dist/es/cells/FilterCells/TreeListDateFilter.d.ts +0 -22
  68. package/dist/es/cells/FilterCells/TreeListDateFilter.js +0 -89
  69. package/dist/es/cells/FilterCells/TreeListNumericFilter.d.ts +0 -22
  70. package/dist/es/cells/FilterCells/TreeListNumericFilter.js +0 -89
  71. package/dist/es/cells/FilterCells/TreeListTextFilter.d.ts +0 -25
  72. package/dist/es/cells/FilterCells/TreeListTextFilter.js +0 -89
  73. package/dist/es/cells/FilterCells/utils.d.ts +0 -38
  74. package/dist/es/cells/FilterCells/utils.js +0 -66
  75. package/dist/es/cells/TreeListCell.d.ts +0 -41
  76. package/dist/es/cells/TreeListCell.js +0 -256
  77. package/dist/es/cells/TreeListSelectionCell.d.ts +0 -41
  78. package/dist/es/cells/TreeListSelectionCell.js +0 -181
  79. package/dist/es/constants/main.d.ts +0 -6
  80. package/dist/es/constants/main.js +0 -7
  81. package/dist/es/interfaces/DataItemWrapper.d.ts +0 -10
  82. package/dist/es/interfaces/DataItemWrapper.js +0 -1
  83. package/dist/es/interfaces/TreeListCellProps.d.ts +0 -35
  84. package/dist/es/interfaces/TreeListCellProps.js +0 -1
  85. package/dist/es/interfaces/TreeListColumnProps.d.ts +0 -33
  86. package/dist/es/interfaces/TreeListColumnProps.js +0 -1
  87. package/dist/es/interfaces/TreeListFilterCellProps.d.ts +0 -6
  88. package/dist/es/interfaces/TreeListFilterCellProps.js +0 -1
  89. package/dist/es/interfaces/TreeListFilterOperator.d.ts +0 -6
  90. package/dist/es/interfaces/TreeListFilterOperator.js +0 -1
  91. package/dist/es/interfaces/TreeListHeaderCellProps.d.ts +0 -6
  92. package/dist/es/interfaces/TreeListHeaderCellProps.js +0 -1
  93. package/dist/es/interfaces/TreeListProps.d.ts +0 -345
  94. package/dist/es/interfaces/TreeListProps.js +0 -1
  95. package/dist/es/interfaces/TreeListRowProps.d.ts +0 -92
  96. package/dist/es/interfaces/TreeListRowProps.js +0 -1
  97. package/dist/es/interfaces/TreeListSelectableSettings.d.ts +0 -18
  98. package/dist/es/interfaces/TreeListSelectableSettings.js +0 -1
  99. package/dist/es/interfaces/TreeListSortSettings.d.ts +0 -9
  100. package/dist/es/interfaces/TreeListSortSettings.js +0 -1
  101. package/dist/es/interfaces/TreeListToolbarProps.d.ts +0 -5
  102. package/dist/es/interfaces/TreeListToolbarProps.js +0 -1
  103. package/dist/es/interfaces/events.d.ts +0 -286
  104. package/dist/es/interfaces/events.js +0 -1
  105. package/dist/es/main.d.ts +0 -27
  106. package/dist/es/main.js +0 -17
  107. package/dist/es/messages/main.d.ts +0 -239
  108. package/dist/es/messages/main.js +0 -240
  109. package/dist/es/package-metadata.d.ts +0 -5
  110. package/dist/es/package-metadata.js +0 -11
  111. package/dist/es/rows/RowDragClue.d.ts +0 -40
  112. package/dist/es/rows/RowDragClue.js +0 -76
  113. package/dist/es/rows/TreeListDraggableRow.d.ts +0 -38
  114. package/dist/es/rows/TreeListDraggableRow.js +0 -175
  115. package/dist/es/rows/TreeListRow.d.ts +0 -36
  116. package/dist/es/rows/TreeListRow.js +0 -154
  117. package/dist/es/utils/data-operations.d.ts +0 -115
  118. package/dist/es/utils/data-operations.js +0 -250
  119. package/dist/es/utils/main.d.ts +0 -17
  120. package/dist/es/utils/main.js +0 -68
  121. package/dist/esm/ScrollMode.d.ts +0 -1
  122. package/dist/esm/ScrollMode.js +0 -1
  123. package/dist/esm/TreeList.d.ts +0 -56
  124. package/dist/esm/TreeList.js +0 -1289
  125. package/dist/esm/TreeListNav.d.ts +0 -46
  126. package/dist/esm/TreeListNav.js +0 -123
  127. package/dist/esm/additionalTypes.ts +0 -21
  128. package/dist/esm/cells/EditCells/TreeListBooleanEditor.d.ts +0 -49
  129. package/dist/esm/cells/EditCells/TreeListBooleanEditor.js +0 -194
  130. package/dist/esm/cells/EditCells/TreeListDateEditor.d.ts +0 -49
  131. package/dist/esm/cells/EditCells/TreeListDateEditor.js +0 -174
  132. package/dist/esm/cells/EditCells/TreeListNumericEditor.d.ts +0 -49
  133. package/dist/esm/cells/EditCells/TreeListNumericEditor.js +0 -174
  134. package/dist/esm/cells/EditCells/TreeListTextEditor.d.ts +0 -50
  135. package/dist/esm/cells/EditCells/TreeListTextEditor.js +0 -190
  136. package/dist/esm/cells/FilterCells/TreeListBooleanFilter.d.ts +0 -22
  137. package/dist/esm/cells/FilterCells/TreeListBooleanFilter.js +0 -89
  138. package/dist/esm/cells/FilterCells/TreeListDateFilter.d.ts +0 -22
  139. package/dist/esm/cells/FilterCells/TreeListDateFilter.js +0 -89
  140. package/dist/esm/cells/FilterCells/TreeListNumericFilter.d.ts +0 -22
  141. package/dist/esm/cells/FilterCells/TreeListNumericFilter.js +0 -89
  142. package/dist/esm/cells/FilterCells/TreeListTextFilter.d.ts +0 -25
  143. package/dist/esm/cells/FilterCells/TreeListTextFilter.js +0 -89
  144. package/dist/esm/cells/FilterCells/utils.d.ts +0 -38
  145. package/dist/esm/cells/FilterCells/utils.js +0 -66
  146. package/dist/esm/cells/TreeListCell.d.ts +0 -41
  147. package/dist/esm/cells/TreeListCell.js +0 -256
  148. package/dist/esm/cells/TreeListSelectionCell.d.ts +0 -41
  149. package/dist/esm/cells/TreeListSelectionCell.js +0 -181
  150. package/dist/esm/constants/main.d.ts +0 -6
  151. package/dist/esm/constants/main.js +0 -7
  152. package/dist/esm/interfaces/DataItemWrapper.d.ts +0 -10
  153. package/dist/esm/interfaces/DataItemWrapper.js +0 -1
  154. package/dist/esm/interfaces/TreeListCellProps.d.ts +0 -35
  155. package/dist/esm/interfaces/TreeListCellProps.js +0 -1
  156. package/dist/esm/interfaces/TreeListColumnProps.d.ts +0 -33
  157. package/dist/esm/interfaces/TreeListColumnProps.js +0 -1
  158. package/dist/esm/interfaces/TreeListFilterCellProps.d.ts +0 -6
  159. package/dist/esm/interfaces/TreeListFilterCellProps.js +0 -1
  160. package/dist/esm/interfaces/TreeListFilterOperator.d.ts +0 -6
  161. package/dist/esm/interfaces/TreeListFilterOperator.js +0 -1
  162. package/dist/esm/interfaces/TreeListHeaderCellProps.d.ts +0 -6
  163. package/dist/esm/interfaces/TreeListHeaderCellProps.js +0 -1
  164. package/dist/esm/interfaces/TreeListProps.d.ts +0 -345
  165. package/dist/esm/interfaces/TreeListProps.js +0 -1
  166. package/dist/esm/interfaces/TreeListRowProps.d.ts +0 -92
  167. package/dist/esm/interfaces/TreeListRowProps.js +0 -1
  168. package/dist/esm/interfaces/TreeListSelectableSettings.d.ts +0 -18
  169. package/dist/esm/interfaces/TreeListSelectableSettings.js +0 -1
  170. package/dist/esm/interfaces/TreeListSortSettings.d.ts +0 -9
  171. package/dist/esm/interfaces/TreeListSortSettings.js +0 -1
  172. package/dist/esm/interfaces/TreeListToolbarProps.d.ts +0 -5
  173. package/dist/esm/interfaces/TreeListToolbarProps.js +0 -1
  174. package/dist/esm/interfaces/events.d.ts +0 -286
  175. package/dist/esm/interfaces/events.js +0 -1
  176. package/dist/esm/main.d.ts +0 -27
  177. package/dist/esm/main.js +0 -17
  178. package/dist/esm/messages/main.d.ts +0 -239
  179. package/dist/esm/messages/main.js +0 -240
  180. package/dist/esm/package-metadata.d.ts +0 -5
  181. package/dist/esm/package-metadata.js +0 -11
  182. package/dist/esm/package.json +0 -3
  183. package/dist/esm/rows/RowDragClue.d.ts +0 -40
  184. package/dist/esm/rows/RowDragClue.js +0 -76
  185. package/dist/esm/rows/TreeListDraggableRow.d.ts +0 -38
  186. package/dist/esm/rows/TreeListDraggableRow.js +0 -175
  187. package/dist/esm/rows/TreeListRow.d.ts +0 -36
  188. package/dist/esm/rows/TreeListRow.js +0 -154
  189. package/dist/esm/utils/data-operations.d.ts +0 -115
  190. package/dist/esm/utils/data-operations.js +0 -250
  191. package/dist/esm/utils/main.d.ts +0 -17
  192. package/dist/esm/utils/main.js +0 -68
  193. package/dist/npm/ScrollMode.d.ts +0 -1
  194. package/dist/npm/ScrollMode.js +0 -2
  195. package/dist/npm/TreeList.d.ts +0 -56
  196. package/dist/npm/TreeList.js +0 -1296
  197. package/dist/npm/TreeListNav.d.ts +0 -46
  198. package/dist/npm/TreeListNav.js +0 -130
  199. package/dist/npm/additionalTypes.ts +0 -21
  200. package/dist/npm/cells/EditCells/TreeListBooleanEditor.d.ts +0 -49
  201. package/dist/npm/cells/EditCells/TreeListBooleanEditor.js +0 -201
  202. package/dist/npm/cells/EditCells/TreeListDateEditor.d.ts +0 -49
  203. package/dist/npm/cells/EditCells/TreeListDateEditor.js +0 -181
  204. package/dist/npm/cells/EditCells/TreeListNumericEditor.d.ts +0 -49
  205. package/dist/npm/cells/EditCells/TreeListNumericEditor.js +0 -181
  206. package/dist/npm/cells/EditCells/TreeListTextEditor.d.ts +0 -50
  207. package/dist/npm/cells/EditCells/TreeListTextEditor.js +0 -197
  208. package/dist/npm/cells/FilterCells/TreeListBooleanFilter.d.ts +0 -22
  209. package/dist/npm/cells/FilterCells/TreeListBooleanFilter.js +0 -96
  210. package/dist/npm/cells/FilterCells/TreeListDateFilter.d.ts +0 -22
  211. package/dist/npm/cells/FilterCells/TreeListDateFilter.js +0 -96
  212. package/dist/npm/cells/FilterCells/TreeListNumericFilter.d.ts +0 -22
  213. package/dist/npm/cells/FilterCells/TreeListNumericFilter.js +0 -96
  214. package/dist/npm/cells/FilterCells/TreeListTextFilter.d.ts +0 -25
  215. package/dist/npm/cells/FilterCells/TreeListTextFilter.js +0 -96
  216. package/dist/npm/cells/FilterCells/utils.d.ts +0 -38
  217. package/dist/npm/cells/FilterCells/utils.js +0 -70
  218. package/dist/npm/cells/TreeListCell.d.ts +0 -41
  219. package/dist/npm/cells/TreeListCell.js +0 -263
  220. package/dist/npm/cells/TreeListSelectionCell.d.ts +0 -41
  221. package/dist/npm/cells/TreeListSelectionCell.js +0 -188
  222. package/dist/npm/constants/main.d.ts +0 -6
  223. package/dist/npm/constants/main.js +0 -10
  224. package/dist/npm/interfaces/DataItemWrapper.d.ts +0 -10
  225. package/dist/npm/interfaces/DataItemWrapper.js +0 -2
  226. package/dist/npm/interfaces/TreeListCellProps.d.ts +0 -35
  227. package/dist/npm/interfaces/TreeListCellProps.js +0 -2
  228. package/dist/npm/interfaces/TreeListColumnProps.d.ts +0 -33
  229. package/dist/npm/interfaces/TreeListColumnProps.js +0 -2
  230. package/dist/npm/interfaces/TreeListFilterCellProps.d.ts +0 -6
  231. package/dist/npm/interfaces/TreeListFilterCellProps.js +0 -2
  232. package/dist/npm/interfaces/TreeListFilterOperator.d.ts +0 -6
  233. package/dist/npm/interfaces/TreeListFilterOperator.js +0 -2
  234. package/dist/npm/interfaces/TreeListHeaderCellProps.d.ts +0 -6
  235. package/dist/npm/interfaces/TreeListHeaderCellProps.js +0 -2
  236. package/dist/npm/interfaces/TreeListProps.d.ts +0 -345
  237. package/dist/npm/interfaces/TreeListProps.js +0 -2
  238. package/dist/npm/interfaces/TreeListRowProps.d.ts +0 -92
  239. package/dist/npm/interfaces/TreeListRowProps.js +0 -2
  240. package/dist/npm/interfaces/TreeListSelectableSettings.d.ts +0 -18
  241. package/dist/npm/interfaces/TreeListSelectableSettings.js +0 -2
  242. package/dist/npm/interfaces/TreeListSortSettings.d.ts +0 -9
  243. package/dist/npm/interfaces/TreeListSortSettings.js +0 -2
  244. package/dist/npm/interfaces/TreeListToolbarProps.d.ts +0 -5
  245. package/dist/npm/interfaces/TreeListToolbarProps.js +0 -5
  246. package/dist/npm/interfaces/events.d.ts +0 -286
  247. package/dist/npm/interfaces/events.js +0 -2
  248. package/dist/npm/main.d.ts +0 -27
  249. package/dist/npm/main.js +0 -52
  250. package/dist/npm/messages/main.d.ts +0 -239
  251. package/dist/npm/messages/main.js +0 -244
  252. package/dist/npm/package-metadata.d.ts +0 -5
  253. package/dist/npm/package-metadata.js +0 -14
  254. package/dist/npm/rows/RowDragClue.d.ts +0 -40
  255. package/dist/npm/rows/RowDragClue.js +0 -83
  256. package/dist/npm/rows/TreeListDraggableRow.d.ts +0 -38
  257. package/dist/npm/rows/TreeListDraggableRow.js +0 -182
  258. package/dist/npm/rows/TreeListRow.d.ts +0 -36
  259. package/dist/npm/rows/TreeListRow.js +0 -161
  260. package/dist/npm/utils/data-operations.d.ts +0 -115
  261. package/dist/npm/utils/data-operations.js +0 -265
  262. package/dist/npm/utils/main.d.ts +0 -17
  263. package/dist/npm/utils/main.js +0 -74
package/README.md CHANGED
@@ -1,54 +1,46 @@
1
- <a href="https://www.telerik.com/kendo-vue-ui/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-treelist&utm_content=banner" target="_blank">
1
+ <a href="https://www.telerik.com/kendo-vue-ui/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-utils&utm_content=banner" target="_blank">
2
2
  <img src="https://www.telerik.com/kendo-vue-ui/npm-banner.svg" alt="Kendo UI for Vue NPM Banner">
3
3
  </a>
4
4
 
5
- # Kendo UI for Vue TreeList Component for Vue
5
+ ## Kendo UI for Vue Treelist Package for Vue
6
6
 
7
7
  > **Important**
8
- > * This package is а part of [Kendo UI for Vue](https://www.telerik.com/kendo-vue-ui/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-treelist)&mdash;a commercial UI library.
9
- > * You will need to install a license key when adding the package to your project. For more information, please refer to the [Kendo UI for Vue My License page](https://www.telerik.com/kendo-vue-ui/components/my-license/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-treelist).
10
- > * To receive a license key, you need to either [purchase a license](https://www.telerik.com/purchase/kendo-ui/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-treelist) or register for a [free trial](https://www.telerik.com/try/kendo-vue-ui?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-treelist). Doing so indicates that you [accept the Kendo UI for Vue License Agreement](https://www.telerik.com/purchase/license-agreement/progress-kendovue?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-treelist).
11
- > * The 30-day free trial gives you access to all the Kendo UI for Vue components and their full functionality. Additionally, for the period of your license, you get access to our legendary technical support provided directly by the Kendo UI for Vue dev team!
12
8
  >
13
- > [Start using Kendo UI for Vue](https://www.telerik.com/try/kendo-vue-ui?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-treelist) and speed up your development process!
14
-
15
- The Kendo UI for Vue TreeList enables the display of self-referencing tabular data and allows sorting, filtering, and data editing when required.
9
+ > - This package is а part of [Kendo UI for Vue](https://www.telerik.com/kendo-vue-ui/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npmtreelist)&mdash;a commercial UI library.
10
+ > - You will need to install a license key when adding the package to your project. For more information, please refer to the [Kendo UI for Vue My License page](https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npmtreelist).
11
+ > - To receive a license key, you need to either [purchase a license](https://www.telerik.com/purchase/kendo-ui?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npmtreelist) or register for a [free trial](https://www.telerik.com/download-login-v2-kendo-vue-ui?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npmtreelist). Doing so indicates that you [accept the Kendo UI for Vue License Agreement](https://www.telerik.com/kendo-vue-ui-develop/my-license/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npmtreelist).
12
+ > - The 30-day free trial gives you access to all the Kendo UI for Vue components and their full functionality. Additionally, for the period of your license, you get access to our legendary technical support provided directly by the Kendo UI for Vue dev team!
13
+ >
14
+ > [Start using Kendo UI for Vue](https://www.telerik.com/download-login-v2-kendo-vue-ui?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npmtreelist) and speed up your development process!
16
15
 
17
- ## Vue TreeList
16
+ ## Vue Treelist
18
17
 
19
18
  > Historically, all Kendo UI for Vue Native components support both **Vue 2** and **Vue 3**, however, Vue 2 is currently in its end-of-support phase till Nov 2024. After our last major release for 2024, Vue 2 will no longer be supported in the new versions of the Kendo UI for Vue components. Please check our [Vue 2 End of Support article](https://www.telerik.com/kendo-vue-ui/components/vue2-deprecation/) for more details.
20
19
 
21
- Among the features which the Kendo UI for Vue TreeList component delivers are:
20
+ Among the many features which the Kendo UI for Vue Treelist deliver are:
22
21
 
23
- * [Editing](https://www.telerik.com/kendo-vue-ui/components/treelist/editing/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-treelist)&mdash;You can create, update, and delete the data records of the TreeList.
24
- * [Filtering](https://www.telerik.com/kendo-vue-ui/components/treelist/filtering/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-treelist)&mdash;The Kendo UI for Vue TreeList enables you to display only those TreeList records which meet specified criteria.
25
- * [Sorting](https://www.telerik.com/kendo-vue-ui/components/treelist/sorting/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-treelist)&mdash;The Kendo UI for Vue TreeList enables you to sort single and multiple data-bound columns.
26
- * [Responsive column widths](https://www.telerik.com/kendo-vue-ui/components/treelist/column-widths/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-treelist)&mdash;The component behaves like an HTML table and expands to the width of the parent element automatically.
27
- * [Selection](https://www.telerik.com/kendo-vue-ui/components/treelist/selection/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-treelist)&mdash;The TreeList enables the user to select a single row or multiple rows and provides checkbox and row-click selection options.
28
- * [Customizable cells](https://www.telerik.com/kendo-vue-ui/components/treelist/cells/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-treelist)&mdash;Provides options for customizing the content by defining different types of cells.
29
- * [Transformation of flat data](https://www.telerik.com/kendo-vue-ui/components/treelist/flat-data/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-treelist)&mdash;Provides a built-in function to convert flat data to a tree that can be visualized by the component.
30
- * [Globalization](https://www.telerik.com/kendo-vue-ui/components/treelist/globalization/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-treelist)&mdash;By using the available globalization options in Kendo UI for Vue, you can translate the TreeList messages by adapting them to specific culture locales.
31
- * [Theme support](https://www.telerik.com/kendo-vue-ui/components/styling/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-treelist)&mdash;The Kendo UI for Vue TreeList, as well as all 100+ components in the Kendo UI for Vue suite, are styled in four polished themes (Bootstrap, Material, Default and Fluent) and can be further customized to match your specific design guidelines.
22
+ - TODO 1
23
+ - TODO 2
24
+ - TODO 3
32
25
 
33
26
  ## Support Options
34
27
 
35
- For any issues you might encounter while working with the Kendo UI for Vue TreeList, use any of the available support channels:
28
+ For any issues you might encounter while working with the Kendo UI for Vue Treelist, use any of the available support channels:
36
29
 
37
- * Industry-leading technical support&mdash;Kendo UI for Vue paid license holders and users with an active (free) trial license can take advantage of our outstanding customer support. To submit a ticket, use [the dedicated Kendo UI for Vue support system](https://www.telerik.com/account/support-tickets?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-treelist).
38
- * Product forums&mdash;The [Kendo UI for Vue forums](https://www.telerik.com/forums/kendo-ui-vue?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-treelist) are part of the free support you can get from the community and from the Kendo UI for Vue team.
39
- * Feedback portal&mdash;The [Kendo UI for Vue feedback portal](https://feedback.telerik.com/kendo-vue-ui?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-treelist) is where you can request and vote for new features to be added.
30
+ - Industry-leading technical support&mdash;Kendo UI for Vue paid license holders and users with an active (free) trial license can take advantage of our outstanding customer support. To submit a ticket, use [the dedicated Kendo UI for Vue support system](https://www.telerik.com/account/support-tickets?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npmtreelist).
31
+ - Product forums&mdash;The [Kendo UI for Vue forums](https://www.telerik.com/forums/kendo-ui-vue?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npmtreelist) are part of the free support you can get from the community and from the Kendo UI for Vue team.
32
+ - Feedback portal&mdash;The [Kendo UI for Vue feedback portal](https://feedback.telerik.com/kendo-vue-ui?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npmtreelist) is where you can request and vote for new features to be added.
40
33
 
41
34
  ## Resources
42
35
 
43
- * [Getting Started with Kendo UI for Vue](https://www.telerik.com/kendo-vue-ui/components/getting-started/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-treelist)
44
- * [Get Started with the Kendo UI for Vue TreeList](https://www.telerik.com/kendo-vue-ui/components/treelist/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-treelist)
45
- * [API Reference of the Kendo UI for Vue TreeList](https://www.telerik.com/kendo-vue-ui/components/treelist/api/TreeListProps/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-treelist)
46
- * [Kendo UI for Vue Roadmap](https://www.telerik.com/support/whats-new/kendo-vue-ui/roadmap?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-treelist)
47
- * [Blogs](https://www.telerik.com/blogs/tag/vue?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-treelist)
48
- * [Demos, documentation, and component reference](https://www.telerik.com/kendo-vue-ui/components/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-treelist)
49
- * [Kendo UI for Vue pricing and licensing](https://www.telerik.com/purchase/kendo-ui/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-treelist)
50
- * [Changelog](https://www.telerik.com/kendo-vue-ui/components/changelogs/ui-for-vue/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npm-treelist)
36
+ - [Getting Started with Kendo UI for Vue](https://www.telerik.com/kendo-vue-ui/getting-started/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npmtreelist)
37
+ - [Getting Started with the Kendo UI for Vue Treelist](https://www.telerik.com/kendo-vue-ui/components/treelist/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npmtreelist)
38
+ - [API Reference of the Kendo UI for Vue Treelist](https://www.telerik.com/kendo-vue-ui/components/treelist/api/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npmtreelist)
39
+ - [Kendo UI for Vue Roadmap](https://www.telerik.com/kendo-vue-ui/roadmap/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npmtreelist)
40
+ - [Blogs](https://www.telerik.com/blogs/tag/vue?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npmtreelist)
41
+ - [Demos, documentation, and component reference](https://www.telerik.com/kendo-vue-ui/components/?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npmtreelist)
42
+ - [Kendo UI for Vue pricing and licensing](https://www.telerik.com/purchase/kendo-ui?utm_medium=referral&utm_source=npm&utm_campaign=kendo-ui-vue-trial-npmtreelist)
51
43
 
52
- *Copyright © 2023 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved.*
44
+ _Copyright © 2024 Progress Software Corporation and/or its subsidiaries or affiliates. All Rights Reserved._
53
45
 
54
- *Progress, Telerik, and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries.*
46
+ _Progress, Telerik, and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries._
package/TreeList.js ADDED
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ *-------------------------------------------------------------------------------------------
4
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
5
+ * Licensed under commercial license. See LICENSE.md in the package root for more information
6
+ *-------------------------------------------------------------------------------------------
7
+ */
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("vue"),l=require("@progress/kendo-vue-common"),c=require("@progress/kendo-vue-data-tools"),le=require("./TreeListNav.js"),$=require("./utils/main.js"),re=require("./utils/data-operations.js"),ae=require("./cells/TreeListCell.js"),ne=require("./rows/TreeListDraggableRow.js"),de=require("./rows/RowDragClue.js"),he=require("./rows/TreeListRow.js"),ce=require("./package-metadata.js"),y=require("./messages/main.js"),pe=require("@progress/kendo-vue-intl"),ge=require("./cells/TreeListSelectionCell.js");function O(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!n.isVNode(e)}const ue=n.defineComponent({name:"KendoTreeList",props:{dataItems:Array,resizable:Boolean,reorderable:Boolean,sortable:[Object,Boolean],sort:Array,columns:Array,columnVirtualization:Boolean,filter:[Array,Object],filterable:Boolean,filterOperators:Object,filterRow:[String,Function,Object],cellRender:[String,Function,Object],toolbar:[String,Function,Object],noRecords:[String,Function,Object],expandField:String,subItemsField:String,selectedField:String,editField:String,scrollable:String,rowHeight:Number,tableProps:Object,rowClass:Function,pageable:[Boolean,Object],pager:[String,Function,Object],skip:Number,take:Number,wrapperStyle:Object,dataItemKey:String,navigatable:Boolean,size:{type:String,default:"medium",validator:function(e){return["small","medium"].includes(e)}},reordableRows:Boolean,onDatastatechange:Function,onPagechange:Function,onSortchange:Function,onFilterchange:Function},created(){this.prevData=[],this.prevColumns=void 0,this.flattedData=[],this.extendedColumn=[],this.columnsMap=[],this.element=null,this._treeListId=l.guid(),l.validatePackage(ce.packageMetadata),this.dragLogic=new c.CommonDragLogic(this.columnReorder.bind(this),l.noop,l.noop),this.columnResize=new c.ColumnResize(this.onResize.bind(this))},inject:{kendoLocalizationService:{default:null}},computed:{wrapperClass(){const{size:e,scrollable:t}=this.$props;return{"k-grid":!0,[this.$props.className]:this.$props.className,"k-grid-md":!e,[`k-grid-${l.kendoThemeMaps.sizeMap[e]||e}`]:e,"k-treelist":!0,"k-treelist-scrollable":t!=="none"}},toolbarClass(){const{size:e}=this.$props;return{"k-toolbar":!0,"k-grid-toolbar":!0,[`k-toolbar-${l.kendoThemeMaps.sizeMap[e]||e}`]:e}},gridTableClass(){const{size:e}=this.$props;return{"k-table":!0,"k-grid-table":!0,"k-grid-md":!e,[`k-table-${l.kendoThemeMaps.sizeMap[e]||e}`]:e}}},data(){return{wrapperScrollLeft:0,wrapperScrollTop:0,updateOnScroll:!1,tbodyOffsetTop:0,isRtl:!1,navigation:void 0,rowClue:{}}},mounted(){this.calculateSizes(this.$el);const e=l.isRtl(this.$el);this.isRtl=e;let t="$el";const i=l.getRef(this,"gridNav"),o=l.getRef(this,"dropElementClue"),a=l.getRef(this,"dragElementClue");this.dragLogic.refDropElementClue(o),this.dragLogic.refDragElementClue(a),this.columnResize.colGroupMain=l.getRef(this,"colGroup"),i&&(this.element=i[t])},destroyed(){this.columnResize.columns=[],this.dragLogic.columns=[],this.extendedColumn=[],this.columnsMap=[],this.prevData=[],this.flattedData=[],this.updateOnScroll=!1},render(){l.getDefaultSlots(this);const{columns:e=[],filterRow:t,scrollable:i="scrollable",resizable:o=!1,reorderable:a=!1,skip:d,take:u,filterable:h,reordableRows:f}=this.$props,M=t||c.FilterRow,D=c.tableKeyboardNavigationTools.getIdPrefix(this.navigation);this.prevColumns!==e&&(this.extendedColumn=c.readColumns(e,{prevId:0,idPrefix:D}),this.columnsMap=c.mapColumns(this.extendedColumn)),this.prevColumns=this.$props.columns;const R=this.extendedColumn.filter(s=>s.children.length===0);this.columnResize.columns=this.extendedColumn,this.columnResize.resizable=o,this.dragLogic.columns=this.extendedColumn,this.dragLogic.reorderable=a,this.dragLogic.groupable=!1;const V=this.$props.filter&&this.$props.filter.length===0?void 0:this.$props.filter&&this.$props.filter.length!==void 0?{logic:"and",filters:this.$props.filter}:this.$props.filter,E=n.createVNode(c.Header,{size:this.$props.size,headerRow:n.createVNode(c.HeaderRow,{grid:this,sort:this.$props.sort,filter:V,sortable:this.$props.sortable,selectedField:this.$props.selectedField,reorderable:a,filterable:h,filterOperators:this.$props.filterOperators||c.operators,onSortChange:this.sortChange,onSelectionchange:this.onHeaderSelectionChange,columns:this.extendedColumn,columnsMap:this.columnsMap,cellRender:this.$props.headerCellRender,columnResize:this.columnResize,columnMenu:this.$props.columnMenu,onFilterChange:this.columnMenuFilterChange,onPressHandler:this.dragLogic.pressHandler,onDragHandler:this.dragLogic.dragHandler,onReleaseHandler:this.dragLogic.releaseHandler,filterRow:h?n.createVNode(M,{size:this.$props.size,columns:R,filter:this.$props.filter||[],onFilterchange:this.filterChange,sort:this.$props.sort,ariaRowIndex:this.columnsMap.length+1,grid:this,filterOperators:this.$props.filterOperators||c.operators,cellRender:this.$props.filterCellRender,isRtl:this.isRtl},null):void 0},null),columnResize:this.columnResize},null),I=this.$props.wrapperStyle||{},{colSpans:T,hiddenColumns:H}=c.tableColumnsVirtualization({enabled:this.$props.columnVirtualization,columns:R,scrollLeft:this.wrapperScrollLeft,tableViewPortWidth:parseFloat((I.width||"").toString())}),P=(s,b,k,v,S,C)=>R.map(function(r,g){if(H[g])return null;const x=r.id?r.id:g,w=`${r.className?r.className+" ":""}${r.locked?"k-grid-content-sticky":""}`,p=l.templateRendering.call(this,this.$props.cellRender||r.cell,l.getListeners.call(this));if(b&&r.editCell){const L=l.templateRendering.call(this,r.editCell,l.getListeners.call(this));return l.getTemplate.call(this,{h:n.h,template:L,additionalProps:{id:c.tableKeyboardNavigationTools.generateNavigatableId(`${k}-${String(g)}`,D),colSpan:T[g],dataItem:s.dataItem,field:r.field,format:r.format,class:w||void 0,render:p,level:s.level,expandable:r.expandable,expanded:v,hasChildren:this.hasChildren(s.dataItem),colIndex:g,ariaColumnIndex:r.ariaColumnIndex,style:r.left!==void 0&&{left:r.left+"px",right:r.right+"px",borderRightWidth:r.rightBorder?"1px":""}||{},isSelected:Array.isArray(C)&&C.indexOf(g)>-1},additionalListeners:{change:this.itemChange,input:this.itemChange,expandchange:this.expandChange,selectionchange:oe=>this.selectionChange(oe,s,g,S)}})}const ie=this.selectedField&&r.field===this.selectedField?ge.TreeListSelectionCell:ae.TreeListCell;return n.createVNode(ie,{key:x,id:c.tableKeyboardNavigationTools.generateNavigatableId(`${k}-${String(g)}`,D),colSpan:T[g],dataItem:s.dataItem,field:r.field,format:r.format,class:w||void 0,render:p,onCellclick:this.cellClick,onCellkeydown:this.cellKeydown,onChange:this.itemChange,onSelectionchange:L=>this.selectionChange(L,s,g,S),level:s.level,expandable:r.expandable,expanded:v,hasChildren:this.hasChildren(s.dataItem),onExpandchange:this.expandChange,colIndex:g,ariaColumnIndex:r.ariaColumnIndex,style:r.left!==void 0&&{left:r.left+"px",right:r.right+"px",borderRightWidth:r.rightBorder?"1px":""}||{},isSelected:Array.isArray(C)&&C.indexOf(g)>-1},null)},this);let m=this.flatData();const z=m.length;d!==void 0&&u!==void 0&&(m=m.slice(d,d+u)),i==="virtual"&&(m=$.tableRowsVirtualization({rows:m,tableViewPortHeight:parseFloat((I.height||I.maxHeight||"").toString()),scrollTop:this.wrapperScrollTop}),this.updateOnScroll=!1);const A=l.templateRendering.call(this,this.$props.noRecords,l.getListeners.call(this)),K=pe.provideLocalizationService(this).toLanguageString(y.noRecords,y.messages[y.noRecords]),j=l.getTemplate.call(this,{h:n.h,template:A}),F=m.length?m.map(function(s){return s.level}):[],B=this.columnsMap.length+(h?1:0)+1,q=m.length>0&&m.map(function(s,b){const k=$.getNestedValue(this.$props.editField,s.dataItem),v=this.$props.dataItemKey&&l.getter(this.$props.dataItemKey)(s.dataItem),S=String(v||s.level.join(".")),C=this.expanded(s.dataItem),r=this.$props.selectedField?$.getNestedValue(this.$props.selectedField,s.dataItem):void 0,g=this.$props.row||he.TreeListRow,x=P(s,k,S,C,b,r),w=n.createVNode(g,{key:S,level:s.level,levels:F,dataItem:s.dataItem,selectedField:this.$props.selectedField,rowHeight:i==="virtual"?s.height:this.$props.rowHeight,render:this.$props.rowRender,onDrop:this.onRowDrop,onDrag:this.onRowDrag,onClick:p=>this.emitRowEvent("rowclick",p,s),onDblclick:p=>this.emitRowEvent("rowdoubleclick",p,s),onContextmenu:p=>this.emitRowEvent("rowcontextmenu",p,s),onFocus:p=>this.emitRowEvent("rowfocus",p,s),onBlur:p=>this.emitRowEvent("rowblur",p,s),onMousedown:p=>this.emitRowEvent("rowmousedown",p,s),onMouseup:p=>this.emitRowEvent("rowmouseup",p,s),isAltRow:b%2!==0,expanded:C,rowIndex:b,ariaRowIndex:B+b,ariaSetSize:s.levelCount,ariaPosInSet:s.level[s.level.length-1]+1,isSelected:typeof r=="boolean"&&r,className:this.$props.rowClass?this.$props.rowClass(s):""},O(x)?x:{default:()=>[x]});return f?n.createVNode(ne.TreeListDraggableRow,{key:S,level:s.level,levels:F,dataItem:s.dataItem,onDrag:this.onRowDrag,onDrop:this.onRowDrop},O(w)?w:{default:()=>[w]}):w},this)||n.createVNode("tr",{class:"k-table-row k-grid-norecords"},[n.createVNode("td",{class:"k-table-td",colspan:R.length},[this.$props.noRecords?j:K])]),_=s=>this.$props.sort&&this.$props.sort.some(b=>b.field===s),W=n.createVNode("colgroup",{ref:l.setRef(this,"colGroup")},[R.map(function(s){return n.createVNode("col",{class:_(s.field)?"k-sorted":void 0,width:s.width!==void 0?s.width.toString().indexOf("%")!==-1?s.width:Math.floor(parseFloat(s.width.toString()))+"px":void 0},null)},this)]),U=this.$props.columnVirtualization||this.$props.scrollable==="virtual",G=this.$props.selectable&&this.$props.selectable.drag?"none":void 0,J=this.$props.tableProps||{},Q=l.templateRendering.call(this,this.$props.toolbar,l.getListeners.call(this)),X=l.getTemplate.call(this,{h:n.h,template:Q}),Y=l.templateRendering.call(this,this.$props.pager,l.getListeners.call(this)),Z=this.$props.pageable&&n.createVNode(c.Pager,{class:"k-grid-pager",size:this.$props.size,onPagesizechange:this.pageChangeHandler,onPagechange:this.pageChangeHandler,total:z,skip:this.$props.skip||0,pageSize:this.$props.take||10,messagesMap:y.pagerMessagesMap,settings:c.normalize(this.$props.pageable||{})},null),ee=l.getTemplate.call(this,{h:n.h,template:Y,defaultRendering:Z,additionalProps:{...this.$props,skip:this.skip||0,messagesMap:y.pagerMessagesMap},additionalListeners:{pagesizechange:this.pageChangeHandler,pagechange:this.pageChangeHandler}}),N=this.dragLogic.reorderable&&l.canUseDOM&&document&&document.body,te=this.reordableRows&&this.rowClue&&this.rowClue.visible&&l.canUseDOM&&document&&document.body,se=[N&&n.createVNode(c.DropClue,{ref:l.setRef(this,"dropElementClue")},null),N&&n.createVNode(c.DragClue,{ref:l.setRef(this,"dragElementClue")},null),te&&n.createVNode(de.RowDragClue,{visible:this.rowClue.visible,top:this.rowClue.top,left:this.rowClue.left,text:this.rowClue.text,allowDrop:this.rowClue.allowDrop},null)];return n.createVNode(c.TableKeyboardNavigationProvider,{ref:"navRef",id:this._treeListId,navigatable:this.$props.navigatable},{default:()=>[n.createVNode(le.TreeListNav,{style:this.$props.wrapperStyle,class:this.wrapperClass,currentData:m,onScroll:U?this.handleOnScroll:l.noop,onKeydown:this.onKeyDown,onFocus:this.onFocus,"aria-rowcount":z,"aria-colcount":R.length,role:"treegrid",ref:s=>{this.treeListNavRef=s}},{default:()=>[this.$props.toolbar&&n.createVNode("div",{class:this.toolbarClass},[X]),n.createVNode("table",{class:this.gridTableClass,style:{...J.style||{},userSelect:G},role:"presentation"},[W,E,n.createVNode("tbody",{class:"k-table-tbody","data-keyboardnavbody":!0,role:"presentation"},[q])]),ee,se]})]})},methods:{scrollIntoView(e){if(!this.element)return;const{rowIndex:t=0}=e,{scrollable:i,rowHeight:o=0}=this.$props;if(i==="virtual"||o)this.element.scroll(0,(t-1)*o);else{const a=this.element.querySelector(`tbody > tr:nth-child(${t})`);if(a){const d=a.offsetTop-this.tbodyOffsetTop;this.element.scroll(0,d)}}},getColumns(){const e=this.extendedColumn.filter(i=>i.declarationIndex>=0&&i.parentIndex===-1);return(i=>(i.sort((o,a)=>o.declarationIndex-a.declarationIndex),i))(e)},flatData(){const{dataItems:e=[],rowHeight:t=0}=this.$props;let i=0;const o=d=>{const u={height:t,offsetTop:i};return i+=u.height,u},a=this.updateOnScroll&&this.prevData===e&&this.tbodyOffsetTop>0&&this.flattedData.length?this.flattedData:re.flatData(e,this.expandedSubItems,o);return this.prevData=e,this.flattedData=a,a},onKeyDown(e){this.$emit("keydown",e)},onFocus(e){},onRowDrag(e){this.rowClue=e.clueProps,this.$emit("rowdrag",{...e,target:this})},onRowDrop(e){this.rowClue=e.clueProps,e.clueProps.allowDrop&&this.$emit("rowdrop",{...e,target:this})},columnReorder(e,t,i){const o=this.extendedColumn[e].depth,a=h=>{do h++;while(h<this.extendedColumn.length&&this.extendedColumn[h].depth>o);return h},d=this.extendedColumn.splice(e,a(e)-e);this.extendedColumn.splice(e<t?a(t-d.length):t,0,...d),this.extendedColumn.filter(h=>h.declarationIndex>=0).forEach((h,f)=>h.orderIndex=f);const u={component:this,columns:this.getColumns(),prev:e,next:t,event:i};this.$emit("columnreorder",u)},onResize(e,t,i,o,a){const d=this.extendedColumn.filter(h=>h.children.length===0).reduce((h,f)=>h+=parseFloat(String(f.width)),0);if(this.extendedColumn&&this.columns){const h=this.columns[e].width,f=h&&h.toString().indexOf("px")>0;this.extendedColumn[e].width=f?t+"px":t}const u={columns:this.getColumns(),totalWidth:d,index:e,event:o,newWidth:t,oldWidth:i,end:a,component:this};a&&(this.prevColumns=void 0),this.$emit("columnresize",u)},handleOnScroll(e){const t=e.currentTarget.scrollLeft,i=e.currentTarget.scrollTop,{columnVirtualization:o,scrollable:a,rowHeight:d=0}=this.$props,u=d,h=0;let f=!1;o&&Math.abs(this.wrapperScrollLeft-t)>h&&(this.wrapperScrollLeft=t,f=!0),a==="virtual"&&Math.abs(this.wrapperScrollTop-i)>u&&(this.wrapperScrollTop=i,f=!0),f&&(this.updateOnScroll=!0)},calculateSizes(e){if(!e||this.$props.scrollable==="none")return;const t=Array.from(e.childNodes),i=t.find(d=>d.nodeName==="TABLE"),o=this.$props.toolbar&&t.find(d=>d.nodeType===1&&d.classList.contains("k-grid-toolbar"));let a=0;if(o&&l.canUseDOM){const d=o.style.boxSizing;o.style.boxSizing="border-box",a=parseFloat(String(window.getComputedStyle(o).height))||o.offsetHeight,o.style.boxSizing=d,o.getAttribute("style")||o.removeAttribute("style")}this.tbodyOffsetTop=i.tBodies[0].offsetTop,$.setHeaderRowsTop(i,a)},cellClick(e){this.$emit("cellclick",e)},cellKeydown(e){this.$emit("cellkeydown",e)},itemChange(e){if(e.field===this.$props.expandField){if(this.$props.onExpandchange){const o={...this.getArguments(e.event),dataItem:e.dataItem,level:e.level,value:e.value};this.$emit("expandchange",o)}return}const t={...this.getArguments(e.event),dataItem:e.dataItem,level:e.level,field:e.field,value:e.value};e.dataItem&&this.$emit("itemchange",t)},selectionChange(e){const{event:t,item:i,columnIndex:o}=e;if(!i)return;const{mode:a,cell:d}=c.getSelectionOptions(this.$props.selectable),u={...this.getArguments(t),dataItem:i.dataItem,level:i.level,startColIndex:o,endColIndex:o,dataItems:this.getLeafDataItems(),altKey:!1,ctrlKey:!1,shiftKey:!1,metaKey:!1,mode:a,cell:d,isDrag:!1,componentId:this._treeListId,selectedField:this.$props.selectedField||""};this.$emit("selectionchange",u)},onHeaderSelectionChange(e){const t={field:e.field,event:e.event,component:this,dataItems:this.getLeafDataItems()};this.$emit("headerselectionchange",t)},selectionRelease(e){if(this.$props.onSelectionchange){const t={event:void 0,component:this,selectedField:this.$props.selectedField||"",componentId:this._treeListId,dataItems:this.getLeafDataItems(),dataItem:null,level:[],...e};this.$emit("selectionchange",t)}},sortChange(e,t){this.raiseDataEvent("sortchange",{sort:e,field:t.field},t)},filterChange(e,t){const i=e?e.filters:[];this.raiseDataEvent("filterchange",{filter:i},{filter:i,skip:0},t)},columnMenuFilterChange(e,t){const i=e?e.filters:[],o={...t,filter:i,component:this};this.$emit("columnmenufilterchange",o)},expandChange(e,t,i){const{expandField:o}=this.$props;if(o){const a={...this.getArguments(e),dataItem:t,level:i,value:this.expanded(t)};this.$emit("expandchange",a)}},emitRowEvent(e,t,i){if(t.target.nodeName==="TD"){const o={dataItem:i.dataItem,level:i.level,...this.getArguments(t)};this.$emit(e,o)}},pageChangeHandler(e,t){this.raiseDataEvent("pagechange",{page:e,event:t,skip:e.skip,take:e.take},{skip:e.skip,take:e.take},t)},raiseDataEvent(e,t,i,o){l.hasListener.call(this,e)?this.$emit(e,{...this.getArguments(o),...t}):l.hasListener.call(this,"datastatechange")&&this.$emit("datastatechange",{...this.getArguments(o),data:{...this.getDataState(),...t,...i}})},getDataState(){return{filter:this.$props.filter,sort:this.$props.sort}},getArguments(e){return{event:e,component:this}},expandedSubItems(e){const t=[];return this.expanded(e)&&this.hasChildren(e)&&t.push(...$.getNestedValue(this.$props.subItemsField,e)),t},getLeafDataItems(){return this.flatData().map(e=>e.dataItem)},expanded(e){return!!$.getNestedValue(this.$props.expandField,e)},hasChildren(e){return!!$.getNestedValue(this.$props.subItemsField,e)}}});exports.TreeList=ue;