@progress/kendo-angular-treelist 17.0.0-develop.9 → 17.0.0

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 (393) hide show
  1. package/binding-directives/base-binding.directive.d.ts +1 -1
  2. package/binding-directives/flat-binding.directive.d.ts +1 -1
  3. package/binding-directives/hierarchy-binding.directive.d.ts +1 -1
  4. package/column-menu/column-chooser.component.d.ts +1 -1
  5. package/column-menu/column-list.component.d.ts +2 -2
  6. package/column-menu/column-menu-chooser.component.d.ts +1 -1
  7. package/column-menu/column-menu-filter.component.d.ts +1 -1
  8. package/column-menu/column-menu-item-base.d.ts +1 -1
  9. package/column-menu/column-menu-item.component.d.ts +1 -1
  10. package/column-menu/column-menu.component.d.ts +1 -1
  11. package/column-resizing/column-handle.directive.d.ts +1 -1
  12. package/column-resizing/column-resize.interface.d.ts +3 -3
  13. package/column-resizing/table.directive.d.ts +1 -1
  14. package/columns/checkbox-column.component.d.ts +1 -1
  15. package/columns/column-base.d.ts +1 -1
  16. package/columns/column.component.d.ts +1 -1
  17. package/columns/sort-settings.d.ts +2 -2
  18. package/columns/span-column.component.d.ts +13 -13
  19. package/common/create-form-group.d.ts +1 -1
  20. package/{pager → common}/pager-settings.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 -17
  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 +26 -18
  47. package/{esm2020 → esm2022}/column-menu/column-list.component.mjs +71 -59
  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 -25
  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 +33 -29
  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 +53 -33
  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/{esm2020 → esm2022}/filtering/cell/string-filter-cell.component.mjs +34 -28
  129. package/{esm2020 → esm2022}/filtering/date-filter.component.mjs +64 -39
  130. package/{esm2020 → esm2022}/filtering/filter-host.directive.mjs +8 -3
  131. package/{esm2020 → esm2022}/filtering/filter-input-wrapper.component.mjs +11 -8
  132. package/{esm2020 → esm2022}/filtering/filter-input.directive.mjs +21 -13
  133. package/{esm2020 → esm2022}/filtering/filter-row.component.mjs +11 -8
  134. package/{esm2020 → esm2022}/filtering/filter.service.mjs +7 -9
  135. package/{esm2020 → esm2022}/filtering/menu/boolean-filter-menu.component.mjs +33 -26
  136. package/{esm2020 → esm2022}/filtering/menu/date-filter-menu-input.component.mjs +21 -5
  137. package/{esm2020 → esm2022}/filtering/menu/date-filter-menu.component.mjs +22 -21
  138. package/{esm2020 → esm2022}/filtering/menu/filter-menu-container.component.mjs +28 -16
  139. package/{esm2020 → esm2022}/filtering/menu/filter-menu-host.directive.mjs +4 -3
  140. package/{esm2020 → esm2022}/filtering/menu/filter-menu-input-wrapper.component.mjs +9 -7
  141. package/{esm2020 → esm2022}/filtering/menu/filter-menu-template.directive.mjs +4 -3
  142. package/{esm2020 → esm2022}/filtering/menu/filter-menu.component.mjs +20 -8
  143. package/{esm2020 → esm2022}/filtering/menu/filter-radio-button.directive.mjs +7 -3
  144. package/{esm2020 → esm2022}/filtering/menu/numeric-filter-menu-input.component.mjs +43 -17
  145. package/{esm2020 → esm2022}/filtering/menu/numeric-filter-menu.component.mjs +32 -31
  146. package/{esm2020 → esm2022}/filtering/menu/string-filter-menu-input.component.mjs +23 -16
  147. package/{esm2020 → esm2022}/filtering/menu/string-filter-menu.component.mjs +32 -21
  148. package/{esm2020 → esm2022}/filtering/numeric-filter.component.mjs +51 -28
  149. package/{esm2020 → esm2022}/filtering/operators/after-eq-filter-operator.component.mjs +8 -8
  150. package/{esm2020 → esm2022}/filtering/operators/after-filter-operator.component.mjs +8 -8
  151. package/{esm2020 → esm2022}/filtering/operators/before-eq-filter-operator.component.mjs +8 -8
  152. package/{esm2020 → esm2022}/filtering/operators/before-filter-operator.component.mjs +8 -8
  153. package/{esm2020 → esm2022}/filtering/operators/contains-filter-operator.component.mjs +8 -8
  154. package/{esm2020 → esm2022}/filtering/operators/ends-with-filter-operator.component.mjs +8 -8
  155. package/{esm2020 → esm2022}/filtering/operators/eq-filter-operator.component.mjs +8 -8
  156. package/{esm2020 → esm2022}/filtering/operators/filter-operator.base.mjs +15 -10
  157. package/{esm2020 → esm2022}/filtering/operators/gt-filter-operator.component.mjs +8 -8
  158. package/{esm2020 → esm2022}/filtering/operators/gte-filter-operator.component.mjs +8 -8
  159. package/{esm2020 → esm2022}/filtering/operators/is-empty-filter-operator.component.mjs +8 -8
  160. package/{esm2020 → esm2022}/filtering/operators/is-not-empty-filter-operator.component.mjs +8 -8
  161. package/{esm2020 → esm2022}/filtering/operators/is-not-null-filter-operator.component.mjs +8 -8
  162. package/{esm2020 → esm2022}/filtering/operators/isnull-filter-operator.component.mjs +8 -8
  163. package/{esm2020 → esm2022}/filtering/operators/lt-filter-operator.component.mjs +8 -8
  164. package/{esm2020 → esm2022}/filtering/operators/lte-filter-operator.component.mjs +8 -8
  165. package/{esm2020 → esm2022}/filtering/operators/neq-filter-operator.component.mjs +8 -8
  166. package/{esm2020 → esm2022}/filtering/operators/not-contains-filter-operator.component.mjs +8 -8
  167. package/{esm2020 → esm2022}/filtering/operators/starts-with-filter-operator.component.mjs +8 -8
  168. package/{esm2020 → esm2022}/filtering/string-filter.component.mjs +20 -15
  169. package/{esm2020 → esm2022}/index.mjs +3 -15
  170. package/{esm2020 → esm2022}/layout/browser-support.service.mjs +7 -4
  171. package/{esm2020 → esm2022}/layout/resizable.directive.mjs +16 -10
  172. package/{esm2020 → esm2022}/layout/resize.service.mjs +6 -8
  173. package/{esm2020 → esm2022}/layout/responsive.service.mjs +7 -9
  174. package/{esm2020 → esm2022}/localization/custom-messages.component.mjs +9 -8
  175. package/{esm2020 → esm2022}/localization/localized-messages.directive.mjs +9 -8
  176. package/esm2022/localization/messages.mjs +416 -0
  177. package/{esm2020 → esm2022}/navigation/default-focusable-element.mjs +10 -6
  178. package/{esm2020 → esm2022}/navigation/focus-group.mjs +12 -11
  179. package/{esm2020 → esm2022}/navigation/focus-root.mjs +5 -4
  180. package/{esm2020 → esm2022}/navigation/focusable.directive.mjs +18 -10
  181. package/{esm2020 → esm2022}/navigation/item-map.mjs +2 -4
  182. package/{esm2020 → esm2022}/navigation/logical-cell.directive.mjs +35 -22
  183. package/{esm2020 → esm2022}/navigation/logical-row.directive.mjs +19 -13
  184. package/{esm2020 → esm2022}/navigation/model-cell.mjs +11 -0
  185. package/{esm2020 → esm2022}/navigation/navigation-cursor.mjs +10 -8
  186. package/{esm2020 → esm2022}/navigation/navigation-metadata.mjs +13 -6
  187. package/{esm2020 → esm2022}/navigation/navigation-model.mjs +1 -3
  188. package/{esm2020 → esm2022}/navigation/navigation.service.mjs +46 -26
  189. package/{esm2020 → esm2022}/navigation/treelist-focusable-element.mjs +1 -0
  190. package/{esm2020 → esm2022}/package-metadata.mjs +2 -2
  191. package/esm2022/pdf/pdf-command-tool.directive.mjs +66 -0
  192. package/{esm2020 → esm2022}/pdf/pdf-command.directive.mjs +10 -9
  193. package/{esm2020 → esm2022}/pdf/pdf-margin.component.mjs +3 -3
  194. package/{esm2020 → esm2022}/pdf/pdf-template.directive.mjs +3 -3
  195. package/{esm2020 → esm2022}/pdf/pdf.component.mjs +24 -4
  196. package/{esm2020 → esm2022}/pdf/pdf.module.mjs +6 -5
  197. package/{esm2020 → esm2022}/pdf/pdf.service.mjs +8 -9
  198. package/{esm2020 → esm2022}/pdf/treelist-query.mjs +4 -0
  199. package/{esm2020 → esm2022}/rendering/cell-template.directive.mjs +4 -3
  200. package/{esm2020 → esm2022}/rendering/cell.component.mjs +60 -54
  201. package/{esm2020 → esm2022}/rendering/common/col-group.component.mjs +5 -7
  202. package/{esm2020 → esm2022}/rendering/common/field-accessor.pipe.mjs +4 -3
  203. package/{esm2020 → esm2022}/rendering/common/level-items.pipe.mjs +3 -3
  204. package/{esm2020 → esm2022}/rendering/common/loading.component.mjs +9 -8
  205. package/{esm2020 → esm2022}/rendering/common/spacer.component.mjs +12 -7
  206. package/{esm2020 → esm2022}/rendering/footer-template.directive.mjs +4 -3
  207. package/{esm2020 → esm2022}/rendering/header/header-template.directive.mjs +4 -3
  208. package/{esm2020 → esm2022}/rendering/header/header.component.mjs +62 -44
  209. package/{esm2020 → esm2022}/rendering/list.component.mjs +85 -45
  210. package/{esm2020 → esm2022}/rendering/no-records-template.directive.mjs +4 -3
  211. package/{esm2020 → esm2022}/rendering/table-body.component.mjs +48 -21
  212. package/{esm2020 → esm2022}/rendering/toolbar/toolbar-focusable.directive.mjs +9 -7
  213. package/{esm2020 → esm2022}/rendering/toolbar/toolbar-navigation.service.mjs +9 -8
  214. package/{esm2020 → esm2022}/rendering/toolbar/toolbar-template.directive.mjs +10 -8
  215. package/{esm2020 → esm2022}/rendering/toolbar/toolbar.component.mjs +18 -13
  216. package/{esm2020 → esm2022}/row-reordering/flat-reorder.service.mjs +3 -3
  217. package/{esm2020 → esm2022}/row-reordering/hierarchical-reorder.service.mjs +3 -3
  218. package/{esm2020 → esm2022}/row-reordering/row-reorder.service.mjs +14 -9
  219. package/{esm2020 → esm2022}/scrolling/row-height.service.mjs +2 -0
  220. package/{esm2020 → esm2022}/scrolling/scroll-request.service.mjs +4 -6
  221. package/{esm2020 → esm2022}/scrolling/scroll-sync.service.mjs +10 -8
  222. package/{esm2020 → esm2022}/scrolling/scroller.service.mjs +12 -2
  223. package/{esm2020 → esm2022}/scrolling/suspend.service.mjs +4 -6
  224. package/{esm2020 → esm2022}/selection/marquee.directive.mjs +18 -7
  225. package/{esm2020 → esm2022}/selection/selectable.directive.mjs +23 -17
  226. package/{esm2020 → esm2022}/selection/selection-change-event.mjs +12 -0
  227. package/{esm2020 → esm2022}/selection/selection-state.mjs +2 -6
  228. package/{esm2020 → esm2022}/selection/selection.service.mjs +15 -14
  229. package/{esm2020 → esm2022}/treelist.component.mjs +619 -420
  230. package/esm2022/treelist.module.mjs +173 -0
  231. package/excel/excel-command-tool.directive.d.ts +41 -0
  232. package/excel/excel.component.d.ts +1 -1
  233. package/excel/excel.module.d.ts +3 -2
  234. package/expand-state/expandable.directive.d.ts +1 -1
  235. package/{fesm2020 → fesm2022}/progress-kendo-angular-treelist.mjs +4095 -4024
  236. package/filtering/base-filter-cell.component.d.ts +5 -1
  237. package/filtering/boolean-filter.component.d.ts +2 -7
  238. package/filtering/cell/autocomplete-filter-cell.component.d.ts +2 -7
  239. package/filtering/cell/date-filter-cell.component.d.ts +1 -1
  240. package/filtering/cell/filter-cell-operators.component.d.ts +1 -1
  241. package/filtering/cell/filter-cell-wrapper.component.d.ts +1 -1
  242. package/filtering/cell/filter-cell.component.d.ts +1 -1
  243. package/filtering/cell/numeric-filter-cell.component.d.ts +1 -1
  244. package/filtering/cell/string-filter-cell.component.d.ts +1 -1
  245. package/filtering/date-filter.component.d.ts +2 -11
  246. package/filtering/filter-host.directive.d.ts +2 -2
  247. package/filtering/filter-input-wrapper.component.d.ts +1 -2
  248. package/filtering/filter-input.directive.d.ts +1 -1
  249. package/filtering/filter-row.component.d.ts +1 -2
  250. package/filtering/filterable.d.ts +1 -1
  251. package/filtering/menu/boolean-filter-menu.component.d.ts +1 -1
  252. package/filtering/menu/date-filter-menu-input.component.d.ts +1 -1
  253. package/filtering/menu/date-filter-menu.component.d.ts +1 -7
  254. package/filtering/menu/filter-menu-container.component.d.ts +1 -1
  255. package/filtering/menu/filter-menu-host.directive.d.ts +1 -1
  256. package/filtering/menu/filter-menu-input-wrapper.component.d.ts +1 -1
  257. package/filtering/menu/filter-menu.component.d.ts +1 -4
  258. package/filtering/menu/filter-radio-button.directive.d.ts +1 -1
  259. package/filtering/menu/numeric-filter-menu-input.component.d.ts +1 -1
  260. package/filtering/menu/numeric-filter-menu.component.d.ts +1 -7
  261. package/filtering/menu/string-filter-menu-input.component.d.ts +1 -1
  262. package/filtering/menu/string-filter-menu.component.d.ts +1 -7
  263. package/filtering/numeric-filter.component.d.ts +2 -11
  264. package/filtering/operators/filter-operator.base.d.ts +1 -1
  265. package/filtering/string-filter.component.d.ts +2 -11
  266. package/index.d.ts +4 -17
  267. package/layout/resizable.directive.d.ts +1 -1
  268. package/localization/messages.d.ts +6 -2
  269. package/navigation/focusable.directive.d.ts +1 -1
  270. package/navigation/logical-cell.directive.d.ts +1 -1
  271. package/navigation/logical-row.directive.d.ts +1 -1
  272. package/navigation/navigation.service.d.ts +1 -1
  273. package/package.json +27 -32
  274. package/pdf/pdf-command-tool.directive.d.ts +41 -0
  275. package/pdf/pdf-margin.interface.d.ts +1 -1
  276. package/pdf/pdf.component.d.ts +1 -7
  277. package/pdf/pdf.module.d.ts +3 -2
  278. package/rendering/cell.component.d.ts +2 -1
  279. package/rendering/common/col-group.component.d.ts +1 -1
  280. package/rendering/common/row-class.d.ts +2 -2
  281. package/rendering/common/spacer.component.d.ts +1 -1
  282. package/rendering/header/header.component.d.ts +2 -2
  283. package/rendering/list.component.d.ts +1 -1
  284. package/rendering/table-body.component.d.ts +1 -1
  285. package/rendering/toolbar/toolbar-template.directive.d.ts +1 -1
  286. package/rendering/toolbar/toolbar.component.d.ts +1 -1
  287. package/row-reordering/types.d.ts +1 -1
  288. package/schematics/ngAdd/index.js +4 -4
  289. package/scrolling/scroll-sync.service.d.ts +1 -1
  290. package/scrolling/scroller.service.d.ts +1 -1
  291. package/scrolling/scrollmode.d.ts +1 -1
  292. package/selection/is-selected.d.ts +1 -1
  293. package/selection/selectable.directive.d.ts +1 -1
  294. package/treelist.component.d.ts +4 -3
  295. package/treelist.module.d.ts +60 -65
  296. package/utils.d.ts +1 -1
  297. package/constants.d.ts +0 -12
  298. package/esm2020/common/dom-events.service.mjs +0 -26
  299. package/esm2020/constants.mjs +0 -12
  300. package/esm2020/filtering/cell/row-filtering.module.mjs +0 -77
  301. package/esm2020/filtering/menu/filter-menu.module.mjs +0 -80
  302. package/esm2020/filtering/shared-filtering.module.mjs +0 -94
  303. package/esm2020/localization/messages.mjs +0 -138
  304. package/esm2020/pager/pager-context.service.mjs +0 -42
  305. package/esm2020/pager/pager-element.component.mjs +0 -103
  306. package/esm2020/pager/pager-info.component.mjs +0 -75
  307. package/esm2020/pager/pager-input.component.mjs +0 -144
  308. package/esm2020/pager/pager-next-buttons.component.mjs +0 -126
  309. package/esm2020/pager/pager-numeric-buttons.component.mjs +0 -244
  310. package/esm2020/pager/pager-page-sizes.component.mjs +0 -139
  311. package/esm2020/pager/pager-prev-buttons.component.mjs +0 -126
  312. package/esm2020/pager/pager-template.directive.mjs +0 -48
  313. package/esm2020/pager/pager.component.mjs +0 -415
  314. package/esm2020/pager/pager.module.mjs +0 -43
  315. package/esm2020/pager/pagesize-item.interface.mjs +0 -5
  316. package/esm2020/rendering/body.module.mjs +0 -40
  317. package/esm2020/rendering/header/header.module.mjs +0 -94
  318. package/esm2020/shared.module.mjs +0 -41
  319. package/esm2020/treelist.module.mjs +0 -176
  320. package/fesm2015/progress-kendo-angular-treelist.mjs +0 -21537
  321. package/filtering/cell/row-filtering.module.d.ts +0 -57
  322. package/filtering/menu/filter-menu.module.d.ts +0 -60
  323. package/filtering/shared-filtering.module.d.ts +0 -52
  324. package/pager/pager-context.service.d.ts +0 -32
  325. package/pager/pager-element.component.d.ts +0 -74
  326. package/pager/pager-info.component.d.ts +0 -43
  327. package/pager/pager-input.component.d.ts +0 -45
  328. package/pager/pager-next-buttons.component.d.ts +0 -36
  329. package/pager/pager-numeric-buttons.component.d.ts +0 -52
  330. package/pager/pager-page-sizes.component.d.ts +0 -48
  331. package/pager/pager-prev-buttons.component.d.ts +0 -32
  332. package/pager/pager-template.directive.d.ts +0 -38
  333. package/pager/pager.component.d.ts +0 -73
  334. package/pager/pager.module.d.ts +0 -27
  335. package/pager/pagesize-item.interface.d.ts +0 -14
  336. package/rendering/body.module.d.ts +0 -28
  337. package/rendering/header/header.module.d.ts +0 -84
  338. package/shared.module.d.ts +0 -29
  339. /package/{esm2020 → esm2022}/column-menu/column-menu-settings.interface.mjs +0 -0
  340. /package/{esm2020 → esm2022}/column-menu/utils.mjs +0 -0
  341. /package/{esm2020 → esm2022}/column-resizing/column-resize.interface.mjs +0 -0
  342. /package/{esm2020 → esm2022}/columns/column-common.mjs +0 -0
  343. /package/{esm2020 → esm2022}/columns/sort-settings.mjs +0 -0
  344. /package/{esm2020 → esm2022}/common/cell-click-event-args.interface.mjs +0 -0
  345. /package/{esm2020 → esm2022}/common/create-form-group.mjs +0 -0
  346. /package/{esm2020 → esm2022}/common/default-track-by.mjs +0 -0
  347. /package/{esm2020 → esm2022}/common/filter-descriptor-differ.mjs +0 -0
  348. /package/{esm2020 → esm2022}/common/filter-operator.interface.mjs +0 -0
  349. /package/{esm2020/pager → esm2022/common}/pager-settings.mjs +0 -0
  350. /package/{esm2020 → esm2022}/common/remove-confirmation.mjs +0 -0
  351. /package/{esm2020 → esm2022}/data/change-event-args.interface.mjs +0 -0
  352. /package/{esm2020 → esm2022}/data/data-item.interface.mjs +0 -0
  353. /package/{esm2020 → esm2022}/data/treelist-item.interface.mjs +0 -0
  354. /package/{esm2020 → esm2022}/dragdrop/column-reorder-config.mjs +0 -0
  355. /package/{esm2020 → esm2022}/dragdrop/common.mjs +0 -0
  356. /package/{esm2020 → esm2022}/dragdrop/context-types.mjs +0 -0
  357. /package/{esm2020 → esm2022}/editing/add-event-args.interface.mjs +0 -0
  358. /package/{esm2020 → esm2022}/editing/cancel-event-args.interface.mjs +0 -0
  359. /package/{esm2020 → esm2022}/editing/edit-event-args.interface.mjs +0 -0
  360. /package/{esm2020 → esm2022}/editing/remove-event-args.interface.mjs +0 -0
  361. /package/{esm2020 → esm2022}/editing/save-event-args.interface.mjs +0 -0
  362. /package/{esm2020 → esm2022}/editing-directives/create-form-group-args.interface.mjs +0 -0
  363. /package/{esm2020 → esm2022}/editing-directives/edit-service.interface.mjs +0 -0
  364. /package/{esm2020 → esm2022}/editing-directives/local-edit.service.mjs +0 -0
  365. /package/{esm2020 → esm2022}/editing-directives/utils.mjs +0 -0
  366. /package/{esm2020 → esm2022}/excel/excel-export-data.interface.mjs +0 -0
  367. /package/{esm2020 → esm2022}/filtering/cell/filter-cell-component.factory.mjs +0 -0
  368. /package/{esm2020 → esm2022}/filtering/filter-component.interface.mjs +0 -0
  369. /package/{esm2020 → esm2022}/filtering/filterable.mjs +0 -0
  370. /package/{esm2020 → esm2022}/filtering/menu/filter-menu-component.factory.mjs +0 -0
  371. /package/{esm2020 → esm2022}/layout/row-sync.mjs +0 -0
  372. /package/{esm2020 → esm2022}/navigation/focusable-element.interface.mjs +0 -0
  373. /package/{esm2020 → esm2022}/navigation/logical-cell.interface.mjs +0 -0
  374. /package/{esm2020 → esm2022}/navigation/logical-row.interface.mjs +0 -0
  375. /package/{esm2020 → esm2022}/navigation/navigation-cell.interface.mjs +0 -0
  376. /package/{esm2020 → esm2022}/navigation/navigation-change.interface.mjs +0 -0
  377. /package/{esm2020 → esm2022}/navigation/navigation-mode.mjs +0 -0
  378. /package/{esm2020 → esm2022}/navigation/navigation-row.interface.mjs +0 -0
  379. /package/{esm2020 → esm2022}/pdf/export-element.mjs +0 -0
  380. /package/{esm2020 → esm2022}/pdf/pdf-export-event.mjs +0 -0
  381. /package/{esm2020 → esm2022}/pdf/pdf-margin.interface.mjs +0 -0
  382. /package/{esm2020 → esm2022}/progress-kendo-angular-treelist.mjs +0 -0
  383. /package/{esm2020 → esm2022}/rendering/common/dom-queries.mjs +0 -0
  384. /package/{esm2020 → esm2022}/rendering/common/row-class.mjs +0 -0
  385. /package/{esm2020 → esm2022}/rendering/constants.mjs +0 -0
  386. /package/{esm2020 → esm2022}/row-reordering/types.mjs +0 -0
  387. /package/{esm2020 → esm2022}/row-reordering/utils.mjs +0 -0
  388. /package/{esm2020 → esm2022}/scrolling/content-scroll-event.mjs +0 -0
  389. /package/{esm2020 → esm2022}/scrolling/scroll-bottom-event.mjs +0 -0
  390. /package/{esm2020 → esm2022}/scrolling/scrollmode.mjs +0 -0
  391. /package/{esm2020 → esm2022}/selection/is-selected.mjs +0 -0
  392. /package/{esm2020 → esm2022}/selection/selectable-settings.mjs +0 -0
  393. /package/{esm2020 → esm2022}/utils.mjs +0 -0
