@progress/kendo-angular-grid 21.4.1-develop.1 → 22.0.0-develop.1

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 (354) hide show
  1. package/column-menu/column-menu-item-base.d.ts +1 -1
  2. package/columns/column-base.d.ts +1 -1
  3. package/common/toolbar-tool-base.directive.d.ts +1 -1
  4. package/editing/toolbar-editing-tool-base.directive.d.ts +1 -1
  5. package/editing-directives/editing-directive-base.d.ts +1 -1
  6. package/editing-directives/row-editing-directive-base.d.ts +1 -1
  7. package/fesm2022/progress-kendo-angular-grid.mjs +666 -666
  8. package/filtering/base-filter-cell.component.d.ts +1 -1
  9. package/filtering/boolean-filter.component.d.ts +1 -1
  10. package/filtering/date-filter.component.d.ts +1 -1
  11. package/filtering/filter-host.directive.d.ts +1 -1
  12. package/filtering/filter-input-wrapper.component.d.ts +1 -1
  13. package/filtering/numeric-filter.component.d.ts +1 -1
  14. package/filtering/operators/filter-operator.base.d.ts +1 -1
  15. package/filtering/string-filter.component.d.ts +1 -1
  16. package/localization/messages.d.ts +1 -1
  17. package/package.json +28 -36
  18. package/schematics/ngAdd/index.js +7 -7
  19. package/selection/selection-default.d.ts +1 -1
  20. package/esm2022/adaptiveness/adaptive-mode.mjs +0 -5
  21. package/esm2022/adaptiveness/adaptive-renderer.component.mjs +0 -1270
  22. package/esm2022/aggregates/aggregate-types.mjs +0 -5
  23. package/esm2022/aggregates/selection-aggregate.service.mjs +0 -200
  24. package/esm2022/aggregates/status-bar-template.directive.mjs +0 -30
  25. package/esm2022/aggregates/status-bar.component.mjs +0 -70
  26. package/esm2022/column-menu/column-chooser-content.component.mjs +0 -318
  27. package/esm2022/column-menu/column-chooser.component.mjs +0 -230
  28. package/esm2022/column-menu/column-list-kb-nav.service.mjs +0 -40
  29. package/esm2022/column-menu/column-list.component.mjs +0 -478
  30. package/esm2022/column-menu/column-locked-change-event.mjs +0 -19
  31. package/esm2022/column-menu/column-menu-autosize-all.component.mjs +0 -89
  32. package/esm2022/column-menu/column-menu-autosize.component.mjs +0 -97
  33. package/esm2022/column-menu/column-menu-chooser.component.mjs +0 -151
  34. package/esm2022/column-menu/column-menu-container.component.mjs +0 -67
  35. package/esm2022/column-menu/column-menu-expandable-item.interface.mjs +0 -5
  36. package/esm2022/column-menu/column-menu-filter.component.mjs +0 -152
  37. package/esm2022/column-menu/column-menu-item-base.mjs +0 -44
  38. package/esm2022/column-menu/column-menu-item-content-template.directive.mjs +0 -45
  39. package/esm2022/column-menu/column-menu-item.component.mjs +0 -514
  40. package/esm2022/column-menu/column-menu-item.directive.mjs +0 -164
  41. package/esm2022/column-menu/column-menu-lock.component.mjs +0 -118
  42. package/esm2022/column-menu/column-menu-position.component.mjs +0 -196
  43. package/esm2022/column-menu/column-menu-settings.interface.mjs +0 -5
  44. package/esm2022/column-menu/column-menu-sort.component.mjs +0 -119
  45. package/esm2022/column-menu/column-menu-stick.component.mjs +0 -120
  46. package/esm2022/column-menu/column-menu-template.directive.mjs +0 -47
  47. package/esm2022/column-menu/column-menu.component.mjs +0 -839
  48. package/esm2022/column-menu/column-menu.service.mjs +0 -71
  49. package/esm2022/column-menu/column-sticky-change-event.mjs +0 -19
  50. package/esm2022/column-menu/column-visibility-change-event.mjs +0 -19
  51. package/esm2022/column-menu/utils.mjs +0 -52
  52. package/esm2022/column-resizing/column-handle.directive.mjs +0 -499
  53. package/esm2022/column-resizing/column-resize.interface.mjs +0 -5
  54. package/esm2022/column-resizing/column-resizing.service.mjs +0 -214
  55. package/esm2022/column-resizing/table.directive.mjs +0 -141
  56. package/esm2022/columns/cell-rowspan.mjs +0 -5
  57. package/esm2022/columns/checkbox-column.component.mjs +0 -106
  58. package/esm2022/columns/column-base.mjs +0 -432
  59. package/esm2022/columns/column-common.mjs +0 -73
  60. package/esm2022/columns/column-group.component.mjs +0 -135
  61. package/esm2022/columns/column-list.mjs +0 -94
  62. package/esm2022/columns/column.component.mjs +0 -198
  63. package/esm2022/columns/columns-container.mjs +0 -101
  64. package/esm2022/columns/command-column.component.mjs +0 -80
  65. package/esm2022/columns/reorder-column.component.mjs +0 -114
  66. package/esm2022/columns/sort-settings.mjs +0 -18
  67. package/esm2022/columns/span-column.component.mjs +0 -195
  68. package/esm2022/common/adaptiveness.service.mjs +0 -72
  69. package/esm2022/common/cell-click-event-args.interface.mjs +0 -5
  70. package/esm2022/common/clipboard-types.mjs +0 -5
  71. package/esm2022/common/clipboard.directive.mjs +0 -197
  72. package/esm2022/common/clipboard.service.mjs +0 -221
  73. package/esm2022/common/column-info.service.mjs +0 -92
  74. package/esm2022/common/create-form-group.mjs +0 -5
  75. package/esm2022/common/data-layout-mode.mjs +0 -5
  76. package/esm2022/common/default-track-by.mjs +0 -13
  77. package/esm2022/common/dom-events.service.mjs +0 -27
  78. package/esm2022/common/error-messages.mjs +0 -64
  79. package/esm2022/common/event-emitter.mjs +0 -39
  80. package/esm2022/common/fetch-data-callback.mjs +0 -5
  81. package/esm2022/common/field-datatype.mjs +0 -5
  82. package/esm2022/common/filter-descriptor-differ.mjs +0 -69
  83. package/esm2022/common/filter-operator.interface.mjs +0 -5
  84. package/esm2022/common/grid-col-size.mjs +0 -5
  85. package/esm2022/common/id.service.mjs +0 -59
  86. package/esm2022/common/pager-settings.mjs +0 -20
  87. package/esm2022/common/preventable-event.mjs +0 -24
  88. package/esm2022/common/provider.service.mjs +0 -42
  89. package/esm2022/common/remove-confirmation.mjs +0 -5
  90. package/esm2022/common/resizable-settings.mjs +0 -9
  91. package/esm2022/common/single-popup.service.mjs +0 -158
  92. package/esm2022/common/size-options.mjs +0 -5
  93. package/esm2022/common/sort.service.mjs +0 -14
  94. package/esm2022/common/toolbar-tool-base.directive.mjs +0 -85
  95. package/esm2022/constants.mjs +0 -16
  96. package/esm2022/data/change-event-args.interface.mjs +0 -5
  97. package/esm2022/data/change-notification.service.mjs +0 -30
  98. package/esm2022/data/data-item.interface.mjs +0 -5
  99. package/esm2022/data/data-mapping.service.mjs +0 -136
  100. package/esm2022/data/data.collection.mjs +0 -87
  101. package/esm2022/data/data.iterators.mjs +0 -221
  102. package/esm2022/data/grid-item.interface.mjs +0 -5
  103. package/esm2022/data/group-footer-item.interface.mjs +0 -5
  104. package/esm2022/data/group-item.interface.mjs +0 -5
  105. package/esm2022/databinding.directive.mjs +0 -233
  106. package/esm2022/directives.mjs +0 -504
  107. package/esm2022/dragdrop/column-reorder-config.mjs +0 -5
  108. package/esm2022/dragdrop/column-reorder-event.mjs +0 -31
  109. package/esm2022/dragdrop/column-reorder.service.mjs +0 -20
  110. package/esm2022/dragdrop/common.mjs +0 -69
  111. package/esm2022/dragdrop/context-types.mjs +0 -5
  112. package/esm2022/dragdrop/drag-and-drop.service.mjs +0 -65
  113. package/esm2022/dragdrop/drag-hint.service.mjs +0 -137
  114. package/esm2022/dragdrop/draggable-column.directive.mjs +0 -137
  115. package/esm2022/dragdrop/drop-cue.service.mjs +0 -46
  116. package/esm2022/dragdrop/drop-target.directive.mjs +0 -71
  117. package/esm2022/editing/add-command-tool.directive.mjs +0 -59
  118. package/esm2022/editing/add-command.directive.mjs +0 -93
  119. package/esm2022/editing/add-event-args.interface.mjs +0 -5
  120. package/esm2022/editing/cancel-command-tool.directive.mjs +0 -64
  121. package/esm2022/editing/cancel-command.directive.mjs +0 -127
  122. package/esm2022/editing/cancel-event-args.interface.mjs +0 -5
  123. package/esm2022/editing/cell-close-event.mjs +0 -38
  124. package/esm2022/editing/edit-command-tool.directive.mjs +0 -60
  125. package/esm2022/editing/edit-command.directive.mjs +0 -124
  126. package/esm2022/editing/edit-event-args.interface.mjs +0 -5
  127. package/esm2022/editing/edit-row-options.interface.mjs +0 -5
  128. package/esm2022/editing/edit-template.directive.mjs +0 -43
  129. package/esm2022/editing/edit.service.mjs +0 -182
  130. package/esm2022/editing/form/dialog-form.component.mjs +0 -102
  131. package/esm2022/editing/form/form-formfield.component.mjs +0 -188
  132. package/esm2022/editing/form/form.component.mjs +0 -169
  133. package/esm2022/editing/form/index.mjs +0 -8
  134. package/esm2022/editing/form/models.mjs +0 -5
  135. package/esm2022/editing/local-data-changes.service.mjs +0 -18
  136. package/esm2022/editing/remove-command-tool.directive.mjs +0 -61
  137. package/esm2022/editing/remove-command.directive.mjs +0 -123
  138. package/esm2022/editing/remove-event-args.interface.mjs +0 -5
  139. package/esm2022/editing/save-command-tool.directive.mjs +0 -65
  140. package/esm2022/editing/save-command.directive.mjs +0 -126
  141. package/esm2022/editing/save-event-args.interface.mjs +0 -5
  142. package/esm2022/editing/toolbar-editing-tool-base.directive.mjs +0 -99
  143. package/esm2022/editing-directives/create-form-group-args.interface.mjs +0 -5
  144. package/esm2022/editing-directives/edit-service.interface.mjs +0 -5
  145. package/esm2022/editing-directives/editing-directive-base.mjs +0 -167
  146. package/esm2022/editing-directives/external-editing.directive.mjs +0 -151
  147. package/esm2022/editing-directives/in-cell-editing.directive.mjs +0 -97
  148. package/esm2022/editing-directives/local-edit.service.mjs +0 -64
  149. package/esm2022/editing-directives/local-row-edit.service.mjs +0 -13
  150. package/esm2022/editing-directives/reactive-editing.directive.mjs +0 -60
  151. package/esm2022/editing-directives/row-editing-directive-base.mjs +0 -53
  152. package/esm2022/editing-directives/template-editing.directive.mjs +0 -72
  153. package/esm2022/editing-directives/utils.mjs +0 -18
  154. package/esm2022/excel/excel-command-tool.directive.mjs +0 -58
  155. package/esm2022/excel/excel-command.directive.mjs +0 -98
  156. package/esm2022/excel/excel-export-event.mjs +0 -18
  157. package/esm2022/excel/excel.component.mjs +0 -223
  158. package/esm2022/excel/excel.module.mjs +0 -45
  159. package/esm2022/excel/excel.service.mjs +0 -29
  160. package/esm2022/filtering/base-filter-cell.component.mjs +0 -174
  161. package/esm2022/filtering/boolean-filter.component.mjs +0 -83
  162. package/esm2022/filtering/cell/autocomplete-filter-cell.component.mjs +0 -114
  163. package/esm2022/filtering/cell/boolean-filter-cell.component.mjs +0 -113
  164. package/esm2022/filtering/cell/date-filter-cell.component.mjs +0 -141
  165. package/esm2022/filtering/cell/filter-cell-component.factory.mjs +0 -19
  166. package/esm2022/filtering/cell/filter-cell-host.directive.mjs +0 -33
  167. package/esm2022/filtering/cell/filter-cell-operators.component.mjs +0 -242
  168. package/esm2022/filtering/cell/filter-cell-template.directive.mjs +0 -46
  169. package/esm2022/filtering/cell/filter-cell-wrapper.component.mjs +0 -74
  170. package/esm2022/filtering/cell/filter-cell.component.mjs +0 -91
  171. package/esm2022/filtering/cell/numeric-filter-cell.component.mjs +0 -155
  172. package/esm2022/filtering/cell/string-filter-cell.component.mjs +0 -127
  173. package/esm2022/filtering/date-filter.component.mjs +0 -172
  174. package/esm2022/filtering/filter-component.interface.mjs +0 -5
  175. package/esm2022/filtering/filter-host.directive.mjs +0 -58
  176. package/esm2022/filtering/filter-input-wrapper.component.mjs +0 -119
  177. package/esm2022/filtering/filter-input.directive.mjs +0 -123
  178. package/esm2022/filtering/filter-row.component.mjs +0 -131
  179. package/esm2022/filtering/filter.service.mjs +0 -44
  180. package/esm2022/filtering/filterable.mjs +0 -16
  181. package/esm2022/filtering/menu/boolean-filter-menu.component.mjs +0 -167
  182. package/esm2022/filtering/menu/date-filter-menu-input.component.mjs +0 -179
  183. package/esm2022/filtering/menu/date-filter-menu.component.mjs +0 -212
  184. package/esm2022/filtering/menu/filter-menu-component.factory.mjs +0 -19
  185. package/esm2022/filtering/menu/filter-menu-container.component.mjs +0 -418
  186. package/esm2022/filtering/menu/filter-menu-dropdownlist.directive.mjs +0 -44
  187. package/esm2022/filtering/menu/filter-menu-host.directive.mjs +0 -46
  188. package/esm2022/filtering/menu/filter-menu-input-wrapper.component.mjs +0 -158
  189. package/esm2022/filtering/menu/filter-menu-template.directive.mjs +0 -48
  190. package/esm2022/filtering/menu/filter-menu.component.mjs +0 -221
  191. package/esm2022/filtering/menu/filter-radio-button.directive.mjs +0 -34
  192. package/esm2022/filtering/menu/menu-tabbing.service.mjs +0 -22
  193. package/esm2022/filtering/menu/numeric-filter-menu-input.component.mjs +0 -184
  194. package/esm2022/filtering/menu/numeric-filter-menu.component.mjs +0 -230
  195. package/esm2022/filtering/menu/string-filter-menu-input.component.mjs +0 -107
  196. package/esm2022/filtering/menu/string-filter-menu.component.mjs +0 -198
  197. package/esm2022/filtering/multicheckbox-filter.component.mjs +0 -324
  198. package/esm2022/filtering/numeric-filter.component.mjs +0 -145
  199. package/esm2022/filtering/operators/after-eq-filter-operator.component.mjs +0 -72
  200. package/esm2022/filtering/operators/after-filter-operator.component.mjs +0 -72
  201. package/esm2022/filtering/operators/before-eq-filter-operator.component.mjs +0 -72
  202. package/esm2022/filtering/operators/before-filter-operator.component.mjs +0 -72
  203. package/esm2022/filtering/operators/contains-filter-operator.component.mjs +0 -63
  204. package/esm2022/filtering/operators/ends-with-filter-operator.component.mjs +0 -63
  205. package/esm2022/filtering/operators/eq-filter-operator.component.mjs +0 -111
  206. package/esm2022/filtering/operators/filter-operator.base.mjs +0 -101
  207. package/esm2022/filtering/operators/gt-filter-operator.component.mjs +0 -63
  208. package/esm2022/filtering/operators/gte-filter-operator.component.mjs +0 -63
  209. package/esm2022/filtering/operators/is-empty-filter-operator.component.mjs +0 -63
  210. package/esm2022/filtering/operators/is-not-empty-filter-operator.component.mjs +0 -63
  211. package/esm2022/filtering/operators/is-not-null-filter-operator.component.mjs +0 -110
  212. package/esm2022/filtering/operators/isnull-filter-operator.component.mjs +0 -110
  213. package/esm2022/filtering/operators/lt-filter-operator.component.mjs +0 -63
  214. package/esm2022/filtering/operators/lte-filter-operator.component.mjs +0 -63
  215. package/esm2022/filtering/operators/neq-filter-operator.component.mjs +0 -110
  216. package/esm2022/filtering/operators/not-contains-filter-operator.component.mjs +0 -63
  217. package/esm2022/filtering/operators/starts-with-filter-operator.component.mjs +0 -63
  218. package/esm2022/filtering/string-filter.component.mjs +0 -90
  219. package/esm2022/grid.component.mjs +0 -4598
  220. package/esm2022/grid.module.mjs +0 -241
  221. package/esm2022/grouping/group-footer-template.directive.mjs +0 -44
  222. package/esm2022/grouping/group-header-column-template.directive.mjs +0 -45
  223. package/esm2022/grouping/group-header-template.directive.mjs +0 -46
  224. package/esm2022/grouping/group-header.component.mjs +0 -351
  225. package/esm2022/grouping/group-info.service.mjs +0 -43
  226. package/esm2022/grouping/group-key.interface.mjs +0 -5
  227. package/esm2022/grouping/group-panel.component.mjs +0 -487
  228. package/esm2022/grouping/group-rows-args.interface.mjs +0 -5
  229. package/esm2022/grouping/group-settings.mjs +0 -5
  230. package/esm2022/grouping/groups.service.mjs +0 -69
  231. package/esm2022/grouping/utils.mjs +0 -14
  232. package/esm2022/highlight/highlight-item.mjs +0 -5
  233. package/esm2022/highlight/highlight.directive.mjs +0 -132
  234. package/esm2022/index.mjs +0 -221
  235. package/esm2022/layout/browser-support.service.mjs +0 -94
  236. package/esm2022/layout/resizable.directive.mjs +0 -83
  237. package/esm2022/layout/resize.service.mjs +0 -29
  238. package/esm2022/layout/responsive.service.mjs +0 -34
  239. package/esm2022/layout/row-sync.mjs +0 -47
  240. package/esm2022/layout/sizing-options.service.mjs +0 -18
  241. package/esm2022/localization/custom-messages.component.mjs +0 -54
  242. package/esm2022/localization/localized-messages.directive.mjs +0 -39
  243. package/esm2022/localization/messages.mjs +0 -895
  244. package/esm2022/navigation/default-focusable-element.mjs +0 -50
  245. package/esm2022/navigation/focus-group.mjs +0 -73
  246. package/esm2022/navigation/focus-root.mjs +0 -50
  247. package/esm2022/navigation/focusable-element.interface.mjs +0 -5
  248. package/esm2022/navigation/focusable.directive.mjs +0 -150
  249. package/esm2022/navigation/grid-focusable-element.mjs +0 -28
  250. package/esm2022/navigation/item-map.mjs +0 -59
  251. package/esm2022/navigation/logical-cell.directive.mjs +0 -224
  252. package/esm2022/navigation/logical-cell.interface.mjs +0 -5
  253. package/esm2022/navigation/logical-row.directive.mjs +0 -131
  254. package/esm2022/navigation/logical-row.interface.mjs +0 -5
  255. package/esm2022/navigation/navigable-settings.mjs +0 -5
  256. package/esm2022/navigation/navigation-cell.interface.mjs +0 -5
  257. package/esm2022/navigation/navigation-change.interface.mjs +0 -5
  258. package/esm2022/navigation/navigation-cursor.mjs +0 -224
  259. package/esm2022/navigation/navigation-metadata.mjs +0 -35
  260. package/esm2022/navigation/navigation-mode.mjs +0 -5
  261. package/esm2022/navigation/navigation-model.mjs +0 -138
  262. package/esm2022/navigation/navigation-row.interface.mjs +0 -5
  263. package/esm2022/navigation/navigation.service.mjs +0 -998
  264. package/esm2022/navigation/toolbar-tool-name.mjs +0 -18
  265. package/esm2022/package-metadata.mjs +0 -16
  266. package/esm2022/pdf/export-element.mjs +0 -135
  267. package/esm2022/pdf/grid-query.mjs +0 -45
  268. package/esm2022/pdf/pdf-command-tool.directive.mjs +0 -60
  269. package/esm2022/pdf/pdf-command.directive.mjs +0 -98
  270. package/esm2022/pdf/pdf-export-event.mjs +0 -16
  271. package/esm2022/pdf/pdf-margin.component.mjs +0 -38
  272. package/esm2022/pdf/pdf-margin.interface.mjs +0 -5
  273. package/esm2022/pdf/pdf-template.directive.mjs +0 -43
  274. package/esm2022/pdf/pdf.component.mjs +0 -331
  275. package/esm2022/pdf/pdf.module.mjs +0 -47
  276. package/esm2022/pdf/pdf.service.mjs +0 -42
  277. package/esm2022/progress-kendo-angular-grid.mjs +0 -8
  278. package/esm2022/rendering/cell-loading.template.directive.mjs +0 -39
  279. package/esm2022/rendering/cell-template.directive.mjs +0 -44
  280. package/esm2022/rendering/cell.component.mjs +0 -717
  281. package/esm2022/rendering/common/cell-context.mjs +0 -13
  282. package/esm2022/rendering/common/col-group.component.mjs +0 -98
  283. package/esm2022/rendering/common/dom-queries.mjs +0 -162
  284. package/esm2022/rendering/common/field-accessor.pipe.mjs +0 -48
  285. package/esm2022/rendering/common/format.pipe.mjs +0 -37
  286. package/esm2022/rendering/common/loading.component.mjs +0 -60
  287. package/esm2022/rendering/common/row-args.mjs +0 -5
  288. package/esm2022/rendering/common/row-class.mjs +0 -5
  289. package/esm2022/rendering/common/spacer.component.mjs +0 -62
  290. package/esm2022/rendering/constants.mjs +0 -20
  291. package/esm2022/rendering/details/detail-collapse-event.mjs +0 -27
  292. package/esm2022/rendering/details/detail-expand-event.mjs +0 -27
  293. package/esm2022/rendering/details/detail-template.directive.mjs +0 -61
  294. package/esm2022/rendering/details/details.service.mjs +0 -56
  295. package/esm2022/rendering/details-expand.directive.mjs +0 -136
  296. package/esm2022/rendering/footer/footer-template.directive.mjs +0 -48
  297. package/esm2022/rendering/footer/footer.component.mjs +0 -266
  298. package/esm2022/rendering/grid-table.directive.mjs +0 -52
  299. package/esm2022/rendering/groups-expand.directive.mjs +0 -149
  300. package/esm2022/rendering/header/header-template.directive.mjs +0 -45
  301. package/esm2022/rendering/header/header.component.mjs +0 -1055
  302. package/esm2022/rendering/list.component.mjs +0 -1176
  303. package/esm2022/rendering/loading-template.directive.mjs +0 -38
  304. package/esm2022/rendering/no-records-template.directive.mjs +0 -38
  305. package/esm2022/rendering/rowspan.service.mjs +0 -24
  306. package/esm2022/rendering/table-body.component.mjs +0 -1250
  307. package/esm2022/rendering/toolbar/toolbar-focusable.directive.mjs +0 -83
  308. package/esm2022/rendering/toolbar/toolbar-navigation.service.mjs +0 -58
  309. package/esm2022/rendering/toolbar/toolbar-position.mjs +0 -5
  310. package/esm2022/rendering/toolbar/toolbar-template.directive.mjs +0 -55
  311. package/esm2022/rendering/toolbar/toolbar.component.mjs +0 -159
  312. package/esm2022/rendering/toolbar/tools/ai-assistant/ai-assistant.component.mjs +0 -272
  313. package/esm2022/rendering/toolbar/tools/ai-assistant/ai-request-response.service.mjs +0 -624
  314. package/esm2022/rendering/toolbar/tools/ai-assistant/ai-tool.directive.mjs +0 -273
  315. package/esm2022/rendering/toolbar/tools/ai-assistant/models.mjs +0 -43
  316. package/esm2022/rendering/toolbar/tools/ai-assistant/utils.mjs +0 -92
  317. package/esm2022/rendering/toolbar/tools/column-chooser-tool.directive.mjs +0 -238
  318. package/esm2022/rendering/toolbar/tools/filter-command-tool.directive.mjs +0 -219
  319. package/esm2022/rendering/toolbar/tools/filter-tool-wrapper.component.mjs +0 -151
  320. package/esm2022/rendering/toolbar/tools/filter-toolbar-tool.component.mjs +0 -223
  321. package/esm2022/rendering/toolbar/tools/group-command-tool.directive.mjs +0 -208
  322. package/esm2022/rendering/toolbar/tools/group-toolbar-tool.component.mjs +0 -451
  323. package/esm2022/rendering/toolbar/tools/select-all-command-tool.directive.mjs +0 -93
  324. package/esm2022/rendering/toolbar/tools/sort-command-tool.directive.mjs +0 -222
  325. package/esm2022/rendering/toolbar/tools/sort-toolbar-tool.component.mjs +0 -245
  326. package/esm2022/row-reordering/drag-handle-template.directive.mjs +0 -44
  327. package/esm2022/row-reordering/drag-hint-template.directive.mjs +0 -42
  328. package/esm2022/row-reordering/row-reorder.service.mjs +0 -280
  329. package/esm2022/row-reordering/types.mjs +0 -5
  330. package/esm2022/row-reordering/utils.mjs +0 -88
  331. package/esm2022/scrolling/content-scroll-event.mjs +0 -5
  332. package/esm2022/scrolling/row-height.service.mjs +0 -55
  333. package/esm2022/scrolling/scroll-bottom-event.mjs +0 -5
  334. package/esm2022/scrolling/scroll-request.service.mjs +0 -24
  335. package/esm2022/scrolling/scroll-sync.service.mjs +0 -80
  336. package/esm2022/scrolling/scroller.service.mjs +0 -254
  337. package/esm2022/scrolling/scrollmode.mjs +0 -5
  338. package/esm2022/scrolling/suspend.service.mjs +0 -17
  339. package/esm2022/selection/cell-selection.service.mjs +0 -349
  340. package/esm2022/selection/marquee.directive.mjs +0 -188
  341. package/esm2022/selection/pair-set.mjs +0 -158
  342. package/esm2022/selection/selectall-checkbox.directive.mjs +0 -143
  343. package/esm2022/selection/selection-checkbox.directive.mjs +0 -132
  344. package/esm2022/selection/selection-default.mjs +0 -208
  345. package/esm2022/selection/selection.directive.mjs +0 -53
  346. package/esm2022/selection/selection.service.mjs +0 -466
  347. package/esm2022/selection/types.mjs +0 -5
  348. package/esm2022/state-management/grid-state.models.mjs +0 -26
  349. package/esm2022/state-management/redo-command-tool.mjs +0 -74
  350. package/esm2022/state-management/undo-command-tool.mjs +0 -74
  351. package/esm2022/state-management/undo-redo.directive.mjs +0 -249
  352. package/esm2022/state-management/undo-redo.service.mjs +0 -21
  353. package/esm2022/state-management/undo-redo.stack.mjs +0 -238
  354. package/esm2022/utils.mjs +0 -216
