@progress/kendo-angular-treelist 17.0.0-develop.3 → 17.0.0-develop.31

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 (384) hide show
  1. package/README.md +48 -19
  2. package/binding-directives/base-binding.directive.d.ts +1 -1
  3. package/binding-directives/flat-binding.directive.d.ts +1 -1
  4. package/binding-directives/hierarchy-binding.directive.d.ts +1 -1
  5. package/column-menu/column-chooser.component.d.ts +1 -1
  6. package/column-menu/column-list.component.d.ts +1 -1
  7. package/column-menu/column-menu-chooser.component.d.ts +1 -1
  8. package/column-menu/column-menu-filter.component.d.ts +1 -1
  9. package/column-menu/column-menu-item-base.d.ts +1 -1
  10. package/column-menu/column-menu-item.component.d.ts +1 -1
  11. package/column-menu/column-menu.component.d.ts +1 -1
  12. package/column-resizing/column-handle.directive.d.ts +1 -1
  13. package/column-resizing/column-resize.interface.d.ts +3 -3
  14. package/column-resizing/table.directive.d.ts +1 -1
  15. package/columns/checkbox-column.component.d.ts +1 -1
  16. package/columns/column-base.d.ts +1 -1
  17. package/columns/column.component.d.ts +1 -1
  18. package/columns/sort-settings.d.ts +2 -2
  19. package/columns/span-column.component.d.ts +13 -13
  20. package/common/create-form-group.d.ts +1 -1
  21. package/common/provider.service.d.ts +0 -1
  22. package/common/remove-confirmation.d.ts +1 -1
  23. package/data/treelist-item.interface.d.ts +1 -1
  24. package/directives.d.ts +7 -4
  25. package/dragdrop/context-types.d.ts +1 -1
  26. package/dragdrop/draggable-column.directive.d.ts +1 -1
  27. package/dragdrop/drop-target.directive.d.ts +1 -1
  28. package/editing/add-command-tool.directive.d.ts +38 -0
  29. package/editing/add-command.directive.d.ts +1 -1
  30. package/editing/cancel-command.directive.d.ts +1 -1
  31. package/editing/cancel-event-args.interface.d.ts +1 -1
  32. package/editing/edit-command.directive.d.ts +1 -1
  33. package/editing/edit.service.d.ts +3 -3
  34. package/editing/remove-command.directive.d.ts +1 -1
  35. package/editing/save-command.directive.d.ts +1 -1
  36. package/editing-directives/create-form-group-args.interface.d.ts +1 -1
  37. package/editing-directives/editing-directive-base.d.ts +1 -1
  38. package/editing-directives/in-cell-editing.directive.d.ts +1 -1
  39. package/editing-directives/reactive-editing.directive.d.ts +1 -1
  40. package/editing-directives/row-editing-directive-base.d.ts +0 -1
  41. package/editing-directives/template-editing.directive.d.ts +1 -2
  42. package/{esm2020 → esm2022}/binding-directives/base-binding.directive.mjs +17 -13
  43. package/{esm2020 → esm2022}/binding-directives/data-bound-tree-component.mjs +3 -3
  44. package/{esm2020 → esm2022}/binding-directives/flat-binding.directive.mjs +29 -21
  45. package/{esm2020 → esm2022}/binding-directives/hierarchy-binding.directive.mjs +26 -19
  46. package/{esm2020 → esm2022}/column-menu/column-chooser.component.mjs +27 -19
  47. package/{esm2020 → esm2022}/column-menu/column-list.component.mjs +28 -16
  48. package/{esm2020 → esm2022}/column-menu/column-locked-change-event.mjs +4 -0
  49. package/{esm2020 → esm2022}/column-menu/column-menu-chooser.component.mjs +28 -25
  50. package/{esm2020 → esm2022}/column-menu/column-menu-filter.component.mjs +23 -22
  51. package/{esm2020 → esm2022}/column-menu/column-menu-item-base.mjs +9 -6
  52. package/{esm2020 → esm2022}/column-menu/column-menu-item-content-template.directive.mjs +4 -3
  53. package/{esm2020 → esm2022}/column-menu/column-menu-item.component.mjs +67 -42
  54. package/{esm2020 → esm2022}/column-menu/column-menu-lock.component.mjs +9 -6
  55. package/{esm2020 → esm2022}/column-menu/column-menu-sort.component.mjs +8 -6
  56. package/{esm2020 → esm2022}/column-menu/column-menu-template.directive.mjs +4 -3
  57. package/{esm2020 → esm2022}/column-menu/column-menu.component.mjs +49 -25
  58. package/{esm2020 → esm2022}/column-menu/column-menu.service.mjs +23 -9
  59. package/{esm2020 → esm2022}/column-menu/column-visibility-change-event.mjs +4 -0
  60. package/{esm2020 → esm2022}/column-resizing/column-handle.directive.mjs +21 -14
  61. package/{esm2020 → esm2022}/column-resizing/column-resizing.service.mjs +8 -8
  62. package/{esm2020 → esm2022}/column-resizing/table.directive.mjs +17 -8
  63. package/{esm2020 → esm2022}/columns/checkbox-column.component.mjs +27 -12
  64. package/{esm2020 → esm2022}/columns/column-base.mjs +140 -72
  65. package/{esm2020 → esm2022}/columns/column-group.component.mjs +24 -20
  66. package/{esm2020 → esm2022}/columns/column-list.mjs +4 -3
  67. package/{esm2020 → esm2022}/columns/column.component.mjs +56 -38
  68. package/{esm2020 → esm2022}/columns/columns-container.mjs +14 -13
  69. package/{esm2020 → esm2022}/columns/command-column.component.mjs +11 -9
  70. package/{esm2020 → esm2022}/columns/rowreorder-column.component.mjs +13 -12
  71. package/{esm2020 → esm2022}/columns/span-column.component.mjs +64 -29
  72. package/{esm2020 → esm2022}/common/column-info.service.mjs +8 -9
  73. package/esm2022/common/dom-events.service.mjs +24 -0
  74. package/{esm2020 → esm2022}/common/id.service.mjs +4 -3
  75. package/{esm2020 → esm2022}/common/option-changes.service.mjs +5 -7
  76. package/{esm2020 → esm2022}/common/preventable-event.mjs +1 -3
  77. package/{esm2020 → esm2022}/common/provider.service.mjs +8 -6
  78. package/{esm2020 → esm2022}/common/single-popup.service.mjs +19 -8
  79. package/{esm2020 → esm2022}/common/sort.service.mjs +1 -3
  80. package/{esm2020 → esm2022}/data/change-notification.service.mjs +6 -4
  81. package/{esm2020 → esm2022}/data/data.collection.mjs +45 -23
  82. package/{esm2020 → esm2022}/directives.mjs +8 -2
  83. package/{esm2020 → esm2022}/dragdrop/column-reorder-event.mjs +14 -0
  84. package/{esm2020 → esm2022}/dragdrop/column-reorder.service.mjs +4 -6
  85. package/{esm2020 → esm2022}/dragdrop/drag-and-drop.service.mjs +6 -8
  86. package/{esm2020 → esm2022}/dragdrop/drag-hint.service.mjs +7 -4
  87. package/{esm2020 → esm2022}/dragdrop/draggable-column.directive.mjs +22 -13
  88. package/{esm2020 → esm2022}/dragdrop/drop-cue.service.mjs +4 -3
  89. package/{esm2020 → esm2022}/dragdrop/drop-target.directive.mjs +10 -8
  90. package/esm2022/editing/add-command-tool.directive.mjs +63 -0
  91. package/{esm2020 → esm2022}/editing/add-command.directive.mjs +10 -6
  92. package/{esm2020 → esm2022}/editing/base-command.directive.mjs +9 -8
  93. package/{esm2020 → esm2022}/editing/cancel-command.directive.mjs +10 -6
  94. package/{esm2020 → esm2022}/editing/cell-close-event.mjs +20 -4
  95. package/{esm2020 → esm2022}/editing/edit-command.directive.mjs +10 -6
  96. package/{esm2020 → esm2022}/editing/edit-template.directive.mjs +4 -3
  97. package/{esm2020 → esm2022}/editing/edit.service.mjs +18 -13
  98. package/{esm2020 → esm2022}/editing/remove-command.directive.mjs +10 -6
  99. package/{esm2020 → esm2022}/editing/save-command.directive.mjs +10 -6
  100. package/{esm2020 → esm2022}/editing-directives/editing-directive-base.mjs +17 -7
  101. package/{esm2020 → esm2022}/editing-directives/flat-edit.service.mjs +1 -0
  102. package/{esm2020 → esm2022}/editing-directives/hierarchy-edit.service.mjs +1 -0
  103. package/{esm2020 → esm2022}/editing-directives/in-cell-editing.directive.mjs +8 -3
  104. package/{esm2020 → esm2022}/editing-directives/reactive-editing.directive.mjs +8 -3
  105. package/{esm2020 → esm2022}/editing-directives/row-editing-directive-base.mjs +3 -3
  106. package/{esm2020 → esm2022}/editing-directives/template-editing.directive.mjs +9 -3
  107. package/esm2022/excel/excel-command-tool.directive.mjs +66 -0
  108. package/{esm2020 → esm2022}/excel/excel-command.directive.mjs +10 -9
  109. package/{esm2020 → esm2022}/excel/excel-export-event.mjs +1 -0
  110. package/{esm2020 → esm2022}/excel/excel.component.mjs +71 -22
  111. package/{esm2020 → esm2022}/excel/excel.module.mjs +5 -4
  112. package/{esm2020 → esm2022}/excel/excel.service.mjs +7 -8
  113. package/{esm2020 → esm2022}/expand-state/expand-event.mjs +12 -0
  114. package/{esm2020 → esm2022}/expand-state/expand-state.service.mjs +5 -7
  115. package/{esm2020 → esm2022}/expand-state/expandable-tree-component.mjs +3 -3
  116. package/{esm2020 → esm2022}/expand-state/expandable.directive.mjs +23 -19
  117. package/{esm2020 → esm2022}/filtering/base-filter-cell.component.mjs +18 -7
  118. package/{esm2020 → esm2022}/filtering/boolean-filter.component.mjs +31 -24
  119. package/{esm2020 → esm2022}/filtering/cell/autocomplete-filter-cell.component.mjs +15 -13
  120. package/{esm2020 → esm2022}/filtering/cell/boolean-filter-cell.component.mjs +5 -4
  121. package/{esm2020 → esm2022}/filtering/cell/date-filter-cell.component.mjs +11 -10
  122. package/{esm2020 → esm2022}/filtering/cell/filter-cell-host.directive.mjs +3 -3
  123. package/{esm2020 → esm2022}/filtering/cell/filter-cell-operators.component.mjs +54 -34
  124. package/{esm2020 → esm2022}/filtering/cell/filter-cell-template.directive.mjs +4 -3
  125. package/{esm2020 → esm2022}/filtering/cell/filter-cell-wrapper.component.mjs +8 -8
  126. package/{esm2020 → esm2022}/filtering/cell/filter-cell.component.mjs +11 -8
  127. package/{esm2020 → esm2022}/filtering/cell/numeric-filter-cell.component.mjs +23 -17
  128. package/esm2022/filtering/cell/row-filtering.module.mjs +77 -0
  129. package/{esm2020 → esm2022}/filtering/cell/string-filter-cell.component.mjs +23 -18
  130. package/{esm2020 → esm2022}/filtering/date-filter.component.mjs +64 -39
  131. package/{esm2020 → esm2022}/filtering/filter-host.directive.mjs +8 -3
  132. package/{esm2020 → esm2022}/filtering/filter-input-wrapper.component.mjs +11 -8
  133. package/{esm2020 → esm2022}/filtering/filter-input.directive.mjs +21 -13
  134. package/{esm2020 → esm2022}/filtering/filter-row.component.mjs +11 -8
  135. package/{esm2020 → esm2022}/filtering/filter.service.mjs +7 -9
  136. package/{esm2020 → esm2022}/filtering/menu/boolean-filter-menu.component.mjs +22 -15
  137. package/{esm2020 → esm2022}/filtering/menu/date-filter-menu-input.component.mjs +21 -5
  138. package/{esm2020 → esm2022}/filtering/menu/date-filter-menu.component.mjs +22 -21
  139. package/{esm2020 → esm2022}/filtering/menu/filter-menu-container.component.mjs +28 -16
  140. package/{esm2020 → esm2022}/filtering/menu/filter-menu-host.directive.mjs +4 -3
  141. package/{esm2020 → esm2022}/filtering/menu/filter-menu-input-wrapper.component.mjs +9 -7
  142. package/{esm2020 → esm2022}/filtering/menu/filter-menu-template.directive.mjs +4 -3
  143. package/{esm2020 → esm2022}/filtering/menu/filter-menu.component.mjs +20 -8
  144. package/esm2022/filtering/menu/filter-menu.module.mjs +80 -0
  145. package/{esm2020 → esm2022}/filtering/menu/filter-radio-button.directive.mjs +7 -3
  146. package/{esm2020 → esm2022}/filtering/menu/numeric-filter-menu-input.component.mjs +43 -17
  147. package/{esm2020 → esm2022}/filtering/menu/numeric-filter-menu.component.mjs +32 -31
  148. package/{esm2020 → esm2022}/filtering/menu/string-filter-menu-input.component.mjs +12 -5
  149. package/{esm2020 → esm2022}/filtering/menu/string-filter-menu.component.mjs +32 -21
  150. package/{esm2020 → esm2022}/filtering/numeric-filter.component.mjs +51 -28
  151. package/{esm2020 → esm2022}/filtering/operators/after-eq-filter-operator.component.mjs +8 -8
  152. package/{esm2020 → esm2022}/filtering/operators/after-filter-operator.component.mjs +8 -8
  153. package/{esm2020 → esm2022}/filtering/operators/before-eq-filter-operator.component.mjs +8 -8
  154. package/{esm2020 → esm2022}/filtering/operators/before-filter-operator.component.mjs +8 -8
  155. package/{esm2020 → esm2022}/filtering/operators/contains-filter-operator.component.mjs +8 -8
  156. package/{esm2020 → esm2022}/filtering/operators/ends-with-filter-operator.component.mjs +8 -8
  157. package/{esm2020 → esm2022}/filtering/operators/eq-filter-operator.component.mjs +8 -8
  158. package/{esm2020 → esm2022}/filtering/operators/filter-operator.base.mjs +15 -10
  159. package/{esm2020 → esm2022}/filtering/operators/gt-filter-operator.component.mjs +8 -8
  160. package/{esm2020 → esm2022}/filtering/operators/gte-filter-operator.component.mjs +8 -8
  161. package/{esm2020 → esm2022}/filtering/operators/is-empty-filter-operator.component.mjs +8 -8
  162. package/{esm2020 → esm2022}/filtering/operators/is-not-empty-filter-operator.component.mjs +8 -8
  163. package/{esm2020 → esm2022}/filtering/operators/is-not-null-filter-operator.component.mjs +8 -8
  164. package/{esm2020 → esm2022}/filtering/operators/isnull-filter-operator.component.mjs +8 -8
  165. package/{esm2020 → esm2022}/filtering/operators/lt-filter-operator.component.mjs +8 -8
  166. package/{esm2020 → esm2022}/filtering/operators/lte-filter-operator.component.mjs +8 -8
  167. package/{esm2020 → esm2022}/filtering/operators/neq-filter-operator.component.mjs +8 -8
  168. package/{esm2020 → esm2022}/filtering/operators/not-contains-filter-operator.component.mjs +8 -8
  169. package/{esm2020 → esm2022}/filtering/operators/starts-with-filter-operator.component.mjs +8 -8
  170. package/{esm2020 → esm2022}/filtering/shared-filtering.module.mjs +18 -18
  171. package/{esm2020 → esm2022}/filtering/string-filter.component.mjs +20 -15
  172. package/{esm2020 → esm2022}/index.mjs +3 -0
  173. package/{esm2020 → esm2022}/layout/browser-support.service.mjs +7 -4
  174. package/{esm2020 → esm2022}/layout/resizable.directive.mjs +16 -10
  175. package/{esm2020 → esm2022}/layout/resize.service.mjs +6 -8
  176. package/{esm2020 → esm2022}/layout/responsive.service.mjs +7 -9
  177. package/{esm2020 → esm2022}/localization/custom-messages.component.mjs +9 -8
  178. package/{esm2020 → esm2022}/localization/localized-messages.directive.mjs +9 -8
  179. package/esm2022/localization/messages.mjs +410 -0
  180. package/{esm2020 → esm2022}/navigation/default-focusable-element.mjs +8 -5
  181. package/{esm2020 → esm2022}/navigation/focus-group.mjs +12 -11
  182. package/{esm2020 → esm2022}/navigation/focus-root.mjs +5 -4
  183. package/{esm2020 → esm2022}/navigation/focusable.directive.mjs +18 -10
  184. package/{esm2020 → esm2022}/navigation/item-map.mjs +2 -4
  185. package/{esm2020 → esm2022}/navigation/logical-cell.directive.mjs +35 -22
  186. package/{esm2020 → esm2022}/navigation/logical-row.directive.mjs +19 -13
  187. package/{esm2020 → esm2022}/navigation/model-cell.mjs +11 -0
  188. package/{esm2020 → esm2022}/navigation/navigation-cursor.mjs +10 -8
  189. package/{esm2020 → esm2022}/navigation/navigation-metadata.mjs +13 -6
  190. package/{esm2020 → esm2022}/navigation/navigation-model.mjs +1 -3
  191. package/{esm2020 → esm2022}/navigation/navigation.service.mjs +44 -24
  192. package/{esm2020 → esm2022}/navigation/treelist-focusable-element.mjs +1 -0
  193. package/{esm2020 → esm2022}/package-metadata.mjs +2 -2
  194. package/{esm2020 → esm2022}/pager/pager-context.service.mjs +6 -4
  195. package/{esm2020 → esm2022}/pager/pager-element.component.mjs +24 -16
  196. package/{esm2020 → esm2022}/pager/pager-info.component.mjs +8 -7
  197. package/{esm2020 → esm2022}/pager/pager-input.component.mjs +43 -39
  198. package/{esm2020 → esm2022}/pager/pager-next-buttons.component.mjs +14 -9
  199. package/{esm2020 → esm2022}/pager/pager-numeric-buttons.component.mjs +19 -9
  200. package/{esm2020 → esm2022}/pager/pager-page-sizes.component.mjs +12 -10
  201. package/{esm2020 → esm2022}/pager/pager-prev-buttons.component.mjs +6 -5
  202. package/{esm2020 → esm2022}/pager/pager-template.directive.mjs +4 -3
  203. package/{esm2020 → esm2022}/pager/pager.component.mjs +84 -70
  204. package/esm2022/pager/pager.module.mjs +43 -0
  205. package/esm2022/pdf/pdf-command-tool.directive.mjs +66 -0
  206. package/{esm2020 → esm2022}/pdf/pdf-command.directive.mjs +10 -9
  207. package/{esm2020 → esm2022}/pdf/pdf-margin.component.mjs +3 -3
  208. package/{esm2020 → esm2022}/pdf/pdf-template.directive.mjs +3 -3
  209. package/{esm2020 → esm2022}/pdf/pdf.component.mjs +24 -4
  210. package/{esm2020 → esm2022}/pdf/pdf.module.mjs +6 -5
  211. package/{esm2020 → esm2022}/pdf/pdf.service.mjs +8 -9
  212. package/{esm2020 → esm2022}/pdf/treelist-query.mjs +4 -0
  213. package/esm2022/rendering/body.module.mjs +41 -0
  214. package/{esm2020 → esm2022}/rendering/cell-template.directive.mjs +4 -3
  215. package/{esm2020 → esm2022}/rendering/cell.component.mjs +41 -25
  216. package/{esm2020 → esm2022}/rendering/common/col-group.component.mjs +5 -7
  217. package/{esm2020 → esm2022}/rendering/common/field-accessor.pipe.mjs +4 -3
  218. package/{esm2020 → esm2022}/rendering/common/level-items.pipe.mjs +3 -3
  219. package/{esm2020 → esm2022}/rendering/common/loading.component.mjs +9 -8
  220. package/{esm2020 → esm2022}/rendering/common/spacer.component.mjs +11 -6
  221. package/{esm2020 → esm2022}/rendering/footer-template.directive.mjs +4 -3
  222. package/{esm2020 → esm2022}/rendering/header/header-template.directive.mjs +4 -3
  223. package/{esm2020 → esm2022}/rendering/header/header.component.mjs +47 -28
  224. package/{esm2020 → esm2022}/rendering/header/header.module.mjs +4 -4
  225. package/{esm2020 → esm2022}/rendering/list.component.mjs +80 -40
  226. package/{esm2020 → esm2022}/rendering/no-records-template.directive.mjs +4 -3
  227. package/{esm2020 → esm2022}/rendering/table-body.component.mjs +45 -19
  228. package/{esm2020 → esm2022}/rendering/toolbar/toolbar-focusable.directive.mjs +9 -7
  229. package/{esm2020 → esm2022}/rendering/toolbar/toolbar-navigation.service.mjs +9 -8
  230. package/{esm2020 → esm2022}/rendering/toolbar/toolbar-template.directive.mjs +10 -8
  231. package/{esm2020 → esm2022}/rendering/toolbar/toolbar.component.mjs +18 -13
  232. package/{esm2020 → esm2022}/row-reordering/flat-reorder.service.mjs +3 -3
  233. package/{esm2020 → esm2022}/row-reordering/hierarchical-reorder.service.mjs +3 -3
  234. package/{esm2020 → esm2022}/row-reordering/row-reorder.service.mjs +14 -9
  235. package/{esm2020 → esm2022}/scrolling/row-height.service.mjs +2 -0
  236. package/{esm2020 → esm2022}/scrolling/scroll-request.service.mjs +4 -6
  237. package/{esm2020 → esm2022}/scrolling/scroll-sync.service.mjs +10 -8
  238. package/{esm2020 → esm2022}/scrolling/scroller.service.mjs +12 -2
  239. package/{esm2020 → esm2022}/scrolling/suspend.service.mjs +4 -6
  240. package/{esm2020 → esm2022}/selection/marquee.directive.mjs +18 -7
  241. package/{esm2020 → esm2022}/selection/selectable.directive.mjs +23 -17
  242. package/{esm2020 → esm2022}/selection/selection-change-event.mjs +12 -0
  243. package/{esm2020 → esm2022}/selection/selection-state.mjs +2 -6
  244. package/{esm2020 → esm2022}/selection/selection.service.mjs +15 -14
  245. package/{esm2020 → esm2022}/shared.module.mjs +4 -4
  246. package/{esm2020 → esm2022}/treelist.component.mjs +474 -394
  247. package/esm2022/treelist.module.mjs +178 -0
  248. package/excel/excel-command-tool.directive.d.ts +41 -0
  249. package/excel/excel.component.d.ts +1 -1
  250. package/excel/excel.module.d.ts +3 -2
  251. package/expand-state/expandable.directive.d.ts +1 -1
  252. package/{fesm2020 → fesm2022}/progress-kendo-angular-treelist.mjs +4012 -2474
  253. package/filtering/base-filter-cell.component.d.ts +5 -1
  254. package/filtering/boolean-filter.component.d.ts +2 -7
  255. package/filtering/cell/autocomplete-filter-cell.component.d.ts +2 -7
  256. package/filtering/cell/date-filter-cell.component.d.ts +1 -1
  257. package/filtering/cell/filter-cell-operators.component.d.ts +1 -1
  258. package/filtering/cell/filter-cell-wrapper.component.d.ts +1 -1
  259. package/filtering/cell/filter-cell.component.d.ts +1 -1
  260. package/filtering/cell/numeric-filter-cell.component.d.ts +1 -1
  261. package/filtering/cell/string-filter-cell.component.d.ts +1 -1
  262. package/filtering/date-filter.component.d.ts +2 -11
  263. package/filtering/filter-host.directive.d.ts +2 -2
  264. package/filtering/filter-input-wrapper.component.d.ts +1 -2
  265. package/filtering/filter-input.directive.d.ts +1 -1
  266. package/filtering/filter-row.component.d.ts +1 -2
  267. package/filtering/filterable.d.ts +1 -1
  268. package/filtering/menu/boolean-filter-menu.component.d.ts +1 -1
  269. package/filtering/menu/date-filter-menu-input.component.d.ts +1 -1
  270. package/filtering/menu/date-filter-menu.component.d.ts +1 -7
  271. package/filtering/menu/filter-menu-container.component.d.ts +1 -1
  272. package/filtering/menu/filter-menu-host.directive.d.ts +1 -1
  273. package/filtering/menu/filter-menu-input-wrapper.component.d.ts +1 -1
  274. package/filtering/menu/filter-menu.component.d.ts +1 -4
  275. package/filtering/menu/filter-radio-button.directive.d.ts +1 -1
  276. package/filtering/menu/numeric-filter-menu-input.component.d.ts +1 -1
  277. package/filtering/menu/numeric-filter-menu.component.d.ts +1 -7
  278. package/filtering/menu/string-filter-menu-input.component.d.ts +1 -1
  279. package/filtering/menu/string-filter-menu.component.d.ts +1 -7
  280. package/filtering/numeric-filter.component.d.ts +2 -11
  281. package/filtering/operators/filter-operator.base.d.ts +1 -1
  282. package/filtering/string-filter.component.d.ts +2 -11
  283. package/index.d.ts +3 -0
  284. package/layout/resizable.directive.d.ts +1 -1
  285. package/localization/messages.d.ts +1 -1
  286. package/navigation/focusable.directive.d.ts +1 -1
  287. package/navigation/logical-cell.directive.d.ts +1 -1
  288. package/navigation/logical-row.directive.d.ts +1 -1
  289. package/package.json +27 -32
  290. package/pager/pager-context.service.d.ts +1 -1
  291. package/pager/pager-next-buttons.component.d.ts +1 -1
  292. package/pager/pager-numeric-buttons.component.d.ts +1 -1
  293. package/pager/pager-page-sizes.component.d.ts +1 -1
  294. package/pager/pager-settings.d.ts +1 -1
  295. package/pager/pager.component.d.ts +1 -1
  296. package/pdf/pdf-command-tool.directive.d.ts +41 -0
  297. package/pdf/pdf-margin.interface.d.ts +1 -1
  298. package/pdf/pdf.component.d.ts +1 -7
  299. package/pdf/pdf.module.d.ts +3 -2
  300. package/rendering/body.module.d.ts +6 -5
  301. package/rendering/cell.component.d.ts +2 -1
  302. package/rendering/common/col-group.component.d.ts +1 -1
  303. package/rendering/common/row-class.d.ts +2 -2
  304. package/rendering/common/spacer.component.d.ts +1 -1
  305. package/rendering/header/header.component.d.ts +1 -1
  306. package/rendering/list.component.d.ts +1 -1
  307. package/rendering/table-body.component.d.ts +1 -1
  308. package/rendering/toolbar/toolbar-template.directive.d.ts +1 -1
  309. package/rendering/toolbar/toolbar.component.d.ts +1 -1
  310. package/row-reordering/types.d.ts +1 -1
  311. package/schematics/ngAdd/index.js +3 -3
  312. package/scrolling/scroll-sync.service.d.ts +1 -1
  313. package/scrolling/scroller.service.d.ts +1 -1
  314. package/scrolling/scrollmode.d.ts +1 -1
  315. package/selection/is-selected.d.ts +1 -1
  316. package/selection/selectable.directive.d.ts +1 -1
  317. package/treelist.component.d.ts +1 -1
  318. package/treelist.module.d.ts +67 -65
  319. package/utils.d.ts +1 -1
  320. package/esm2020/common/dom-events.service.mjs +0 -26
  321. package/esm2020/filtering/cell/row-filtering.module.mjs +0 -77
  322. package/esm2020/filtering/menu/filter-menu.module.mjs +0 -80
  323. package/esm2020/localization/messages.mjs +0 -138
  324. package/esm2020/pager/pager.module.mjs +0 -43
  325. package/esm2020/rendering/body.module.mjs +0 -40
  326. package/esm2020/treelist.module.mjs +0 -176
  327. package/fesm2015/progress-kendo-angular-treelist.mjs +0 -21537
  328. /package/{esm2020 → esm2022}/column-menu/column-menu-settings.interface.mjs +0 -0
  329. /package/{esm2020 → esm2022}/column-menu/utils.mjs +0 -0
  330. /package/{esm2020 → esm2022}/column-resizing/column-resize.interface.mjs +0 -0
  331. /package/{esm2020 → esm2022}/columns/column-common.mjs +0 -0
  332. /package/{esm2020 → esm2022}/columns/sort-settings.mjs +0 -0
  333. /package/{esm2020 → esm2022}/common/cell-click-event-args.interface.mjs +0 -0
  334. /package/{esm2020 → esm2022}/common/create-form-group.mjs +0 -0
  335. /package/{esm2020 → esm2022}/common/default-track-by.mjs +0 -0
  336. /package/{esm2020 → esm2022}/common/filter-descriptor-differ.mjs +0 -0
  337. /package/{esm2020 → esm2022}/common/filter-operator.interface.mjs +0 -0
  338. /package/{esm2020 → esm2022}/common/remove-confirmation.mjs +0 -0
  339. /package/{esm2020 → esm2022}/constants.mjs +0 -0
  340. /package/{esm2020 → esm2022}/data/change-event-args.interface.mjs +0 -0
  341. /package/{esm2020 → esm2022}/data/data-item.interface.mjs +0 -0
  342. /package/{esm2020 → esm2022}/data/treelist-item.interface.mjs +0 -0
  343. /package/{esm2020 → esm2022}/dragdrop/column-reorder-config.mjs +0 -0
  344. /package/{esm2020 → esm2022}/dragdrop/common.mjs +0 -0
  345. /package/{esm2020 → esm2022}/dragdrop/context-types.mjs +0 -0
  346. /package/{esm2020 → esm2022}/editing/add-event-args.interface.mjs +0 -0
  347. /package/{esm2020 → esm2022}/editing/cancel-event-args.interface.mjs +0 -0
  348. /package/{esm2020 → esm2022}/editing/edit-event-args.interface.mjs +0 -0
  349. /package/{esm2020 → esm2022}/editing/remove-event-args.interface.mjs +0 -0
  350. /package/{esm2020 → esm2022}/editing/save-event-args.interface.mjs +0 -0
  351. /package/{esm2020 → esm2022}/editing-directives/create-form-group-args.interface.mjs +0 -0
  352. /package/{esm2020 → esm2022}/editing-directives/edit-service.interface.mjs +0 -0
  353. /package/{esm2020 → esm2022}/editing-directives/local-edit.service.mjs +0 -0
  354. /package/{esm2020 → esm2022}/editing-directives/utils.mjs +0 -0
  355. /package/{esm2020 → esm2022}/excel/excel-export-data.interface.mjs +0 -0
  356. /package/{esm2020 → esm2022}/filtering/cell/filter-cell-component.factory.mjs +0 -0
  357. /package/{esm2020 → esm2022}/filtering/filter-component.interface.mjs +0 -0
  358. /package/{esm2020 → esm2022}/filtering/filterable.mjs +0 -0
  359. /package/{esm2020 → esm2022}/filtering/menu/filter-menu-component.factory.mjs +0 -0
  360. /package/{esm2020 → esm2022}/layout/row-sync.mjs +0 -0
  361. /package/{esm2020 → esm2022}/navigation/focusable-element.interface.mjs +0 -0
  362. /package/{esm2020 → esm2022}/navigation/logical-cell.interface.mjs +0 -0
  363. /package/{esm2020 → esm2022}/navigation/logical-row.interface.mjs +0 -0
  364. /package/{esm2020 → esm2022}/navigation/navigation-cell.interface.mjs +0 -0
  365. /package/{esm2020 → esm2022}/navigation/navigation-change.interface.mjs +0 -0
  366. /package/{esm2020 → esm2022}/navigation/navigation-mode.mjs +0 -0
  367. /package/{esm2020 → esm2022}/navigation/navigation-row.interface.mjs +0 -0
  368. /package/{esm2020 → esm2022}/pager/pager-settings.mjs +0 -0
  369. /package/{esm2020 → esm2022}/pager/pagesize-item.interface.mjs +0 -0
  370. /package/{esm2020 → esm2022}/pdf/export-element.mjs +0 -0
  371. /package/{esm2020 → esm2022}/pdf/pdf-export-event.mjs +0 -0
  372. /package/{esm2020 → esm2022}/pdf/pdf-margin.interface.mjs +0 -0
  373. /package/{esm2020 → esm2022}/progress-kendo-angular-treelist.mjs +0 -0
  374. /package/{esm2020 → esm2022}/rendering/common/dom-queries.mjs +0 -0
  375. /package/{esm2020 → esm2022}/rendering/common/row-class.mjs +0 -0
  376. /package/{esm2020 → esm2022}/rendering/constants.mjs +0 -0
  377. /package/{esm2020 → esm2022}/row-reordering/types.mjs +0 -0
  378. /package/{esm2020 → esm2022}/row-reordering/utils.mjs +0 -0
  379. /package/{esm2020 → esm2022}/scrolling/content-scroll-event.mjs +0 -0
  380. /package/{esm2020 → esm2022}/scrolling/scroll-bottom-event.mjs +0 -0
  381. /package/{esm2020 → esm2022}/scrolling/scrollmode.mjs +0 -0
  382. /package/{esm2020 → esm2022}/selection/is-selected.mjs +0 -0
  383. /package/{esm2020 → esm2022}/selection/selectable-settings.mjs +0 -0
  384. /package/{esm2020 → esm2022}/utils.mjs +0 -0