@@ -27,40 +27,18 @@ const dateOperators = localizeOperators({
27
27
  * @hidden
28
28
  */
29
29
  export class DateFilterComponent extends BaseFilterCellComponent {
30
- constructor(filterService, localization) {
31
- super(filterService);
32
- this.localization = localization;
33
- /**
34
- * The default filter operator. Defaults to `contains`.
35
- * @type {string}
36
- * @default 'gte'
37
- */
38
- this.operator = "gte";
39
- /**
40
- * Defines the active view that the calendar initially renders.
41
- * By default, the active view is `month`.
42
- *
43
- * You have to set `activeView` within the `topView`-`bottomView` range.
44
- * @default 'month'
45
- */
46
- this.activeView = "month";
47
- /**
48
- * Defines the bottommost calendar view, to which the user can navigate.
49
- * @default 'month'
50
- */
51
- this.bottomView = "month";
52
- /**
53
- * Defines the topmost calendar view, to which the user can navigate.
54
- * @default 'century'
55
- */
56
- this.topView = "century";
57
- /**
58
- * Determines whether to display a week number column in the `month` view of the Calendar.
59
- * @default false
60
- */
61
- this.weekNumber = false;
62
- this.defaultOperators = dateOperators(this.localization);
63
- }
30
+ localization;
31
+ /**
32
+ * The column with which the filter is associated.
33
+ * @type {ColumnComponent}
34
+ */
35
+ column;
36
+ /**
37
+ * The default filter operator. Defaults to `contains`.
38
+ * @type {string}
39
+ * @default 'gte'
40
+ */
41
+ operator = "gte";
64
42
  /**
65
43
  * The current filter for the associated column field.
66
44
  * @readonly
@@ -86,6 +64,48 @@ export class DateFilterComponent extends BaseFilterCellComponent {
86
64
  get format() {
87
65
  return !isNullOrEmptyString(this._format) ? this._format : this.columnFormat;
88
66
  }
67
+ /**
68
+ * Specifies the smallest value that is valid.
69
+ * @type {Date}
70
+ */
71
+ min;
72
+ /**
73
+ * Specifies the greatest value that is valid.
74
+ * @type {Date}
75
+ */
76
+ max;
77
+ /**
78
+ * Defines the descriptions of the format sections in the input field.
79
+ * [See possible format options](slug:placeholders_dateinput#toc-format-sections-description).
80
+ */
81
+ formatPlaceholder;
82
+ /**
83
+ * Specifies the hint that the component displays when its value is `null`.
84
+ */
85
+ placeholder;
86
+ /**
87
+ * Defines the active view that the calendar initially renders.
88
+ * By default, the active view is `month`.
89
+ *
90
+ * You have to set `activeView` within the `topView`-`bottomView` range.
91
+ * @default 'month'
92
+ */
93
+ activeView = "month";
94
+ /**
95
+ * Defines the bottommost calendar view, to which the user can navigate.
96
+ * @default 'month'
97
+ */
98
+ bottomView = "month";
99
+ /**
100
+ * Defines the topmost calendar view, to which the user can navigate.
101
+ * @default 'century'
102
+ */
103
+ topView = "century";
104
+ /**
105
+ * Determines whether to display a week number column in the `month` view of the Calendar.
106
+ * @default false
107
+ */
108
+ weekNumber = false;
89
109
  get columnFormat() {
90
110
  return this.column && !isNullOrEmptyString(this.column.format) ?
91
111
  extractFormat(this.column.format) : "d";
@@ -98,6 +118,13 @@ export class DateFilterComponent extends BaseFilterCellComponent {
98
118
  get currentOperator() {
99
119
  return this.currentFilter ? this.currentFilter.operator : this.operator;
100
120
  }
121
+ _format;
122
+ subscription;
123
+ constructor(filterService, localization) {
124
+ super(filterService);
125
+ this.localization = localization;
126
+ this.defaultOperators = dateOperators(this.localization);
127
+ }
101
128
  ngOnInit() {
102
129
  this.subscription = this.localization.changes.subscribe(this.localizationChange.bind(this));
103
130
  }
@@ -113,16 +140,14 @@ export class DateFilterComponent extends BaseFilterCellComponent {
113
140
  this.operators = toJSON(this.operatorList.toArray());
114
141
  }
115
142
  }
143
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateFilterComponent, deps: [{ token: i1.FilterService }, { token: i2.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
144
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DateFilterComponent, inputs: { column: "column", operator: "operator", format: "format", min: "min", max: "max", formatPlaceholder: "formatPlaceholder", placeholder: "placeholder", activeView: "activeView", bottomView: "bottomView", topView: "topView", weekNumber: "weekNumber" }, usesInheritance: true, ngImport: i0 });
116
145
  }
117
- DateFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateFilterComponent, deps: [{ token: i1.FilterService }, { token: i2.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
118
- DateFilterComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: DateFilterComponent, inputs: { column: "column", filter: "filter", operator: "operator", format: "format", min: "min", max: "max", formatPlaceholder: "formatPlaceholder", placeholder: "placeholder", activeView: "activeView", bottomView: "bottomView", topView: "topView", weekNumber: "weekNumber" }, usesInheritance: true, ngImport: i0 });
119
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateFilterComponent, decorators: [{
146
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateFilterComponent, decorators: [{
120
147
  type: Directive,
121
148
  args: [{}]
122
149
  }], ctorParameters: function () { return [{ type: i1.FilterService }, { type: i2.LocalizationService }]; }, propDecorators: { column: [{
123
150
  type: Input
124
- }], filter: [{
125
- type: Input
126
151
  }], operator: [{
127
152
  type: Input
128
153
  }], format: [{
@@ -10,6 +10,11 @@ import * as i0 from "@angular/core";
10
10
  * @hidden
11
11
  */
12
12
  export class FilterHostDirective {
13
+ host;
14
+ resolver;
15
+ column;
16
+ filter;
17
+ component;
13
18
  constructor(host, resolver) {
14
19
  this.host = host;
15
20
  this.resolver = resolver;
@@ -40,10 +45,10 @@ export class FilterHostDirective {
40
45
  instance.column = column;
41
46
  instance.filter = filter;
42
47
  }
48
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterHostDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Directive });
49
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FilterHostDirective, inputs: { column: "column", filter: "filter" }, usesOnChanges: true, ngImport: i0 });
43
50
  }
44
- FilterHostDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FilterHostDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Directive });
45
- FilterHostDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: FilterHostDirective, inputs: { column: "column", filter: "filter" }, usesOnChanges: true, ngImport: i0 });
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FilterHostDirective, decorators: [{
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterHostDirective, decorators: [{
47
52
  type: Directive,
48
53
  args: [{}]
49
54
  }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.ComponentFactoryResolver }]; }, propDecorators: { column: [{
@@ -16,9 +16,8 @@ const isEmptyValueOperator = (operator) => EMPTY_VALUE_OPERATORS.has(operator);
16
16
  * @hidden
17
17
  */
18
18
  export class FilterInputWrapperComponent extends BaseFilterCellComponent {
19
- constructor(filterService) {
20
- super(filterService);
21
- }
19
+ column;
20
+ input;
22
21
  get currentFilter() {
23
22
  return this.filterByField(this.column.field);
24
23
  }
@@ -58,6 +57,12 @@ export class FilterInputWrapperComponent extends BaseFilterCellComponent {
58
57
  }
59
58
  this.input.disabled = disabled;
60
59
  }
60
+ _defaultOperator;
61
+ _operator;
62
+ changeSubscription;
63
+ constructor(filterService) {
64
+ super(filterService);
65
+ }
61
66
  ngAfterContentInit() {
62
67
  if (isPresent(this.input)) {
63
68
  this.changeSubscription = this.input.change.subscribe(this.onChange.bind(this));
@@ -98,16 +103,14 @@ export class FilterInputWrapperComponent extends BaseFilterCellComponent {
98
103
  this.filterInputDisabled = isEmptyValueOperator(this.currentOperator);
99
104
  }
100
105
  }
106
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterInputWrapperComponent, deps: [{ token: i1.FilterService }], target: i0.ɵɵFactoryTarget.Directive });
107
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FilterInputWrapperComponent, inputs: { column: "column", defaultOperator: "defaultOperator" }, queries: [{ propertyName: "input", first: true, predicate: FilterInputDirective, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
101
108
  }
102
- FilterInputWrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FilterInputWrapperComponent, deps: [{ token: i1.FilterService }], target: i0.ɵɵFactoryTarget.Directive });
103
- FilterInputWrapperComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: FilterInputWrapperComponent, inputs: { column: "column", filter: "filter", defaultOperator: "defaultOperator" }, queries: [{ propertyName: "input", first: true, predicate: FilterInputDirective, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
104
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FilterInputWrapperComponent, decorators: [{
109
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterInputWrapperComponent, decorators: [{
105
110
  type: Directive,
106
111
  args: [{}]
107
112
  }], ctorParameters: function () { return [{ type: i1.FilterService }]; }, propDecorators: { column: [{
108
113
  type: Input
109
- }], filter: [{
110
- type: Input
111
114
  }], input: [{
112
115
  type: ContentChild,
113
116
  args: [FilterInputDirective, { static: false }]
@@ -13,13 +13,27 @@ import * as i0 from "@angular/core";
13
13
  * @hidden
14
14
  */
15
15
  export class FilterInputDirective {
16
+ element;
17
+ renderer;
18
+ change = new EventEmitter();
19
+ composing = false;
20
+ kendoInput;
21
+ filterDelay = 500;
22
+ columnLabel;
23
+ column;
24
+ set value(value) {
25
+ this.accessor.writeValue(value);
26
+ }
27
+ set disabled(value) {
28
+ this.accessor.setDisabledState(value);
29
+ }
30
+ accessor;
31
+ changeRequests = new Subject();
32
+ changeRequestsSubscription;
33
+ unsubscribeEvents;
16
34
  constructor(valueAccessors, ngZone, element, renderer) {
17
35
  this.element = element;
18
36
  this.renderer = renderer;
19
- this.change = new EventEmitter();
20
- this.composing = false;
21
- this.filterDelay = 500;
22
- this.changeRequests = new Subject();
23
37
  this.accessor = valueAccessors[0];
24
38
  ngZone.runOutsideAngular(() => {
25
39
  const unsubscribeStart = renderer.listen(element.nativeElement, 'compositionstart', () => this.composing = true);
@@ -30,12 +44,6 @@ export class FilterInputDirective {
30
44
  };
31
45
  });
32
46
  }
33
- set value(value) {
34
- this.accessor.writeValue(value);
35
- }
36
- set disabled(value) {
37
- this.accessor.setDisabledState(value);
38
- }
39
47
  ngAfterViewInit() {
40
48
  this.addAriaAttributes();
41
49
  this.accessor.registerOnChange(x => this.filterDelay > 0 ?
@@ -78,10 +86,10 @@ export class FilterInputDirective {
78
86
  }
79
87
  }
80
88
  }
89
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterInputDirective, deps: [{ token: NG_VALUE_ACCESSOR, self: true }, { token: i0.NgZone }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
90
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FilterInputDirective, isStandalone: true, selector: "[kendoFilterInput]", inputs: { filterDelay: "filterDelay", columnLabel: "columnLabel", column: "column", value: "value" }, queries: [{ propertyName: "kendoInput", first: true, predicate: KendoInput, descendants: true, static: true }], usesOnChanges: true, ngImport: i0 });
81
91
  }
82
- FilterInputDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FilterInputDirective, deps: [{ token: NG_VALUE_ACCESSOR, self: true }, { token: i0.NgZone }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
83
- FilterInputDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: FilterInputDirective, isStandalone: true, selector: "[kendoFilterInput]", inputs: { filterDelay: "filterDelay", columnLabel: "columnLabel", column: "column", value: "value" }, queries: [{ propertyName: "kendoInput", first: true, predicate: KendoInput, descendants: true, static: true }], usesOnChanges: true, ngImport: i0 });
84
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FilterInputDirective, decorators: [{
92
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterInputDirective, decorators: [{
85
93
  type: Directive,
86
94
  args: [{
87
95
  selector: '[kendoFilterInput]',
@@ -13,18 +13,20 @@ import * as i1 from "@progress/kendo-angular-l10n";
13
13
  * @hidden
14
14
  */
15
15
  export class FilterRowComponent {
16
+ columns = [];
17
+ filter;
18
+ logicalRowIndex;
19
+ lockedColumnsCount;
20
+ filterRowClass = true;
21
+ filterLabel;
16
22
  constructor(localization) {
17
- this.localization = localization;
18
- this.columns = [];
19
- this.filterRowClass = true;
20
- this.filterLabel = this.localization.get('filter');
23
+ this.filterLabel = localization.get('filter');
21
24
  }
22
25
  getColumnComponent(column) {
23
26
  return column;
24
27
  }
25
- }
26
- FilterRowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FilterRowComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
27
- FilterRowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FilterRowComponent, isStandalone: true, selector: "[kendoTreeListFilterRow]", inputs: { columns: "columns", filter: "filter", logicalRowIndex: "logicalRowIndex", lockedColumnsCount: "lockedColumnsCount" }, host: { properties: { "class.k-filter-row": "this.filterRowClass" } }, ngImport: i0, template: `
28
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterRowComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
29
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FilterRowComponent, isStandalone: true, selector: "[kendoTreeListFilterRow]", inputs: { columns: "columns", filter: "filter", logicalRowIndex: "logicalRowIndex", lockedColumnsCount: "lockedColumnsCount" }, host: { properties: { "class.k-filter-row": "this.filterRowClass" } }, ngImport: i0, template: `
28
30
  <td *ngFor="let column of columns; let columnIndex = index" role="gridcell"
29
31
  [attr.aria-label]="filterLabel"
30
32
  kendoTreeListFilterCell
@@ -38,7 +40,8 @@ FilterRowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ver
38
40
  [colIndex]="columnIndex"
39
41
  ></td>
40
42
  `, isInline: true, dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: FilterCellComponent, selector: "[kendoTreeListFilterCell]", inputs: ["column", "filter"] }, { kind: "directive", type: LogicalCellDirective, selector: "[kendoTreeListLogicalCell]", inputs: ["logicalColIndex", "logicalRowIndex", "logicalSlaveCell", "column", "colIndex", "colSpan", "rowSpan", "dataRowIndex", "dataItem", "expandable"] }] });
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FilterRowComponent, decorators: [{
43
+ }
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterRowComponent, decorators: [{
42
45
  type: Component,
43
46
  args: [{
44
47
  selector: '[kendoTreeListFilterRow]',
@@ -10,12 +10,10 @@ import * as i0 from "@angular/core";
10
10
  * ([see example]({% slug filter_menu_treelist %})).
11
11
  */
12
12
  export class FilterService {
13
- constructor() {
14
- /**
15
- * Fires when the filter descriptors is set.
16
- */
17
- this.changes = new Subject();
18
- }
13
+ /**
14
+ * Fires when the filter descriptors is set.
15
+ */
16
+ changes = new Subject();
19
17
  /**
20
18
  * Sets the filter descriptor.
21
19
  *
@@ -24,9 +22,9 @@ export class FilterService {
24
22
  filter(value) {
25
23
  this.changes.next(value);
26
24
  }
25
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
26
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterService });
27
27
  }
28
- FilterService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FilterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
29
- FilterService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FilterService });
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FilterService, decorators: [{
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterService, decorators: [{
31
29
  type: Injectable
32
30
  }] });
@@ -5,7 +5,7 @@
5
5
  import { Component, Input, HostBinding, ViewChild, ElementRef, Renderer2 } from '@angular/core';
6
6
  import { NgFor } from '@angular/common';
7
7
  import { guid } from '@progress/kendo-angular-common';
8
- import { RadioButtonDirective } from '@progress/kendo-angular-inputs';
8
+ import { RadioButtonComponent } from '@progress/kendo-angular-inputs';
9
9
  import { FilterService } from '../filter.service';
10
10
  import { LocalizationService } from '@progress/kendo-angular-l10n';
11
11
  import { BooleanFilterComponent } from '../boolean-filter.component';
@@ -32,23 +32,30 @@ import * as i2 from "@angular/platform-browser";
32
32
  * ```
33
33
  */
34
34
  export class BooleanFilterMenuComponent extends BooleanFilterComponent {
35
- constructor(renderer, localization, domSanitizer) {
36
- super(null, localization);
37
- this.renderer = renderer;
38
- this.domSanitizer = domSanitizer;
39
- /**
40
- * The current menu filter.
41
- * @type {CompositeFilterDescriptor}
42
- */
43
- this.filter = { filters: [], logic: "and" };
44
- this.idPrefix = guid();
45
- }
35
+ renderer;
36
+ domSanitizer;
46
37
  /**
47
38
  * @hidden
48
39
  */
49
40
  get hostClasses() {
50
41
  return false;
51
42
  }
43
+ inputElem;
44
+ /**
45
+ * The current menu filter.
46
+ * @type {CompositeFilterDescriptor}
47
+ */
48
+ filter = { filters: [], logic: "and" };
49
+ /**
50
+ * The `FilterService` instance which is responsible for handling the changes in the filter descriptor.
51
+ */
52
+ filterService;
53
+ idPrefix = guid();
54
+ constructor(renderer, localization, domSanitizer) {
55
+ super(null, localization);
56
+ this.renderer = renderer;
57
+ this.domSanitizer = domSanitizer;
58
+ }
52
59
  /**
53
60
  * @hidden
54
61
  */
@@ -79,46 +86,46 @@ export class BooleanFilterMenuComponent extends BooleanFilterComponent {
79
86
  const columnName = this.column.title || this.column.field;
80
87
  return replaceMessagePlaceholder(localizationMsg, 'columnName', columnName);
81
88
  }
82
- }
83
- BooleanFilterMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BooleanFilterMenuComponent, deps: [{ token: i0.Renderer2 }, { token: i1.LocalizationService }, { token: i2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
84
- BooleanFilterMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: BooleanFilterMenuComponent, isStandalone: true, selector: "kendo-treelist-boolean-filter-menu", inputs: { filter: "filter", filterService: "filterService" }, host: { properties: { "class.k-filtercell": "this.hostClasses" } }, viewQueries: [{ propertyName: "inputElem", first: true, predicate: ["inputElem"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
89
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BooleanFilterMenuComponent, deps: [{ token: i0.Renderer2 }, { token: i1.LocalizationService }, { token: i2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
90
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: BooleanFilterMenuComponent, isStandalone: true, selector: "kendo-treelist-boolean-filter-menu", inputs: { filter: "filter", filterService: "filterService" }, host: { properties: { "class.k-filtercell": "this.hostClasses" } }, viewQueries: [{ propertyName: "inputElem", first: true, predicate: ["inputElem"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
85
91
  <ul class="k-radio-list k-reset">
86
92
  <li *ngFor="let item of items">
87
- <input #inputElem type="radio"
88
- kendoRadioButton
93
+ <kendo-radiobutton
94
+ #inputElem
89
95
  kendoFilterMenuRadioButton
90
96
  [columnLabel]="columnLabel"
91
97
  [name]="idPrefix"
92
98
  [checked]="isSelected(item.value)"
93
99
  [attr.id]="radioId(item.value)"
94
- (change)="onChange(item.value)"
95
- />
100
+ (checkedChange)="onChange(item.value)"
101
+ ></kendo-radiobutton>
96
102
  <label class="k-radio-label" [attr.for]="radioId(item.value)">{{item.text}}</label>
97
103
  </li>
98
104
  </ul>
99
- `, isInline: true, dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: RadioButtonDirective, selector: "input[kendoRadioButton]", inputs: ["size"] }, { kind: "directive", type: BooleanFilterRadioButtonDirective, selector: "[kendoFilterMenuRadioButton]", inputs: ["columnLabel"] }] });
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: BooleanFilterMenuComponent, decorators: [{
105
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: RadioButtonComponent, selector: "kendo-radiobutton", inputs: ["checked"], outputs: ["checkedChange"], exportAs: ["kendoRadioButton"] }, { kind: "directive", type: BooleanFilterRadioButtonDirective, selector: "[kendoFilterMenuRadioButton]", inputs: ["columnLabel"] }] });
106
+ }
107
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BooleanFilterMenuComponent, decorators: [{
101
108
  type: Component,
102
109
  args: [{
103
110
  selector: 'kendo-treelist-boolean-filter-menu',
104
111
  template: `
105
112
  <ul class="k-radio-list k-reset">
106
113
  <li *ngFor="let item of items">
107
- <input #inputElem type="radio"
108
- kendoRadioButton
114
+ <kendo-radiobutton
115
+ #inputElem
109
116
  kendoFilterMenuRadioButton
110
117
  [columnLabel]="columnLabel"
111
118
  [name]="idPrefix"
112
119
  [checked]="isSelected(item.value)"
113
120
  [attr.id]="radioId(item.value)"
114
- (change)="onChange(item.value)"
115
- />
121
+ (checkedChange)="onChange(item.value)"
122
+ ></kendo-radiobutton>
116
123
  <label class="k-radio-label" [attr.for]="radioId(item.value)">{{item.text}}</label>
117
124
  </li>
118
125
  </ul>
119
126
  `,
120
127
  standalone: true,
121
- imports: [NgFor, RadioButtonDirective, BooleanFilterRadioButtonDirective]
128
+ imports: [NgFor, RadioButtonComponent, BooleanFilterRadioButtonDirective]
122
129
  }]
123
130
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i1.LocalizationService }, { type: i2.DomSanitizer }]; }, propDecorators: { hostClasses: [{
124
131
  type: HostBinding,
@@ -16,9 +16,25 @@ import * as i1 from "../../common/single-popup.service";
16
16
  * @hidden
17
17
  */
18
18
  export class DateFilterMenuInputComponent {
19
+ popupService;
20
+ operators = [];
21
+ column;
22
+ filter;
23
+ operator;
24
+ currentFilter;
25
+ filterService;
26
+ format;
27
+ formatPlaceholder;
28
+ placeholder;
29
+ min;
30
+ max;
31
+ activeView;
32
+ bottomView;
33
+ topView;
34
+ weekNumber;
35
+ subscription;
19
36
  constructor(popupService) {
20
37
  this.popupService = popupService;
21
- this.operators = [];
22
38
  }
23
39
  open(picker) {
24
40
  this.subscription = this.popupService.onClose
@@ -30,9 +46,8 @@ export class DateFilterMenuInputComponent {
30
46
  this.subscription.unsubscribe();
31
47
  }
32
48
  }
33
- }
34
- DateFilterMenuInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateFilterMenuInputComponent, deps: [{ token: i1.SinglePopupService }], target: i0.ɵɵFactoryTarget.Component });
35
- DateFilterMenuInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DateFilterMenuInputComponent, isStandalone: true, selector: "kendo-treelist-date-filter-menu-input", inputs: { operators: "operators", column: "column", filter: "filter", operator: "operator", currentFilter: "currentFilter", filterService: "filterService", format: "format", formatPlaceholder: "formatPlaceholder", placeholder: "placeholder", min: "min", max: "max", activeView: "activeView", bottomView: "bottomView", topView: "topView", weekNumber: "weekNumber" }, ngImport: i0, template: `
49
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateFilterMenuInputComponent, deps: [{ token: i1.SinglePopupService }], target: i0.ɵɵFactoryTarget.Component });
50
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DateFilterMenuInputComponent, isStandalone: true, selector: "kendo-treelist-date-filter-menu-input", inputs: { operators: "operators", column: "column", filter: "filter", operator: "operator", currentFilter: "currentFilter", filterService: "filterService", format: "format", formatPlaceholder: "formatPlaceholder", placeholder: "placeholder", min: "min", max: "max", activeView: "activeView", bottomView: "bottomView", topView: "topView", weekNumber: "weekNumber" }, ngImport: i0, template: `
36
51
  <kendo-treelist-filter-menu-input-wrapper
37
52
  [column]="column"
38
53
  [filter]="filter"
@@ -60,7 +75,8 @@ DateFilterMenuInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14
60
75
  </kendo-datepicker>
61
76
  </kendo-treelist-filter-menu-input-wrapper>
62
77
  `, isInline: true, dependencies: [{ kind: "component", type: FilterMenuInputWrapperComponent, selector: "kendo-treelist-filter-menu-input-wrapper", inputs: ["filterService", "currentFilter"] }, { kind: "component", type: DatePickerComponent, selector: "kendo-datepicker", inputs: ["focusableId", "cellTemplate", "clearButton", "inputAttributes", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "headerTemplate", "footerTemplate", "footer", "navigationItemTemplate", "weekDaysFormat", "showOtherMonthDays", "activeView", "bottomView", "topView", "calendarType", "animateCalendarNavigation", "disabled", "readonly", "readOnlyInput", "popupSettings", "navigation", "min", "max", "incompleteDateValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "enableMouseWheel", "allowCaretMode", "autoFill", "focusedDate", "value", "format", "twoDigitYearMax", "formatPlaceholder", "placeholder", "tabindex", "tabIndex", "disabledDates", "title", "subtitle", "rangeValidation", "disabledDatesValidation", "weekNumber", "size", "rounded", "fillMode", "adaptiveMode"], outputs: ["valueChange", "focus", "blur", "open", "close", "escape"], exportAs: ["kendo-datepicker"] }, { kind: "directive", type: FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "columnLabel", "column", "value"] }] });
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateFilterMenuInputComponent, decorators: [{
78
+ }
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateFilterMenuInputComponent, decorators: [{
64
80
  type: Component,
65
81
  args: [{
66
82
  selector: 'kendo-treelist-date-filter-menu-input',
@@ -6,7 +6,6 @@ import { Component, Input, HostBinding } from '@angular/core';
6
6
  import { NgIf } from '@angular/common';
7
7
  import { LocalizationService } from '@progress/kendo-angular-l10n';
8
8
  import { DropDownListComponent } from '@progress/kendo-angular-dropdowns';
9
- import { ColumnComponent } from "../../columns/column.component";
10
9
  import { FilterService } from '../filter.service';
11
10
  import { DateFilterComponent } from '../date-filter.component';
12
11
  import { setFilter, logicOperators } from '../base-filter-cell.component';
@@ -30,26 +29,30 @@ import * as i1 from "@progress/kendo-angular-l10n";
30
29
  * ```
31
30
  */
32
31
  export class DateFilterMenuComponent extends DateFilterComponent {
33
- constructor(localization) {
34
- super(null, localization);
35
- this.logicOperators = logicOperators(this.localization);
36
- /**
37
- * The current menu filter.
38
- * @type {CompositeFilterDescriptor}
39
- */
40
- this.filter = { filters: [], logic: "and" };
41
- /**
42
- * Determines if the inputs of second criteria will be displayed.
43
- * @default true
44
- */
45
- this.extra = true;
46
- }
32
+ logicOperators = logicOperators(this.localization);
47
33
  /**
48
34
  * @hidden
49
35
  */
50
36
  get hostClasses() {
51
37
  return false;
52
38
  }
39
+ /**
40
+ * The current menu filter.
41
+ * @type {CompositeFilterDescriptor}
42
+ */
43
+ filter = { filters: [], logic: "and" };
44
+ /**
45
+ * Determines if the inputs of second criteria will be displayed.
46
+ * @default true
47
+ */
48
+ extra = true;
49
+ /**
50
+ * The `FilterService` instance which is responsible for handling the changes in the filter descriptor.
51
+ */
52
+ filterService;
53
+ constructor(localization) {
54
+ super(null, localization);
55
+ }
53
56
  get firstFilter() {
54
57
  return setFilter(0, this.filter, (this.column || {}).field, this.operator);
55
58
  }
@@ -63,9 +66,8 @@ export class DateFilterMenuComponent extends DateFilterComponent {
63
66
  this.logicOperators = logicOperators(this.localization);
64
67
  super.localizationChange();
65
68
  }
66
- }
67
- DateFilterMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateFilterMenuComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
68
- DateFilterMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DateFilterMenuComponent, isStandalone: true, selector: "kendo-treelist-date-filter-menu", inputs: { column: "column", filter: "filter", extra: "extra", filterService: "filterService" }, host: { properties: { "class.k-filtercell": "this.hostClasses" } }, usesInheritance: true, ngImport: i0, template: `
69
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateFilterMenuComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
70
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DateFilterMenuComponent, isStandalone: true, selector: "kendo-treelist-date-filter-menu", inputs: { filter: "filter", extra: "extra", filterService: "filterService" }, host: { properties: { "class.k-filtercell": "this.hostClasses" } }, usesInheritance: true, ngImport: i0, template: `
69
71
  <kendo-treelist-date-filter-menu-input
70
72
  [currentFilter]="firstFilter"
71
73
  [operators]="operators"
@@ -112,7 +114,8 @@ DateFilterMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
112
114
  >
113
115
  </kendo-treelist-date-filter-menu-input>
114
116
  `, isInline: true, dependencies: [{ kind: "component", type: DateFilterMenuInputComponent, selector: "kendo-treelist-date-filter-menu-input", inputs: ["operators", "column", "filter", "operator", "currentFilter", "filterService", "format", "formatPlaceholder", "placeholder", "min", "max", "activeView", "bottomView", "topView", "weekNumber"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }] });
115
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DateFilterMenuComponent, decorators: [{
117
+ }
118
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateFilterMenuComponent, decorators: [{
116
119
  type: Component,
117
120
  args: [{
118
121
  selector: 'kendo-treelist-date-filter-menu',
@@ -169,8 +172,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
169
172
  }], ctorParameters: function () { return [{ type: i1.LocalizationService }]; }, propDecorators: { hostClasses: [{
170
173
  type: HostBinding,
171
174
  args: ['class.k-filtercell']
172
- }], column: [{
173
- type: Input
174
175
  }], filter: [{
175
176
  type: Input
176
177
  }], extra: [{