@@ -1,1055 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { ColumnInfoService } from './../../common/column-info.service';
6
- import { Component, ChangeDetectorRef, HostBinding, Input, QueryList, ViewChildren, TemplateRef, NgZone } from '@angular/core';
7
- import { Subscription, of, merge } from "rxjs";
8
- import { filter, map, switchMap, tap, takeUntil } from 'rxjs/operators';
9
- import { isColumnComponent } from '../../columns/column.component';
10
- import { isColumnGroupComponent } from '../../columns/column-group.component';
11
- import { isCheckboxColumn } from '../../columns/column-base';
12
- import { DetailTemplateDirective } from '../details/detail-template.directive';
13
- import { normalize } from '../../columns/sort-settings';
14
- import { and, isNullOrEmptyString, isPresent, isTruthy, not, observe } from '../../utils';
15
- import { columnsToRender, sortColumns, isInSpanColumn } from "../../columns/column-common";
16
- import { SinglePopupService } from '../../common/single-popup.service';
17
- import { hasFilterMenu, hasFilterRow } from '../../filtering/filterable';
18
- import { IdService } from '../../common/id.service';
19
- import { DraggableDirective, isDocumentAvailable, Keys, normalizeKeys, TemplateContextDirective } from '@progress/kendo-angular-common';
20
- import { DropTargetDirective } from '../../dragdrop/drop-target.directive';
21
- import { DraggableColumnDirective } from '../../dragdrop/draggable-column.directive';
22
- import { DragHintService } from '../../dragdrop/drag-hint.service';
23
- import { DropCueService } from '../../dragdrop/drop-cue.service';
24
- import { ColumnReorderService } from '../../dragdrop/column-reorder.service';
25
- import { position, isTargetBefore, offset } from '../../dragdrop/common';
26
- import { SortService } from '../../common/sort.service';
27
- import { hasItems } from '../../column-menu/utils';
28
- import { closestInScope, isFocusable } from '../common/dom-queries';
29
- import { FilterMenuComponent } from '../../filtering/menu/filter-menu.component';
30
- import { ColumnMenuComponent } from '../../column-menu/column-menu.component';
31
- import { sortAscSmallIcon, sortDescSmallIcon } from '@progress/kendo-svg-icons';
32
- import { ContextService } from '../../common/provider.service';
33
- import { ColumnReorderEvent } from '../../dragdrop/column-reorder-event';
34
- import { ColumnsContainer } from '../../columns/columns-container';
35
- import { NavigationService } from '../../navigation/navigation.service';
36
- import { FilterRowComponent } from '../../filtering/filter-row.component';
37
- import { ColumnHandleDirective } from '../../column-resizing/column-handle.directive';
38
- import { FocusableDirective } from '../../navigation/focusable.directive';
39
- import { SelectAllCheckboxDirective } from '../../selection/selectall-checkbox.directive';
40
- import { LogicalCellDirective } from '../../navigation/logical-cell.directive';
41
- import { LogicalRowDirective } from '../../navigation/logical-row.directive';
42
- import { NgClass, NgStyle } from '@angular/common';
43
- import { IconWrapperComponent } from '@progress/kendo-angular-icons';
44
- import { CheckBoxComponent } from '@progress/kendo-angular-inputs';
45
- import * as i0 from "@angular/core";
46
- import * as i1 from "../../common/single-popup.service";
47
- import * as i2 from "../../dragdrop/drag-hint.service";
48
- import * as i3 from "../../dragdrop/drop-cue.service";
49
- import * as i4 from "../../dragdrop/column-reorder.service";
50
- import * as i5 from "../../common/id.service";
51
- import * as i6 from "../../common/sort.service";
52
- import * as i7 from "./../../common/column-info.service";
53
- import * as i8 from "../../common/provider.service";
54
- import * as i9 from "../../navigation/navigation.service";
55
- const mergeObjects = (...args) => Object.assign.apply(null, [{}].concat(args));
56
- const directions = initialDirection => initialDirection === "asc" ? ["asc", "desc"] : ["desc", "asc"];
57
- /**
58
- * @hidden
59
- */
60
- const isRootLevel = ({ parent }) => !isTruthy(parent);
61
- const ofColumnType = ({ draggable }) => ['column', 'columnGroup']
62
- .indexOf(draggable.context.type) >= 0;
63
- const notSameElement = ({ draggable, target }) => draggable.element.nativeElement !== target.element.nativeElement;
64
- const inSameParent = (x, y) => x.parent === y.parent ||
65
- (isInSpanColumn(y) && inSameParent(x, y.parent));
66
- const sameParent = ({ draggable, target }) => inSameParent(draggable.context.column, target.context.column);
67
- const lastNonLocked = ({ draggable }) => !isTruthy(draggable.context.column.locked) &&
68
- isRootLevel(draggable.context.column) &&
69
- draggable.context.lastColumn;
70
- const notInSpanColumn = ({ draggable }) => !isInSpanColumn(draggable.context.column);
71
- const reorderable = ({ draggable }) => draggable.context.column.reorderable;
72
- const lockable = ({ draggable, target }) => draggable.context.column.lockable !== false ||
73
- draggable.context.column.isLocked === target.context.column.isLocked;
74
- const rules = and(ofColumnType, reorderable, notInSpanColumn, notSameElement, sameParent, not(lastNonLocked), lockable);
75
- const modifierKeys = ['alt', 'ctrl', 'shift', 'meta'];
76
- /**
77
- * @hidden
78
- */
79
- export class HeaderComponent {
80
- popupService;
81
- hint;
82
- cue;
83
- reorderService;
84
- idService;
85
- sortService;
86
- columnInfoService;
87
- cd;
88
- contextService;
89
- navigationService;
90
- zone;
91
- /**
92
- * @hidden
93
- */
94
- totalColumnLevels;
95
- columns = [];
96
- groups = [];
97
- detailTemplate;
98
- scrollable;
99
- filterable;
100
- sort = new Array();
101
- filter;
102
- sortable = false;
103
- groupable = false;
104
- lockedColumnsCount = 0;
105
- resizable = false;
106
- reorderable = false;
107
- columnMenu = false;
108
- columnMenuTemplate;
109
- totalColumnsCount = 0;
110
- totalColumns;
111
- tabIndex;
112
- size = 'medium';
113
- sortedFields = {};
114
- hostClass = true;
115
- get sortableLabel() {
116
- return this.contextService.localization.get('sortable');
117
- }
118
- get columnMenuSettings() {
119
- return this.columnMenu;
120
- }
121
- dropTargets = new QueryList();
122
- filterMenus;
123
- columnMenus;
124
- // Number of unlocked columns in the next table, if any
125
- get unlockedColumnsCount() {
126
- return this.totalColumnsCount - this.lockedColumnsCount - this.columns.length;
127
- }
128
- sortAscSmallIcon = sortAscSmallIcon;
129
- sortDescSmallIcon = sortDescSmallIcon;
130
- subscription = new Subscription();
131
- targetSubscription;
132
- stopSorting = false;
133
- _leafColumns;
134
- constructor(popupService, hint, cue, reorderService, idService, sortService, columnInfoService, cd, contextService, navigationService, zone) {
135
- this.popupService = popupService;
136
- this.hint = hint;
137
- this.cue = cue;
138
- this.reorderService = reorderService;
139
- this.idService = idService;
140
- this.sortService = sortService;
141
- this.columnInfoService = columnInfoService;
142
- this.cd = cd;
143
- this.contextService = contextService;
144
- this.navigationService = navigationService;
145
- this.zone = zone;
146
- }
147
- sortColumn(descriptor) {
148
- this.sortService.sort(descriptor);
149
- }
150
- getColumnComponent(column) {
151
- return column;
152
- }
153
- onSortClick(column, event, link) {
154
- if (this.stopSorting) {
155
- this.stopSorting = false;
156
- return;
157
- }
158
- const target = event.target;
159
- if (column.headerTemplateRef && target !== link) {
160
- const hasFocusableParent = Boolean(closestInScope(target, isFocusable, link));
161
- if (hasFocusableParent) {
162
- // Do not sort when clicking focusable template elements.
163
- return;
164
- }
165
- }
166
- const modifier = this.matchModifier(event);
167
- const toggledColumn = this.toggleSort(column, modifier);
168
- this.sortColumn(toggledColumn);
169
- }
170
- onHeaderKeydown(column, args) {
171
- const code = normalizeKeys(args);
172
- if (code === Keys.ArrowDown && args.altKey && this.showFilterMenu && this.isFilterable(column)) {
173
- args.preventDefault();
174
- args.stopImmediatePropagation();
175
- const filterMenu = this.filterMenus.find(fm => fm.column === column);
176
- filterMenu.toggle(filterMenu.anchor.nativeElement, filterMenu.template);
177
- return;
178
- }
179
- if (code === Keys.ArrowDown && args.altKey && this.showColumnMenu(column)) {
180
- args.preventDefault();
181
- args.stopImmediatePropagation();
182
- const columnMenu = this.columnMenus.find(cm => cm.column === column);
183
- columnMenu.toggle(null, columnMenu.anchor.nativeElement, columnMenu.template);
184
- return;
185
- }
186
- const isCtrlOrMeta = args.ctrlKey || args.metaKey;
187
- const isGroupingKeyShortcut = (code === Keys.Enter || code === Keys.Space) && isCtrlOrMeta;
188
- if (isGroupingKeyShortcut && this.isGroupable(column)) {
189
- args.preventDefault();
190
- args.stopImmediatePropagation();
191
- const isGroupedByField = this.groups.some(gr => gr.field === column.field);
192
- if (isGroupedByField) {
193
- this.groups = this.groups.filter(gr => gr.field !== column.field);
194
- }
195
- else {
196
- this.groups.push({
197
- field: column.field
198
- });
199
- }
200
- this.contextService.grid.groupChange.emit(this.groups);
201
- return;
202
- }
203
- const isLeftOrRightArrow = code === Keys.ArrowLeft || code === Keys.ArrowRight;
204
- const isReorderingKeyShortcut = isLeftOrRightArrow && isCtrlOrMeta;
205
- if (isReorderingKeyShortcut && this.isReorderable(column)) {
206
- args.preventDefault();
207
- const columnsCount = this.columnInfoService.leafNamedColumns.length;
208
- const reorderDirection = code === Keys.ArrowLeft ? -1 : 1;
209
- const rtlMultiplier = this.contextService.localization.rtl ? -1 : 1;
210
- const reorderDirectionOffset = reorderDirection * rtlMultiplier;
211
- const newIndex = column.leafIndex + reorderDirectionOffset;
212
- const normalizedNewIndex = Math.min(Math.max(0, newIndex), columnsCount - 1);
213
- const gridInstance = this.contextService.grid;
214
- gridInstance.reorderColumn(column, normalizedNewIndex, { before: reorderDirectionOffset < 0 });
215
- gridInstance.columnReorder.emit(new ColumnReorderEvent({
216
- column,
217
- newIndex: normalizedNewIndex,
218
- oldIndex: column.leafIndex
219
- }));
220
- return;
221
- }
222
- if (!this.sortable || args.defaultPrevented || column.sortable === false) {
223
- return;
224
- }
225
- if (code === Keys.Enter && isPresent(column.field)) {
226
- const modifier = this.matchModifier(args);
227
- this.sortService.sort(this.toggleSort(column, modifier));
228
- }
229
- }
230
- showSortNumbering(column) {
231
- const { showIndexes } = normalize(this.sortable);
232
- return showIndexes
233
- && this.sort
234
- && this.sort.filter(({ dir }) => isPresent(dir)).length > 1
235
- && this.sortOrder(column.field) > 0;
236
- }
237
- sortOrder(field) {
238
- return this.sort
239
- .filter(({ dir }) => isPresent(dir))
240
- .findIndex(x => x.field === field)
241
- + 1;
242
- }
243
- sortState(column) {
244
- if (!this.isInteractive(column, 'sortable')) {
245
- return;
246
- }
247
- const state = this.sortDescriptor(column.field);
248
- if (state.dir === 'asc') {
249
- return 'ascending';
250
- }
251
- if (state.dir === 'desc') {
252
- return 'descending';
253
- }
254
- }
255
- get isNavigable() {
256
- return this.navigationService.tableEnabled;
257
- }
258
- /**
259
- *
260
- * @param column
261
- * @param modifier - Indicates whether the client-defined `multiSortKey` modifier is met. Defaults to `true`.
262
- * @returns - SortDescriptor[]
263
- */
264
- toggleSort(column, modifier = true) {
265
- const { allowUnsort, mode, initialDirection } = normalize(this.sortable, column.sortable);
266
- const descriptor = this.toggleDirection(column.field, allowUnsort, initialDirection);
267
- if (mode === 'single' || !modifier) {
268
- return [descriptor];
269
- }
270
- return [...this.sort.filter(desc => desc.field !== column.field), descriptor];
271
- }
272
- /**
273
- *
274
- * Determines whether the modifier key (if any) passed
275
- * with a click/keyboard event matches the user-defined multiSortKey.
276
- */
277
- matchModifier(event) {
278
- const { multiSortKey } = normalize(this.sortable);
279
- if (multiSortKey === 'none') {
280
- return modifierKeys.every(key => !event[`${key}Key`]);
281
- }
282
- return multiSortKey === 'ctrl'
283
- ? event.ctrlKey || event.metaKey
284
- : event[`${multiSortKey}Key`];
285
- }
286
- ngAfterViewInit() {
287
- this.subscription.add(observe(this.dropTargets)
288
- .subscribe(this.attachTargets.bind(this)));
289
- }
290
- ngDoCheck() {
291
- this._leafColumns = columnsToRender(this.columns || []).filter(x => !isColumnGroupComponent(x));
292
- }
293
- ngOnChanges(changes) {
294
- const sortChange = changes.sort;
295
- if (sortChange && !sortChange.isFirstChange()) {
296
- sortChange.currentValue.forEach(change => {
297
- this.sortedFields[change.field] = true;
298
- });
299
- }
300
- }
301
- ngOnInit() {
302
- this.subscription.add(this.contextService.localization.changes
303
- .subscribe(() => this.cd.markForCheck()));
304
- }
305
- ngOnDestroy() {
306
- if (this.targetSubscription) {
307
- this.targetSubscription.unsubscribe();
308
- }
309
- if (this.popupService) {
310
- this.popupService.destroy();
311
- }
312
- this.subscription.unsubscribe();
313
- }
314
- selectAllCheckboxId() {
315
- return this.idService.selectAllCheckboxId();
316
- }
317
- get selectAllCheckboxLabel() {
318
- return this.contextService.localization.get('selectAllCheckboxLabel');
319
- }
320
- isFirstOnRow(column, index) {
321
- const isTailing = (c) => c &&
322
- (this.columnsForLevel(c.level).indexOf(c) > 0 || isTailing(c.parent));
323
- return index === 0 && !this.groups.length && !this.detailTemplate && isTailing(column.parent);
324
- }
325
- logicalColumnIndex(column) {
326
- const index = column.leafIndex;
327
- if (isPresent(index)) {
328
- return index + (isPresent(this.detailTemplate) ? 1 : 0);
329
- }
330
- return -1;
331
- }
332
- get showFilterMenu() {
333
- return !this.columnMenu && hasFilterMenu(this.filterable);
334
- }
335
- get showFilterRow() {
336
- return hasFilterRow(this.filterable);
337
- }
338
- showColumnMenu(column) {
339
- return this.columnMenu && column.columnMenu &&
340
- (this.columnMenuTemplate || column.columnMenuTemplates.length || hasItems(this.columnMenu, column));
341
- }
342
- isFilterable(column) {
343
- return !isNullOrEmptyString(column.field) && column.filterable === true;
344
- }
345
- canDrop(draggable, target) {
346
- isDocumentAvailable() && this.zone.runOutsideAngular(() => {
347
- document.addEventListener('pointerup', () => {
348
- this.stopSorting = true;
349
- setTimeout(() => this.stopSorting = false);
350
- }, {
351
- once: true,
352
- capture: true
353
- });
354
- });
355
- return this.reorderable && rules({ draggable, target });
356
- }
357
- shouldActivate(column) {
358
- const canReorder = this.isReorderable(column);
359
- if (!canReorder && !isColumnComponent(column)) {
360
- return false;
361
- }
362
- const groupable = this.isGroupable(column);
363
- return groupable || canReorder;
364
- }
365
- isInteractive(column, prop) {
366
- return !isNullOrEmptyString(column.field)
367
- && isTruthy(this[prop]) && isTruthy(column[prop]);
368
- }
369
- isCheckboxColumn(column) {
370
- return isCheckboxColumn(column) && !column.templateRef;
371
- }
372
- addStickyStyles(column) {
373
- const stickyStyles = this.columnInfoService.stickyColumnsStyles(column);
374
- return { ...column.headerStyle, ...stickyStyles };
375
- }
376
- toggleDirection(field, allowUnsort, initialDirection) {
377
- const descriptor = this.sortDescriptor(field);
378
- const [first, second] = directions(initialDirection);
379
- let dir = first;
380
- if (descriptor.dir === first) {
381
- dir = second;
382
- }
383
- else if (descriptor.dir === second && allowUnsort) {
384
- dir = undefined;
385
- }
386
- return { dir, field };
387
- }
388
- columnsForLevel(level) {
389
- const columns = this.columns ? this.columns.filter(column => column.level === level) : [];
390
- return sortColumns(columnsToRender(columns));
391
- }
392
- isColumnGroupComponent(column) {
393
- return isColumnGroupComponent(column);
394
- }
395
- sortDescriptor(field) {
396
- return this.sort.find(item => item.field === field) || { field };
397
- }
398
- get columnLevels() {
399
- return new Array((this.totalColumnLevels || 0) + 1);
400
- }
401
- get leafColumns() {
402
- return this._leafColumns;
403
- }
404
- get isStacked() {
405
- return this.contextService.grid?.isStacked;
406
- }
407
- isReorderable(column) {
408
- return this.reorderable && column.reorderable;
409
- }
410
- isGroupable(column) {
411
- return this.groupable && isColumnComponent(column) && column.groupable !== false;
412
- }
413
- attachTargets() {
414
- if (this.targetSubscription) {
415
- this.targetSubscription.unsubscribe();
416
- }
417
- this.targetSubscription = new Subscription();
418
- const enterStream = merge(...this.dropTargets.map(target => target.enter));
419
- const leaveStream = merge(...this.dropTargets.map(target => target.leave));
420
- const dropStream = merge(...this.dropTargets.map(target => target.drop));
421
- this.targetSubscription.add(enterStream.pipe(tap(({ target, draggable }) => {
422
- if (draggable.context.type === 'groupIndicator') {
423
- return;
424
- }
425
- const targetLocked = isTruthy(target.context.column.isLocked);
426
- const draggableLocked = isTruthy(draggable.context.column.isLocked);
427
- if (this.lockedColumnsCount > 0 || targetLocked || draggableLocked) {
428
- this.hint.toggleLock(targetLocked);
429
- }
430
- }), filter(({ draggable, target }) => this.canDrop(draggable, target)), switchMap(this.trackMove.bind(this, leaveStream, dropStream)), map((e) => mergeObjects(e, { before: this.calculateBefore(e), changeContainer: e.changeContainer })), map(this.normalizeTarget.bind(this)), tap(this.enter.bind(this)), switchMap((args) => dropStream.pipe(map(() => args), takeUntil(leaveStream.pipe(tap(this.leave.bind(this)))))))
431
- .subscribe(this.drop.bind(this)));
432
- }
433
- normalizeTarget(e) {
434
- let target = e.target;
435
- const parent = target.context.column.parent;
436
- if (parent && parent.isSpanColumn) {
437
- const arr = this.dropTargets.toArray();
438
- const firstSpan = arr.find(t => t.context.column.parent === parent);
439
- const index = arr.indexOf(firstSpan);
440
- const adjust = e.before ? 0 : parent.children.length - 1;
441
- target = arr[index + adjust];
442
- }
443
- return mergeObjects(e, { target });
444
- }
445
- trackMove(leaveStream, dropStream, e) {
446
- const column = e.target.context.column;
447
- const levelColumns = this.columnsForLevel(column.level);
448
- const index = levelColumns.indexOf(column);
449
- const isFirst = (column.locked ? index === levelColumns.length - 1 : index === 0);
450
- const changed = e.draggable.context.column.isLocked !== column.isLocked;
451
- if (changed && isFirst) {
452
- return e.draggable.drag
453
- .pipe(takeUntil(leaveStream), takeUntil(dropStream), map(({ mouseEvent }) => mergeObjects({ changeContainer: true }, e, { mouseEvent })));
454
- }
455
- return of(mergeObjects({ changeContainer: changed }, e));
456
- }
457
- calculateBefore({ draggable, target, mouseEvent, changeContainer = false }) {
458
- const targetElement = target.element.nativeElement;
459
- let before = false;
460
- if (changeContainer) {
461
- const { left } = offset(targetElement);
462
- const halfWidth = targetElement.offsetWidth / 2;
463
- const middle = left + halfWidth;
464
- before = middle > mouseEvent.pageX;
465
- if (this.contextService.localization.rtl) {
466
- before = !before;
467
- }
468
- }
469
- else {
470
- before = isTargetBefore(draggable.element.nativeElement, targetElement);
471
- }
472
- return before;
473
- }
474
- enter({ target, before }) {
475
- this.hint.enable();
476
- if (this.contextService.localization.rtl) {
477
- before = !before;
478
- }
479
- this.cue.position(position(target.element.nativeElement, before));
480
- }
481
- leave() {
482
- this.hint.disable();
483
- this.cue.hide();
484
- }
485
- drop({ draggable, target, before, changeContainer }) {
486
- this.reorderService.reorder({
487
- before,
488
- changeContainer,
489
- source: draggable.context.column,
490
- target: target.context.column
491
- });
492
- }
493
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HeaderComponent, deps: [{ token: i1.SinglePopupService }, { token: i2.DragHintService }, { token: i3.DropCueService }, { token: i4.ColumnReorderService }, { token: i5.IdService }, { token: i6.SortService }, { token: i7.ColumnInfoService }, { token: i0.ChangeDetectorRef }, { token: i8.ContextService }, { token: i9.NavigationService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
494
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: HeaderComponent, isStandalone: true, selector: "[kendoGridHeader]", inputs: { totalColumnLevels: "totalColumnLevels", columns: "columns", groups: "groups", detailTemplate: "detailTemplate", scrollable: "scrollable", filterable: "filterable", sort: "sort", filter: "filter", sortable: "sortable", groupable: "groupable", lockedColumnsCount: "lockedColumnsCount", resizable: "resizable", reorderable: "reorderable", columnMenu: "columnMenu", columnMenuTemplate: "columnMenuTemplate", totalColumnsCount: "totalColumnsCount", totalColumns: "totalColumns", tabIndex: "tabIndex", size: "size" }, host: { properties: { "class.k-table-thead": "this.hostClass" } }, viewQueries: [{ propertyName: "dropTargets", predicate: DropTargetDirective, descendants: true }, { propertyName: "filterMenus", predicate: FilterMenuComponent, descendants: true }, { propertyName: "columnMenus", predicate: ColumnMenuComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: `
495
- @for (i of columnLevels; track $index; let levelIndex = $index) {
496
- <tr
497
- kendoGridLogicalRow
498
- [logicalRowIndex]="levelIndex"
499
- [logicalSlaveRow]="lockedColumnsCount > 0"
500
- [logicalCellsCount]="columns.length"
501
- [logicalSlaveCellsCount]="unlockedColumnsCount"
502
- [totalColumns]="totalColumns">
503
- @for (g of groups; track g) {
504
- <th
505
- class="k-group-cell k-header k-table-th"
506
- role="presentation"
507
- >
508
- </th>
509
- }
510
- @if (detailTemplate?.templateRef && !isStacked) {
511
- <th class="k-hierarchy-cell k-header k-table-th"
512
- role="presentation"
513
- >
514
- </th>
515
- }
516
- @for (column of columnsForLevel(levelIndex); track column.id; let columnIndex = $index; let last = $last) {
517
- @if (!isColumnGroupComponent(column)) {
518
- <th
519
- kendoGridLogicalCell
520
- [logicalRowIndex]="levelIndex"
521
- [logicalColIndex]="logicalColumnIndex(column)"
522
- [headerLabelText]="column.title || getColumnComponent(column).field"
523
- [colSpan]="column.colspan"
524
- [rowSpan]="column.rowspan(totalColumnLevels)"
525
- role="columnheader"
526
- aria-selected="false"
527
- [attr.aria-sort]="sortState(getColumnComponent(column))"
528
- [class.k-sorted]="sortState(getColumnComponent(column))"
529
- (keydown)="onHeaderKeydown(getColumnComponent(column), $event)"
530
- kendoDropTarget
531
- kendoDraggable
532
- kendoDraggableColumn
533
- [enableDrag]="shouldActivate(column)"
534
- [context]="{
535
- field: getColumnComponent(column).field,
536
- type: 'column',
537
- column: column,
538
- hint: column.title || getColumnComponent(column).field,
539
- lastColumn: last && columnIndex === 0
540
- }"
541
- class="k-header k-table-th"
542
- [class.k-filterable]="(showFilterMenu && isFilterable(getColumnComponent(column))) || showColumnMenu(column)"
543
- [class.k-first]="isFirstOnRow(getColumnComponent(column), columnIndex)"
544
- [class.k-grid-header-sticky]="column.sticky"
545
- [ngClass]="column.headerClass"
546
- [ngStyle]="column.sticky ? addStickyStyles(column) : column.headerStyle"
547
- [attr.rowspan]="column.rowspan(totalColumnLevels)"
548
- [attr.colspan]="column.colspan"
549
- [attr.aria-haspopup]="isNavigable && (showFilterMenu || showColumnMenu(column)) ? 'dialog' : undefined"
550
- [attr.aria-expanded]="isNavigable && (showFilterMenu || showColumnMenu(column)) ? false : undefined"
551
- [attr.aria-keyshortcuts]="isNavigable && (showFilterMenu || showColumnMenu(column)) ? 'Alt + ArrowDown' : undefined">
552
- @if (!isInteractive(getColumnComponent(column), 'sortable')) {
553
- <span class="k-cell-inner">
554
- <span class="k-link" [class.!k-cursor-default]="!isInteractive(getColumnComponent(column), 'groupable') && !isInteractive(getColumnComponent(column), 'reorderable')">
555
- <ng-template
556
- [templateContext]="{
557
- templateRef: column.headerTemplateRef,
558
- columnIndex: column.leafIndex,
559
- column: column,
560
- $implicit: column
561
- }">
562
- </ng-template>
563
- @if (!column.headerTemplateRef) {
564
- <span class="k-column-title">{{column.displayTitle}}</span>
565
- }
566
- </span>
567
- @if (showFilterMenu && isFilterable(getColumnComponent(column))) {
568
- <kendo-grid-filter-menu
569
- [column]="getColumnComponent(column)"
570
- [filter]="filter"
571
- [tabIndex]="tabIndex">
572
- </kendo-grid-filter-menu>
573
- }
574
- @if (showColumnMenu(column)) {
575
- <kendo-grid-column-menu
576
- [standalone]="false"
577
- [settings]="columnMenuSettings"
578
- [column]="column"
579
- [columnMenuTemplate]="columnMenuTemplate"
580
- [sort]="sort"
581
- [filter]="filter"
582
- [sortable]="sortable"
583
- [tabIndex]="tabIndex">
584
- </kendo-grid-column-menu>
585
- }
586
- </span>
587
- }
588
- @if (isInteractive(getColumnComponent(column), 'sortable')) {
589
- <span class="k-cell-inner">
590
- <span #link class="k-link" (click)="onSortClick(getColumnComponent(column), $event, link)">
591
- <ng-template
592
- [templateContext]="{
593
- templateRef: column.headerTemplateRef,
594
- columnIndex: column.leafIndex,
595
- column: column,
596
- $implicit: column
597
- }">
598
- </ng-template>
599
- @if (!column.headerTemplateRef) {
600
- <span class="k-column-title">{{column.displayTitle}}</span>
601
- }
602
- <span [class.k-sort-icon]="sortDescriptor(getColumnComponent(column).field).dir">
603
- @if (sortDescriptor(getColumnComponent(column).field).dir) {
604
- <kendo-icon-wrapper
605
- role="note" [attr.aria-label]="sortableLabel"
606
- name="sort-{{sortDescriptor(getColumnComponent(column).field).dir}}-small"
607
- [svgIcon]="sortDescriptor(getColumnComponent(column).field).dir === 'asc' ? sortAscSmallIcon : sortDescSmallIcon"
608
- ></kendo-icon-wrapper>
609
- }
610
- </span>
611
- @if (showSortNumbering(getColumnComponent(column))) {
612
- <span class="k-sort-order">{{sortOrder(getColumnComponent(column).field)}}</span>
613
- }
614
- </span>
615
- @if (showFilterMenu && isFilterable(getColumnComponent(column))) {
616
- <kendo-grid-filter-menu
617
- [column]="getColumnComponent(column)"
618
- [filter]="filter"
619
- [tabIndex]="tabIndex">
620
- </kendo-grid-filter-menu>
621
- }
622
- @if (showColumnMenu(column)) {
623
- <kendo-grid-column-menu
624
- [standalone]="false"
625
- [settings]="columnMenuSettings"
626
- [column]="column"
627
- [columnMenuTemplate]="columnMenuTemplate"
628
- [sort]="sort"
629
- [filter]="filter"
630
- [sortable]="sortable"
631
- [tabIndex]="tabIndex">
632
- </kendo-grid-column-menu>
633
- }
634
- </span>
635
- }
636
- @if (isCheckboxColumn(column) && !column.headerTemplateRef && $any(column).showSelectAll) {
637
- <kendo-checkbox
638
- [attr.id]="selectAllCheckboxId()"
639
- [inputAttributes]="{'aria-label': selectAllCheckboxLabel}"
640
- kendoGridSelectAllCheckbox
641
- kendoGridFocusable
642
- ></kendo-checkbox>
643
- }
644
- @if (resizable) {
645
- <span kendoGridColumnHandle
646
- kendoDraggable
647
- class="k-column-resizer"
648
- [isLast]="last"
649
- [column]="column"
650
- [columns]="columns">
651
- </span>
652
- }
653
- </th>
654
- }
655
- @if (isColumnGroupComponent(column)) {
656
- <th
657
- kendoGridLogicalCell
658
- [logicalRowIndex]="levelIndex"
659
- [logicalColIndex]="logicalColumnIndex(column)"
660
- [rowSpan]="column.rowspan(totalColumnLevels)"
661
- [colSpan]="column.colspan"
662
- [headerLabelText]="column.title || getColumnComponent(column).field"
663
- kendoDropTarget
664
- kendoDraggable
665
- kendoDraggableColumn
666
- [enableDrag]="shouldActivate(column)"
667
- [context]="{
668
- type: 'columnGroup',
669
- column: column,
670
- hint: column.title,
671
- lastColumn: last && columnIndex === 0
672
- }"
673
- class="k-header k-table-th"
674
- [class.k-first]="isFirstOnRow(getColumnComponent(column), columnIndex)"
675
- [class.k-filterable]="showColumnMenu(column)"
676
- [class.k-grid-content-sticky]="column.sticky"
677
- [ngClass]="column.headerClass"
678
- [ngStyle]="column.headerStyle"
679
- [attr.aria-haspopup]="(isNavigable && showColumnMenu(column)) ? 'dialog' : undefined"
680
- [attr.aria-expanded]="(isNavigable && showColumnMenu(column)) ? false : undefined"
681
- [attr.aria-keyshortcuts]="isNavigable && showColumnMenu(column) ? 'Alt + ArrowDown' : undefined"
682
- [attr.rowspan]="column.rowspan(totalColumnLevels)"
683
- [attr.colspan]="column.colspan">
684
- <span class="k-cell-inner">
685
- <span class="k-link" [class.!k-cursor-default]="!isInteractive(getColumnComponent(column), 'reorderable')">
686
- <ng-template
687
- [templateContext]="{
688
- templateRef: column.headerTemplateRef,
689
- columnIndex: lockedColumnsCount + columnIndex,
690
- column: column,
691
- $implicit: column
692
- }">
693
- </ng-template>
694
- @if (!column.headerTemplateRef) {
695
- <span class="k-column-title">{{column.displayTitle}}</span>
696
- }
697
- </span>
698
- @if (showColumnMenu(column)) {
699
- <kendo-grid-column-menu
700
- [standalone]="false"
701
- [settings]="columnMenuSettings"
702
- [column]="column"
703
- [columnMenuTemplate]="columnMenuTemplate">
704
- </kendo-grid-column-menu>
705
- }
706
- </span>
707
- @if (resizable) {
708
- <span kendoGridColumnHandle
709
- kendoDraggable
710
- class="k-column-resizer"
711
- [isLast]="last"
712
- [column]="column"
713
- [columns]="columns">
714
- </span>
715
- }
716
- </th>
717
- }
718
- }
719
- </tr>
720
- }
721
- @if (showFilterRow) {
722
- <tr
723
- kendoGridFilterRow
724
- [columns]="leafColumns"
725
- [filter]="filter"
726
- [groups]="groups"
727
- [detailTemplate]="detailTemplate"
728
- [lockedColumnsCount]="lockedColumnsCount"
729
- kendoGridLogicalRow
730
- [logicalRowIndex]="totalColumnLevels + 1"
731
- [logicalSlaveRow]="lockedColumnsCount > 0"
732
- [logicalCellsCount]="columns.length"
733
- [logicalSlaveCellsCount]="unlockedColumnsCount"
734
- [totalColumns]="totalColumns"></tr>
735
- }
736
- `, isInline: true, dependencies: [{ kind: "directive", type: LogicalRowDirective, selector: "[kendoGridLogicalRow]", inputs: ["logicalRowIndex", "logicalSlaveRow", "logicalCellsCount", "logicalSlaveCellsCount", "dataRowIndex", "dataItem", "totalColumns"] }, { kind: "directive", type: LogicalCellDirective, selector: "[kendoGridLogicalCell]", inputs: ["logicalColIndex", "logicalRowIndex", "logicalSlaveCell", "colIndex", "colSpan", "rowSpan", "groupItem", "dataRowIndex", "dataItem", "detailExpandCell", "headerLabelText"] }, { kind: "directive", type: DropTargetDirective, selector: "[kendoDropTarget]", inputs: ["context"], outputs: ["enter", "leave", "drop"] }, { kind: "directive", type: DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { kind: "directive", type: DraggableColumnDirective, selector: "[kendoDraggableColumn]", inputs: ["context", "enableDrag"], outputs: ["drag"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { kind: "component", type: FilterMenuComponent, selector: "kendo-grid-filter-menu", inputs: ["column", "filter", "tabIndex"] }, { kind: "component", type: ColumnMenuComponent, selector: "kendo-grid-column-menu", inputs: ["standalone", "column", "settings", "sort", "filter", "sortable", "columnMenuTemplate", "tabIndex"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: SelectAllCheckboxDirective, selector: "[kendoGridSelectAllCheckbox]", inputs: ["state"], outputs: ["selectAllChange"] }, { kind: "directive", type: FocusableDirective, selector: "[kendoGridFocusable],\n [kendoGridEditCommand],\n [kendoGridRemoveCommand],\n [kendoGridSaveCommand],\n [kendoGridCancelCommand],\n [kendoGridSelectionCheckbox]\n ", inputs: ["kendoGridFocusable"] }, { kind: "directive", type: ColumnHandleDirective, selector: "[kendoGridColumnHandle]", inputs: ["isLast", "columns", "column"] }, { kind: "component", type: FilterRowComponent, selector: "[kendoGridFilterRow]", inputs: ["columns", "filter", "groups", "detailTemplate", "logicalRowIndex", "lockedColumnsCount"] }, { kind: "component", type: CheckBoxComponent, selector: "kendo-checkbox", inputs: ["checkedState", "rounded"], outputs: ["checkedStateChange"], exportAs: ["kendoCheckBox"] }] });
737
- }
738
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: HeaderComponent, decorators: [{
739
- type: Component,
740
- args: [{
741
- selector: '[kendoGridHeader]',
742
- template: `
743
- @for (i of columnLevels; track $index; let levelIndex = $index) {
744
- <tr
745
- kendoGridLogicalRow
746
- [logicalRowIndex]="levelIndex"
747
- [logicalSlaveRow]="lockedColumnsCount > 0"
748
- [logicalCellsCount]="columns.length"
749
- [logicalSlaveCellsCount]="unlockedColumnsCount"
750
- [totalColumns]="totalColumns">
751
- @for (g of groups; track g) {
752
- <th
753
- class="k-group-cell k-header k-table-th"
754
- role="presentation"
755
- >
756
- </th>
757
- }
758
- @if (detailTemplate?.templateRef && !isStacked) {
759
- <th class="k-hierarchy-cell k-header k-table-th"
760
- role="presentation"
761
- >
762
- </th>
763
- }
764
- @for (column of columnsForLevel(levelIndex); track column.id; let columnIndex = $index; let last = $last) {
765
- @if (!isColumnGroupComponent(column)) {
766
- <th
767
- kendoGridLogicalCell
768
- [logicalRowIndex]="levelIndex"
769
- [logicalColIndex]="logicalColumnIndex(column)"
770
- [headerLabelText]="column.title || getColumnComponent(column).field"
771
- [colSpan]="column.colspan"
772
- [rowSpan]="column.rowspan(totalColumnLevels)"
773
- role="columnheader"
774
- aria-selected="false"
775
- [attr.aria-sort]="sortState(getColumnComponent(column))"
776
- [class.k-sorted]="sortState(getColumnComponent(column))"
777
- (keydown)="onHeaderKeydown(getColumnComponent(column), $event)"
778
- kendoDropTarget
779
- kendoDraggable
780
- kendoDraggableColumn
781
- [enableDrag]="shouldActivate(column)"
782
- [context]="{
783
- field: getColumnComponent(column).field,
784
- type: 'column',
785
- column: column,
786
- hint: column.title || getColumnComponent(column).field,
787
- lastColumn: last && columnIndex === 0
788
- }"
789
- class="k-header k-table-th"
790
- [class.k-filterable]="(showFilterMenu && isFilterable(getColumnComponent(column))) || showColumnMenu(column)"
791
- [class.k-first]="isFirstOnRow(getColumnComponent(column), columnIndex)"
792
- [class.k-grid-header-sticky]="column.sticky"
793
- [ngClass]="column.headerClass"
794
- [ngStyle]="column.sticky ? addStickyStyles(column) : column.headerStyle"
795
- [attr.rowspan]="column.rowspan(totalColumnLevels)"
796
- [attr.colspan]="column.colspan"
797
- [attr.aria-haspopup]="isNavigable && (showFilterMenu || showColumnMenu(column)) ? 'dialog' : undefined"
798
- [attr.aria-expanded]="isNavigable && (showFilterMenu || showColumnMenu(column)) ? false : undefined"
799
- [attr.aria-keyshortcuts]="isNavigable && (showFilterMenu || showColumnMenu(column)) ? 'Alt + ArrowDown' : undefined">
800
- @if (!isInteractive(getColumnComponent(column), 'sortable')) {
801
- <span class="k-cell-inner">
802
- <span class="k-link" [class.!k-cursor-default]="!isInteractive(getColumnComponent(column), 'groupable') && !isInteractive(getColumnComponent(column), 'reorderable')">
803
- <ng-template
804
- [templateContext]="{
805
- templateRef: column.headerTemplateRef,
806
- columnIndex: column.leafIndex,
807
- column: column,
808
- $implicit: column
809
- }">
810
- </ng-template>
811
- @if (!column.headerTemplateRef) {
812
- <span class="k-column-title">{{column.displayTitle}}</span>
813
- }
814
- </span>
815
- @if (showFilterMenu && isFilterable(getColumnComponent(column))) {
816
- <kendo-grid-filter-menu
817
- [column]="getColumnComponent(column)"
818
- [filter]="filter"
819
- [tabIndex]="tabIndex">
820
- </kendo-grid-filter-menu>
821
- }
822
- @if (showColumnMenu(column)) {
823
- <kendo-grid-column-menu
824
- [standalone]="false"
825
- [settings]="columnMenuSettings"
826
- [column]="column"
827
- [columnMenuTemplate]="columnMenuTemplate"
828
- [sort]="sort"
829
- [filter]="filter"
830
- [sortable]="sortable"
831
- [tabIndex]="tabIndex">
832
- </kendo-grid-column-menu>
833
- }
834
- </span>
835
- }
836
- @if (isInteractive(getColumnComponent(column), 'sortable')) {
837
- <span class="k-cell-inner">
838
- <span #link class="k-link" (click)="onSortClick(getColumnComponent(column), $event, link)">
839
- <ng-template
840
- [templateContext]="{
841
- templateRef: column.headerTemplateRef,
842
- columnIndex: column.leafIndex,
843
- column: column,
844
- $implicit: column
845
- }">
846
- </ng-template>
847
- @if (!column.headerTemplateRef) {
848
- <span class="k-column-title">{{column.displayTitle}}</span>
849
- }
850
- <span [class.k-sort-icon]="sortDescriptor(getColumnComponent(column).field).dir">
851
- @if (sortDescriptor(getColumnComponent(column).field).dir) {
852
- <kendo-icon-wrapper
853
- role="note" [attr.aria-label]="sortableLabel"
854
- name="sort-{{sortDescriptor(getColumnComponent(column).field).dir}}-small"
855
- [svgIcon]="sortDescriptor(getColumnComponent(column).field).dir === 'asc' ? sortAscSmallIcon : sortDescSmallIcon"
856
- ></kendo-icon-wrapper>
857
- }
858
- </span>
859
- @if (showSortNumbering(getColumnComponent(column))) {
860
- <span class="k-sort-order">{{sortOrder(getColumnComponent(column).field)}}</span>
861
- }
862
- </span>
863
- @if (showFilterMenu && isFilterable(getColumnComponent(column))) {
864
- <kendo-grid-filter-menu
865
- [column]="getColumnComponent(column)"
866
- [filter]="filter"
867
- [tabIndex]="tabIndex">
868
- </kendo-grid-filter-menu>
869
- }
870
- @if (showColumnMenu(column)) {
871
- <kendo-grid-column-menu
872
- [standalone]="false"
873
- [settings]="columnMenuSettings"
874
- [column]="column"
875
- [columnMenuTemplate]="columnMenuTemplate"
876
- [sort]="sort"
877
- [filter]="filter"
878
- [sortable]="sortable"
879
- [tabIndex]="tabIndex">
880
- </kendo-grid-column-menu>
881
- }
882
- </span>
883
- }
884
- @if (isCheckboxColumn(column) && !column.headerTemplateRef && $any(column).showSelectAll) {
885
- <kendo-checkbox
886
- [attr.id]="selectAllCheckboxId()"
887
- [inputAttributes]="{'aria-label': selectAllCheckboxLabel}"
888
- kendoGridSelectAllCheckbox
889
- kendoGridFocusable
890
- ></kendo-checkbox>
891
- }
892
- @if (resizable) {
893
- <span kendoGridColumnHandle
894
- kendoDraggable
895
- class="k-column-resizer"
896
- [isLast]="last"
897
- [column]="column"
898
- [columns]="columns">
899
- </span>
900
- }
901
- </th>
902
- }
903
- @if (isColumnGroupComponent(column)) {
904
- <th
905
- kendoGridLogicalCell
906
- [logicalRowIndex]="levelIndex"
907
- [logicalColIndex]="logicalColumnIndex(column)"
908
- [rowSpan]="column.rowspan(totalColumnLevels)"
909
- [colSpan]="column.colspan"
910
- [headerLabelText]="column.title || getColumnComponent(column).field"
911
- kendoDropTarget
912
- kendoDraggable
913
- kendoDraggableColumn
914
- [enableDrag]="shouldActivate(column)"
915
- [context]="{
916
- type: 'columnGroup',
917
- column: column,
918
- hint: column.title,
919
- lastColumn: last && columnIndex === 0
920
- }"
921
- class="k-header k-table-th"
922
- [class.k-first]="isFirstOnRow(getColumnComponent(column), columnIndex)"
923
- [class.k-filterable]="showColumnMenu(column)"
924
- [class.k-grid-content-sticky]="column.sticky"
925
- [ngClass]="column.headerClass"
926
- [ngStyle]="column.headerStyle"
927
- [attr.aria-haspopup]="(isNavigable && showColumnMenu(column)) ? 'dialog' : undefined"
928
- [attr.aria-expanded]="(isNavigable && showColumnMenu(column)) ? false : undefined"
929
- [attr.aria-keyshortcuts]="isNavigable && showColumnMenu(column) ? 'Alt + ArrowDown' : undefined"
930
- [attr.rowspan]="column.rowspan(totalColumnLevels)"
931
- [attr.colspan]="column.colspan">
932
- <span class="k-cell-inner">
933
- <span class="k-link" [class.!k-cursor-default]="!isInteractive(getColumnComponent(column), 'reorderable')">
934
- <ng-template
935
- [templateContext]="{
936
- templateRef: column.headerTemplateRef,
937
- columnIndex: lockedColumnsCount + columnIndex,
938
- column: column,
939
- $implicit: column
940
- }">
941
- </ng-template>
942
- @if (!column.headerTemplateRef) {
943
- <span class="k-column-title">{{column.displayTitle}}</span>
944
- }
945
- </span>
946
- @if (showColumnMenu(column)) {
947
- <kendo-grid-column-menu
948
- [standalone]="false"
949
- [settings]="columnMenuSettings"
950
- [column]="column"
951
- [columnMenuTemplate]="columnMenuTemplate">
952
- </kendo-grid-column-menu>
953
- }
954
- </span>
955
- @if (resizable) {
956
- <span kendoGridColumnHandle
957
- kendoDraggable
958
- class="k-column-resizer"
959
- [isLast]="last"
960
- [column]="column"
961
- [columns]="columns">
962
- </span>
963
- }
964
- </th>
965
- }
966
- }
967
- </tr>
968
- }
969
- @if (showFilterRow) {
970
- <tr
971
- kendoGridFilterRow
972
- [columns]="leafColumns"
973
- [filter]="filter"
974
- [groups]="groups"
975
- [detailTemplate]="detailTemplate"
976
- [lockedColumnsCount]="lockedColumnsCount"
977
- kendoGridLogicalRow
978
- [logicalRowIndex]="totalColumnLevels + 1"
979
- [logicalSlaveRow]="lockedColumnsCount > 0"
980
- [logicalCellsCount]="columns.length"
981
- [logicalSlaveCellsCount]="unlockedColumnsCount"
982
- [totalColumns]="totalColumns"></tr>
983
- }
984
- `,
985
- standalone: true,
986
- imports: [
987
- LogicalRowDirective,
988
- LogicalCellDirective,
989
- DropTargetDirective,
990
- DraggableDirective,
991
- DraggableColumnDirective,
992
- NgClass,
993
- NgStyle,
994
- TemplateContextDirective,
995
- FilterMenuComponent,
996
- ColumnMenuComponent,
997
- IconWrapperComponent,
998
- SelectAllCheckboxDirective,
999
- FocusableDirective,
1000
- ColumnHandleDirective,
1001
- FilterRowComponent,
1002
- CheckBoxComponent
1003
- ]
1004
- }]
1005
- }], ctorParameters: () => [{ type: i1.SinglePopupService }, { type: i2.DragHintService }, { type: i3.DropCueService }, { type: i4.ColumnReorderService }, { type: i5.IdService }, { type: i6.SortService }, { type: i7.ColumnInfoService }, { type: i0.ChangeDetectorRef }, { type: i8.ContextService }, { type: i9.NavigationService }, { type: i0.NgZone }], propDecorators: { totalColumnLevels: [{
1006
- type: Input
1007
- }], columns: [{
1008
- type: Input
1009
- }], groups: [{
1010
- type: Input
1011
- }], detailTemplate: [{
1012
- type: Input
1013
- }], scrollable: [{
1014
- type: Input
1015
- }], filterable: [{
1016
- type: Input
1017
- }], sort: [{
1018
- type: Input
1019
- }], filter: [{
1020
- type: Input
1021
- }], sortable: [{
1022
- type: Input
1023
- }], groupable: [{
1024
- type: Input
1025
- }], lockedColumnsCount: [{
1026
- type: Input
1027
- }], resizable: [{
1028
- type: Input
1029
- }], reorderable: [{
1030
- type: Input
1031
- }], columnMenu: [{
1032
- type: Input
1033
- }], columnMenuTemplate: [{
1034
- type: Input
1035
- }], totalColumnsCount: [{
1036
- type: Input
1037
- }], totalColumns: [{
1038
- type: Input
1039
- }], tabIndex: [{
1040
- type: Input
1041
- }], size: [{
1042
- type: Input
1043
- }], hostClass: [{
1044
- type: HostBinding,
1045
- args: ['class.k-table-thead']
1046
- }], dropTargets: [{
1047
- type: ViewChildren,
1048
- args: [DropTargetDirective]
1049
- }], filterMenus: [{
1050
- type: ViewChildren,
1051
- args: [FilterMenuComponent]
1052
- }], columnMenus: [{
1053
- type: ViewChildren,
1054
- args: [ColumnMenuComponent]
1055
- }] } });