@progress/kendo-angular-grid 21.4.1 → 22.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 (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,98 +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 { Component, HostListener, HostBinding, ElementRef, Renderer2 as Renderer, NgZone } from '@angular/core';
6
- import { Button } from '@progress/kendo-angular-buttons';
7
- import { ContextService } from '../common/provider.service';
8
- import { ExcelService } from './excel.service';
9
- import { IconWrapperComponent } from '@progress/kendo-angular-icons';
10
- import { NgClass } from '@angular/common';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "./excel.service";
13
- import * as i2 from "../common/provider.service";
14
- /**
15
- * Represents the `excelExport` command of the Grid. Apply this
16
- * directive to any `button` element inside a [`ToolbarTemplate`]({% slug api_grid_toolbartemplatedirective %}).
17
- * When the user clicks the button, the [`excelExport`]({% slug api_grid_gridcomponent %}#toc-excelexport) event fires ([see example]({% slug excelexport_grid %})).
18
- *
19
- * @example
20
- * ```html
21
- * <kendo-grid>
22
- * <ng-template kendoGridToolbarTemplate>
23
- * <button kendoGridExcelCommand>Export to Excel</button>
24
- * </ng-template>
25
- * <kendo-grid-excel fileName="Grid.xlsx"></kendo-grid-excel>
26
- * </kendo-grid>
27
- * ```
28
- */
29
- export class ExcelCommandDirective extends Button {
30
- excelService;
31
- /**
32
- * @hidden
33
- */
34
- onClick(e) {
35
- e.preventDefault();
36
- this.excelService.exportClick.emit();
37
- }
38
- /**
39
- * @hidden
40
- */
41
- get excelClass() {
42
- return true;
43
- }
44
- constructor(excelService, element, renderer, ctx, ngZone) {
45
- super(element, renderer, null, ctx.localization, ngZone);
46
- this.excelService = excelService;
47
- this.ngZone = ngZone;
48
- }
49
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExcelCommandDirective, deps: [{ token: i1.ExcelService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i2.ContextService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
50
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ExcelCommandDirective, isStandalone: true, selector: "[kendoGridExcelCommand]", host: { listeners: { "click": "onClick($event)" }, properties: { "class.k-grid-excel": "this.excelClass" } }, usesInheritance: true, ngImport: i0, template: `
51
- @if (icon || svgIcon) {
52
- <kendo-icon-wrapper
53
- innerCssClass="k-button-icon"
54
- [name]="icon"
55
- [svgIcon]="svgIcon"></kendo-icon-wrapper>
56
- }
57
- @if (imageUrl) {
58
- <span class="k-button-icon k-icon">
59
- <img [src]="imageUrl" class="k-image" role="presentation" />
60
- </span>
61
- }
62
- @if (iconClass) {
63
- <span class="k-button-icon" [ngClass]="iconClass"></span>
64
- }
65
- <span class="k-button-text"><ng-content></ng-content></span>
66
- `, isInline: true, dependencies: [{ kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
67
- }
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExcelCommandDirective, decorators: [{
69
- type: Component,
70
- args: [{
71
- selector: '[kendoGridExcelCommand]',
72
- template: `
73
- @if (icon || svgIcon) {
74
- <kendo-icon-wrapper
75
- innerCssClass="k-button-icon"
76
- [name]="icon"
77
- [svgIcon]="svgIcon"></kendo-icon-wrapper>
78
- }
79
- @if (imageUrl) {
80
- <span class="k-button-icon k-icon">
81
- <img [src]="imageUrl" class="k-image" role="presentation" />
82
- </span>
83
- }
84
- @if (iconClass) {
85
- <span class="k-button-icon" [ngClass]="iconClass"></span>
86
- }
87
- <span class="k-button-text"><ng-content></ng-content></span>
88
- `,
89
- standalone: true,
90
- imports: [IconWrapperComponent, NgClass]
91
- }]
92
- }], ctorParameters: () => [{ type: i1.ExcelService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i2.ContextService }, { type: i0.NgZone }], propDecorators: { onClick: [{
93
- type: HostListener,
94
- args: ['click', ['$event']]
95
- }], excelClass: [{
96
- type: HostBinding,
97
- args: ['class.k-grid-excel']
98
- }] } });
@@ -1,18 +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 { PreventableEvent } from '../common/preventable-event';
6
- /**
7
- * Provides arguments for the `excelExport` event.
8
- */
9
- export class ExcelExportEvent extends PreventableEvent {
10
- workbook;
11
- /**
12
- * @hidden
13
- */
14
- constructor(workbook) {
15
- super();
16
- this.workbook = workbook;
17
- }
18
- }
@@ -1,223 +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 { Component, Input, ContentChildren, QueryList, NgZone, EventEmitter, Output } from '@angular/core';
6
- import { Observable } from 'rxjs';
7
- import { take } from 'rxjs/operators';
8
- import { saveAs } from '@progress/kendo-file-saver';
9
- import { toDataURL, workbookOptions, ColumnBase } from '@progress/kendo-angular-excel-export';
10
- import { ExcelService } from './excel.service';
11
- import { ExcelExportEvent } from './excel-export-event';
12
- import { orderBy } from '@progress/kendo-data-query';
13
- import { sortColumns } from '../columns/column-common';
14
- import { ContextService } from '../common/provider.service';
15
- import * as i0 from "@angular/core";
16
- import * as i1 from "./excel.service";
17
- import * as i2 from "../common/provider.service";
18
- const fetchComponentData = (component) => {
19
- return {
20
- data: component.view.map(item => item),
21
- group: component.group
22
- };
23
- };
24
- const toExcelColumn = (column) => {
25
- return {
26
- title: column.title,
27
- field: column.field,
28
- locked: Boolean(column.locked),
29
- width: column.width,
30
- level: column.level,
31
- hidden: !column.isVisible,
32
- groupHeaderTemplate: column.groupHeaderTemplate,
33
- groupHeaderColumnTemplate: column.groupHeaderColumnTemplate,
34
- groupFooterTemplate: column.groupFooterTemplate,
35
- footerTemplate: column.footerTemplate
36
- };
37
- };
38
- const toExcelColumns = (columns) => {
39
- const result = [];
40
- sortColumns(columns)
41
- .forEach((column) => {
42
- if (column.isSpanColumn) {
43
- result.push(...toExcelColumns(column.childrenArray));
44
- }
45
- else {
46
- const excelColumn = toExcelColumn(column);
47
- if (column.isColumnGroup) {
48
- excelColumn.children = [excelColumn].concat(toExcelColumns(column.childrenArray));
49
- }
50
- result.push(excelColumn);
51
- }
52
- });
53
- return result;
54
- };
55
- const componentColumns = (component) => {
56
- const columns = toExcelColumns(component.columns.toArray());
57
- return orderBy(columns, [{ field: 'locked', dir: 'desc' }]);
58
- };
59
- /**
60
- * The component is required when exporting the data to an Excel file. The componnet provides different options to further configure the Excel export settings of the Grid ([see example]({% slug excelexport_grid %})).
61
- *
62
- * @example
63
- * ```html
64
- * <kendo-grid>
65
- * <kendo-grid-excel fileName="Export.xlsx"></kendo-grid-excel>
66
- * </kendo-grid>
67
- * ```
68
- */
69
- export class ExcelComponent {
70
- ctx;
71
- zone;
72
- /**
73
- * Sets the file name for the exported Excel file.
74
- * @default "Export.xlsx"
75
- */
76
- fileName = 'Export.xlsx';
77
- /**
78
- * Enables or disables column filtering in the Excel file. This option is different from the Grid's filtering feature.
79
- */
80
- filterable;
81
- /**
82
- * Sets the author of the workbook.
83
- */
84
- creator;
85
- /**
86
- * Sets the creation date of the workbook.
87
- */
88
- date;
89
- /**
90
- * Forwards the content to [`proxyURL`](#toc-proxyurl) even if the browser supports local file saving when set to `true`.
91
- */
92
- forceProxy;
93
- /**
94
- * Sets the URL of the server-side proxy that streams the file to the user. Use a proxy if the browser cannot save files locally.
95
- * You can also use a proxy to reduce memory usage by transmitting the file over the network.
96
- * Set [`forceProxy`](#toc-forceproxy) to `true` to skip client-side saving.
97
- * The proxy receives a POST request with specific parameters and returns the decoded file with the `"Content-Disposition"` header set to `attachment; filename="<fileName.xslx>"`.
98
- * For more details, see the [File Saver]({% slug overview_filesaver %}) documentation.
99
- */
100
- proxyURL;
101
- /**
102
- * Provides a function to get the exported data options. By default, uses the current Grid data and group.
103
- * Supply a custom function to export different data. Typically used to export all data, not just the current page [see example](slug:excelexport_grid#controlling-the-exported-data).
104
- */
105
- fetchData;
106
- /**
107
- * Sets options for cells inserted before the data, group, and footer cells to indicate the group hierarchy if the data is grouped.
108
- *
109
- */
110
- paddingCellOptions;
111
- /**
112
- * Sets the options for cells inserted before the header cells to align the headers and the column values when the data is grouped.
113
- */
114
- headerPaddingCellOptions;
115
- /**
116
- * Specifies if groups in the Excel file are collapsible.
117
- */
118
- collapsible;
119
- /**
120
- * @hidden
121
- */
122
- fileCreated = new EventEmitter();
123
- /**
124
- * @hidden
125
- */
126
- columns = new QueryList();
127
- saveSubscription;
128
- dataSubscription;
129
- constructor(excelService, ctx, zone) {
130
- this.ctx = ctx;
131
- this.zone = zone;
132
- this.saveSubscription = excelService.saveToExcel.subscribe(this.save.bind(this));
133
- this.ctx.excelComponent = this;
134
- }
135
- ngOnDestroy() {
136
- this.saveSubscription.unsubscribe();
137
- if (this.dataSubscription) {
138
- this.dataSubscription.unsubscribe();
139
- }
140
- if (this.ctx.excelComponent === this) {
141
- this.ctx.excelComponent = undefined;
142
- }
143
- }
144
- save(component) {
145
- const data = (this.fetchData || fetchComponentData)(component);
146
- const exportData = (result) => {
147
- delete this.dataSubscription;
148
- this.exportData(component, result);
149
- };
150
- if (data instanceof Promise) {
151
- data.then(exportData);
152
- }
153
- else if (data instanceof Observable) {
154
- this.dataSubscription = data.pipe(take(1)).subscribe(exportData);
155
- }
156
- else {
157
- exportData(data);
158
- }
159
- }
160
- exportData(component, result) {
161
- const options = workbookOptions({
162
- columns: this.columns.length ? this.columns : componentColumns(component),
163
- data: result.data,
164
- group: result.group,
165
- filterable: this.filterable,
166
- creator: this.creator,
167
- date: this.date,
168
- paddingCellOptions: this.paddingCellOptions,
169
- headerPaddingCellOptions: this.headerPaddingCellOptions,
170
- rtl: this.ctx.localization.rtl,
171
- collapsible: this.collapsible
172
- });
173
- const args = new ExcelExportEvent(options);
174
- component.excelExport.emit(args);
175
- if (!args.isDefaultPrevented()) {
176
- this.zone.runOutsideAngular(() => this.saveFile(options));
177
- }
178
- }
179
- saveFile(options) {
180
- toDataURL(options).then((dataURL) => {
181
- saveAs(dataURL, this.fileName, {
182
- forceProxy: this.forceProxy,
183
- proxyURL: this.proxyURL
184
- });
185
- this.fileCreated.emit();
186
- });
187
- }
188
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExcelComponent, deps: [{ token: i1.ExcelService }, { token: i2.ContextService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
189
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ExcelComponent, isStandalone: true, selector: "kendo-grid-excel", inputs: { fileName: "fileName", filterable: "filterable", creator: "creator", date: "date", forceProxy: "forceProxy", proxyURL: "proxyURL", fetchData: "fetchData", paddingCellOptions: "paddingCellOptions", headerPaddingCellOptions: "headerPaddingCellOptions", collapsible: "collapsible" }, outputs: { fileCreated: "fileCreated" }, queries: [{ propertyName: "columns", predicate: ColumnBase, descendants: true }], ngImport: i0, template: ``, isInline: true });
190
- }
191
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExcelComponent, decorators: [{
192
- type: Component,
193
- args: [{
194
- selector: 'kendo-grid-excel',
195
- template: ``,
196
- standalone: true
197
- }]
198
- }], ctorParameters: () => [{ type: i1.ExcelService }, { type: i2.ContextService }, { type: i0.NgZone }], propDecorators: { fileName: [{
199
- type: Input
200
- }], filterable: [{
201
- type: Input
202
- }], creator: [{
203
- type: Input
204
- }], date: [{
205
- type: Input
206
- }], forceProxy: [{
207
- type: Input
208
- }], proxyURL: [{
209
- type: Input
210
- }], fetchData: [{
211
- type: Input
212
- }], paddingCellOptions: [{
213
- type: Input
214
- }], headerPaddingCellOptions: [{
215
- type: Input
216
- }], collapsible: [{
217
- type: Input
218
- }], fileCreated: [{
219
- type: Output
220
- }], columns: [{
221
- type: ContentChildren,
222
- args: [ColumnBase, { descendants: true }]
223
- }] } });
@@ -1,45 +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 { NgModule } from '@angular/core';
6
- import { IconsService, KENDO_ICONS } from '@progress/kendo-angular-icons';
7
- import { KENDO_GRID_EXCEL_EXPORT } from '../directives';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@progress/kendo-angular-icons";
10
- import * as i2 from "./excel.component";
11
- import * as i3 from "./excel-command.directive";
12
- import * as i4 from "./excel-command-tool.directive";
13
- import * as i5 from "@progress/kendo-angular-excel-export";
14
- // IMPORTANT: NgModule export kept for backwards compatibility
15
- /**
16
- * Defines the [`NgModule`](link:site.data.urls.angular['ngmoduleapi']) for the Excel component of the Grid.
17
- *
18
- * @example
19
- * ```ts
20
- * import { NgModule } from '@angular/core';
21
- * import { BrowserModule } from "@angular/platform-browser";
22
- * import { GridModule, ExcelModule } from '@progress/kendo-angular-grid';
23
- * import { AppComponent } from './app.component';
24
- *
25
- * _@NgModule({
26
- * declarations: [AppComponent],
27
- * imports: [BrowserModule, GridModule, ExcelModule],
28
- * bootstrap: [AppComponent]
29
- * })
30
- * export class AppModule {}
31
- * ```
32
- */
33
- export class ExcelModule {
34
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExcelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
35
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: ExcelModule, imports: [i1.IconComponent, i1.SVGIconComponent, i2.ExcelComponent, i3.ExcelCommandDirective, i4.ExcelCommandToolbarDirective, i5.ColumnComponent, i5.ColumnGroupComponent, i5.FooterTemplateDirective, i5.GroupFooterTemplateDirective, i5.GroupHeaderColumnTemplateDirective, i5.GroupHeaderTemplateDirective], exports: [i2.ExcelComponent, i3.ExcelCommandDirective, i4.ExcelCommandToolbarDirective, i5.ColumnComponent, i5.ColumnGroupComponent, i5.FooterTemplateDirective, i5.GroupFooterTemplateDirective, i5.GroupHeaderColumnTemplateDirective, i5.GroupHeaderTemplateDirective] });
36
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExcelModule, providers: [IconsService], imports: [KENDO_ICONS, i3.ExcelCommandDirective, i5.ColumnComponent, i5.ColumnGroupComponent] });
37
- }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExcelModule, decorators: [{
39
- type: NgModule,
40
- args: [{
41
- imports: [...KENDO_ICONS, ...KENDO_GRID_EXCEL_EXPORT],
42
- exports: [...KENDO_GRID_EXCEL_EXPORT],
43
- providers: [IconsService]
44
- }]
45
- }] });
@@ -1,29 +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 { EventEmitter, Injectable, isDevMode } from '@angular/core';
6
- import { GridConfigurationErrorMessages } from '../common/error-messages';
7
- import * as i0 from "@angular/core";
8
- /**
9
- * @hidden
10
- */
11
- export class ExcelService {
12
- saveToExcel = new EventEmitter();
13
- exportClick = new EventEmitter();
14
- save(component) {
15
- if (this.saveToExcel.observers.length === 0) {
16
- if (isDevMode()) {
17
- throw new Error(GridConfigurationErrorMessages.requiredModule('excel', 'ExcelModule', '<kendo-grid-excel>'));
18
- }
19
- }
20
- else {
21
- this.saveToExcel.emit(component);
22
- }
23
- }
24
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExcelService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
25
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExcelService });
26
- }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ExcelService, decorators: [{
28
- type: Injectable
29
- }] });
@@ -1,174 +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 { ContentChildren, QueryList, HostBinding, Directive } from '@angular/core';
6
- import { FilterService } from './filter.service';
7
- import { isCompositeFilterDescriptor } from '@progress/kendo-data-query';
8
- import { isPresent, observe } from '../utils';
9
- import { FilterOperatorBase, toJSON } from './operators/filter-operator.base';
10
- import { map } from 'rxjs/operators';
11
- import { Input } from '@angular/core';
12
- import * as i0 from "@angular/core";
13
- import * as i1 from "./filter.service";
14
- const insertDefaultFilter = (index, rootFilter, filter) => {
15
- rootFilter = (rootFilter || { filters: [], logic: "and" });
16
- rootFilter.filters[index] = filter;
17
- return filter;
18
- };
19
- /**
20
- * @hidden
21
- */
22
- export const setFilter = (index, filter, field, defaultOperator) => {
23
- if (isPresent(filter) && isPresent(filter.filters) && filter.filters.length > index) {
24
- return filter.filters[index];
25
- }
26
- else {
27
- return insertDefaultFilter(index, filter, {
28
- field,
29
- operator: defaultOperator
30
- });
31
- }
32
- };
33
- /**
34
- * @hidden
35
- */
36
- export const logicOperators = (localization) => [
37
- { text: localization.get("filterAndLogic"), value: "and" },
38
- { text: localization.get("filterOrLogic"), value: "or" }
39
- ];
40
- /**
41
- * @hidden
42
- */
43
- export const flatten = (filter) => {
44
- if (isPresent(filter.filters)) {
45
- return filter.filters.reduce((acc, curr) => acc.concat(isCompositeFilterDescriptor(curr) ? flatten(curr) : [curr]), []);
46
- }
47
- return [];
48
- };
49
- const trimFilterByField = (filter, field) => {
50
- if (isPresent(filter) && isPresent(filter.filters)) {
51
- filter.filters = filter.filters.filter(x => {
52
- if (isCompositeFilterDescriptor(x)) {
53
- trimFilterByField(x, field);
54
- return x.filters.length;
55
- }
56
- else {
57
- return x.field !== field;
58
- }
59
- });
60
- }
61
- };
62
- /**
63
- * @hidden
64
- */
65
- export const filtersByField = (filter, field) => flatten(filter || {}).filter(x => x.field === field);
66
- /**
67
- * @hidden
68
- */
69
- export const filterByField = (filter, field) => {
70
- const [currentFilter] = filtersByField(filter, field);
71
- return currentFilter;
72
- };
73
- /**
74
- * @hidden
75
- */
76
- export const removeFilter = (filter, field) => {
77
- trimFilterByField(filter, field);
78
- return filter;
79
- };
80
- /**
81
- * @hidden
82
- */
83
- export const localizeOperators = operators => localization => Object.keys(operators).map(key => ({
84
- text: localization.get(key),
85
- value: operators[key]
86
- }));
87
- /**
88
- * An abstract base class for the filter-cell component ([see example]({% slug filter_row %}#toc-custom-filter-row-components)).
89
- */
90
- export class BaseFilterCellComponent {
91
- filterService;
92
- get hostClasses() {
93
- return true;
94
- }
95
- operatorList = new QueryList();
96
- get operators() {
97
- return this._operators?.length ? this._operators : this.defaultOperators;
98
- }
99
- set operators(values) {
100
- this._operators = values;
101
- }
102
- /**
103
- * @hidden
104
- */
105
- size = 'medium';
106
- /**
107
- * The current root filter.
108
- * @type {CompositeFilterDescriptor}
109
- */
110
- filter;
111
- defaultOperators;
112
- _operators;
113
- operationListSubscription;
114
- constructor(filterService) {
115
- this.filterService = filterService;
116
- }
117
- /**
118
- * @hidden
119
- */
120
- ngAfterContentInit() {
121
- this.operationListSubscription = observe(this.operatorList)
122
- .pipe(map(q => q.toArray()), map(toJSON))
123
- .subscribe(x => {
124
- this.operators = x;
125
- });
126
- }
127
- ngOnDestroy() {
128
- if (this.operationListSubscription) {
129
- this.operationListSubscription.unsubscribe();
130
- }
131
- }
132
- filterByField(field) {
133
- return filterByField(this.filter, field);
134
- }
135
- filtersByField(field) {
136
- return filtersByField(this.filter, field);
137
- }
138
- removeFilter(field) {
139
- return removeFilter(this.filter, field);
140
- }
141
- updateFilter(filter) {
142
- const root = this.filter || {
143
- filters: [],
144
- logic: "and"
145
- };
146
- const [currentFilter] = flatten(root).filter(x => x.field === filter.field);
147
- if (!isPresent(currentFilter)) {
148
- root.filters.push(filter);
149
- }
150
- else {
151
- Object.assign(currentFilter, filter);
152
- }
153
- return root;
154
- }
155
- applyFilter(filter) {
156
- this.filterService.filter(filter);
157
- }
158
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BaseFilterCellComponent, deps: [{ token: i1.FilterService }], target: i0.ɵɵFactoryTarget.Directive });
159
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: BaseFilterCellComponent, inputs: { operators: "operators", filter: "filter" }, host: { properties: { "class.k-filtercell": "this.hostClasses" } }, queries: [{ propertyName: "operatorList", predicate: FilterOperatorBase }], ngImport: i0 });
160
- }
161
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BaseFilterCellComponent, decorators: [{
162
- type: Directive,
163
- args: [{}]
164
- }], ctorParameters: () => [{ type: i1.FilterService }], propDecorators: { hostClasses: [{
165
- type: HostBinding,
166
- args: ['class.k-filtercell']
167
- }], operatorList: [{
168
- type: ContentChildren,
169
- args: [FilterOperatorBase]
170
- }], operators: [{
171
- type: Input
172
- }], filter: [{
173
- type: Input
174
- }] } });
@@ -1,83 +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
- // eslint-disable no-access-missing-member
6
- import { Input, Component } from '@angular/core';
7
- import { ColumnComponent } from '../columns/column.component';
8
- import { FilterService } from './filter.service';
9
- import { BaseFilterCellComponent } from './base-filter-cell.component';
10
- import { ContextService } from '../common/provider.service';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "./filter.service";
13
- import * as i2 from "../common/provider.service";
14
- /**
15
- * @hidden
16
- */
17
- export class BooleanFilterComponent extends BaseFilterCellComponent {
18
- ctx;
19
- /**
20
- * Sets the column for this filter.
21
- * @type {ColumnComponent}
22
- */
23
- column;
24
- /**
25
- * @hidden
26
- */
27
- operator = "eq";
28
- /**
29
- * Gets the current filter for the column field.
30
- * @readonly
31
- * @type {FilterDescriptor}
32
- */
33
- get currentFilter() {
34
- return this.filterByField(this.column.field);
35
- }
36
- /**
37
- * Gets the current filter operator for the column field.
38
- * @readonly
39
- * @type {string}
40
- */
41
- get currentOperator() {
42
- return this.currentFilter ? this.currentFilter.operator : this.operator;
43
- }
44
- items;
45
- defaultItem;
46
- subscription;
47
- constructor(filterService, ctx) {
48
- super(filterService);
49
- this.ctx = ctx;
50
- this.items = [
51
- { text: this.ctx.localization.get("filterIsTrue"), value: true },
52
- { text: this.ctx.localization.get("filterIsFalse"), value: false }
53
- ];
54
- this.defaultItem = { text: this.ctx.localization.get("filterBooleanAll"), value: null };
55
- }
56
- ngOnInit() {
57
- this.subscription = this.ctx.localization.changes.subscribe(this.localizationChange.bind(this));
58
- }
59
- ngOnDestroy() {
60
- if (this.subscription) {
61
- this.subscription.unsubscribe();
62
- }
63
- super.ngOnDestroy();
64
- }
65
- localizationChange() {
66
- this.items = [
67
- { text: this.ctx.localization.get("filterIsTrue"), value: true },
68
- { text: this.ctx.localization.get("filterIsFalse"), value: false }
69
- ];
70
- this.defaultItem = { text: this.ctx.localization.get("filterBooleanAll"), value: null };
71
- }
72
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BooleanFilterComponent, deps: [{ token: i1.FilterService }, { token: i2.ContextService }], target: i0.ɵɵFactoryTarget.Component });
73
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: BooleanFilterComponent, selector: "kendo-grid-boolean-filter-base", inputs: { column: "column" }, usesInheritance: true, ngImport: i0, template: ``, isInline: true });
74
- }
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BooleanFilterComponent, decorators: [{
76
- type: Component,
77
- args: [{
78
- selector: 'kendo-grid-boolean-filter-base',
79
- template: ``
80
- }]
81
- }], ctorParameters: () => [{ type: i1.FilterService }, { type: i2.ContextService }], propDecorators: { column: [{
82
- type: Input
83
- }] } });