@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,487 +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 { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Input, Output, QueryList, ViewChildren, ChangeDetectorRef, NgZone, ViewChild, TemplateRef, Renderer2 } from '@angular/core';
6
- import { Subscription, from, fromEvent, merge } from "rxjs";
7
- import { and, isNullOrEmptyString, isUniversal, observe, or } from '../utils';
8
- import { GroupInfoService } from './group-info.service';
9
- import { DropTargetDirective } from '../dragdrop/drop-target.directive';
10
- import { DragHintService } from '../dragdrop/drag-hint.service';
11
- import { DropCueService } from '../dragdrop/drop-cue.service';
12
- import { position, isTargetBefore } from '../dragdrop/common';
13
- import { tap, filter, switchMapTo, takeUntil } from 'rxjs/operators';
14
- import { arrowLeftIcon, arrowRightIcon, sortAscSmallIcon, sortDescSmallIcon } from '@progress/kendo-svg-icons';
15
- import { ContextService } from '../common/provider.service';
16
- import { PopupService } from '@progress/kendo-angular-popup';
17
- import { ChipComponent, ChipListComponent } from '@progress/kendo-angular-buttons';
18
- import { closest } from '../rendering/common/dom-queries';
19
- import { DraggableDirective, EventsOutsideAngularDirective, Keys, normalizeKeys } from '@progress/kendo-angular-common';
20
- import { IconWrapperComponent } from '@progress/kendo-angular-icons';
21
- import { DraggableColumnDirective } from '../dragdrop/draggable-column.directive';
22
- import * as i0 from "@angular/core";
23
- import * as i1 from "../dragdrop/drag-hint.service";
24
- import * as i2 from "../dragdrop/drop-cue.service";
25
- import * as i3 from "./group-info.service";
26
- import * as i4 from "../common/provider.service";
27
- import * as i5 from "@progress/kendo-angular-popup";
28
- const withoutField = ({ field }) => isNullOrEmptyString(field);
29
- const alreadyGrouped = ({ groups, field }) => groups.some(group => group.field === field);
30
- const overSameTarget = ({ target, field }) => target.field === field;
31
- const overLastTarget = ({ target }) => target.lastTarget;
32
- const isLastGroup = ({ groups, field }) => groups.map(group => group.field).indexOf(field) === groups.length - 1;
33
- const isNotGroupable = (groupsService) => ({ field }) => !groupsService.isGroupable(field);
34
- const columnRules = (groupService) => or(withoutField, alreadyGrouped, isNotGroupable(groupService));
35
- const indicatorRules = or(overSameTarget, and(overLastTarget, isLastGroup));
36
- /**
37
- * @hidden
38
- */
39
- export class GroupPanelComponent {
40
- hint;
41
- cue;
42
- groupInfoService;
43
- ctx;
44
- cd;
45
- popupService;
46
- ngZone;
47
- renderer;
48
- change = new EventEmitter();
49
- get groupHeaderClass() {
50
- return true;
51
- }
52
- set text(value) {
53
- this.emptyText = value;
54
- }
55
- get text() {
56
- return this.emptyText ? this.emptyText : this.ctx.localization.get('groupPanelEmpty');
57
- }
58
- navigable;
59
- groups = [];
60
- dropTargets = new QueryList();
61
- defaultTemplate;
62
- groupTitles = [];
63
- isChipMenuOpen = false;
64
- get gridId() {
65
- return this.ctx.grid?.ariaRootId;
66
- }
67
- rtl = false;
68
- first;
69
- last;
70
- arrowLeftIcon = arrowLeftIcon;
71
- arrowRightIcon = arrowRightIcon;
72
- emptyText;
73
- subscription;
74
- targetSubscription;
75
- popupSubs;
76
- popupRef;
77
- activeItem;
78
- constructor(hint, cue, groupInfoService, ctx, cd, popupService, ngZone, renderer) {
79
- this.hint = hint;
80
- this.cue = cue;
81
- this.groupInfoService = groupInfoService;
82
- this.ctx = ctx;
83
- this.cd = cd;
84
- this.popupService = popupService;
85
- this.ngZone = ngZone;
86
- this.renderer = renderer;
87
- }
88
- ngAfterViewInit() {
89
- this.subscription = this.ctx.localization.changes.subscribe(({ rtl }) => {
90
- this.rtl = rtl;
91
- this.cd.markForCheck();
92
- });
93
- this.subscription.add(observe(this.dropTargets)
94
- .subscribe(this.attachTargets.bind(this)));
95
- }
96
- ngDoCheck() {
97
- const currentTitles = this.groups.map(group => this.groupInfoService.groupTitle(group));
98
- if (currentTitles.length !== this.groupTitles.length || currentTitles.some((current, idx) => current !== this.groupTitles[idx])) {
99
- this.groupTitles = currentTitles;
100
- this.cd.markForCheck();
101
- }
102
- }
103
- ngOnDestroy() {
104
- if (this.subscription) {
105
- this.subscription.unsubscribe();
106
- }
107
- if (this.targetSubscription) {
108
- this.targetSubscription.unsubscribe();
109
- }
110
- this.destroyMenu();
111
- }
112
- messageFor(token) {
113
- return this.ctx.localization.get(token);
114
- }
115
- getTitle(group) {
116
- return this.messageFor(group.dir === 'desc' ? 'sortedDescending' : 'sortedAscending');
117
- }
118
- getDirectionIcon(group) {
119
- return group.dir === 'desc' ? 'sort-desc-sm' : 'sort-asc-sm';
120
- }
121
- getDirectionSvgIcon(group) {
122
- return group.dir === 'desc' ? sortDescSmallIcon : sortAscSmallIcon;
123
- }
124
- directionChange(group) {
125
- group.dir = group.dir ? group.dir : "asc";
126
- group.dir = group.dir === 'asc' ? 'desc' : 'asc';
127
- const index = this.groups.findIndex(x => x.field === group.field);
128
- const groups = [...this.groups.slice(0, index), group, ...this.groups.slice(index + 1)];
129
- this.change.emit(groups);
130
- }
131
- insert(field, index) {
132
- const groups = this.groups.filter(x => x.field !== field);
133
- if (groups.length || this.groups.length === 0) {
134
- this.change.emit([...groups.slice(0, index), { field: field }, ...groups.slice(index)]);
135
- }
136
- }
137
- remove(group) {
138
- this.destroyMenu();
139
- this.change.emit(this.groups.filter(x => x.field !== group.field));
140
- }
141
- toggleMenu(chip, first, last, field) {
142
- const anchor = chip.element.nativeElement.querySelector('.k-chip-action');
143
- if (this.popupRef) {
144
- const popupAnchor = this.popupRef.popup.instance.anchor;
145
- this.destroyMenu();
146
- if (anchor === popupAnchor) {
147
- return;
148
- }
149
- }
150
- this.first = first;
151
- this.last = last;
152
- const direction = this.ctx.localization.rtl ? 'right' : 'left';
153
- this.popupRef = this.popupService.open({
154
- anchor: anchor,
155
- content: this.defaultTemplate,
156
- anchorAlign: { vertical: 'bottom', horizontal: direction },
157
- popupAlign: { vertical: 'top', horizontal: direction },
158
- positionMode: 'absolute'
159
- });
160
- this.activeItem = this.dropTargets.find(dt => dt.context.field === field);
161
- this.renderer.setAttribute(this.popupRef.popupElement, 'dir', this.ctx.localization.rtl ? 'rtl' : 'ltr');
162
- const menuItems = Array.from(this.popupRef.popupElement.querySelectorAll('.k-menu-item'));
163
- this.activateMenuItem(menuItems[1], 'previous');
164
- this.popupSubs = this.popupRef.popupAnchorViewportLeave.subscribe(() => {
165
- this.destroyMenu(true);
166
- });
167
- if (isUniversal()) {
168
- return;
169
- }
170
- this.ngZone.runOutsideAngular(() => {
171
- this.popupSubs.add(fromEvent(document, 'click')
172
- .pipe(filter((event) => !closest(event.target, (node) => node === this.popupRef.popupElement || (node.matches && node.matches('.k-chip-action'))))).subscribe(() => {
173
- this.destroyMenu();
174
- }));
175
- });
176
- }
177
- handleKeyDown = (e) => {
178
- const code = normalizeKeys(e);
179
- if (code === Keys.ArrowDown || code === Keys.ArrowUp) {
180
- e.preventDefault();
181
- const relatedItemType = e.target.matches(':first-child') ? 'next' : 'previous';
182
- this.activateMenuItem(e.target, relatedItemType);
183
- }
184
- else if (code === Keys.Escape) {
185
- this.destroyMenu(true);
186
- }
187
- else if (code === Keys.Tab) {
188
- this.destroyMenu(true);
189
- }
190
- else if (code === Keys.Space || code === Keys.Enter) {
191
- this.handleMenuClick(e);
192
- }
193
- };
194
- handleClick = (e) => {
195
- e.preventDefault();
196
- const menuItemEl = e.target.closest('.k-menu-item');
197
- if (!menuItemEl.matches('[aria-disabled="true"]')) {
198
- this.handleMenuClick(e);
199
- return;
200
- }
201
- if (menuItemEl.getAttribute('tabindex') === '0') {
202
- return;
203
- }
204
- const activeMenuItem = menuItemEl.closest('.k-menu-group').querySelector('[tabindex="0"]');
205
- const relatedItemType = activeMenuItem.matches(':first-child') ? 'next' : 'previous';
206
- this.activateMenuItem(activeMenuItem, relatedItemType);
207
- };
208
- canDrop(draggable, target) {
209
- const isIndicator = draggable.type === 'groupIndicator';
210
- const rules = isIndicator
211
- ? indicatorRules
212
- : columnRules(this.groupInfoService);
213
- return !rules({
214
- field: draggable.field,
215
- groups: this.groups,
216
- target
217
- });
218
- }
219
- attachTargets() {
220
- if (this.targetSubscription) {
221
- this.targetSubscription.unsubscribe();
222
- }
223
- this.targetSubscription = new Subscription();
224
- const enterStream = this.dropTargets
225
- .reduce((acc, target) => merge(acc, target.enter), from([]));
226
- const leaveStream = this.dropTargets
227
- .reduce((acc, target) => merge(acc, target.leave), from([]));
228
- const dropStream = this.dropTargets
229
- .reduce((acc, target) => merge(acc, target.drop), from([]));
230
- this.targetSubscription.add(enterStream.pipe(tap(() => {
231
- this.hint.removeLock();
232
- this.destroyMenu();
233
- }), filter(({ draggable, target }) => this.canDrop(draggable.context, target.context)), tap(this.enter.bind(this)), switchMapTo(dropStream.pipe(takeUntil(leaveStream.pipe(tap(this.leave.bind(this))))))).subscribe(this.drop.bind(this)));
234
- }
235
- enter({ draggable, target }) {
236
- this.hint.enable();
237
- let before = target.context.lastTarget || isTargetBefore(draggable.element.nativeElement, target.element.nativeElement);
238
- if (this.ctx.localization.rtl) {
239
- before = !before;
240
- }
241
- this.cue.position(position(target.element.nativeElement, before));
242
- }
243
- leave() {
244
- this.hint.disable();
245
- this.cue.hide();
246
- }
247
- drop({ target, draggable }) {
248
- const field = draggable.context.field;
249
- const index = this.dropTargets.toArray().indexOf(target);
250
- this.insert(field, index);
251
- }
252
- destroyMenu(focusAnchor) {
253
- if (this.popupRef) {
254
- this.popupRef.close();
255
- this.popupRef = null;
256
- this.popupSubs && this.popupSubs.unsubscribe();
257
- focusAnchor && this.activeItem.context.target.focus();
258
- }
259
- }
260
- activateMenuItem(item, relatedItemType) {
261
- this.renderer.setAttribute(item, 'tabindex', '-1');
262
- this.renderer.removeClass(item, 'k-focus');
263
- const relatedItem = item[`${relatedItemType}ElementSibling`];
264
- this.renderer.setAttribute(relatedItem, 'tabindex', '0');
265
- this.renderer.addClass(relatedItem, 'k-focus');
266
- this.ngZone.runOutsideAngular(() => setTimeout(() => relatedItem.focus()));
267
- }
268
- handleMenuClick(e) {
269
- e.preventDefault();
270
- if (e.target.getAttribute('aria-disabled') !== 'true') {
271
- const chips = this.dropTargets.toArray().slice(0, this.dropTargets.length - 1);
272
- let groupChip, groupChipIndex;
273
- for (let i = 0; i < chips.length; i++) {
274
- if (chips[i].element.nativeElement === this.popupRef.popup.instance.anchor.closest('.k-chip')) {
275
- groupChip = chips[i];
276
- groupChipIndex = i;
277
- break;
278
- }
279
- }
280
- const isPrev = e.target.closest('.k-menu-item').matches(':first-child');
281
- if (isPrev && groupChipIndex > 0) {
282
- this.insert(groupChip.context.field, groupChipIndex - 1);
283
- }
284
- else if (!isPrev && groupChipIndex < chips.length - 1) {
285
- this.insert(groupChip.context.field, groupChipIndex + 1);
286
- }
287
- this.destroyMenu(true);
288
- }
289
- }
290
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GroupPanelComponent, deps: [{ token: i1.DragHintService }, { token: i2.DropCueService }, { token: i3.GroupInfoService }, { token: i4.ContextService }, { token: i0.ChangeDetectorRef }, { token: i5.PopupService }, { token: i0.NgZone }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
291
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: GroupPanelComponent, isStandalone: true, selector: "kendo-grid-group-panel", inputs: { text: "text", navigable: "navigable", groups: "groups" }, outputs: { change: "change" }, host: { properties: { "class.k-grouping-header": "this.groupHeaderClass" } }, viewQueries: [{ propertyName: "defaultTemplate", first: true, predicate: ["defaultTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "dropTargets", predicate: DropTargetDirective, descendants: true }], ngImport: i0, template: `
292
- @if (groups.length === 0) {
293
- <div
294
- class="k-grouping-drop-container"
295
- [context]="{
296
- lastTarget: true
297
- }"
298
- kendoDropTarget
299
- >
300
- {{ text }}
301
- </div>
302
- }
303
-
304
- @if (groups.length !== 0) {
305
- <kendo-chiplist
306
- [navigable]="navigable"
307
- role="none"
308
- [orientation]="null"
309
- >
310
- @for (group of groups; track group; let index = $index; let first = $first; let last = $last) {
311
- <kendo-chip
312
- #chip
313
- kendoDropTarget
314
- kendoDraggableColumn
315
- kendoDraggable
316
- [title]="getTitle(group)"
317
- [enableDrag]="true"
318
- [context]="{
319
- field: group.field,
320
- type: 'groupIndicator',
321
- hint: groupTitles[index],
322
- target: chip
323
- }"
324
- [label]="groupTitles[index]"
325
- [removable]="true"
326
- [hasMenu]="true"
327
- [icon]="getDirectionIcon(group)"
328
- [svgIcon]="getDirectionSvgIcon(group)"
329
- [attr.aria-haspopup]="'menu'"
330
- [attr.aria-expanded]="isChipMenuOpen"
331
- [attr.aria-controls]="gridId"
332
- (contentClick)="directionChange(group)"
333
- (remove)="remove(group)"
334
- (menuToggle)="toggleMenu(chip, first, last, group.field)"
335
- (keydown.alt.arrowdown)="$event.preventDefault(); toggleMenu(chip, first, last, group.field)"
336
- >
337
- </kendo-chip>
338
- }
339
- </kendo-chiplist>
340
- }
341
-
342
- @if (groups.length !== 0) {
343
- <div
344
- class="k-grouping-drop-container"
345
- [context]="{
346
- lastTarget: true
347
- }"
348
- kendoDropTarget
349
- >&nbsp;</div>
350
- }
351
-
352
- <ng-template #defaultTemplate>
353
- <ul unselectable="on" role="menu" class="k-group k-menu-group k-reset k-menu-group-md" [kendoEventsOutsideAngular]="{
354
- keydown: handleKeyDown,
355
- click: handleClick
356
- }">
357
- <li role="menuitem" unselectable="on" class="k-item k-menu-item" [attr.aria-disabled]="first">
358
- <span class="k-link k-menu-link" [class.k-disabled]="first">
359
- <kendo-icon-wrapper
360
- [name]="rtl ? 'arrow-right' : 'arrow-left'"
361
- [svgIcon]="rtl ? arrowRightIcon : arrowLeftIcon"></kendo-icon-wrapper>
362
- <span class="k-menu-link-text">{{messageFor('groupChipMenuPrevious')}}</span>
363
- </span>
364
- </li>
365
- <li role="menuitem" unselectable="on" class="k-item k-menu-item" [attr.aria-disabled]="last">
366
- <span class="k-link k-menu-link" [class.k-disabled]="last">
367
- <kendo-icon-wrapper
368
- [name]="rtl ? 'arrow-left' : 'arrow-right'"
369
- [svgIcon]="rtl ? arrowLeftIcon : arrowRightIcon"></kendo-icon-wrapper>
370
- <span class="k-menu-link-text">{{messageFor('groupChipMenuNext')}}</span>
371
- </span>
372
- </li>
373
- </ul>
374
- </ng-template>
375
- `, isInline: true, dependencies: [{ kind: "directive", type: DropTargetDirective, selector: "[kendoDropTarget]", inputs: ["context"], outputs: ["enter", "leave", "drop"] }, { kind: "component", type: ChipListComponent, selector: "kendo-chiplist, kendo-chip-list", inputs: ["orientation", "selection", "size", "role", "navigable"], outputs: ["selectedChange", "remove"] }, { kind: "component", type: ChipComponent, selector: "kendo-chip", inputs: ["label", "icon", "svgIcon", "iconClass", "avatarSettings", "selected", "removable", "removeIcon", "removeSvgIcon", "hasMenu", "menuIcon", "menuSvgIcon", "disabled", "size", "rounded", "fillMode", "themeColor"], outputs: ["remove", "menuToggle", "contentClick"] }, { kind: "directive", type: DraggableColumnDirective, selector: "[kendoDraggableColumn]", inputs: ["context", "enableDrag"], outputs: ["drag"] }, { kind: "directive", type: DraggableDirective, selector: "[kendoDraggable]", inputs: ["enableDrag"], outputs: ["kendoPress", "kendoDrag", "kendoRelease"] }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
376
- }
377
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GroupPanelComponent, decorators: [{
378
- type: Component,
379
- args: [{
380
- changeDetection: ChangeDetectionStrategy.OnPush,
381
- selector: 'kendo-grid-group-panel',
382
- template: `
383
- @if (groups.length === 0) {
384
- <div
385
- class="k-grouping-drop-container"
386
- [context]="{
387
- lastTarget: true
388
- }"
389
- kendoDropTarget
390
- >
391
- {{ text }}
392
- </div>
393
- }
394
-
395
- @if (groups.length !== 0) {
396
- <kendo-chiplist
397
- [navigable]="navigable"
398
- role="none"
399
- [orientation]="null"
400
- >
401
- @for (group of groups; track group; let index = $index; let first = $first; let last = $last) {
402
- <kendo-chip
403
- #chip
404
- kendoDropTarget
405
- kendoDraggableColumn
406
- kendoDraggable
407
- [title]="getTitle(group)"
408
- [enableDrag]="true"
409
- [context]="{
410
- field: group.field,
411
- type: 'groupIndicator',
412
- hint: groupTitles[index],
413
- target: chip
414
- }"
415
- [label]="groupTitles[index]"
416
- [removable]="true"
417
- [hasMenu]="true"
418
- [icon]="getDirectionIcon(group)"
419
- [svgIcon]="getDirectionSvgIcon(group)"
420
- [attr.aria-haspopup]="'menu'"
421
- [attr.aria-expanded]="isChipMenuOpen"
422
- [attr.aria-controls]="gridId"
423
- (contentClick)="directionChange(group)"
424
- (remove)="remove(group)"
425
- (menuToggle)="toggleMenu(chip, first, last, group.field)"
426
- (keydown.alt.arrowdown)="$event.preventDefault(); toggleMenu(chip, first, last, group.field)"
427
- >
428
- </kendo-chip>
429
- }
430
- </kendo-chiplist>
431
- }
432
-
433
- @if (groups.length !== 0) {
434
- <div
435
- class="k-grouping-drop-container"
436
- [context]="{
437
- lastTarget: true
438
- }"
439
- kendoDropTarget
440
- >&nbsp;</div>
441
- }
442
-
443
- <ng-template #defaultTemplate>
444
- <ul unselectable="on" role="menu" class="k-group k-menu-group k-reset k-menu-group-md" [kendoEventsOutsideAngular]="{
445
- keydown: handleKeyDown,
446
- click: handleClick
447
- }">
448
- <li role="menuitem" unselectable="on" class="k-item k-menu-item" [attr.aria-disabled]="first">
449
- <span class="k-link k-menu-link" [class.k-disabled]="first">
450
- <kendo-icon-wrapper
451
- [name]="rtl ? 'arrow-right' : 'arrow-left'"
452
- [svgIcon]="rtl ? arrowRightIcon : arrowLeftIcon"></kendo-icon-wrapper>
453
- <span class="k-menu-link-text">{{messageFor('groupChipMenuPrevious')}}</span>
454
- </span>
455
- </li>
456
- <li role="menuitem" unselectable="on" class="k-item k-menu-item" [attr.aria-disabled]="last">
457
- <span class="k-link k-menu-link" [class.k-disabled]="last">
458
- <kendo-icon-wrapper
459
- [name]="rtl ? 'arrow-left' : 'arrow-right'"
460
- [svgIcon]="rtl ? arrowLeftIcon : arrowRightIcon"></kendo-icon-wrapper>
461
- <span class="k-menu-link-text">{{messageFor('groupChipMenuNext')}}</span>
462
- </span>
463
- </li>
464
- </ul>
465
- </ng-template>
466
- `,
467
- standalone: true,
468
- imports: [DropTargetDirective, ChipListComponent, ChipComponent, DraggableColumnDirective, DraggableDirective, EventsOutsideAngularDirective, IconWrapperComponent]
469
- }]
470
- }], ctorParameters: () => [{ type: i1.DragHintService }, { type: i2.DropCueService }, { type: i3.GroupInfoService }, { type: i4.ContextService }, { type: i0.ChangeDetectorRef }, { type: i5.PopupService }, { type: i0.NgZone }, { type: i0.Renderer2 }], propDecorators: { change: [{
471
- type: Output
472
- }], groupHeaderClass: [{
473
- type: HostBinding,
474
- args: ["class.k-grouping-header"]
475
- }], text: [{
476
- type: Input
477
- }], navigable: [{
478
- type: Input
479
- }], groups: [{
480
- type: Input
481
- }], dropTargets: [{
482
- type: ViewChildren,
483
- args: [DropTargetDirective]
484
- }], defaultTemplate: [{
485
- type: ViewChild,
486
- args: ['defaultTemplate', { static: true, read: TemplateRef }]
487
- }] } });
@@ -1,5 +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
- export {};
@@ -1,5 +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
- export {};
@@ -1,69 +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 { Injectable } from '@angular/core';
6
- import { Subject } from 'rxjs';
7
- import { getGroupRowArgs } from './utils';
8
- import * as i0 from "@angular/core";
9
- const isChildIndex = (targetIndex, parentIndex) => {
10
- const sameIndex = parentIndex === targetIndex;
11
- const lastSeparatorIndex = targetIndex.lastIndexOf('_');
12
- const sameSubGroupIndex = targetIndex.substring(0, lastSeparatorIndex) === parentIndex;
13
- return !sameIndex && sameSubGroupIndex;
14
- };
15
- /**
16
- * @hidden
17
- */
18
- export class GroupsService {
19
- changes = new Subject();
20
- userCallback;
21
- rowState = new Set();
22
- reset() {
23
- this.rowState.clear();
24
- }
25
- ngOnDestroy() {
26
- this.reset();
27
- }
28
- isExpanded(groupArgs) {
29
- if (this.userCallback) {
30
- return this.userCallback(groupArgs);
31
- }
32
- return !this.rowState.has(groupArgs.groupIndex);
33
- }
34
- isInExpandedGroup(groupItem) {
35
- let expanded = true;
36
- while (groupItem && expanded) {
37
- expanded = this.isExpanded({
38
- group: groupItem.data,
39
- groupIndex: groupItem.index,
40
- parentGroup: getGroupRowArgs(groupItem.parentGroup)
41
- });
42
- groupItem = groupItem.parentGroup;
43
- }
44
- return expanded;
45
- }
46
- toggleRow(groupItem, emit = true) {
47
- const parentGroup = getGroupRowArgs(groupItem.parentGroup);
48
- const expand = !this.isExpanded({ group: groupItem.data, groupIndex: groupItem.index, parentGroup });
49
- this.changes.next({ group: groupItem.data, expand, groupIndex: groupItem.index, parentGroup, emit });
50
- // if usercallback is given, the rowState should be ignored
51
- if (this.userCallback) {
52
- return;
53
- }
54
- if (expand) {
55
- this.rowState.delete(groupItem.index);
56
- }
57
- else {
58
- this.rowState.add(groupItem.index);
59
- }
60
- }
61
- expandChildren(parentIndex) {
62
- this.rowState.forEach(index => isChildIndex(index, parentIndex) && this.rowState.delete(index));
63
- }
64
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GroupsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
65
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GroupsService });
66
- }
67
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: GroupsService, decorators: [{
68
- type: Injectable
69
- }] });
@@ -1,14 +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 { isPresent } from "../utils";
6
- /**
7
- * @hidden
8
- */
9
- export const getGroupRowArgs = (groupItem) => {
10
- if (!isPresent(groupItem)) {
11
- return null;
12
- }
13
- return { group: groupItem.data, groupIndex: groupItem.index, parentGroup: getGroupRowArgs(groupItem.parentGroup) };
14
- };
@@ -1,5 +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
- export {};