@@ -127,349 +127,35 @@ const isInEditedCell = (element, treelistElement) => closest(element, matchesCla
127
127
  *
128
128
  */
129
129
  export class TreeListComponent {
130
- constructor(supportService, wrapper, changeNotification, editService, filterService, pdfService, responsiveService, renderer, excelService, ngZone, scrollSyncService, domEvents, columnResizingService, changeDetectorRef, columnReorderService, columnInfoService, navigationService, sortService, scrollRequestService, expandStateService, optionChanges, selectionService, localization, ctx, rowReorderService) {
131
- this.supportService = supportService;
132
- this.wrapper = wrapper;
133
- this.changeNotification = changeNotification;
134
- this.editService = editService;
135
- this.filterService = filterService;
136
- this.pdfService = pdfService;
137
- this.responsiveService = responsiveService;
138
- this.renderer = renderer;
139
- this.excelService = excelService;
140
- this.ngZone = ngZone;
141
- this.scrollSyncService = scrollSyncService;
142
- this.domEvents = domEvents;
143
- this.columnResizingService = columnResizingService;
144
- this.changeDetectorRef = changeDetectorRef;
145
- this.columnReorderService = columnReorderService;
146
- this.columnInfoService = columnInfoService;
147
- this.navigationService = navigationService;
148
- this.sortService = sortService;
149
- this.scrollRequestService = scrollRequestService;
150
- this.expandStateService = expandStateService;
151
- this.optionChanges = optionChanges;
152
- this.selectionService = selectionService;
153
- this.localization = localization;
154
- this.ctx = ctx;
155
- this.rowReorderService = rowReorderService;
156
- /**
157
- * Defines the page size used by the TreeList when [paging]({% slug paging_treelist %}) is enabled.
158
- *
159
- * @default 10
160
- */
161
- this.pageSize = 10;
162
- /**
163
- * Defines the scroll mode used by the TreeList.
164
- * @default 'scrollable'
165
- */
166
- this.scrollable = 'scrollable';
167
- /**
168
- * A function that defines how to track changes for the data rows.
169
- *
170
- * By default, the TreeList tracks changes by the index of the data item.
171
- * Edited rows are tracked by reference.
172
- *
173
- */
174
- this.trackBy = defaultTrackBy;
175
- /**
176
- * If set to `true`, the treelist will render only the columns in the current viewport.
177
- * @default false
178
- */
179
- this.virtualColumns = false;
180
- /**
181
- * Enables the [filtering]({% slug filtering_treelist %}) of the TreeList columns that have their `field` option set.
182
- */
183
- this.filterable = false;
184
- /**
185
- * Enables the [sorting]({% slug sorting_treelist %}) of the TreeList columns that have their `field` option set.
186
- */
187
- this.sortable = false;
188
- /**
189
- * Configures the pager of the TreeList ([see example]({% slug paging_treelist %})).
190
- *
191
- */
192
- this.pageable = false;
193
- /**
194
- * If set to `true`, the user can use dedicated shortcuts to interact with the TreeList.
195
- * By default, navigation is disabled and the TreeList content is accessible in the normal tab sequence.
196
- * @default false
197
- */
198
- this.navigable = false;
199
- /**
200
- * Indicates whether the TreeList columns will be resized during initialization so that
201
- * they fit their headers and row content. Defaults to `false`.
202
- * Columns with `autoSize` set to `false` are excluded.
203
- * To dynamically update the column width to match the new content,
204
- * refer to [this example]({% slug resizing_columns_treelist %}).
205
- *
206
- * @default false
207
- */
208
- this.autoSize = false;
209
- /**
210
- * If set to `true`, the user can resize columns by dragging the edges (resize handles) of their header cells
211
- * ([see example]({% slug resizing_columns_treelist %})).
212
- *
213
- * @default false
214
- */
215
- this.resizable = false;
216
- /**
217
- * If set to `true`, the user can reorder columns by dragging their header cells
218
- * ([see example]({% slug reordering_columns_treelist %})).
219
- *
220
- * @default false
221
- */
222
- this.reorderable = false;
223
- /**
224
- * Specifies if the loading indicator of the TreeList will be displayed ([see example]({% slug databinding_treelist %})).
225
- *
226
- * @default false
227
- */
228
- this.loading = false;
229
- /**
230
- * Specifies if the column menu of the columns will be displayed ([see example]({% slug columnmenu_treelist %})).
231
- *
232
- * @default false
233
- */
234
- this.columnMenu = false;
235
- /**
236
- * Specifies if the header of the treelist will be hidden. The header is visible by default.
237
- *
238
- * The header includes column headers and the [filter row](slug:filter_row_treelist).
239
- *
240
- * @default false
241
- */
242
- this.hideHeader = false;
243
- /**
244
- * Fires when the TreeList selection is changed.
245
- */
246
- this.selectionChange = new EventEmitter();
247
- /**
248
- * Fires when the TreeList filter is modified through the UI.
249
- * You have to handle the event yourself and filter the data.
250
- */
251
- this.filterChange = new EventEmitter();
252
- /**
253
- * Fires when the page of the TreeList is changed ([see example]({% slug paging_treelist %})).
254
- * You have to handle the event yourself and page the data.
255
- */
256
- this.pageChange = new EventEmitter();
257
- /**
258
- * Fires when the sorting of the TreeList is changed ([see example]({% slug sorting_treelist %})).
259
- * You have to handle the event yourself and sort the data.
260
- */
261
- this.sortChange = new EventEmitter();
262
- /**
263
- * Fires when the data state of the TreeList is changed.
264
- */
265
- this.dataStateChange = new EventEmitter();
266
- /**
267
- * Fires when the user clicks the **Edit** command button to edit a row
268
- * ([see example]({% slug editing_template_forms_treelist %}#toc-editing-records)).
269
- */
270
- this.edit = new EventEmitter();
271
- /**
272
- * Fires when the user clicks the **Cancel** command button to close a row
273
- * ([see example]({% slug editing_template_forms_treelist %}#toc-cancelling-editing)).
274
- */
275
- this.cancel = new EventEmitter();
276
- /**
277
- * Fires when the user clicks the **Save** command button to save changes in a row
278
- * ([see example]({% slug editing_template_forms_treelist %}#toc-saving-records)).
279
- */
280
- this.save = new EventEmitter();
281
- /**
282
- * Fires when the user clicks the **Remove** command button to remove a row
283
- * ([see example]({% slug editing_template_forms_treelist %}#toc-removing-records)).
284
- */
285
- this.remove = new EventEmitter();
286
- /**
287
- * Fires when the user clicks the **Add** command button to add a new row
288
- * ([see example]({% slug editing_template_forms_treelist %}#toc-adding-records)).
289
- */
290
- this.add = new EventEmitter();
291
- /**
292
- * Fires when the user leaves an edited cell ([see example]({% slug editing_incell_treelist %}#toc-basic-concepts)).
293
- */
294
- this.cellClose = new EventEmitter();
295
- /**
296
- * Fires when the user clicks a cell ([see example]({% slug editing_incell_treelist %}#toc-basic-concepts)).
297
- */
298
- this.cellClick = new EventEmitter();
299
- /**
300
- * Fires when the user clicks the **Export to PDF** command button.
301
- */
302
- this.pdfExport = new EventEmitter();
303
- /**
304
- * Fires when the user clicks the **Export to Excel** command button.
305
- */
306
- this.excelExport = new EventEmitter();
307
- /**
308
- * Fires when the user completes the resizing of the column.
309
- */
310
- this.columnResize = new EventEmitter();
311
- /**
312
- * Fires when the user completes the reordering of the column.
313
- */
314
- this.columnReorder = new EventEmitter();
315
- /**
316
- * Fires when the user changes the visibility of the columns from the column menu or column chooser.
317
- */
318
- this.columnVisibilityChange = new EventEmitter();
319
- /**
320
- * Fires when the user changes the locked state of the columns from the column menu or by reordering the columns.
321
- */
322
- this.columnLockedChange = new EventEmitter();
323
- /**
324
- * Fires when the user scrolls to the last record on the page and enables endless scrolling
325
- * ([see example]({% slug scrollmmodes_treelist %}#toc-endless-scrolling)).
326
- * You have to handle the event yourself and page the data.
327
- */
328
- this.scrollBottom = new EventEmitter();
329
- /**
330
- * Fires when the treelist content is scrolled.
331
- * For performance reasons, the event is triggered outside the Angular zone. Enter the Angular zone if you make any changes that require change detection.
332
- */
333
- this.contentScroll = new EventEmitter();
334
- /**
335
- * Fires when an item is expanded.
336
- */
337
- this.expandEvent = new EventEmitter();
338
- /**
339
- * Fires when an item is collapsed.
340
- */
341
- this.collapseEvent = new EventEmitter();
342
- /**
343
- * @hidden
344
- *
345
- * Emits when the expand or collapse events are fired.
346
- * Used by the expand directive and the Gantt component.
347
- */
348
- this.expandStateChange = new EventEmitter();
349
- /**
350
- * Fires when the user drops the dragged row and reordering is performed.
351
- * Emits the [RowReorderEvent]({% slug api_treelist_rowreorderevent %}).
352
- */
353
- this.rowReorder = new EventEmitter();
354
- /**
355
- * @hidden
356
- */
357
- this.columnOrderChange = new EventEmitter();
358
- /**
359
- * A query list of all declared columns.
360
- */
361
- this.columns = new QueryList();
362
- this.hostClasses = true;
363
- this.footer = new QueryList();
364
- this.columnsContainer = new ColumnsContainer(() => this.columnList.filterHierarchy(column => {
365
- if (!isUniversal()) {
366
- column.matchesMedia = this.matchesMedia(column);
367
- }
368
- return column.isVisible;
369
- }));
370
- this.idGetter = getter(undefined);
371
- this.localEditService = new LocalEditService();
372
- this.view = new ViewCollection(this.viewFieldAccessor.bind(this), this.expandStateService, this.editService, this.selectionService);
373
- this.ariaRootId = `k-${guid()}`;
374
- this.dataChanged = false;
375
- this._hasChildren = (() => false);
376
- this.subscriptions = new Subscription();
377
- this.rtl = false;
378
- this.shouldGenerateColumns = true;
379
- this._data = [];
380
- this._sort = new Array();
381
- this._skip = 0;
382
- this.cachedWindowWidth = 0;
383
- this._rowReorderable = false;
384
- /**
385
- * @hidden
386
- */
387
- this.treeListData = () => { return this.view; };
388
- this._rowClass = () => null;
389
- validatePackage(packageMetadata);
390
- this.subscriptions.add(localization.changes.subscribe(({ rtl }) => {
391
- this.rtl = rtl;
392
- this.direction = this.rtl ? 'rtl' : 'ltr';
393
- }));
394
- this.selectionService.init(this);
395
- this.ctx.treelist = this;
396
- this.subscriptions.add(this.selectionService.changes.subscribe((args) => {
397
- if (hasObservers(this.selectionChange)) {
398
- this.ngZone.run(() => {
399
- args.sender = this;
400
- this.selectionChange.emit(args);
401
- this.selectionService.updateSelectedState();
402
- this.changeDetectorRef.markForCheck();
403
- });
404
- }
405
- }));
406
- this.columnInfoService.init(this.columnsContainer, () => this.columnList);
407
- this.subscriptions.add(this.columnInfoService.visibilityChange.subscribe((changed) => {
408
- this.columnVisibilityChange.emit(new ColumnVisibilityChangeEvent(changed));
409
- this.changeDetectorRef.markForCheck();
410
- }));
411
- this.subscriptions.add(this.columnInfoService.lockedChange.subscribe((changed) => {
412
- this.columnLockedChange.emit(new ColumnLockedChangeEvent(changed));
413
- this.changeDetectorRef.markForCheck();
414
- }));
415
- this.subscriptions.add(merge(this.optionChanges.columns, this.optionChanges.options).subscribe(() => {
416
- this.changeDetectorRef.markForCheck();
417
- }));
418
- this.subscriptions.add(this.filterService.changes.subscribe(x => {
419
- this.filterChange.emit(x);
420
- }));
421
- this.subscriptions.add(this.sortService.changes.subscribe(x => {
422
- this.sortChange.emit(x);
423
- }));
424
- this.attachStateChangesEmitter();
425
- this.attachEditHandlers();
426
- this.attachDomEventHandlers();
427
- this.subscriptions.add(this.pdfService.exportClick.subscribe(this.emitPDFExportEvent.bind(this)));
428
- this.subscriptions.add(this.excelService.exportClick.subscribe(this.saveAsExcel.bind(this)));
429
- this.subscriptions.add(this.excelService.loadingChange.subscribe(() => {
430
- this.changeDetectorRef.detectChanges();
431
- }));
432
- this.columnsContainerChange();
433
- this.handleColumnResize();
434
- this.columnList = new ColumnList(this.columns);
435
- this.subscriptions.add(this.columnReorderService
436
- .changes.subscribe(this.reorder.bind(this)));
437
- this.subscriptions.add(this.columnInfoService.columnRangeChange.subscribe(this.onColumnRangeChange.bind(this)));
438
- this.subscriptions.add(this.expandStateService.changes.subscribe((args) => {
439
- if (args.expand) {
440
- this.expandEvent.emit(args);
441
- }
442
- else {
443
- this.collapseEvent.emit(args);
444
- }
445
- if (!args.isDefaultPrevented()) {
446
- this.changeDetectorRef.markForCheck();
447
- this.view.clear();
448
- this.expandStateChange.emit(args);
449
- }
450
- if (this.rowReorderable) {
451
- this.ngZone.onStable.pipe(take(1)).subscribe(() => {
452
- this.notifyReorderContainers();
453
- });
454
- }
455
- }));
456
- this.subscriptions.add(this.view.childrenLoaded.subscribe(() => {
457
- this.changeDetectorRef.detectChanges();
458
- }));
459
- this.subscriptions.add(this.view.resetPage.subscribe(() => {
460
- if (this.skip > 0 && hasObservers(this.pageChange)) {
461
- // don't think there is a way to avoid this
462
- // every callback in which the view can be computed is already passed the change detection
463
- // computing the current page in advance also does not seem feasible for such a rare case
464
- this.pageChangeTimeout = setTimeout(() => {
465
- this.pageChange.emit({ skip: 0, take: this.pageSize });
466
- }, 0);
467
- }
468
- this.skip = 0;
469
- }));
470
- this.dataLoaded = this.dataLoaded.bind(this);
471
- this.editService.idGetter = this.idGetter;
472
- }
130
+ supportService;
131
+ wrapper;
132
+ changeNotification;
133
+ editService;
134
+ filterService;
135
+ pdfService;
136
+ responsiveService;
137
+ renderer;
138
+ excelService;
139
+ ngZone;
140
+ scrollSyncService;
141
+ domEvents;
142
+ columnResizingService;
143
+ changeDetectorRef;
144
+ columnReorderService;
145
+ columnInfoService;
146
+ navigationService;
147
+ sortService;
148
+ scrollRequestService;
149
+ expandStateService;
150
+ optionChanges;
151
+ selectionService;
152
+ localization;
153
+ ctx;
154
+ rowReorderService;
155
+ /**
156
+ * An optional accessible description of the component.
157
+ */
158
+ ariaLabel;
473
159
  /**
474
160
  * Sets the data of the TreeList. If an array is provided, the TreeList automatically gets the total count
475
161
  * ([more information and example]({% slug databinding_treelist %})).
@@ -489,6 +175,24 @@ export class TreeListComponent {
489
175
  get data() {
490
176
  return this.loadedData;
491
177
  }
178
+ /**
179
+ * Defines the page size used by the TreeList when [paging]({% slug paging_treelist %}) is enabled.
180
+ *
181
+ * @default 10
182
+ */
183
+ pageSize = 10;
184
+ /**
185
+ * Defines the height (in pixels) that is used when the `scrollable` option of the TreeList is set.
186
+ * To set the height of the TreeList, you can also use `style.height`. The `style.height`
187
+ * option supports units such as `px`, `%`, `em`, `rem`, and others.
188
+ */
189
+ height;
190
+ /**
191
+ * Represent the actual height of each TreeList row (`tr`) element in the DOM.
192
+ * Required by the [virtual scrolling functionality]({% slug scrollmmodes_treelist %}).
193
+ * Set the `rowHeight` option to the exact pixels as the height of the `tr` element appears in the DOM.
194
+ */
195
+ rowHeight;
492
196
  /**
493
197
  * Defines the number of records to be skipped by the pager.
494
198
  * Required by the [paging]({% slug paging_treelist %}) functionality.
@@ -502,6 +206,11 @@ export class TreeListComponent {
502
206
  this.view.clear();
503
207
  }
504
208
  }
209
+ /**
210
+ * Defines the scroll mode used by the TreeList.
211
+ * @default 'scrollable'
212
+ */
213
+ scrollable = 'scrollable';
505
214
  /**
506
215
  * The descriptors by which the data will be sorted ([see example]({% slug sorting_treelist %})).
507
216
  */
@@ -513,6 +222,23 @@ export class TreeListComponent {
513
222
  get sort() {
514
223
  return this._sort;
515
224
  }
225
+ /**
226
+ * A function that defines how to track changes for the data rows.
227
+ *
228
+ * By default, the TreeList tracks changes by the index of the data item.
229
+ * Edited rows are tracked by reference.
230
+ *
231
+ */
232
+ trackBy = defaultTrackBy;
233
+ /**
234
+ * The descriptor by which the data will be filtered ([see examples]({% slug filtering_treelist %})).
235
+ */
236
+ filter;
237
+ /**
238
+ * If set to `true`, the treelist will render only the columns in the current viewport.
239
+ * @default false
240
+ */
241
+ virtualColumns = false;
516
242
  /**
517
243
  * @hidden
518
244
  */
@@ -540,6 +266,25 @@ export class TreeListComponent {
540
266
  get marqueeSelection() {
541
267
  return this.selectionService.enableMarquee;
542
268
  }
269
+ /**
270
+ * Enables the [filtering]({% slug filtering_treelist %}) of the TreeList columns that have their `field` option set.
271
+ */
272
+ filterable = false;
273
+ /**
274
+ * Enables the [sorting]({% slug sorting_treelist %}) of the TreeList columns that have their `field` option set.
275
+ */
276
+ sortable = false;
277
+ /**
278
+ * Configures the pager of the TreeList ([see example]({% slug paging_treelist %})).
279
+ *
280
+ */
281
+ pageable = false;
282
+ /**
283
+ * If set to `true`, the user can use dedicated shortcuts to interact with the TreeList.
284
+ * By default, navigation is disabled and the TreeList content is accessible in the normal tab sequence.
285
+ * @default false
286
+ */
287
+ navigable = false;
543
288
  /**
544
289
  * @hidden
545
290
  *
@@ -554,6 +299,16 @@ export class TreeListComponent {
554
299
  get navigatable() {
555
300
  return this.navigable;
556
301
  }
302
+ /**
303
+ * Indicates whether the TreeList columns will be resized during initialization so that
304
+ * they fit their headers and row content. Defaults to `false`.
305
+ * Columns with `autoSize` set to `false` are excluded.
306
+ * To dynamically update the column width to match the new content,
307
+ * refer to [this example]({% slug resizing_columns_treelist %}).
308
+ *
309
+ * @default false
310
+ */
311
+ autoSize = false;
557
312
  /**
558
313
  * Defines a function that is executed for every data row in the component.
559
314
  *
@@ -579,6 +334,40 @@ export class TreeListComponent {
579
334
  get activeRow() {
580
335
  return this.navigationService.activeRow;
581
336
  }
337
+ /**
338
+ * If set to `true`, the user can resize columns by dragging the edges (resize handles) of their header cells
339
+ * ([see example]({% slug resizing_columns_treelist %})).
340
+ *
341
+ * @default false
342
+ */
343
+ resizable = false;
344
+ /**
345
+ * If set to `true`, the user can reorder columns by dragging their header cells
346
+ * ([see example]({% slug reordering_columns_treelist %})).
347
+ *
348
+ * @default false
349
+ */
350
+ reorderable = false;
351
+ /**
352
+ * Specifies if the loading indicator of the TreeList will be displayed ([see example]({% slug databinding_treelist %})).
353
+ *
354
+ * @default false
355
+ */
356
+ loading = false;
357
+ /**
358
+ * Specifies if the column menu of the columns will be displayed ([see example]({% slug columnmenu_treelist %})).
359
+ *
360
+ * @default false
361
+ */
362
+ columnMenu = false;
363
+ /**
364
+ * Specifies if the header of the treelist will be hidden. The header is visible by default.
365
+ *
366
+ * The header includes column headers and the [filter row](slug:filter_row_treelist).
367
+ *
368
+ * @default false
369
+ */
370
+ hideHeader = false;
582
371
  /**
583
372
  * The name of the field which contains the unique identifier of the node.
584
373
  *
@@ -628,6 +417,121 @@ export class TreeListComponent {
628
417
  get rowReorderable() {
629
418
  return this._rowReorderable;
630
419
  }
420
+ /**
421
+ * Fires when the TreeList selection is changed.
422
+ */
423
+ selectionChange = new EventEmitter();
424
+ /**
425
+ * Fires when the TreeList filter is modified through the UI.
426
+ * You have to handle the event yourself and filter the data.
427
+ */
428
+ filterChange = new EventEmitter();
429
+ /**
430
+ * Fires when the page of the TreeList is changed ([see example]({% slug paging_treelist %})).
431
+ * You have to handle the event yourself and page the data.
432
+ */
433
+ pageChange = new EventEmitter();
434
+ /**
435
+ * Fires when the sorting of the TreeList is changed ([see example]({% slug sorting_treelist %})).
436
+ * You have to handle the event yourself and sort the data.
437
+ */
438
+ sortChange = new EventEmitter();
439
+ /**
440
+ * Fires when the data state of the TreeList is changed.
441
+ */
442
+ dataStateChange = new EventEmitter();
443
+ /**
444
+ * Fires when the user clicks the **Edit** command button to edit a row
445
+ * ([see example]({% slug editing_template_forms_treelist %}#toc-editing-records)).
446
+ */
447
+ edit = new EventEmitter();
448
+ /**
449
+ * Fires when the user clicks the **Cancel** command button to close a row
450
+ * ([see example]({% slug editing_template_forms_treelist %}#toc-cancelling-editing)).
451
+ */
452
+ cancel = new EventEmitter();
453
+ /**
454
+ * Fires when the user clicks the **Save** command button to save changes in a row
455
+ * ([see example]({% slug editing_template_forms_treelist %}#toc-saving-records)).
456
+ */
457
+ save = new EventEmitter();
458
+ /**
459
+ * Fires when the user clicks the **Remove** command button to remove a row
460
+ * ([see example]({% slug editing_template_forms_treelist %}#toc-removing-records)).
461
+ */
462
+ remove = new EventEmitter();
463
+ /**
464
+ * Fires when the user clicks the **Add** command button to add a new row
465
+ * ([see example]({% slug editing_template_forms_treelist %}#toc-adding-records)).
466
+ */
467
+ add = new EventEmitter();
468
+ /**
469
+ * Fires when the user leaves an edited cell ([see example]({% slug editing_incell_treelist %}#toc-basic-concepts)).
470
+ */
471
+ cellClose = new EventEmitter();
472
+ /**
473
+ * Fires when the user clicks a cell ([see example]({% slug editing_incell_treelist %}#toc-basic-concepts)).
474
+ */
475
+ cellClick = new EventEmitter();
476
+ /**
477
+ * Fires when the user clicks the **Export to PDF** command button.
478
+ */
479
+ pdfExport = new EventEmitter();
480
+ /**
481
+ * Fires when the user clicks the **Export to Excel** command button.
482
+ */
483
+ excelExport = new EventEmitter();
484
+ /**
485
+ * Fires when the user completes the resizing of the column.
486
+ */
487
+ columnResize = new EventEmitter();
488
+ /**
489
+ * Fires when the user completes the reordering of the column.
490
+ */
491
+ columnReorder = new EventEmitter();
492
+ /**
493
+ * Fires when the user changes the visibility of the columns from the column menu or column chooser.
494
+ */
495
+ columnVisibilityChange = new EventEmitter();
496
+ /**
497
+ * Fires when the user changes the locked state of the columns from the column menu or by reordering the columns.
498
+ */
499
+ columnLockedChange = new EventEmitter();
500
+ /**
501
+ * Fires when the user scrolls to the last record on the page and enables endless scrolling
502
+ * ([see example]({% slug scrollmmodes_treelist %}#toc-endless-scrolling)).
503
+ * You have to handle the event yourself and page the data.
504
+ */
505
+ scrollBottom = new EventEmitter();
506
+ /**
507
+ * Fires when the treelist content is scrolled.
508
+ * For performance reasons, the event is triggered outside the Angular zone. Enter the Angular zone if you make any changes that require change detection.
509
+ */
510
+ contentScroll = new EventEmitter();
511
+ /**
512
+ * Fires when an item is expanded.
513
+ */
514
+ expandEvent = new EventEmitter();
515
+ /**
516
+ * Fires when an item is collapsed.
517
+ */
518
+ collapseEvent = new EventEmitter();
519
+ /**
520
+ * @hidden
521
+ *
522
+ * Emits when the expand or collapse events are fired.
523
+ * Used by the expand directive and the Gantt component.
524
+ */
525
+ expandStateChange = new EventEmitter();
526
+ /**
527
+ * Fires when the user drops the dragged row and reordering is performed.
528
+ * Emits the [RowReorderEvent]({% slug api_treelist_rowreorderevent %}).
529
+ */
530
+ rowReorder = new EventEmitter();
531
+ /**
532
+ * @hidden
533
+ */
534
+ columnOrderChange = new EventEmitter();
631
535
  /**
632
536
  * @hidden
633
537
  */
@@ -641,9 +545,14 @@ export class TreeListComponent {
641
545
  get columnsRef() {
642
546
  return this._columnsRef;
643
547
  }
548
+ /**
549
+ * A query list of all declared columns.
550
+ */
551
+ columns = new QueryList();
644
552
  get dir() {
645
553
  return this.direction;
646
554
  }
555
+ hostClasses = true;
647
556
  get lockedClasses() {
648
557
  return this.lockedLeafColumns.length > 0;
649
558
  }
@@ -653,6 +562,7 @@ export class TreeListComponent {
653
562
  get noScrollbarClass() {
654
563
  return this.scrollbarWidth === 0;
655
564
  }
565
+ noRecordsTemplateChildren;
656
566
  get noRecordsTemplate() {
657
567
  if (this._customNoRecordsTemplate) {
658
568
  return this._customNoRecordsTemplate;
@@ -662,6 +572,7 @@ export class TreeListComponent {
662
572
  set noRecordsTemplate(customNoRecordsTemplate) {
663
573
  this._customNoRecordsTemplate = customNoRecordsTemplate;
664
574
  }
575
+ pagerTemplateChildren;
665
576
  get pagerTemplate() {
666
577
  if (this._customPagerTemplate) {
667
578
  return this._customPagerTemplate;
@@ -671,6 +582,7 @@ export class TreeListComponent {
671
582
  set pagerTemplate(customPagerTemplate) {
672
583
  this._customPagerTemplate = customPagerTemplate;
673
584
  }
585
+ toolbarTemplateChildren;
674
586
  get toolbarTemplate() {
675
587
  if (this._customToolbarTemplate) {
676
588
  return this._customToolbarTemplate;
@@ -680,6 +592,13 @@ export class TreeListComponent {
680
592
  set toolbarTemplate(customToolbarTemplate) {
681
593
  this._customToolbarTemplate = customToolbarTemplate;
682
594
  }
595
+ columnMenuTemplates;
596
+ lockedHeader;
597
+ header;
598
+ footer = new QueryList();
599
+ ariaRoot;
600
+ dragTargetContainer;
601
+ dropTargetContainer;
683
602
  get scrollbarWidth() {
684
603
  return this.supportService.scrollbarWidth;
685
604
  }
@@ -692,6 +611,14 @@ export class TreeListComponent {
692
611
  const left = this.rtl ? padding : 0;
693
612
  return `0 ${right} 0 ${left}`;
694
613
  }
614
+ columnMenuOptions;
615
+ columnList;
616
+ columnsContainer = new ColumnsContainer(() => this.columnList.filterHierarchy(column => {
617
+ if (!isUniversal()) {
618
+ column.matchesMedia = this.matchesMedia(column);
619
+ }
620
+ return column.isVisible;
621
+ }));
695
622
  get showLoading() {
696
623
  return this.loading || (isObservable(this._data) && !this.loadedData) || this.excelService.loading;
697
624
  }
@@ -793,6 +720,146 @@ export class TreeListComponent {
793
720
  this.expandStateService.isExpanded = value || defaultExpanded;
794
721
  this.expandIcons = Boolean(value);
795
722
  }
723
+ idGetter = getter(undefined);
724
+ localEditService = new LocalEditService();
725
+ view;
726
+ expandIcons;
727
+ ariaRootId = `k-${guid()}`;
728
+ dataChanged = false;
729
+ loadedData;
730
+ _fetchChildren;
731
+ _hasChildren = (() => false);
732
+ subscriptions = new Subscription();
733
+ dataLoadedSubscription;
734
+ focusElementSubscription;
735
+ rowReorderSubscription;
736
+ detachElementEventHandlers;
737
+ rtl = false;
738
+ shouldGenerateColumns = true;
739
+ direction;
740
+ _data = [];
741
+ _sort = new Array();
742
+ _skip = 0;
743
+ _columnsRef;
744
+ cachedWindowWidth = 0;
745
+ _customNoRecordsTemplate;
746
+ _customPagerTemplate;
747
+ _customToolbarTemplate;
748
+ leafViewportColumns;
749
+ viewportColumns;
750
+ pageChangeTimeout;
751
+ _rowReorderable = false;
752
+ constructor(supportService, wrapper, changeNotification, editService, filterService, pdfService, responsiveService, renderer, excelService, ngZone, scrollSyncService, domEvents, columnResizingService, changeDetectorRef, columnReorderService, columnInfoService, navigationService, sortService, scrollRequestService, expandStateService, optionChanges, selectionService, localization, ctx, rowReorderService) {
753
+ this.supportService = supportService;
754
+ this.wrapper = wrapper;
755
+ this.changeNotification = changeNotification;
756
+ this.editService = editService;
757
+ this.filterService = filterService;
758
+ this.pdfService = pdfService;
759
+ this.responsiveService = responsiveService;
760
+ this.renderer = renderer;
761
+ this.excelService = excelService;
762
+ this.ngZone = ngZone;
763
+ this.scrollSyncService = scrollSyncService;
764
+ this.domEvents = domEvents;
765
+ this.columnResizingService = columnResizingService;
766
+ this.changeDetectorRef = changeDetectorRef;
767
+ this.columnReorderService = columnReorderService;
768
+ this.columnInfoService = columnInfoService;
769
+ this.navigationService = navigationService;
770
+ this.sortService = sortService;
771
+ this.scrollRequestService = scrollRequestService;
772
+ this.expandStateService = expandStateService;
773
+ this.optionChanges = optionChanges;
774
+ this.selectionService = selectionService;
775
+ this.localization = localization;
776
+ this.ctx = ctx;
777
+ this.rowReorderService = rowReorderService;
778
+ validatePackage(packageMetadata);
779
+ this.subscriptions.add(localization.changes.subscribe(({ rtl }) => {
780
+ this.rtl = rtl;
781
+ this.direction = this.rtl ? 'rtl' : 'ltr';
782
+ }));
783
+ this.view = new ViewCollection(this.viewFieldAccessor.bind(this), this.expandStateService, this.editService, this.selectionService);
784
+ this.selectionService.init(this);
785
+ this.ctx.treelist = this;
786
+ this.subscriptions.add(this.selectionService.changes.subscribe((args) => {
787
+ if (hasObservers(this.selectionChange)) {
788
+ this.ngZone.run(() => {
789
+ args.sender = this;
790
+ this.selectionChange.emit(args);
791
+ this.selectionService.updateSelectedState();
792
+ this.changeDetectorRef.markForCheck();
793
+ });
794
+ }
795
+ }));
796
+ this.columnInfoService.init(this.columnsContainer, () => this.columnList);
797
+ this.subscriptions.add(this.columnInfoService.visibilityChange.subscribe((changed) => {
798
+ this.columnVisibilityChange.emit(new ColumnVisibilityChangeEvent(changed));
799
+ this.changeDetectorRef.markForCheck();
800
+ }));
801
+ this.subscriptions.add(this.columnInfoService.lockedChange.subscribe((changed) => {
802
+ this.columnLockedChange.emit(new ColumnLockedChangeEvent(changed));
803
+ this.changeDetectorRef.markForCheck();
804
+ }));
805
+ this.subscriptions.add(merge(this.optionChanges.columns, this.optionChanges.options).subscribe(() => {
806
+ this.changeDetectorRef.markForCheck();
807
+ }));
808
+ this.subscriptions.add(this.filterService.changes.subscribe(x => {
809
+ this.filterChange.emit(x);
810
+ }));
811
+ this.subscriptions.add(this.sortService.changes.subscribe(x => {
812
+ this.sortChange.emit(x);
813
+ }));
814
+ this.attachStateChangesEmitter();
815
+ this.attachEditHandlers();
816
+ this.attachDomEventHandlers();
817
+ this.subscriptions.add(this.pdfService.exportClick.subscribe(this.emitPDFExportEvent.bind(this)));
818
+ this.subscriptions.add(this.excelService.exportClick.subscribe(this.saveAsExcel.bind(this)));
819
+ this.subscriptions.add(this.excelService.loadingChange.subscribe(() => {
820
+ this.changeDetectorRef.detectChanges();
821
+ }));
822
+ this.columnsContainerChange();
823
+ this.handleColumnResize();
824
+ this.columnList = new ColumnList(this.columns);
825
+ this.subscriptions.add(this.columnReorderService
826
+ .changes.subscribe(this.reorder.bind(this)));
827
+ this.subscriptions.add(this.columnInfoService.columnRangeChange.subscribe(this.onColumnRangeChange.bind(this)));
828
+ this.subscriptions.add(this.expandStateService.changes.subscribe((args) => {
829
+ if (args.expand) {
830
+ this.expandEvent.emit(args);
831
+ }
832
+ else {
833
+ this.collapseEvent.emit(args);
834
+ }
835
+ if (!args.isDefaultPrevented()) {
836
+ this.changeDetectorRef.markForCheck();
837
+ this.view.clear();
838
+ this.expandStateChange.emit(args);
839
+ }
840
+ if (this.rowReorderable) {
841
+ this.ngZone.onStable.pipe(take(1)).subscribe(() => {
842
+ this.notifyReorderContainers();
843
+ });
844
+ }
845
+ }));
846
+ this.subscriptions.add(this.view.childrenLoaded.subscribe(() => {
847
+ this.changeDetectorRef.detectChanges();
848
+ }));
849
+ this.subscriptions.add(this.view.resetPage.subscribe(() => {
850
+ if (this.skip > 0 && hasObservers(this.pageChange)) {
851
+ // don't think there is a way to avoid this
852
+ // every callback in which the view can be computed is already passed the change detection
853
+ // computing the current page in advance also does not seem feasible for such a rare case
854
+ this.pageChangeTimeout = setTimeout(() => {
855
+ this.pageChange.emit({ skip: 0, take: this.pageSize });
856
+ }, 0);
857
+ }
858
+ this.skip = 0;
859
+ }));
860
+ this.dataLoaded = this.dataLoaded.bind(this);
861
+ this.editService.idGetter = this.idGetter;
862
+ }
796
863
  /**
797
864
  * @hidden
798
865
  */
@@ -850,6 +917,10 @@ export class TreeListComponent {
850
917
  this.updateNavigationMetadata();
851
918
  this.applyAutoSize();
852
919
  this.subscriptions.add(this.pagerTemplateChildren.changes.subscribe(() => this.changeDetectorRef.markForCheck()));
920
+ const toolbarComponentWrapper = this.wrapper?.nativeElement?.querySelector('kendo-toolbar');
921
+ if (toolbarComponentWrapper) {
922
+ this.renderer.addClass(toolbarComponentWrapper, 'k-grid-toolbar');
923
+ }
853
924
  }
854
925
  ngAfterContentChecked() {
855
926
  if (this.dataChanged) {
@@ -902,6 +973,10 @@ export class TreeListComponent {
902
973
  getDefaultSelectors(type) {
903
974
  return this.rowReorderService.defaultSelectors[type];
904
975
  }
976
+ /**
977
+ * @hidden
978
+ */
979
+ treeListData = () => { return this.view; };
905
980
  /**
906
981
  * @hidden
907
982
  */
@@ -1409,6 +1484,10 @@ export class TreeListComponent {
1409
1484
  if ((this.rowHeight) && !this.isVirtual) {
1410
1485
  throw new Error('Row height setting requires virtual scrolling mode to be enabled.');
1411
1486
  }
1487
+ if (this.wrapper?.nativeElement?.querySelector('kendo-toolbar') && this.toolbarTemplate) {
1488
+ console.warn(`Defining both a toolbar template and a ToolBarComponent within the TreeList is not supported.
1489
+ Please use either the ToolBarComponent or a custom template.`);
1490
+ }
1412
1491
  validateColumnsField(this.columnList);
1413
1492
  }
1414
1493
  }
@@ -1617,6 +1696,7 @@ export class TreeListComponent {
1617
1696
  throw new Error('The TreeList should be configured as [navigable]="true" to control focus');
1618
1697
  }
1619
1698
  }
1699
+ _rowClass = () => null;
1620
1700
  navigationMetadata() {
1621
1701
  const isVirtual = this.isVirtual;
1622
1702
  const filterRowOffset = hasFilterRow(this.filterable) ? 1 : 0;
@@ -1700,52 +1780,51 @@ export class TreeListComponent {
1700
1780
  this.dragTargetContainer?.notify();
1701
1781
  this.dropTargetContainer?.notify();
1702
1782
  }
1703
- }
1704
- TreeListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TreeListComponent, deps: [{ token: i1.BrowserSupportService }, { token: i0.ElementRef }, { token: i2.ChangeNotificationService }, { token: i3.EditService }, { token: i4.FilterService }, { token: i5.PDFService }, { token: i6.ResponsiveService }, { token: i0.Renderer2 }, { token: i7.ExcelService }, { token: i0.NgZone }, { token: i8.ScrollSyncService }, { token: i9.DomEventsService }, { token: i10.ColumnResizingService }, { token: i0.ChangeDetectorRef }, { token: i11.ColumnReorderService }, { token: i12.ColumnInfoService }, { token: i13.NavigationService }, { token: i14.SortService }, { token: i15.ScrollRequestService }, { token: i16.ExpandStateService }, { token: i17.OptionChangesService }, { token: i18.SelectionService }, { token: i19.LocalizationService }, { token: i20.ContextService }, { token: i21.RowReorderService }], target: i0.ɵɵFactoryTarget.Component });
1705
- TreeListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: TreeListComponent, isStandalone: true, selector: "kendo-treelist", inputs: { ariaLabel: ["aria-label", "ariaLabel"], data: "data", pageSize: "pageSize", height: "height", rowHeight: "rowHeight", skip: "skip", scrollable: "scrollable", sort: "sort", trackBy: "trackBy", filter: "filter", virtualColumns: "virtualColumns", filterable: "filterable", sortable: "sortable", pageable: "pageable", navigable: "navigable", navigatable: "navigatable", autoSize: "autoSize", rowClass: "rowClass", resizable: "resizable", reorderable: "reorderable", loading: "loading", columnMenu: "columnMenu", hideHeader: "hideHeader", idField: "idField", selectable: "selectable", isSelected: "isSelected", rowReorderable: "rowReorderable", columnsRef: ["columns", "columnsRef"], fetchChildren: "fetchChildren", hasChildren: "hasChildren", isExpanded: "isExpanded" }, outputs: { selectionChange: "selectionChange", filterChange: "filterChange", pageChange: "pageChange", sortChange: "sortChange", dataStateChange: "dataStateChange", edit: "edit", cancel: "cancel", save: "save", remove: "remove", add: "add", cellClose: "cellClose", cellClick: "cellClick", pdfExport: "pdfExport", excelExport: "excelExport", columnResize: "columnResize", columnReorder: "columnReorder", columnVisibilityChange: "columnVisibilityChange", columnLockedChange: "columnLockedChange", scrollBottom: "scrollBottom", contentScroll: "contentScroll", expandEvent: "expand", collapseEvent: "collapse", expandStateChange: "expandStateChange", rowReorder: "rowReorder" }, host: { properties: { "attr.dir": "this.dir", "class.k-grid": "this.hostClasses", "class.k-grid-md": "this.hostClasses", "class.k-treelist": "this.hostClasses", "class.k-grid-lockedcolumns": "this.lockedClasses", "class.k-grid-virtual": "this.virtualClasses", "class.k-grid-no-scrollbar": "this.noScrollbarClass" } }, providers: [
1706
- BrowserSupportService,
1707
- LocalizationService,
1708
- ColumnInfoService,
1709
- ChangeNotificationService,
1710
- EditService,
1711
- PDFService,
1712
- SuspendService,
1713
- {
1714
- provide: L10N_PREFIX,
1715
- useValue: 'kendo.treelist'
1716
- },
1717
- FilterService,
1718
- ResponsiveService,
1719
- PagerContextService,
1720
- ExcelService,
1721
- ScrollSyncService,
1722
- ResizeService,
1723
- DomEventsService,
1724
- ColumnResizingService,
1725
- SinglePopupService,
1726
- DragAndDropService,
1727
- DragHintService,
1728
- DropCueService,
1729
- ColumnReorderService,
1730
- NavigationService,
1731
- FocusRoot,
1732
- IdService,
1733
- ScrollRequestService,
1734
- SortService,
1735
- ExpandStateService,
1736
- OptionChangesService,
1737
- SelectionService,
1738
- {
1739
- provide: DataBoundTreeComponent,
1740
- useExisting: forwardRef(() => TreeListComponent)
1741
- },
1742
- {
1743
- provide: ExpandableTreeComponent,
1744
- useExisting: forwardRef(() => TreeListComponent)
1745
- },
1746
- ContextService,
1747
- RowReorderService
1748
- ], queries: [{ propertyName: "columns", predicate: ColumnBase }, { propertyName: "noRecordsTemplateChildren", predicate: NoRecordsTemplateDirective }, { propertyName: "pagerTemplateChildren", predicate: PagerTemplateDirective }, { propertyName: "toolbarTemplateChildren", predicate: ToolbarTemplateDirective }, { propertyName: "columnMenuTemplates", predicate: ColumnMenuTemplateDirective }], viewQueries: [{ propertyName: "lockedHeader", first: true, predicate: ["lockedHeader"], descendants: true }, { propertyName: "header", first: true, predicate: ["header"], descendants: true }, { propertyName: "ariaRoot", first: true, predicate: ["ariaRoot"], descendants: true, static: true }, { propertyName: "dragTargetContainer", first: true, predicate: DragTargetContainerDirective, descendants: true }, { propertyName: "dropTargetContainer", first: true, predicate: DropTargetContainerDirective, descendants: true }, { propertyName: "footer", predicate: ["footer"], descendants: true }], exportAs: ["kendoTreeList"], usesOnChanges: true, ngImport: i0, template: `
1783
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TreeListComponent, deps: [{ token: i1.BrowserSupportService }, { token: i0.ElementRef }, { token: i2.ChangeNotificationService }, { token: i3.EditService }, { token: i4.FilterService }, { token: i5.PDFService }, { token: i6.ResponsiveService }, { token: i0.Renderer2 }, { token: i7.ExcelService }, { token: i0.NgZone }, { token: i8.ScrollSyncService }, { token: i9.DomEventsService }, { token: i10.ColumnResizingService }, { token: i0.ChangeDetectorRef }, { token: i11.ColumnReorderService }, { token: i12.ColumnInfoService }, { token: i13.NavigationService }, { token: i14.SortService }, { token: i15.ScrollRequestService }, { token: i16.ExpandStateService }, { token: i17.OptionChangesService }, { token: i18.SelectionService }, { token: i19.LocalizationService }, { token: i20.ContextService }, { token: i21.RowReorderService }], target: i0.ɵɵFactoryTarget.Component });
1784
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TreeListComponent, isStandalone: true, selector: "kendo-treelist", inputs: { ariaLabel: ["aria-label", "ariaLabel"], data: "data", pageSize: "pageSize", height: "height", rowHeight: "rowHeight", skip: "skip", scrollable: "scrollable", sort: "sort", trackBy: "trackBy", filter: "filter", virtualColumns: "virtualColumns", filterable: "filterable", sortable: "sortable", pageable: "pageable", navigable: "navigable", navigatable: "navigatable", autoSize: "autoSize", rowClass: "rowClass", resizable: "resizable", reorderable: "reorderable", loading: "loading", columnMenu: "columnMenu", hideHeader: "hideHeader", idField: "idField", selectable: "selectable", isSelected: "isSelected", rowReorderable: "rowReorderable", columnsRef: ["columns", "columnsRef"], fetchChildren: "fetchChildren", hasChildren: "hasChildren", isExpanded: "isExpanded" }, outputs: { selectionChange: "selectionChange", filterChange: "filterChange", pageChange: "pageChange", sortChange: "sortChange", dataStateChange: "dataStateChange", edit: "edit", cancel: "cancel", save: "save", remove: "remove", add: "add", cellClose: "cellClose", cellClick: "cellClick", pdfExport: "pdfExport", excelExport: "excelExport", columnResize: "columnResize", columnReorder: "columnReorder", columnVisibilityChange: "columnVisibilityChange", columnLockedChange: "columnLockedChange", scrollBottom: "scrollBottom", contentScroll: "contentScroll", expandEvent: "expand", collapseEvent: "collapse", expandStateChange: "expandStateChange", rowReorder: "rowReorder" }, host: { properties: { "attr.dir": "this.dir", "class.k-grid": "this.hostClasses", "class.k-grid-md": "this.hostClasses", "class.k-treelist": "this.hostClasses", "class.k-grid-lockedcolumns": "this.lockedClasses", "class.k-grid-virtual": "this.virtualClasses", "class.k-grid-no-scrollbar": "this.noScrollbarClass" } }, providers: [
1785
+ BrowserSupportService,
1786
+ LocalizationService,
1787
+ ColumnInfoService,
1788
+ ChangeNotificationService,
1789
+ EditService,
1790
+ PDFService,
1791
+ SuspendService,
1792
+ {
1793
+ provide: L10N_PREFIX,
1794
+ useValue: 'kendo.treelist'
1795
+ },
1796
+ FilterService,
1797
+ ResponsiveService,
1798
+ PagerContextService,
1799
+ ExcelService,
1800
+ ScrollSyncService,
1801
+ ResizeService,
1802
+ DomEventsService,
1803
+ ColumnResizingService,
1804
+ SinglePopupService,
1805
+ DragAndDropService,
1806
+ DragHintService,
1807
+ DropCueService,
1808
+ ColumnReorderService,
1809
+ NavigationService,
1810
+ FocusRoot,
1811
+ IdService,
1812
+ ScrollRequestService,
1813
+ SortService,
1814
+ ExpandStateService,
1815
+ OptionChangesService,
1816
+ SelectionService,
1817
+ {
1818
+ provide: DataBoundTreeComponent,
1819
+ useExisting: forwardRef(() => TreeListComponent)
1820
+ },
1821
+ {
1822
+ provide: ExpandableTreeComponent,
1823
+ useExisting: forwardRef(() => TreeListComponent)
1824
+ },
1825
+ ContextService,
1826
+ RowReorderService
1827
+ ], queries: [{ propertyName: "columns", predicate: ColumnBase }, { propertyName: "noRecordsTemplateChildren", predicate: NoRecordsTemplateDirective }, { propertyName: "pagerTemplateChildren", predicate: PagerTemplateDirective }, { propertyName: "toolbarTemplateChildren", predicate: ToolbarTemplateDirective }, { propertyName: "columnMenuTemplates", predicate: ColumnMenuTemplateDirective }], viewQueries: [{ propertyName: "lockedHeader", first: true, predicate: ["lockedHeader"], descendants: true }, { propertyName: "header", first: true, predicate: ["header"], descendants: true }, { propertyName: "ariaRoot", first: true, predicate: ["ariaRoot"], descendants: true, static: true }, { propertyName: "dragTargetContainer", first: true, predicate: DragTargetContainerDirective, descendants: true }, { propertyName: "dropTargetContainer", first: true, predicate: DropTargetContainerDirective, descendants: true }, { propertyName: "footer", predicate: ["footer"], descendants: true }], exportAs: ["kendoTreeList"], usesOnChanges: true, ngImport: i0, template: `
1749
1828
  <ng-container kendoTreeListLocalizedMessages
1750
1829
 
1751
1830
  i18n-noRecords="kendo.treelist.noRecords|The label visible in the TreeList when there are no records"
@@ -1926,8 +2005,8 @@ TreeListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
1926
2005
  [navigable]="navigable"
1927
2006
  class="k-toolbar k-grid-toolbar k-toolbar-md"
1928
2007
  [attr.aria-label]="messageFor('topToolbarLabel')"
1929
- [attr.aria-controls]="ariaRootId">
1930
- </kendo-treelist-toolbar>
2008
+ [attr.aria-controls]="ariaRootId"></kendo-treelist-toolbar>
2009
+ <ng-content select="kendo-toolbar"></ng-content>
1931
2010
  <div #ariaRoot
1932
2011
  class="k-grid-aria-root"
1933
2012
  role="treegrid"
@@ -2122,7 +2201,8 @@ TreeListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
2122
2201
  {{hintText}}
2123
2202
  </ng-template>
2124
2203
  `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoTreeListLocalizedMessages]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ToolbarComponent, selector: "kendo-treelist-toolbar", inputs: ["position", "navigable"] }, { kind: "directive", type: DragTargetContainerDirective, selector: "[kendoDragTargetContainer]", inputs: ["hint", "dragTargetFilter", "dragHandle", "dragDelay", "threshold", "dragTargetId", "dragData", "dragDisabled", "mode"], outputs: ["onDragReady", "onPress", "onDragStart", "onDrag", "onRelease", "onDragEnd"], exportAs: ["kendoDragTargetContainer"] }, { kind: "directive", type: DropTargetContainerDirective, selector: "[kendoDropTargetContainer]", inputs: ["dropTargetFilter", "dropDisabled"], outputs: ["onDragEnter", "onDragOver", "onDragLeave", "onDrop"], exportAs: ["kendoDropTargetContainer"] }, { kind: "directive", type: TableDirective, selector: "[kendoTreeListResizableTable]", inputs: ["locked", "virtualColumns"] }, { kind: "component", type: ColGroupComponent, selector: "[kendoTreeListColGroup]", inputs: ["columns"] }, { kind: "component", type: HeaderComponent, selector: "[kendoTreeListHeader]", inputs: ["totalColumnLevels", "columns", "scrollable", "filterable", "sort", "filter", "sortable", "lockedColumnsCount", "resizable", "reorderable", "columnMenu", "columnMenuTemplate", "totalColumnsCount", "totalColumns"] }, { kind: "directive", type: ResizableContainerDirective, selector: "[kendoTreeListResizableContainer]", inputs: ["lockedWidth", "kendoTreeListResizableContainer"] }, { kind: "component", type: ListComponent, selector: "kendo-treelist-list", inputs: ["view", "total", "rowHeight", "take", "skip", "columns", "noRecordsTemplate", "filterable", "rowClass", "loading", "trackBy", "virtualColumns", "isVirtual", "expandIcons"], outputs: ["contentScroll", "pageChange", "scrollBottom"] }, { kind: "directive", type: DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { kind: "directive", type: MarqueeDirective, selector: "[kendoTreeListSelectionMarquee]" }, { kind: "component", type: TableBodyComponent, selector: "[kendoTreeListTableBody]", inputs: ["columns", "allColumns", "noRecordsTemplate", "view", "skip", "filterable", "noRecordsText", "isLocked", "lockedColumnsCount", "totalColumnsCount", "virtualColumns", "expandIcons", "trackBy", "totalColumns", "rowClass"] }, { kind: "component", type: LoadingComponent, selector: "[kendoTreeListLoading]" }, { kind: "component", type: PagerComponent, selector: "kendo-treelist-pager", inputs: ["allCount", "total", "skip", "navigable", "pageSize", "options", "template"], outputs: ["pageChange"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
2125
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TreeListComponent, decorators: [{
2204
+ }
2205
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TreeListComponent, decorators: [{
2126
2206
  type: Component,
2127
2207
  args: [{
2128
2208
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -2354,8 +2434,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
2354
2434
  [navigable]="navigable"
2355
2435
  class="k-toolbar k-grid-toolbar k-toolbar-md"
2356
2436
  [attr.aria-label]="messageFor('topToolbarLabel')"
2357
- [attr.aria-controls]="ariaRootId">
2358
- </kendo-treelist-toolbar>
2437
+ [attr.aria-controls]="ariaRootId"></kendo-treelist-toolbar>
2438
+ <ng-content select="kendo-toolbar"></ng-content>
2359
2439
  <div #ariaRoot
2360
2440
  class="k-grid-aria-root"
2361
2441
  role="treegrid"