@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,224 +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 { LocalizationService } from '@progress/kendo-angular-l10n';
7
- import { DropDownListComponent } from '@progress/kendo-angular-dropdowns';
8
- import { FilterService } from '../filter.service';
9
- import { NumericFilterComponent } from '../numeric-filter.component';
10
- import { setFilter, logicOperators } from '../base-filter-cell.component';
11
- import { NumericFilterMenuInputComponent } from './numeric-filter-menu-input.component';
12
- import { MenuTabbingService } from './menu-tabbing.service';
13
- import { FilterMenuDropDownListDirective } from './filter-menu-dropdownlist.directive';
14
- import { replaceMessagePlaceholder } from '@progress/kendo-angular-common';
15
- import * as i0 from "@angular/core";
16
- import * as i1 from "@progress/kendo-angular-l10n";
17
- /**
18
- * Represents the Kendo UI numeric-filter menu component for the TreeList. Use this component to filter numeric values using a filter menu popup.
19
- * [See example](slug:filter_menu_treelist#toc-built-in-filter-menu-components).
20
- *
21
- * @example
22
- * ```html
23
- * <kendo-treelist-column field="UnitPrice">
24
- * <ng-template kendoTreeListFilterMenuTemplate let-filter let-column="column" let-filterService="filterService">
25
- * <kendo-treelist-numeric-filter-menu
26
- * [column]="column"
27
- * [filter]="filter"
28
- * [filterService]="filterService">
29
- * </kendo-treelist-numeric-filter-menu>
30
- * </ng-template>
31
- * </kendo-treelist-column>
32
- * ```
33
- * @remarks
34
- * Supported children components are: {@link EqualFilterOperatorComponent}, {@link NotEqualFilterOperatorComponent}, {@link GreaterFilterOperatorComponent}, {@link GreaterOrEqualToFilterOperatorComponent}, {@link LessFilterOperatorComponent}, {@link LessOrEqualToFilterOperatorComponent}, {@link IsNullFilterOperatorComponent}, {@link IsNotNullFilterOperatorComponent}.
35
- */
36
- export class NumericFilterMenuComponent extends NumericFilterComponent {
37
- logicOperators = logicOperators(this.localization);
38
- /**
39
- * @hidden
40
- */
41
- get hostClasses() {
42
- return false;
43
- }
44
- /**
45
- * The current menu filter.
46
- * @type {CompositeFilterDescriptor}
47
- */
48
- filter = { filters: [], logic: "and" };
49
- /**
50
- * Determines if the inputs of second criteria are displayed.
51
- * @default true
52
- */
53
- extra = true;
54
- /**
55
- * The `FilterService` instance which is responsible for handling the changes in the filter descriptor.
56
- */
57
- filterService;
58
- /**
59
- * Determines the delay (in milliseconds) before creating a filter descriptor based on the value. A value of 0 indicates no delay.
60
- * @default 500
61
- */
62
- filterDelay = 500;
63
- /**
64
- * The placeholder text for the filter input.
65
- * @type {string}
66
- * @default ''
67
- */
68
- placeholder = '';
69
- /**
70
- * The placeholder text for the extra filter input. Applies when `extra` is set to `true`.
71
- * @type {string}
72
- * @default ''
73
- */
74
- extraPlaceholder = '';
75
- /**
76
- * @hidden
77
- */
78
- menuTabbingService;
79
- constructor(localization) {
80
- super(null, localization);
81
- }
82
- get firstFilter() {
83
- return setFilter(0, this.filter, (this.column || {}).field, this.operator);
84
- }
85
- get secondFilter() {
86
- return setFilter(1, this.filter, (this.column || {}).field, this.operator);
87
- }
88
- logicChange(value) {
89
- this.filter.logic = value;
90
- }
91
- localizationChange() {
92
- this.logicOperators = logicOperators(this.localization);
93
- super.localizationChange();
94
- }
95
- get filterMenuDropDownLabel() {
96
- const localizationMsg = this.localization.get('filterMenuLogicDropDownLabel') || '';
97
- const columnName = this.column ? this.column.title || this.column.field : '';
98
- return replaceMessagePlaceholder(localizationMsg, 'columnName', columnName);
99
- }
100
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NumericFilterMenuComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
101
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: NumericFilterMenuComponent, isStandalone: true, selector: "kendo-treelist-numeric-filter-menu", inputs: { filter: "filter", extra: "extra", filterService: "filterService", filterDelay: "filterDelay", placeholder: "placeholder", extraPlaceholder: "extraPlaceholder", menuTabbingService: "menuTabbingService" }, host: { properties: { "class.k-filtercell": "this.hostClasses" } }, usesInheritance: true, ngImport: i0, template: `
102
- <kendo-treelist-numeric-filter-menu-input
103
- [currentFilter]="firstFilter"
104
- [operators]="operators"
105
- [filterService]="filterService"
106
- [filterDelay]="filterDelay"
107
- [column]="column"
108
- [filter]="filter"
109
- [format]="format"
110
- [decimals]="decimals"
111
- [spinners]="spinners"
112
- [min]="min"
113
- [max]="max"
114
- [step]="step"
115
- [placeholder]="placeholder"
116
- [menuTabbingService]="menuTabbingService"
117
- [isFirstDropDown]="true">
118
- </kendo-treelist-numeric-filter-menu-input>
119
- @if (extra) {
120
- <kendo-dropdownlist
121
- kendoFilterMenuDropDown
122
- [filterMenuDropDownLabel]="filterMenuDropDownLabel"
123
- class="k-filter-and"
124
- [data]="logicOperators"
125
- [valuePrimitive]="true"
126
- (valueChange)="logicChange($event)"
127
- [value]="filter?.logic"
128
- textField="text"
129
- valueField="value">
130
- </kendo-dropdownlist>
131
- }
132
- @if (extra) {
133
- <kendo-treelist-numeric-filter-menu-input
134
- [operators]="operators"
135
- [currentFilter]="secondFilter"
136
- [filterService]="filterService"
137
- [column]="column"
138
- [filter]="filter"
139
- [format]="format"
140
- [decimals]="decimals"
141
- [spinners]="spinners"
142
- [min]="min"
143
- [max]="max"
144
- [step]="step"
145
- [placeholder]="extraPlaceholder"
146
- [menuTabbingService]="menuTabbingService">
147
- </kendo-treelist-numeric-filter-menu-input>
148
- }
149
- `, isInline: true, dependencies: [{ kind: "component", type: NumericFilterMenuInputComponent, selector: "kendo-treelist-numeric-filter-menu-input", inputs: ["operators", "column", "filter", "operator", "currentFilter", "filterService", "placeholder", "filterDelay", "isFirstDropDown", "menuTabbingService", "step", "min", "max", "spinners", "decimals", "format"] }, { 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: FilterMenuDropDownListDirective, selector: "[kendoFilterMenuDropDown]", inputs: ["filterMenuDropDownLabel"] }] });
150
- }
151
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NumericFilterMenuComponent, decorators: [{
152
- type: Component,
153
- args: [{
154
- selector: 'kendo-treelist-numeric-filter-menu',
155
- template: `
156
- <kendo-treelist-numeric-filter-menu-input
157
- [currentFilter]="firstFilter"
158
- [operators]="operators"
159
- [filterService]="filterService"
160
- [filterDelay]="filterDelay"
161
- [column]="column"
162
- [filter]="filter"
163
- [format]="format"
164
- [decimals]="decimals"
165
- [spinners]="spinners"
166
- [min]="min"
167
- [max]="max"
168
- [step]="step"
169
- [placeholder]="placeholder"
170
- [menuTabbingService]="menuTabbingService"
171
- [isFirstDropDown]="true">
172
- </kendo-treelist-numeric-filter-menu-input>
173
- @if (extra) {
174
- <kendo-dropdownlist
175
- kendoFilterMenuDropDown
176
- [filterMenuDropDownLabel]="filterMenuDropDownLabel"
177
- class="k-filter-and"
178
- [data]="logicOperators"
179
- [valuePrimitive]="true"
180
- (valueChange)="logicChange($event)"
181
- [value]="filter?.logic"
182
- textField="text"
183
- valueField="value">
184
- </kendo-dropdownlist>
185
- }
186
- @if (extra) {
187
- <kendo-treelist-numeric-filter-menu-input
188
- [operators]="operators"
189
- [currentFilter]="secondFilter"
190
- [filterService]="filterService"
191
- [column]="column"
192
- [filter]="filter"
193
- [format]="format"
194
- [decimals]="decimals"
195
- [spinners]="spinners"
196
- [min]="min"
197
- [max]="max"
198
- [step]="step"
199
- [placeholder]="extraPlaceholder"
200
- [menuTabbingService]="menuTabbingService">
201
- </kendo-treelist-numeric-filter-menu-input>
202
- }
203
- `,
204
- standalone: true,
205
- imports: [NumericFilterMenuInputComponent, DropDownListComponent, FilterMenuDropDownListDirective]
206
- }]
207
- }], ctorParameters: () => [{ type: i1.LocalizationService }], propDecorators: { hostClasses: [{
208
- type: HostBinding,
209
- args: ['class.k-filtercell']
210
- }], filter: [{
211
- type: Input
212
- }], extra: [{
213
- type: Input
214
- }], filterService: [{
215
- type: Input
216
- }], filterDelay: [{
217
- type: Input
218
- }], placeholder: [{
219
- type: Input
220
- }], extraPlaceholder: [{
221
- type: Input
222
- }], menuTabbingService: [{
223
- type: Input
224
- }] } });
@@ -1,105 +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 { ReactiveFormsModule, FormsModule } from '@angular/forms';
7
- import { TextBoxComponent } from '@progress/kendo-angular-inputs';
8
- import { ColumnComponent } from "../../columns/column.component";
9
- import { FilterService } from '../filter.service';
10
- import { LocalizationService } from '@progress/kendo-angular-l10n';
11
- import { FilterInputDirective } from '../filter-input.directive';
12
- import { FilterMenuInputWrapperComponent } from './filter-menu-input-wrapper.component';
13
- import { MenuTabbingService } from './menu-tabbing.service';
14
- import { replaceMessagePlaceholder } from '@progress/kendo-angular-common';
15
- import * as i0 from "@angular/core";
16
- import * as i1 from "@progress/kendo-angular-l10n";
17
- import * as i2 from "@angular/forms";
18
- /**
19
- * @hidden
20
- */
21
- export class StringFilterMenuInputComponent {
22
- localization;
23
- operators = [];
24
- column;
25
- filter;
26
- operator;
27
- currentFilter;
28
- filterService;
29
- placeholder;
30
- isFirstDropDown;
31
- menuTabbingService;
32
- constructor(localization) {
33
- this.localization = localization;
34
- }
35
- get columnLabel() {
36
- const localizationMsg = this.localization.get('filterInputLabel') || '';
37
- const columnName = this.column ? this.column.title || this.column.field : '';
38
- return replaceMessagePlaceholder(localizationMsg, 'columnName', columnName);
39
- }
40
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StringFilterMenuInputComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
41
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: StringFilterMenuInputComponent, isStandalone: true, selector: "kendo-treelist-string-filter-menu-input", inputs: { operators: "operators", column: "column", filter: "filter", operator: "operator", currentFilter: "currentFilter", filterService: "filterService", placeholder: "placeholder", isFirstDropDown: "isFirstDropDown", menuTabbingService: "menuTabbingService" }, ngImport: i0, template: `
42
- <kendo-treelist-filter-menu-input-wrapper
43
- [column]="column"
44
- [filter]="filter"
45
- [operators]="operators"
46
- [defaultOperator]="operator"
47
- [currentFilter]="currentFilter"
48
- [filterService]="filterService"
49
- [isFirstDropDown]="isFirstDropDown"
50
- [menuTabbingService]="menuTabbingService">
51
- <kendo-textbox
52
- kendoFilterInput
53
- [columnLabel]="columnLabel"
54
- [filterDelay]="0"
55
- [placeholder]="placeholder"
56
- [ngModel]="currentFilter?.value ?? null"
57
- ></kendo-textbox>
58
- </kendo-treelist-filter-menu-input-wrapper>
59
- `, isInline: true, dependencies: [{ kind: "component", type: FilterMenuInputWrapperComponent, selector: "kendo-treelist-filter-menu-input-wrapper", inputs: ["filterService", "isFirstDropDown", "menuTabbingService", "currentFilter"] }, { kind: "component", type: TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "type", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "successIcon", "successSvgIcon", "errorIcon", "errorSvgIcon", "clearButtonIcon", "clearButtonSvgIcon", "size", "rounded", "fillMode", "tabIndex", "placeholder", "maxlength", "inputAttributes"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: FilterInputDirective, selector: "[kendoFilterInput]", inputs: ["filterDelay", "columnLabel", "column", "value"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
60
- }
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StringFilterMenuInputComponent, decorators: [{
62
- type: Component,
63
- args: [{
64
- selector: 'kendo-treelist-string-filter-menu-input',
65
- template: `
66
- <kendo-treelist-filter-menu-input-wrapper
67
- [column]="column"
68
- [filter]="filter"
69
- [operators]="operators"
70
- [defaultOperator]="operator"
71
- [currentFilter]="currentFilter"
72
- [filterService]="filterService"
73
- [isFirstDropDown]="isFirstDropDown"
74
- [menuTabbingService]="menuTabbingService">
75
- <kendo-textbox
76
- kendoFilterInput
77
- [columnLabel]="columnLabel"
78
- [filterDelay]="0"
79
- [placeholder]="placeholder"
80
- [ngModel]="currentFilter?.value ?? null"
81
- ></kendo-textbox>
82
- </kendo-treelist-filter-menu-input-wrapper>
83
- `,
84
- standalone: true,
85
- imports: [FilterMenuInputWrapperComponent, TextBoxComponent, ReactiveFormsModule, FilterInputDirective, FormsModule]
86
- }]
87
- }], ctorParameters: () => [{ type: i1.LocalizationService }], propDecorators: { operators: [{
88
- type: Input
89
- }], column: [{
90
- type: Input
91
- }], filter: [{
92
- type: Input
93
- }], operator: [{
94
- type: Input
95
- }], currentFilter: [{
96
- type: Input
97
- }], filterService: [{
98
- type: Input
99
- }], placeholder: [{
100
- type: Input
101
- }], isFirstDropDown: [{
102
- type: Input
103
- }], menuTabbingService: [{
104
- type: Input
105
- }] } });
@@ -1,183 +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 { DropDownListComponent } from '@progress/kendo-angular-dropdowns';
7
- import { StringFilterComponent } from '../string-filter.component';
8
- import { FilterService } from '../filter.service';
9
- import { LocalizationService } from '@progress/kendo-angular-l10n';
10
- import { setFilter, logicOperators } from '../base-filter-cell.component';
11
- import { StringFilterMenuInputComponent } from './string-filter-menu-input.component';
12
- import { MenuTabbingService } from './menu-tabbing.service';
13
- import { replaceMessagePlaceholder } from '@progress/kendo-angular-common';
14
- import * as i0 from "@angular/core";
15
- import * as i1 from "@progress/kendo-angular-l10n";
16
- /**
17
- * Represents the Kendo UI string-filter menu component for the TreeList. Use this component to filter string values using a filter menu popup.
18
- * [See example](slug:filter_menu_treelist#toc-built-in-filter-menu-components).
19
- *
20
- * @example
21
- * ```html
22
- * <kendo-treelist-column field="name">
23
- * <ng-template kendoTreeListFilterMenuTemplate let-filter let-column="column" let-filterService="filterService">
24
- * <kendo-treelist-string-filter-menu
25
- * [column]="column"
26
- * [filter]="filter"
27
- * [filterService]="filterService">
28
- * </kendo-treelist-string-filter-menu>
29
- * </ng-template>
30
- * </kendo-treelist-column>
31
- * ```
32
- * @remarks
33
- * Supported children components are: {@link EqualFilterOperatorComponent}, {@link NotEqualFilterOperatorComponent}, {@link ContainsFilterOperatorComponent}, {@link DoesNotContainFilterOperatorComponent}, {@link StartsWithFilterOperatorComponent}, {@link EndsWithFilterOperatorComponent}, {@link IsNullFilterOperatorComponent}, {@link IsNotNullFilterOperatorComponent}, {@link IsEmptyFilterOperatorComponent}, {@link IsNotEmptyFilterOperatorComponent}.
34
- */
35
- export class StringFilterMenuComponent extends StringFilterComponent {
36
- logicOperators = logicOperators(this.localization);
37
- /**
38
- * @hidden
39
- */
40
- get hostClasses() {
41
- return false;
42
- }
43
- /**
44
- * The current menu filter.
45
- * @type {CompositeFilterDescriptor}
46
- */
47
- filter = { filters: [], logic: "and" };
48
- /**
49
- * Determines if the inputs for a second criteria are displayed.
50
- * @type {boolean}
51
- * @default true
52
- */
53
- extra = true;
54
- /**
55
- * The `FilterService` instance responsible for handling changes in the filter descriptor.
56
- */
57
- filterService;
58
- /**
59
- * The placeholder text for the filter input.
60
- * @type {string}
61
- */
62
- placeholder;
63
- /**
64
- * The placeholder text for the extra filter input. Applies when `extra` is set to `true`.
65
- * @type {string}
66
- */
67
- extraPlaceholder;
68
- /**
69
- * @hidden
70
- */
71
- menuTabbingService;
72
- constructor(localization) {
73
- super(null, localization);
74
- }
75
- get firstFilter() {
76
- return setFilter(0, this.filter, (this.column || {}).field, this.operator);
77
- }
78
- get secondFilter() {
79
- return setFilter(1, this.filter, (this.column || {}).field, this.operator);
80
- }
81
- logicChange(value) {
82
- this.filter.logic = value;
83
- }
84
- localizationChange() {
85
- this.logicOperators = logicOperators(this.localization);
86
- super.localizationChange();
87
- }
88
- get filterMenuDropDownLabel() {
89
- const localizationMsg = this.localization.get('filterMenuLogicDropDownLabel') || '';
90
- const columnName = this.column ? this.column.title || this.column.field : '';
91
- return replaceMessagePlaceholder(localizationMsg, 'columnName', columnName);
92
- }
93
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StringFilterMenuComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
94
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: StringFilterMenuComponent, isStandalone: true, selector: "kendo-treelist-string-filter-menu", inputs: { filter: "filter", extra: "extra", filterService: "filterService", placeholder: "placeholder", extraPlaceholder: "extraPlaceholder", menuTabbingService: "menuTabbingService" }, host: { properties: { "class.k-filtercell": "this.hostClasses" } }, usesInheritance: true, ngImport: i0, template: `
95
- <kendo-treelist-string-filter-menu-input
96
- [currentFilter]="firstFilter"
97
- [operators]="operators"
98
- [filterService]="filterService"
99
- [column]="column"
100
- [filter]="filter"
101
- [isFirstDropDown]="true"
102
- [placeholder]="placeholder"
103
- [menuTabbingService]="menuTabbingService">
104
- </kendo-treelist-string-filter-menu-input>
105
- @if (extra) {
106
- <kendo-dropdownlist
107
- class="k-filter-and"
108
- [data]="logicOperators"
109
- [valuePrimitive]="true" (valueChange)="logicChange($event)"
110
- [value]="filter?.logic"
111
- textField="text"
112
- valueField="value">
113
- </kendo-dropdownlist>
114
- }
115
- @if (extra) {
116
- <kendo-treelist-string-filter-menu-input
117
- [operators]="operators"
118
- [currentFilter]="secondFilter"
119
- [filterService]="filterService"
120
- [column]="column"
121
- [filter]="filter"
122
- [placeholder]="extraPlaceholder"
123
- [menuTabbingService]="menuTabbingService">
124
- </kendo-treelist-string-filter-menu-input>
125
- }
126
- `, isInline: true, dependencies: [{ kind: "component", type: StringFilterMenuInputComponent, selector: "kendo-treelist-string-filter-menu-input", inputs: ["operators", "column", "filter", "operator", "currentFilter", "filterService", "placeholder", "isFirstDropDown", "menuTabbingService"] }, { 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"] }] });
127
- }
128
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: StringFilterMenuComponent, decorators: [{
129
- type: Component,
130
- args: [{
131
- selector: 'kendo-treelist-string-filter-menu',
132
- template: `
133
- <kendo-treelist-string-filter-menu-input
134
- [currentFilter]="firstFilter"
135
- [operators]="operators"
136
- [filterService]="filterService"
137
- [column]="column"
138
- [filter]="filter"
139
- [isFirstDropDown]="true"
140
- [placeholder]="placeholder"
141
- [menuTabbingService]="menuTabbingService">
142
- </kendo-treelist-string-filter-menu-input>
143
- @if (extra) {
144
- <kendo-dropdownlist
145
- class="k-filter-and"
146
- [data]="logicOperators"
147
- [valuePrimitive]="true" (valueChange)="logicChange($event)"
148
- [value]="filter?.logic"
149
- textField="text"
150
- valueField="value">
151
- </kendo-dropdownlist>
152
- }
153
- @if (extra) {
154
- <kendo-treelist-string-filter-menu-input
155
- [operators]="operators"
156
- [currentFilter]="secondFilter"
157
- [filterService]="filterService"
158
- [column]="column"
159
- [filter]="filter"
160
- [placeholder]="extraPlaceholder"
161
- [menuTabbingService]="menuTabbingService">
162
- </kendo-treelist-string-filter-menu-input>
163
- }
164
- `,
165
- standalone: true,
166
- imports: [StringFilterMenuInputComponent, DropDownListComponent]
167
- }]
168
- }], ctorParameters: () => [{ type: i1.LocalizationService }], propDecorators: { hostClasses: [{
169
- type: HostBinding,
170
- args: ['class.k-filtercell']
171
- }], filter: [{
172
- type: Input
173
- }], extra: [{
174
- type: Input
175
- }], filterService: [{
176
- type: Input
177
- }], placeholder: [{
178
- type: Input
179
- }], extraPlaceholder: [{
180
- type: Input
181
- }], menuTabbingService: [{
182
- type: Input
183
- }] } });
@@ -1,144 +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, Input } from '@angular/core';
6
- import { ColumnComponent } from '../columns/column.component';
7
- import { FilterService } from './filter.service';
8
- import { BaseFilterCellComponent, localizeOperators } from './base-filter-cell.component';
9
- import { LocalizationService } from '@progress/kendo-angular-l10n';
10
- import { isNullOrEmptyString, extractFormat } from '../utils';
11
- import { toJSON } from './operators/filter-operator.base';
12
- import * as i0 from "@angular/core";
13
- import * as i1 from "./filter.service";
14
- import * as i2 from "@progress/kendo-angular-l10n";
15
- const numericOperators = localizeOperators({
16
- "filterEqOperator": "eq",
17
- "filterNotEqOperator": "neq",
18
- "filterGteOperator": "gte",
19
- "filterGtOperator": "gt",
20
- "filterLteOperator": "lte",
21
- "filterLtOperator": "lt",
22
- "filterIsNullOperator": "isnull",
23
- "filterIsNotNullOperator": "isnotnull"
24
- });
25
- /**
26
- * Represents a base numeric filter component for the TreeList.
27
- */
28
- export class NumericFilterComponent extends BaseFilterCellComponent {
29
- localization;
30
- /**
31
- * The column with which the filter is associated.
32
- * @type {ColumnComponent}
33
- */
34
- column;
35
- /**
36
- * The default filter operator.
37
- * @type {string}
38
- * @default 'eq'
39
- */
40
- operator = "eq";
41
- /**
42
- * Specifies the value that is used to increment or decrement the component value.
43
- * @type {number}
44
- * @default 1
45
- */
46
- step = 1;
47
- /**
48
- * Specifies the smallest value that is valid.
49
- * @type {number}
50
- */
51
- min;
52
- /**
53
- * Specifies the greatest value that is valid.
54
- * @type {number}
55
- */
56
- max;
57
- /**
58
- * Specifies whether the **Up** and **Down** spin buttons will be rendered.
59
- * @type {boolean}
60
- * @default true
61
- */
62
- spinners = true;
63
- /**
64
- * Specifies the number precision applied to the component value when it is focused.
65
- * If the user enters a number with a greater precision than is currently configured, the component value is rounded.
66
- * @type {number}
67
- */
68
- decimals;
69
- /**
70
- * Specifies the number format used when the component is not focused.
71
- * By default, the `column.format` value is used (if set).
72
- * @type {string}
73
- */
74
- get format() {
75
- return !isNullOrEmptyString(this._format) ? this._format : this.columnFormat;
76
- }
77
- set format(value) {
78
- this._format = value;
79
- }
80
- /**
81
- * The current filter for the associated column field.
82
- * @readonly
83
- * @type {FilterDescriptor}
84
- */
85
- get currentFilter() {
86
- return this.filterByField(this.column.field);
87
- }
88
- /**
89
- * The current filter operator for the associated column field.
90
- * @readonly
91
- * @type {string}
92
- */
93
- get currentOperator() {
94
- return this.currentFilter ? this.currentFilter.operator : this.operator;
95
- }
96
- get columnFormat() {
97
- return this.column && !isNullOrEmptyString(this.column.format) ?
98
- extractFormat(this.column.format) : "n2";
99
- }
100
- _format;
101
- subscription;
102
- constructor(filterService, localization) {
103
- super(filterService);
104
- this.localization = localization;
105
- this.defaultOperators = numericOperators(this.localization);
106
- }
107
- ngOnInit() {
108
- this.subscription = this.localization.changes.subscribe(this.localizationChange.bind(this));
109
- }
110
- ngOnDestroy() {
111
- if (this.subscription) {
112
- this.subscription.unsubscribe();
113
- }
114
- super.ngOnDestroy();
115
- }
116
- localizationChange() {
117
- this.defaultOperators = numericOperators(this.localization);
118
- if (this.operatorList.length) {
119
- this.operators = toJSON(this.operatorList.toArray());
120
- }
121
- }
122
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NumericFilterComponent, deps: [{ token: i1.FilterService }, { token: i2.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
123
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: NumericFilterComponent, inputs: { column: "column", operator: "operator", step: "step", min: "min", max: "max", spinners: "spinners", decimals: "decimals", format: "format" }, usesInheritance: true, ngImport: i0 });
124
- }
125
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: NumericFilterComponent, decorators: [{
126
- type: Directive,
127
- args: [{}]
128
- }], ctorParameters: () => [{ type: i1.FilterService }, { type: i2.LocalizationService }], propDecorators: { column: [{
129
- type: Input
130
- }], operator: [{
131
- type: Input
132
- }], step: [{
133
- type: Input
134
- }], min: [{
135
- type: Input
136
- }], max: [{
137
- type: Input
138
- }], spinners: [{
139
- type: Input
140
- }], decimals: [{
141
- type: Input
142
- }], format: [{
143
- type: Input
144
- }] } });