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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (272) hide show
  1. package/binding-directives/base-binding.directive.d.ts +1 -1
  2. package/column-menu/column-menu-item-base.d.ts +1 -1
  3. package/columns/column-base.d.ts +1 -1
  4. package/editing-directives/editing-directive-base.d.ts +1 -1
  5. package/editing-directives/row-editing-directive-base.d.ts +1 -1
  6. package/fesm2022/progress-kendo-angular-treelist.mjs +519 -519
  7. package/filtering/base-filter-cell.component.d.ts +1 -1
  8. package/filtering/boolean-filter.component.d.ts +1 -1
  9. package/filtering/date-filter.component.d.ts +1 -1
  10. package/filtering/filter-host.directive.d.ts +1 -1
  11. package/filtering/filter-input-wrapper.component.d.ts +1 -1
  12. package/filtering/numeric-filter.component.d.ts +1 -1
  13. package/filtering/operators/filter-operator.base.d.ts +1 -1
  14. package/filtering/string-filter.component.d.ts +1 -1
  15. package/localization/messages.d.ts +1 -1
  16. package/package.json +23 -31
  17. package/schematics/ngAdd/index.js +3 -3
  18. package/esm2022/binding-directives/base-binding.directive.mjs +0 -180
  19. package/esm2022/binding-directives/data-bound-tree-component.mjs +0 -18
  20. package/esm2022/binding-directives/flat-binding.directive.mjs +0 -130
  21. package/esm2022/binding-directives/hierarchy-binding.directive.mjs +0 -109
  22. package/esm2022/column-menu/column-chooser-item-checked.directive.mjs +0 -45
  23. package/esm2022/column-menu/column-chooser.component.mjs +0 -221
  24. package/esm2022/column-menu/column-list-kb-nav.service.mjs +0 -40
  25. package/esm2022/column-menu/column-list.component.mjs +0 -380
  26. package/esm2022/column-menu/column-locked-change-event.mjs +0 -21
  27. package/esm2022/column-menu/column-menu-autosize-all.component.mjs +0 -78
  28. package/esm2022/column-menu/column-menu-autosize.component.mjs +0 -86
  29. package/esm2022/column-menu/column-menu-chooser.component.mjs +0 -164
  30. package/esm2022/column-menu/column-menu-container.component.mjs +0 -58
  31. package/esm2022/column-menu/column-menu-expandable-item.interface.mjs +0 -5
  32. package/esm2022/column-menu/column-menu-filter.component.mjs +0 -141
  33. package/esm2022/column-menu/column-menu-item-base.mjs +0 -41
  34. package/esm2022/column-menu/column-menu-item-content-template.directive.mjs +0 -43
  35. package/esm2022/column-menu/column-menu-item.component.mjs +0 -329
  36. package/esm2022/column-menu/column-menu-item.directive.mjs +0 -147
  37. package/esm2022/column-menu/column-menu-lock.component.mjs +0 -112
  38. package/esm2022/column-menu/column-menu-settings.interface.mjs +0 -5
  39. package/esm2022/column-menu/column-menu-sort.component.mjs +0 -115
  40. package/esm2022/column-menu/column-menu-template.directive.mjs +0 -47
  41. package/esm2022/column-menu/column-menu.component.mjs +0 -470
  42. package/esm2022/column-menu/column-menu.service.mjs +0 -70
  43. package/esm2022/column-menu/column-visibility-change-event.mjs +0 -19
  44. package/esm2022/column-menu/utils.mjs +0 -44
  45. package/esm2022/column-resizing/column-handle.directive.mjs +0 -226
  46. package/esm2022/column-resizing/column-resize.interface.mjs +0 -5
  47. package/esm2022/column-resizing/column-resizing.service.mjs +0 -143
  48. package/esm2022/column-resizing/table.directive.mjs +0 -130
  49. package/esm2022/columns/checkbox-column.component.mjs +0 -88
  50. package/esm2022/columns/column-base.mjs +0 -319
  51. package/esm2022/columns/column-common.mjs +0 -73
  52. package/esm2022/columns/column-group.component.mjs +0 -115
  53. package/esm2022/columns/column-list.mjs +0 -94
  54. package/esm2022/columns/column.component.mjs +0 -165
  55. package/esm2022/columns/columns-container.mjs +0 -90
  56. package/esm2022/columns/command-column.component.mjs +0 -77
  57. package/esm2022/columns/rowreorder-column.component.mjs +0 -57
  58. package/esm2022/columns/sort-settings.mjs +0 -17
  59. package/esm2022/columns/span-column.component.mjs +0 -201
  60. package/esm2022/common/cell-click-event-args.interface.mjs +0 -5
  61. package/esm2022/common/column-info.service.mjs +0 -54
  62. package/esm2022/common/create-form-group.mjs +0 -5
  63. package/esm2022/common/default-track-by.mjs +0 -13
  64. package/esm2022/common/dom-events.service.mjs +0 -24
  65. package/esm2022/common/error-messages.mjs +0 -15
  66. package/esm2022/common/filter-descriptor-differ.mjs +0 -69
  67. package/esm2022/common/filter-operator.interface.mjs +0 -5
  68. package/esm2022/common/id.service.mjs +0 -34
  69. package/esm2022/common/option-changes.service.mjs +0 -24
  70. package/esm2022/common/pager-settings.mjs +0 -19
  71. package/esm2022/common/preventable-event.mjs +0 -28
  72. package/esm2022/common/provider.service.mjs +0 -34
  73. package/esm2022/common/remove-confirmation.mjs +0 -5
  74. package/esm2022/common/single-popup.service.mjs +0 -132
  75. package/esm2022/common/sort.service.mjs +0 -14
  76. package/esm2022/data/change-event-args.interface.mjs +0 -5
  77. package/esm2022/data/change-notification.service.mjs +0 -30
  78. package/esm2022/data/data-item.interface.mjs +0 -5
  79. package/esm2022/data/data.collection.mjs +0 -503
  80. package/esm2022/data/treelist-item.interface.mjs +0 -5
  81. package/esm2022/directives.mjs +0 -291
  82. package/esm2022/dragdrop/column-reorder-config.mjs +0 -5
  83. package/esm2022/dragdrop/column-reorder-event.mjs +0 -31
  84. package/esm2022/dragdrop/column-reorder.service.mjs +0 -20
  85. package/esm2022/dragdrop/common.mjs +0 -69
  86. package/esm2022/dragdrop/context-types.mjs +0 -5
  87. package/esm2022/dragdrop/drag-and-drop.service.mjs +0 -65
  88. package/esm2022/dragdrop/drag-hint.service.mjs +0 -137
  89. package/esm2022/dragdrop/draggable-column.directive.mjs +0 -141
  90. package/esm2022/dragdrop/drop-cue.service.mjs +0 -46
  91. package/esm2022/dragdrop/drop-target.directive.mjs +0 -71
  92. package/esm2022/editing/add-command-tool.directive.mjs +0 -60
  93. package/esm2022/editing/add-command.directive.mjs +0 -96
  94. package/esm2022/editing/add-event-args.interface.mjs +0 -5
  95. package/esm2022/editing/base-command.directive.mjs +0 -95
  96. package/esm2022/editing/cancel-command.directive.mjs +0 -97
  97. package/esm2022/editing/cancel-event-args.interface.mjs +0 -5
  98. package/esm2022/editing/cell-close-event.mjs +0 -34
  99. package/esm2022/editing/edit-command.directive.mjs +0 -96
  100. package/esm2022/editing/edit-event-args.interface.mjs +0 -5
  101. package/esm2022/editing/edit-template.directive.mjs +0 -45
  102. package/esm2022/editing/edit.service.mjs +0 -174
  103. package/esm2022/editing/remove-command.directive.mjs +0 -96
  104. package/esm2022/editing/remove-event-args.interface.mjs +0 -5
  105. package/esm2022/editing/save-command.directive.mjs +0 -96
  106. package/esm2022/editing/save-event-args.interface.mjs +0 -5
  107. package/esm2022/editing-directives/create-form-group-args.interface.mjs +0 -5
  108. package/esm2022/editing-directives/edit-service.interface.mjs +0 -5
  109. package/esm2022/editing-directives/editing-directive-base.mjs +0 -137
  110. package/esm2022/editing-directives/flat-edit.service.mjs +0 -52
  111. package/esm2022/editing-directives/hierarchy-edit.service.mjs +0 -48
  112. package/esm2022/editing-directives/in-cell-editing.directive.mjs +0 -89
  113. package/esm2022/editing-directives/local-edit.service.mjs +0 -28
  114. package/esm2022/editing-directives/reactive-editing.directive.mjs +0 -61
  115. package/esm2022/editing-directives/row-editing-directive-base.mjs +0 -39
  116. package/esm2022/editing-directives/template-editing.directive.mjs +0 -68
  117. package/esm2022/editing-directives/utils.mjs +0 -41
  118. package/esm2022/excel/excel-command-tool.directive.mjs +0 -64
  119. package/esm2022/excel/excel-command.directive.mjs +0 -97
  120. package/esm2022/excel/excel-export-data.interface.mjs +0 -5
  121. package/esm2022/excel/excel-export-event.mjs +0 -15
  122. package/esm2022/excel/excel.component.mjs +0 -277
  123. package/esm2022/excel/excel.module.mjs +0 -45
  124. package/esm2022/excel/excel.service.mjs +0 -34
  125. package/esm2022/expand-state/expand-event.mjs +0 -30
  126. package/esm2022/expand-state/expand-state.service.mjs +0 -38
  127. package/esm2022/expand-state/expandable-tree-component.mjs +0 -18
  128. package/esm2022/expand-state/expandable.directive.mjs +0 -119
  129. package/esm2022/filtering/base-filter-cell.component.mjs +0 -172
  130. package/esm2022/filtering/boolean-filter.component.mjs +0 -91
  131. package/esm2022/filtering/cell/autocomplete-filter-cell.component.mjs +0 -113
  132. package/esm2022/filtering/cell/boolean-filter-cell.component.mjs +0 -107
  133. package/esm2022/filtering/cell/date-filter-cell.component.mjs +0 -132
  134. package/esm2022/filtering/cell/filter-cell-component.factory.mjs +0 -19
  135. package/esm2022/filtering/cell/filter-cell-host.directive.mjs +0 -33
  136. package/esm2022/filtering/cell/filter-cell-operators.component.mjs +0 -235
  137. package/esm2022/filtering/cell/filter-cell-template.directive.mjs +0 -46
  138. package/esm2022/filtering/cell/filter-cell-wrapper.component.mjs +0 -74
  139. package/esm2022/filtering/cell/filter-cell.component.mjs +0 -91
  140. package/esm2022/filtering/cell/numeric-filter-cell.component.mjs +0 -143
  141. package/esm2022/filtering/cell/string-filter-cell.component.mjs +0 -115
  142. package/esm2022/filtering/date-filter.component.mjs +0 -176
  143. package/esm2022/filtering/filter-component.interface.mjs +0 -5
  144. package/esm2022/filtering/filter-host.directive.mjs +0 -56
  145. package/esm2022/filtering/filter-input-wrapper.component.mjs +0 -119
  146. package/esm2022/filtering/filter-input.directive.mjs +0 -114
  147. package/esm2022/filtering/filter-row.component.mjs +0 -79
  148. package/esm2022/filtering/filter.service.mjs +0 -42
  149. package/esm2022/filtering/filterable.mjs +0 -16
  150. package/esm2022/filtering/menu/boolean-filter-menu.component.mjs +0 -168
  151. package/esm2022/filtering/menu/date-filter-menu-input.component.mjs +0 -174
  152. package/esm2022/filtering/menu/date-filter-menu.component.mjs +0 -207
  153. package/esm2022/filtering/menu/filter-menu-component.factory.mjs +0 -19
  154. package/esm2022/filtering/menu/filter-menu-container.component.mjs +0 -299
  155. package/esm2022/filtering/menu/filter-menu-dropdownlist.directive.mjs +0 -44
  156. package/esm2022/filtering/menu/filter-menu-host.directive.mjs +0 -46
  157. package/esm2022/filtering/menu/filter-menu-input-wrapper.component.mjs +0 -136
  158. package/esm2022/filtering/menu/filter-menu-template.directive.mjs +0 -43
  159. package/esm2022/filtering/menu/filter-menu.component.mjs +0 -202
  160. package/esm2022/filtering/menu/filter-radio-button.directive.mjs +0 -34
  161. package/esm2022/filtering/menu/menu-tabbing.service.mjs +0 -22
  162. package/esm2022/filtering/menu/numeric-filter-menu-input.component.mjs +0 -152
  163. package/esm2022/filtering/menu/numeric-filter-menu.component.mjs +0 -224
  164. package/esm2022/filtering/menu/string-filter-menu-input.component.mjs +0 -105
  165. package/esm2022/filtering/menu/string-filter-menu.component.mjs +0 -183
  166. package/esm2022/filtering/numeric-filter.component.mjs +0 -144
  167. package/esm2022/filtering/operators/after-eq-filter-operator.component.mjs +0 -72
  168. package/esm2022/filtering/operators/after-filter-operator.component.mjs +0 -72
  169. package/esm2022/filtering/operators/before-eq-filter-operator.component.mjs +0 -72
  170. package/esm2022/filtering/operators/before-filter-operator.component.mjs +0 -72
  171. package/esm2022/filtering/operators/contains-filter-operator.component.mjs +0 -64
  172. package/esm2022/filtering/operators/ends-with-filter-operator.component.mjs +0 -64
  173. package/esm2022/filtering/operators/eq-filter-operator.component.mjs +0 -112
  174. package/esm2022/filtering/operators/filter-operator.base.mjs +0 -98
  175. package/esm2022/filtering/operators/gt-filter-operator.component.mjs +0 -63
  176. package/esm2022/filtering/operators/gte-filter-operator.component.mjs +0 -63
  177. package/esm2022/filtering/operators/is-empty-filter-operator.component.mjs +0 -64
  178. package/esm2022/filtering/operators/is-not-empty-filter-operator.component.mjs +0 -64
  179. package/esm2022/filtering/operators/is-not-null-filter-operator.component.mjs +0 -112
  180. package/esm2022/filtering/operators/isnull-filter-operator.component.mjs +0 -112
  181. package/esm2022/filtering/operators/lt-filter-operator.component.mjs +0 -63
  182. package/esm2022/filtering/operators/lte-filter-operator.component.mjs +0 -63
  183. package/esm2022/filtering/operators/neq-filter-operator.component.mjs +0 -112
  184. package/esm2022/filtering/operators/not-contains-filter-operator.component.mjs +0 -64
  185. package/esm2022/filtering/operators/starts-with-filter-operator.component.mjs +0 -64
  186. package/esm2022/filtering/string-filter.component.mjs +0 -89
  187. package/esm2022/index.mjs +0 -146
  188. package/esm2022/layout/browser-support.service.mjs +0 -85
  189. package/esm2022/layout/resizable.directive.mjs +0 -83
  190. package/esm2022/layout/resize.service.mjs +0 -29
  191. package/esm2022/layout/responsive.service.mjs +0 -34
  192. package/esm2022/layout/row-sync.mjs +0 -47
  193. package/esm2022/localization/custom-messages.component.mjs +0 -53
  194. package/esm2022/localization/localized-messages.directive.mjs +0 -39
  195. package/esm2022/localization/messages.mjs +0 -510
  196. package/esm2022/navigation/default-focusable-element.mjs +0 -47
  197. package/esm2022/navigation/focus-group.mjs +0 -105
  198. package/esm2022/navigation/focus-root.mjs +0 -50
  199. package/esm2022/navigation/focusable-element.interface.mjs +0 -5
  200. package/esm2022/navigation/focusable.directive.mjs +0 -174
  201. package/esm2022/navigation/item-map.mjs +0 -59
  202. package/esm2022/navigation/logical-cell.directive.mjs +0 -187
  203. package/esm2022/navigation/logical-cell.interface.mjs +0 -5
  204. package/esm2022/navigation/logical-row.directive.mjs +0 -135
  205. package/esm2022/navigation/logical-row.interface.mjs +0 -5
  206. package/esm2022/navigation/model-cell.mjs +0 -37
  207. package/esm2022/navigation/navigation-cell.interface.mjs +0 -5
  208. package/esm2022/navigation/navigation-change.interface.mjs +0 -5
  209. package/esm2022/navigation/navigation-cursor.mjs +0 -176
  210. package/esm2022/navigation/navigation-metadata.mjs +0 -31
  211. package/esm2022/navigation/navigation-mode.mjs +0 -5
  212. package/esm2022/navigation/navigation-model.mjs +0 -126
  213. package/esm2022/navigation/navigation-row.interface.mjs +0 -5
  214. package/esm2022/navigation/navigation.service.mjs +0 -695
  215. package/esm2022/navigation/treelist-focusable-element.mjs +0 -28
  216. package/esm2022/package-metadata.mjs +0 -16
  217. package/esm2022/pdf/export-element.mjs +0 -129
  218. package/esm2022/pdf/pdf-command-tool.directive.mjs +0 -68
  219. package/esm2022/pdf/pdf-command.directive.mjs +0 -101
  220. package/esm2022/pdf/pdf-export-event.mjs +0 -18
  221. package/esm2022/pdf/pdf-margin.component.mjs +0 -33
  222. package/esm2022/pdf/pdf-margin.interface.mjs +0 -5
  223. package/esm2022/pdf/pdf-template.directive.mjs +0 -45
  224. package/esm2022/pdf/pdf.component.mjs +0 -269
  225. package/esm2022/pdf/pdf.module.mjs +0 -48
  226. package/esm2022/pdf/pdf.service.mjs +0 -40
  227. package/esm2022/pdf/treelist-query.mjs +0 -45
  228. package/esm2022/progress-kendo-angular-treelist.mjs +0 -8
  229. package/esm2022/rendering/cell-template.directive.mjs +0 -49
  230. package/esm2022/rendering/cell.component.mjs +0 -383
  231. package/esm2022/rendering/common/col-group.component.mjs +0 -39
  232. package/esm2022/rendering/common/dom-queries.mjs +0 -158
  233. package/esm2022/rendering/common/field-accessor.pipe.mjs +0 -48
  234. package/esm2022/rendering/common/level-items.pipe.mjs +0 -30
  235. package/esm2022/rendering/common/loading.component.mjs +0 -42
  236. package/esm2022/rendering/common/row-class.mjs +0 -5
  237. package/esm2022/rendering/common/spacer.component.mjs +0 -61
  238. package/esm2022/rendering/constants.mjs +0 -28
  239. package/esm2022/rendering/footer-template.directive.mjs +0 -45
  240. package/esm2022/rendering/header/header-template.directive.mjs +0 -45
  241. package/esm2022/rendering/header/header.component.mjs +0 -978
  242. package/esm2022/rendering/header/select-all-checkbox.directive.mjs +0 -90
  243. package/esm2022/rendering/list.component.mjs +0 -850
  244. package/esm2022/rendering/no-records-template.directive.mjs +0 -40
  245. package/esm2022/rendering/table-body.component.mjs +0 -665
  246. package/esm2022/rendering/toolbar/toolbar-focusable.directive.mjs +0 -77
  247. package/esm2022/rendering/toolbar/toolbar-navigation.service.mjs +0 -54
  248. package/esm2022/rendering/toolbar/toolbar-template.directive.mjs +0 -58
  249. package/esm2022/rendering/toolbar/toolbar.component.mjs +0 -110
  250. package/esm2022/row-reordering/flat-reorder.service.mjs +0 -48
  251. package/esm2022/row-reordering/hierarchical-reorder.service.mjs +0 -55
  252. package/esm2022/row-reordering/row-reorder.service.mjs +0 -273
  253. package/esm2022/row-reordering/types.mjs +0 -5
  254. package/esm2022/row-reordering/utils.mjs +0 -128
  255. package/esm2022/scrolling/content-scroll-event.mjs +0 -5
  256. package/esm2022/scrolling/row-height.service.mjs +0 -30
  257. package/esm2022/scrolling/scroll-bottom-event.mjs +0 -5
  258. package/esm2022/scrolling/scroll-request.service.mjs +0 -21
  259. package/esm2022/scrolling/scroll-sync.service.mjs +0 -80
  260. package/esm2022/scrolling/scroller.service.mjs +0 -112
  261. package/esm2022/scrolling/scrollmode.mjs +0 -5
  262. package/esm2022/scrolling/suspend.service.mjs +0 -17
  263. package/esm2022/selection/is-selected.mjs +0 -5
  264. package/esm2022/selection/marquee.directive.mjs +0 -196
  265. package/esm2022/selection/selectable-settings.mjs +0 -5
  266. package/esm2022/selection/selectable.directive.mjs +0 -223
  267. package/esm2022/selection/selection-change-event.mjs +0 -28
  268. package/esm2022/selection/selection-state.mjs +0 -104
  269. package/esm2022/selection/selection.service.mjs +0 -264
  270. package/esm2022/treelist.component.mjs +0 -3111
  271. package/esm2022/treelist.module.mjs +0 -183
  272. package/esm2022/utils.mjs +0 -113
@@ -1,132 +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 } from '@angular/core';
6
- import { LocalizationService } from '@progress/kendo-angular-l10n';
7
- import { DatePickerComponent, DatePickerCustomMessagesComponent } from '@progress/kendo-angular-dateinputs';
8
- import { FilterService } from '../filter.service';
9
- import { DateFilterComponent } from '../date-filter.component';
10
- import { FilterInputDirective } from '../filter-input.directive';
11
- import { FilterCellWrapperComponent } from './filter-cell-wrapper.component';
12
- import { FocusableDirective } from '../../navigation/focusable.directive';
13
- import { replaceMessagePlaceholder } from '@progress/kendo-angular-common';
14
- import * as i0 from "@angular/core";
15
- import * as i1 from "../filter.service";
16
- import * as i2 from "@progress/kendo-angular-l10n";
17
- /**
18
- * Represents a date-filter cell component.
19
- * Use this component to filter date values in the TreeList.
20
- * See the article about the [built-in filter components](slug:filter_row_treelist#toc-built-in-filter-row-components).
21
- *
22
- * @example
23
- * ```html
24
- * <kendo-treelist-column field="OrderDate">
25
- * <ng-template kendoTreeListFilterCellTemplate let-filter let-column="column">
26
- * <kendo-treelist-date-filter-cell
27
- * [column]="column"
28
- * [filter]="filter">
29
- * </kendo-treelist-date-filter-cell>
30
- * </ng-template>
31
- * </kendo-treelist-column>
32
- * ```
33
- * @remarks
34
- * Supported children components are: {@link EqualFilterOperatorComponent}, {@link NotEqualFilterOperatorComponent}, {@link AfterEqFilterOperatorComponent}, {@link AfterFilterOperatorComponent}, {@link BeforeEqFilterOperatorComponent}, {@link BeforeFilterOperatorComponent}, {@link IsNullFilterOperatorComponent}, {@link IsNotNullFilterOperatorComponent}.
35
- */
36
- export class DateFilterCellComponent extends DateFilterComponent {
37
- localization;
38
- /**
39
- * Shows or hides the drop-down filter operators.
40
- * @default true
41
- */
42
- showOperators = true;
43
- constructor(filterService, localization) {
44
- super(filterService, localization);
45
- this.localization = localization;
46
- }
47
- /**
48
- * @hidden
49
- */
50
- messageFor(key) {
51
- return this.localization.get(key);
52
- }
53
- /**
54
- * @hidden
55
- */
56
- get columnLabel() {
57
- const localizationMsg = this.localization.get('filterInputLabel') || '';
58
- const columnName = this.column.title || this.column.field;
59
- return replaceMessagePlaceholder(localizationMsg, 'columnName', columnName);
60
- }
61
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DateFilterCellComponent, deps: [{ token: i1.FilterService }, { token: i2.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
62
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: DateFilterCellComponent, isStandalone: true, selector: "kendo-treelist-date-filter-cell", inputs: { showOperators: "showOperators" }, usesInheritance: true, ngImport: i0, template: `
63
- <kendo-treelist-filter-wrapper-cell
64
- [column]="column"
65
- [filter]="filter"
66
- [operators]="operators"
67
- [defaultOperator]="operator"
68
- [showOperators]="showOperators"
69
- >
70
- <kendo-datepicker
71
- kendoFilterInput
72
- kendoTreeListFocusable
73
- [value]="currentFilter?.value"
74
- [format]="format"
75
- [columnLabel]="columnLabel"
76
- [formatPlaceholder]="formatPlaceholder"
77
- [placeholder]="placeholder"
78
- [activeView]="activeView"
79
- [bottomView]="bottomView"
80
- [topView]="topView"
81
- [min]="min"
82
- [max]="max"
83
- [weekNumber]="weekNumber"
84
- >
85
- <kendo-datepicker-messages
86
- [toggle]="messageFor('filterDateToggle')"
87
- [today]="messageFor('filterDateToday')"
88
- ></kendo-datepicker-messages>
89
- </kendo-datepicker>
90
- </kendo-treelist-filter-wrapper-cell>
91
- `, isInline: true, dependencies: [{ kind: "component", type: FilterCellWrapperComponent, selector: "kendo-treelist-filter-wrapper-cell", inputs: ["showOperators"] }, { kind: "component", type: DatePickerComponent, selector: "kendo-datepicker", inputs: ["focusableId", "cellTemplate", "clearButton", "inputAttributes", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "headerTemplate", "footerTemplate", "footer", "navigationItemTemplate", "weekDaysFormat", "showOtherMonthDays", "activeView", "bottomView", "topView", "calendarType", "animateCalendarNavigation", "disabled", "readonly", "readOnlyInput", "popupSettings", "navigation", "min", "max", "incompleteDateValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "enableMouseWheel", "allowCaretMode", "autoFill", "focusedDate", "value", "format", "twoDigitYearMax", "formatPlaceholder", "placeholder", "tabindex", "tabIndex", "disabledDates", "adaptiveTitle", "adaptiveSubtitle", "rangeValidation", "disabledDatesValidation", "weekNumber", "size", "rounded", "fillMode", "adaptiveMode"], outputs: ["valueChange", "focus", "blur", "open", "close", "escape"], exportAs: ["kendo-datepicker"] }, { kind: "directive", type: FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "columnLabel", "column", "value"] }, { kind: "directive", type: FocusableDirective, selector: "[kendoTreeListFocusable],\n [kendoTreeListAddCommand],\n [kendoTreeListEditCommand],\n [kendoTreeListRemoveCommand],\n [kendoTreeListSaveCommand],\n [kendoTreeListCancelCommand]\n ", inputs: ["kendoTreeListFocusable", "enabled", "kendoTreeListAddCommand", "kendoTreeListEditCommand", "kendoTreeListRemoveCommand", "kendoTreeListSaveCommand", "kendoTreeListCancelCommand"] }, { kind: "component", type: DatePickerCustomMessagesComponent, selector: "kendo-datepicker-messages" }] });
92
- }
93
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DateFilterCellComponent, decorators: [{
94
- type: Component,
95
- args: [{
96
- selector: 'kendo-treelist-date-filter-cell',
97
- template: `
98
- <kendo-treelist-filter-wrapper-cell
99
- [column]="column"
100
- [filter]="filter"
101
- [operators]="operators"
102
- [defaultOperator]="operator"
103
- [showOperators]="showOperators"
104
- >
105
- <kendo-datepicker
106
- kendoFilterInput
107
- kendoTreeListFocusable
108
- [value]="currentFilter?.value"
109
- [format]="format"
110
- [columnLabel]="columnLabel"
111
- [formatPlaceholder]="formatPlaceholder"
112
- [placeholder]="placeholder"
113
- [activeView]="activeView"
114
- [bottomView]="bottomView"
115
- [topView]="topView"
116
- [min]="min"
117
- [max]="max"
118
- [weekNumber]="weekNumber"
119
- >
120
- <kendo-datepicker-messages
121
- [toggle]="messageFor('filterDateToggle')"
122
- [today]="messageFor('filterDateToday')"
123
- ></kendo-datepicker-messages>
124
- </kendo-datepicker>
125
- </kendo-treelist-filter-wrapper-cell>
126
- `,
127
- standalone: true,
128
- imports: [FilterCellWrapperComponent, DatePickerComponent, FilterInputDirective, FocusableDirective, DatePickerCustomMessagesComponent]
129
- }]
130
- }], ctorParameters: () => [{ type: i1.FilterService }, { type: i2.LocalizationService }], propDecorators: { showOperators: [{
131
- type: Input
132
- }] } });
@@ -1,19 +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 { StringFilterCellComponent } from './string-filter-cell.component';
6
- import { NumericFilterCellComponent } from './numeric-filter-cell.component';
7
- import { BooleanFilterCellComponent } from './boolean-filter-cell.component';
8
- import { DateFilterCellComponent } from "./date-filter-cell.component";
9
- /**
10
- * @hidden
11
- *
12
- * > List the following components in the TreeListModule as `entryComponents`.
13
- */
14
- export const filterComponentFactory = (type) => ({
15
- "boolean": BooleanFilterCellComponent,
16
- "date": DateFilterCellComponent,
17
- "numeric": NumericFilterCellComponent,
18
- "text": StringFilterCellComponent
19
- }[type]);
@@ -1,33 +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 { Directive, ViewContainerRef } from "@angular/core";
6
- import { FilterHostDirective } from "../filter-host.directive";
7
- import { isNullOrEmptyString } from "../../utils";
8
- import { filterComponentFactory } from "./filter-cell-component.factory";
9
- import { StringFilterCellComponent } from "./string-filter-cell.component";
10
- import * as i0 from "@angular/core";
11
- /**
12
- * @hidden
13
- */
14
- export class FilterCellHostDirective extends FilterHostDirective {
15
- constructor(host) {
16
- super(host);
17
- }
18
- componentType() {
19
- if (!isNullOrEmptyString(this.column.filter)) {
20
- return filterComponentFactory(this.column.filter);
21
- }
22
- return StringFilterCellComponent;
23
- }
24
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterCellHostDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
25
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: FilterCellHostDirective, isStandalone: true, selector: "[kendoFilterCellHost]", usesInheritance: true, ngImport: i0 });
26
- }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterCellHostDirective, decorators: [{
28
- type: Directive,
29
- args: [{
30
- selector: '[kendoFilterCellHost]',
31
- standalone: true
32
- }]
33
- }], ctorParameters: () => [{ type: i0.ViewContainerRef }] });
@@ -1,235 +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, EventEmitter, HostBinding, Input, Output, ViewChild } from '@angular/core';
6
- import { Keys, replaceMessagePlaceholder } from '@progress/kendo-angular-common';
7
- import { DropDownListComponent } from '@progress/kendo-angular-dropdowns';
8
- import { LocalizationService } from '@progress/kendo-angular-l10n';
9
- import { filterClearIcon, filterIcon } from '@progress/kendo-svg-icons';
10
- import { ButtonComponent } from '@progress/kendo-angular-buttons';
11
- import { ColumnComponent } from '../../columns/column.component';
12
- import { FocusableDirective } from '../../navigation/focusable.directive';
13
- import * as i0 from "@angular/core";
14
- import * as i1 from "@progress/kendo-angular-l10n";
15
- /**
16
- * Represents a component that displays filter operators for the TreeList filter row.
17
- * Use this component to let users select filter operators for a column.
18
- *
19
- * @example
20
- * ```html
21
- * <kendo-treelist ...>
22
- * <kendo-treelist-column field="ProductName">
23
- * <ng-template kendoTreeListFilterCellTemplate let-filter let-column="column">
24
- * <input />
25
- * <kendo-treelist-filter-cell-operators
26
- * [operators]="[{text: 'Equals', value: 'eq'}]">
27
- * </kendo-treelist-filter-cell-operators>
28
- * </ng-template>
29
- * </kendo-treelist-column>
30
- * </kendo-treelist>
31
- * ```
32
- */
33
- export class FilterCellOperatorsComponent {
34
- localization;
35
- clearText = 'Clear';
36
- filterClearIcon = filterClearIcon;
37
- /**
38
- * @hidden
39
- */
40
- filterSVGIcon = filterIcon;
41
- /**
42
- * @hidden
43
- */
44
- get hostClasses() {
45
- return true;
46
- }
47
- /**
48
- * @hidden
49
- */
50
- dropdown;
51
- /**
52
- * The filter operators that will be displayed.
53
- */
54
- operators = [];
55
- /**
56
- * Determines if the **Clear** button will be displayed.
57
- * @type {boolean}
58
- */
59
- showButton;
60
- /**
61
- * Determines if the list of operators will be displayed.
62
- * @type {boolean}
63
- * @default true
64
- */
65
- showOperators = true;
66
- /**
67
- * The selected operator.
68
- * @type {string}
69
- */
70
- value;
71
- /**
72
- * The TreeList column which the filter operators are associated with.
73
- */
74
- column;
75
- /**
76
- * Fires when the operator is selected.
77
- * @type {EventEmitter<string>}
78
- */
79
- valueChange = new EventEmitter();
80
- /**
81
- * Fires when the **Clear** button is clicked.
82
- * @type {EventEmitter<{}>}
83
- */
84
- clear = new EventEmitter();
85
- subscription;
86
- constructor(localization) {
87
- this.localization = localization;
88
- }
89
- /**
90
- * @hidden
91
- */
92
- onChange(dataItem) {
93
- this.valueChange.emit(dataItem);
94
- }
95
- /**
96
- * @hidden
97
- */
98
- clearClick() {
99
- this.clear.emit();
100
- return false;
101
- }
102
- /**
103
- * @hidden
104
- */
105
- clearKeydown(args) {
106
- if (args.code === Keys.Enter || args.code === Keys.NumpadEnter || args.code === Keys.Space) {
107
- this.clear.emit();
108
- }
109
- }
110
- /**
111
- * @hidden
112
- */
113
- dropdownKeydown(args) {
114
- if (args.defaultPrevented) {
115
- return;
116
- }
117
- if ((args.code === Keys.Enter || args.code === Keys.NumpadEnter) && !this.dropdown.isOpen) {
118
- this.dropdown.toggle(true);
119
- args.preventDefault();
120
- }
121
- }
122
- ngOnInit() {
123
- this.subscription = this.localization.changes.subscribe(() => this.clearText = this.localization.get('filterClearButton'));
124
- }
125
- ngOnDestroy() {
126
- if (this.subscription) {
127
- this.subscription.unsubscribe();
128
- }
129
- }
130
- /**
131
- * @hidden
132
- */
133
- get columnLabel() {
134
- const localizationMsg = this.localization.get('filterCellOperatorLabel') || '';
135
- const columnName = this.column.title || this.column.field;
136
- return replaceMessagePlaceholder(localizationMsg, 'columnName', columnName);
137
- }
138
- /**
139
- * @hidden
140
- */
141
- messageFor(token) {
142
- return this.localization.get(token);
143
- }
144
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterCellOperatorsComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
145
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: FilterCellOperatorsComponent, isStandalone: true, selector: "kendo-treelist-filter-cell-operators", inputs: { operators: "operators", showButton: "showButton", showOperators: "showOperators", value: "value", column: "column" }, outputs: { valueChange: "valueChange", clear: "clear" }, host: { properties: { "class.k-filtercell-operator": "this.hostClasses" } }, viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true }], ngImport: i0, template: `
146
- @if (showOperators) {
147
- <kendo-dropdownlist
148
- #dropdown
149
- kendoTreeListFocusable
150
- [data]="operators"
151
- class="k-dropdown-operator"
152
- (valueChange)="onChange($event)"
153
- [value]="value"
154
- [attr.aria-label]="column && columnLabel"
155
- icon="filter"
156
- [svgIcon]="filterSVGIcon"
157
- [valuePrimitive]="true"
158
- textField="text"
159
- [popupSettings]="{ width: 'auto' }"
160
- valueField="value"
161
- (keydown)="dropdownKeydown($event)">
162
- </kendo-dropdownlist>
163
- }
164
- @if (showButton) {
165
- <button type="button"
166
- kendoButton
167
- kendoTreeListFocusable
168
- icon="filter-clear"
169
- [svgIcon]="filterClearIcon"
170
- [title]="clearText"
171
- (click)="clearClick()"
172
- (keydown)="clearKeydown($event)">
173
- </button>
174
- }
175
- `, isInline: true, dependencies: [{ kind: "component", type: DropDownListComponent, selector: "kendo-dropdownlist", inputs: ["customIconClass", "showStickyHeader", "icon", "svgIcon", "loading", "data", "value", "textField", "valueField", "adaptiveMode", "adaptiveTitle", "adaptiveSubtitle", "popupSettings", "listHeight", "defaultItem", "disabled", "itemDisabled", "readonly", "filterable", "virtual", "ignoreCase", "delay", "valuePrimitive", "tabindex", "tabIndex", "size", "rounded", "fillMode", "leftRightArrowsNavigation", "id"], outputs: ["valueChange", "filterChange", "selectionChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoDropDownList"] }, { kind: "directive", type: FocusableDirective, selector: "[kendoTreeListFocusable],\n [kendoTreeListAddCommand],\n [kendoTreeListEditCommand],\n [kendoTreeListRemoveCommand],\n [kendoTreeListSaveCommand],\n [kendoTreeListCancelCommand]\n ", inputs: ["kendoTreeListFocusable", "enabled", "kendoTreeListAddCommand", "kendoTreeListEditCommand", "kendoTreeListRemoveCommand", "kendoTreeListSaveCommand", "kendoTreeListCancelCommand"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
176
- }
177
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterCellOperatorsComponent, decorators: [{
178
- type: Component,
179
- args: [{
180
- selector: 'kendo-treelist-filter-cell-operators',
181
- template: `
182
- @if (showOperators) {
183
- <kendo-dropdownlist
184
- #dropdown
185
- kendoTreeListFocusable
186
- [data]="operators"
187
- class="k-dropdown-operator"
188
- (valueChange)="onChange($event)"
189
- [value]="value"
190
- [attr.aria-label]="column && columnLabel"
191
- icon="filter"
192
- [svgIcon]="filterSVGIcon"
193
- [valuePrimitive]="true"
194
- textField="text"
195
- [popupSettings]="{ width: 'auto' }"
196
- valueField="value"
197
- (keydown)="dropdownKeydown($event)">
198
- </kendo-dropdownlist>
199
- }
200
- @if (showButton) {
201
- <button type="button"
202
- kendoButton
203
- kendoTreeListFocusable
204
- icon="filter-clear"
205
- [svgIcon]="filterClearIcon"
206
- [title]="clearText"
207
- (click)="clearClick()"
208
- (keydown)="clearKeydown($event)">
209
- </button>
210
- }
211
- `,
212
- standalone: true,
213
- imports: [DropDownListComponent, FocusableDirective, ButtonComponent]
214
- }]
215
- }], ctorParameters: () => [{ type: i1.LocalizationService }], propDecorators: { hostClasses: [{
216
- type: HostBinding,
217
- args: ['class.k-filtercell-operator']
218
- }], dropdown: [{
219
- type: ViewChild,
220
- args: ['dropdown', { static: false }]
221
- }], operators: [{
222
- type: Input
223
- }], showButton: [{
224
- type: Input
225
- }], showOperators: [{
226
- type: Input
227
- }], value: [{
228
- type: Input
229
- }], column: [{
230
- type: Input
231
- }], valueChange: [{
232
- type: Output
233
- }], clear: [{
234
- type: Output
235
- }] } });
@@ -1,46 +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 { Directive, TemplateRef, Optional } from '@angular/core';
6
- import * as i0 from "@angular/core";
7
- /**
8
- * Represents the filter-cell template for the TreeList.
9
- * Use this directive to customize the filter row cell for a column.
10
- * See [custom filter row components](slug:filter_row_treelist#toc-custom-filters).
11
- *
12
- * The template context is set to the filter descriptor and provides the following fields:
13
- * - `column`&mdash;The current column instance. Use as an alias for a template variable with `let-column="column"`.
14
- * - `filter`&mdash;The filter descriptor.
15
- * - `cellContext`&mdash;An object used to pass context information to built-in directives.
16
- *
17
- * @example
18
- * ```html
19
- * <kendo-treelist-column field="name" title="Name">
20
- * <ng-template kendoTreeListFilterCellTemplate let-column="column" let-filter="filter" let-cellContext="cellContext">
21
- * <kendo-maskedtextbox mask="(999) 000-0000"
22
- * [promptPlaceholder]="prompt" [includeLiterals]="true"
23
- * (valueChange)="phoneChange($event)"
24
- * >
25
- * </kendo-maskedtextbox>
26
- * </ng-template>
27
- * </kendo-treelist-column>
28
- * ```
29
- */
30
- export class FilterCellTemplateDirective {
31
- templateRef;
32
- constructor(templateRef) {
33
- this.templateRef = templateRef;
34
- }
35
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterCellTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
36
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: FilterCellTemplateDirective, isStandalone: true, selector: "[kendoTreeListFilterCellTemplate]", ngImport: i0 });
37
- }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterCellTemplateDirective, decorators: [{
39
- type: Directive,
40
- args: [{
41
- selector: '[kendoTreeListFilterCellTemplate]',
42
- standalone: true
43
- }]
44
- }], ctorParameters: () => [{ type: i0.TemplateRef, decorators: [{
45
- type: Optional
46
- }] }] });
@@ -1,74 +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, HostBinding } from '@angular/core';
6
- import { FilterService } from '../filter.service';
7
- import { isPresent, isNullOrEmptyString } from '../../utils';
8
- import { FilterInputWrapperComponent } from "../filter-input-wrapper.component";
9
- import { FilterCellOperatorsComponent } from './filter-cell-operators.component';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "../filter.service";
12
- const EMPTY_FILTER_OPERATORS = ['isnull', 'isnotnull', 'isempty', 'isnotempty'];
13
- /**
14
- * @hidden
15
- */
16
- export class FilterCellWrapperComponent extends FilterInputWrapperComponent {
17
- get hostClasses() {
18
- return true;
19
- }
20
- get overrideBaseClasses() {
21
- return false;
22
- }
23
- showOperators = true;
24
- get showButton() {
25
- const filter = this.currentFilter;
26
- return isPresent(filter) && (!isNullOrEmptyString(filter.value) ||
27
- EMPTY_FILTER_OPERATORS.indexOf(String(filter.operator)) >= 0);
28
- }
29
- constructor(filterService) {
30
- super(filterService);
31
- }
32
- filterChange(filter) {
33
- this.applyFilter(filter);
34
- }
35
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterCellWrapperComponent, deps: [{ token: i1.FilterService }], target: i0.ɵɵFactoryTarget.Component });
36
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: FilterCellWrapperComponent, isStandalone: true, selector: "kendo-treelist-filter-wrapper-cell", inputs: { showOperators: "showOperators" }, host: { properties: { "class.k-filtercell-wrapper": "this.hostClasses", "class.k-filtercell": "this.overrideBaseClasses" } }, usesInheritance: true, ngImport: i0, template: `
37
- <ng-content></ng-content>
38
- <kendo-treelist-filter-cell-operators
39
- [showOperators]="showOperators"
40
- [operators]="operators"
41
- [column]="column"
42
- (clear)="onClear()"
43
- [showButton]="showButton"
44
- [(value)]="currentOperator">
45
- </kendo-treelist-filter-cell-operators>
46
- `, isInline: true, dependencies: [{ kind: "component", type: FilterCellOperatorsComponent, selector: "kendo-treelist-filter-cell-operators", inputs: ["operators", "showButton", "showOperators", "value", "column"], outputs: ["valueChange", "clear"] }] });
47
- }
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterCellWrapperComponent, decorators: [{
49
- type: Component,
50
- args: [{
51
- selector: 'kendo-treelist-filter-wrapper-cell',
52
- template: `
53
- <ng-content></ng-content>
54
- <kendo-treelist-filter-cell-operators
55
- [showOperators]="showOperators"
56
- [operators]="operators"
57
- [column]="column"
58
- (clear)="onClear()"
59
- [showButton]="showButton"
60
- [(value)]="currentOperator">
61
- </kendo-treelist-filter-cell-operators>
62
- `,
63
- standalone: true,
64
- imports: [FilterCellOperatorsComponent]
65
- }]
66
- }], ctorParameters: () => [{ type: i1.FilterService }], propDecorators: { hostClasses: [{
67
- type: HostBinding,
68
- args: ['class.k-filtercell-wrapper']
69
- }], overrideBaseClasses: [{
70
- type: HostBinding,
71
- args: ['class.k-filtercell']
72
- }], showOperators: [{
73
- type: Input
74
- }] } });
@@ -1,91 +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 } from '@angular/core';
6
- import { NgTemplateOutlet } from '@angular/common';
7
- import { ColumnComponent } from '../../columns/column.component';
8
- import { cloneFilters } from '../../common/filter-descriptor-differ';
9
- import { FocusGroup } from '../../navigation/focus-group';
10
- import { isNullOrEmptyString, isPresent } from '../../utils';
11
- import { FilterCellHostDirective } from './filter-cell-host.directive';
12
- import * as i0 from "@angular/core";
13
- import * as i1 from "../../navigation/focus-group";
14
- /**
15
- * @hidden
16
- */
17
- export class FilterCellComponent {
18
- focusGroup;
19
- column;
20
- get filter() {
21
- return this._filter;
22
- }
23
- set filter(value) {
24
- this._filter = cloneFilters(value);
25
- }
26
- _templateContext = {};
27
- _filter;
28
- constructor(focusGroup) {
29
- this.focusGroup = focusGroup;
30
- }
31
- get templateContext() {
32
- this._templateContext.$implicit = this.filter;
33
- this._templateContext.column = this.column;
34
- this._templateContext.filter = this.filter;
35
- this._templateContext.cellContext = { focusGroup: this.focusGroup };
36
- return this._templateContext;
37
- }
38
- get hasTemplate() {
39
- return isPresent(this.column.filterCellTemplateRef);
40
- }
41
- get isFilterable() {
42
- return isPresent(this.column) && !isNullOrEmptyString(this.column.field) && this.column.filterable;
43
- }
44
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterCellComponent, deps: [{ token: i1.FocusGroup }], target: i0.ɵɵFactoryTarget.Component });
45
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: FilterCellComponent, isStandalone: true, selector: "[kendoTreeListFilterCell]", inputs: { column: "column", filter: "filter" }, ngImport: i0, template: `
46
- @if (isFilterable) {
47
- @switch (hasTemplate) {
48
- @case (false) {
49
- <ng-container kendoFilterCellHost [column]="column" [filter]="filter"></ng-container>
50
- }
51
- @case (true) {
52
- @if (column.filterCellTemplateRef) {
53
- <ng-template
54
- [ngTemplateOutlet]="column.filterCellTemplateRef"
55
- [ngTemplateOutletContext]="templateContext">
56
- </ng-template>
57
- }
58
- }
59
- }
60
- }
61
- `, isInline: true, dependencies: [{ kind: "directive", type: FilterCellHostDirective, selector: "[kendoFilterCellHost]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
62
- }
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FilterCellComponent, decorators: [{
64
- type: Component,
65
- args: [{
66
- selector: '[kendoTreeListFilterCell]',
67
- template: `
68
- @if (isFilterable) {
69
- @switch (hasTemplate) {
70
- @case (false) {
71
- <ng-container kendoFilterCellHost [column]="column" [filter]="filter"></ng-container>
72
- }
73
- @case (true) {
74
- @if (column.filterCellTemplateRef) {
75
- <ng-template
76
- [ngTemplateOutlet]="column.filterCellTemplateRef"
77
- [ngTemplateOutletContext]="templateContext">
78
- </ng-template>
79
- }
80
- }
81
- }
82
- }
83
- `,
84
- standalone: true,
85
- imports: [FilterCellHostDirective, NgTemplateOutlet]
86
- }]
87
- }], ctorParameters: () => [{ type: i1.FocusGroup }], propDecorators: { column: [{
88
- type: Input
89
- }], filter: [{
90
- type: Input
91
- }] } });