@progress/kendo-angular-dropdowns 21.4.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 (84) hide show
  1. package/common/localization/messages.d.ts +1 -1
  2. package/dropdowntrees/checked-state/base-check.directive.d.ts +1 -1
  3. package/fesm2022/progress-kendo-angular-dropdowns.mjs +173 -173
  4. package/package.json +14 -22
  5. package/schematics/ngAdd/index.js +2 -2
  6. package/esm2022/autocomplete/autocomplete.component.mjs +0 -1687
  7. package/esm2022/autocomplete/autocomplete.module.mjs +0 -70
  8. package/esm2022/comboboxes/combobox-column/column-cell-template.directive.mjs +0 -42
  9. package/esm2022/comboboxes/combobox-column/column-header-template.directive.mjs +0 -40
  10. package/esm2022/comboboxes/combobox-column/combobox-column.component.mjs +0 -116
  11. package/esm2022/comboboxes/combobox-column/util.mjs +0 -60
  12. package/esm2022/comboboxes/combobox.component.mjs +0 -2149
  13. package/esm2022/comboboxes/combobox.module.mjs +0 -77
  14. package/esm2022/comboboxes/multicolumncombobox.component.mjs +0 -883
  15. package/esm2022/common/adaptive-renderer.component.mjs +0 -253
  16. package/esm2022/common/constants/error-messages.mjs +0 -61
  17. package/esm2022/common/data.service.mjs +0 -250
  18. package/esm2022/common/disabled-items/disabled-items.service.mjs +0 -47
  19. package/esm2022/common/disabled-items/item-disabled.mjs +0 -5
  20. package/esm2022/common/filter-input.directive.mjs +0 -39
  21. package/esm2022/common/filtering/filter-settings.mjs +0 -5
  22. package/esm2022/common/filtering/filter.directive.mjs +0 -136
  23. package/esm2022/common/filtering/filterable-component.mjs +0 -34
  24. package/esm2022/common/list-item.directive.mjs +0 -25
  25. package/esm2022/common/list.component.mjs +0 -968
  26. package/esm2022/common/localization/custom-messages.component.mjs +0 -96
  27. package/esm2022/common/localization/localized-messages.directive.mjs +0 -47
  28. package/esm2022/common/localization/messages.mjs +0 -77
  29. package/esm2022/common/models/checkboxes-settings.mjs +0 -15
  30. package/esm2022/common/models/direction.mjs +0 -5
  31. package/esm2022/common/models/fillmode.mjs +0 -5
  32. package/esm2022/common/models/list-type.mjs +0 -5
  33. package/esm2022/common/models/page-change-event.mjs +0 -5
  34. package/esm2022/common/models/popup-settings.mjs +0 -5
  35. package/esm2022/common/models/preventable-event.mjs +0 -25
  36. package/esm2022/common/models/remove-tag-event.mjs +0 -23
  37. package/esm2022/common/models/rounded.mjs +0 -5
  38. package/esm2022/common/models/size.mjs +0 -5
  39. package/esm2022/common/models/virtualization-settings.mjs +0 -24
  40. package/esm2022/common/navigation/navigation-action.mjs +0 -32
  41. package/esm2022/common/navigation/navigation.service.mjs +0 -188
  42. package/esm2022/common/searchbar.component.mjs +0 -386
  43. package/esm2022/common/selection/selectable.directive.mjs +0 -83
  44. package/esm2022/common/selection/selection.service.mjs +0 -166
  45. package/esm2022/common/shared-events.directive.mjs +0 -99
  46. package/esm2022/common/taglist.component.mjs +0 -295
  47. package/esm2022/common/templates/custom-item-template.directive.mjs +0 -48
  48. package/esm2022/common/templates/fixed-group-template.directive.mjs +0 -55
  49. package/esm2022/common/templates/footer-template.directive.mjs +0 -49
  50. package/esm2022/common/templates/group-tag-template.directive.mjs +0 -47
  51. package/esm2022/common/templates/group-template.directive.mjs +0 -55
  52. package/esm2022/common/templates/header-template.directive.mjs +0 -49
  53. package/esm2022/common/templates/item-template.directive.mjs +0 -48
  54. package/esm2022/common/templates/no-data-template.directive.mjs +0 -49
  55. package/esm2022/common/templates/tag-template.directive.mjs +0 -46
  56. package/esm2022/common/templates/value-template.directive.mjs +0 -50
  57. package/esm2022/common/util.mjs +0 -376
  58. package/esm2022/directives.mjs +0 -172
  59. package/esm2022/dropdownlist/dropdownlist.component.mjs +0 -1999
  60. package/esm2022/dropdownlist/dropdownlist.module.mjs +0 -79
  61. package/esm2022/dropdowns.module.mjs +0 -76
  62. package/esm2022/dropdowntrees/checked-state/base-check.directive.mjs +0 -76
  63. package/esm2022/dropdowntrees/checked-state/check-all.directive.mjs +0 -170
  64. package/esm2022/dropdowntrees/checked-state/check.directive.mjs +0 -168
  65. package/esm2022/dropdowntrees/checked-state/checkable-settings.mjs +0 -5
  66. package/esm2022/dropdowntrees/checked-state/checked-item.mjs +0 -5
  67. package/esm2022/dropdowntrees/data-binding/dropdowntree/flat-binding.directive.mjs +0 -69
  68. package/esm2022/dropdowntrees/data-binding/dropdowntree/hierarchy-binding.directive.mjs +0 -62
  69. package/esm2022/dropdowntrees/data-binding/multiselecttree/flat-binding.directive.mjs +0 -69
  70. package/esm2022/dropdowntrees/data-binding/multiselecttree/hierarchy-binding.directive.mjs +0 -62
  71. package/esm2022/dropdowntrees/dropdowntree.component.mjs +0 -1967
  72. package/esm2022/dropdowntrees/dropdowntrees.module.mjs +0 -79
  73. package/esm2022/dropdowntrees/expanded-state/expand.directive.mjs +0 -49
  74. package/esm2022/dropdowntrees/lookup/lookup.mjs +0 -5
  75. package/esm2022/dropdowntrees/lookup/lookup.service.mjs +0 -82
  76. package/esm2022/dropdowntrees/multiselecttree.component.mjs +0 -2359
  77. package/esm2022/dropdowntrees/summary-tag/summary-tag.directive.mjs +0 -70
  78. package/esm2022/dropdowntrees/templates/node-template.directive.mjs +0 -31
  79. package/esm2022/index.mjs +0 -55
  80. package/esm2022/multiselect/multiselect.component.mjs +0 -2380
  81. package/esm2022/multiselect/multiselect.module.mjs +0 -79
  82. package/esm2022/multiselect/summary-tag.directive.mjs +0 -68
  83. package/esm2022/package-metadata.mjs +0 -16
  84. package/esm2022/progress-kendo-angular-dropdowns.mjs +0 -8
@@ -1,79 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { NgModule } from '@angular/core';
6
- import { KENDO_DROPDOWNLIST } from '../directives';
7
- import { ResizeBatchService } from '@progress/kendo-angular-common';
8
- import { IconsService } from '@progress/kendo-angular-icons';
9
- import { PopupService } from '@progress/kendo-angular-popup';
10
- import { AdaptiveService } from '@progress/kendo-angular-utils';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "./dropdownlist.component";
13
- import * as i2 from "../common/templates/fixed-group-template.directive";
14
- import * as i3 from "../common/templates/footer-template.directive";
15
- import * as i4 from "../common/templates/group-template.directive";
16
- import * as i5 from "../common/templates/header-template.directive";
17
- import * as i6 from "../common/templates/item-template.directive";
18
- import * as i7 from "../common/templates/value-template.directive";
19
- import * as i8 from "../common/templates/no-data-template.directive";
20
- import * as i9 from "../common/filtering/filter.directive";
21
- import * as i10 from "../common/localization/custom-messages.component";
22
- // IMPORTANT: NgModule export kept for backwards compatibility
23
- /**
24
- * Required for adding all DropDownList features in NgModule-based Angular applications.
25
- *
26
- * ```typescript
27
- * import { DropDownListModule } from '@progress/kendo-angular-dropdowns';
28
- * @NgModule({
29
- * imports: [DropDownListModule],
30
- * declarations: [AppComponent],
31
- * bootstrap: [AppComponent]
32
- * })
33
- * ```
34
- *
35
- * The package exports:
36
- * - `DropDownListComponent`—The `DropDownListComponent` class.
37
- * - `ItemTemplateDirective`—The `ItemTemplateDirective` directive.
38
- * - `ValueTemplateDirective`—The `ValueTemplateDirective` directive.
39
- * - `HeaderTemplateDirective`—The `HeaderTemplateDirective` directive.
40
- * - `FooterTemplateDirective`—The `FooterTemplateDirective` directive.
41
- * - `NoDataTemplateDirective`—The `NoDataTemplateDirective` directive.
42
- * - `GroupTemplateDirective`—The `GroupTemplateDirective` directive.
43
- * - `FixedGroupTemplateDirective`—The `FixedGroupTemplateDirective` directive.
44
- * - `FilterDirective`—The `FilterDirective` directive.
45
- * - `CustomMessagesComponent`—The `CustomMessagesComponent` component.
46
- *
47
- * @example
48
- * ```typescript
49
- * import { DropDownListModule } from '@progress/kendo-angular-dropdowns';
50
- *
51
- * @NgModule({
52
- * imports: [DropDownListModule],
53
- * })
54
- * export class AppModule {}
55
- * ```
56
- */
57
- export class DropDownListModule {
58
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropDownListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
59
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: DropDownListModule, imports: [i1.DropDownListComponent, i2.FixedGroupTemplateDirective, i3.FooterTemplateDirective, i4.GroupTemplateDirective, i5.HeaderTemplateDirective, i6.ItemTemplateDirective, i7.ValueTemplateDirective, i8.NoDataTemplateDirective, i9.FilterDirective, i10.CustomMessagesComponent], exports: [i1.DropDownListComponent, i2.FixedGroupTemplateDirective, i3.FooterTemplateDirective, i4.GroupTemplateDirective, i5.HeaderTemplateDirective, i6.ItemTemplateDirective, i7.ValueTemplateDirective, i8.NoDataTemplateDirective, i9.FilterDirective, i10.CustomMessagesComponent] });
60
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropDownListModule, providers: [
61
- PopupService,
62
- ResizeBatchService,
63
- IconsService,
64
- AdaptiveService
65
- ], imports: [i1.DropDownListComponent] });
66
- }
67
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropDownListModule, decorators: [{
68
- type: NgModule,
69
- args: [{
70
- imports: [...KENDO_DROPDOWNLIST],
71
- exports: [...KENDO_DROPDOWNLIST],
72
- providers: [
73
- PopupService,
74
- ResizeBatchService,
75
- IconsService,
76
- AdaptiveService
77
- ]
78
- }]
79
- }] });
@@ -1,76 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { NgModule } from '@angular/core';
6
- import { KENDO_DROPDOWNS } from './directives';
7
- import { PopupService } from '@progress/kendo-angular-popup';
8
- import { KENDO_ADORNMENTS, KENDO_TOGGLEBUTTONTABSTOP, ResizeBatchService } from '@progress/kendo-angular-common';
9
- import { IconsService } from '@progress/kendo-angular-icons';
10
- import { DialogContainerService, DialogService, WindowContainerService, WindowService } from '@progress/kendo-angular-dialog';
11
- import { AdaptiveService } from '@progress/kendo-angular-utils';
12
- import * as i0 from "@angular/core";
13
- import * as i1 from "./autocomplete/autocomplete.component";
14
- import * as i2 from "./common/templates/fixed-group-template.directive";
15
- import * as i3 from "./common/templates/footer-template.directive";
16
- import * as i4 from "./common/templates/group-template.directive";
17
- import * as i5 from "./common/templates/header-template.directive";
18
- import * as i6 from "./common/templates/item-template.directive";
19
- import * as i7 from "./common/templates/no-data-template.directive";
20
- import * as i8 from "./common/filtering/filter.directive";
21
- import * as i9 from "./common/localization/custom-messages.component";
22
- import * as i10 from "@progress/kendo-angular-common";
23
- import * as i11 from "./comboboxes/combobox.component";
24
- import * as i12 from "./comboboxes/multicolumncombobox.component";
25
- import * as i13 from "./comboboxes/combobox-column/combobox-column.component";
26
- import * as i14 from "./comboboxes/combobox-column/column-header-template.directive";
27
- import * as i15 from "./comboboxes/combobox-column/column-cell-template.directive";
28
- import * as i16 from "./dropdownlist/dropdownlist.component";
29
- import * as i17 from "./common/templates/value-template.directive";
30
- import * as i18 from "./multiselect/multiselect.component";
31
- import * as i19 from "./multiselect/summary-tag.directive";
32
- import * as i20 from "./common/templates/custom-item-template.directive";
33
- import * as i21 from "./common/templates/group-tag-template.directive";
34
- import * as i22 from "./common/templates/tag-template.directive";
35
- import * as i23 from "./dropdowntrees/dropdowntree.component";
36
- import * as i24 from "./dropdowntrees/data-binding/dropdowntree/flat-binding.directive";
37
- import * as i25 from "./dropdowntrees/data-binding/dropdowntree/hierarchy-binding.directive";
38
- import * as i26 from "./dropdowntrees/expanded-state/expand.directive";
39
- import * as i27 from "./dropdowntrees/templates/node-template.directive";
40
- import * as i28 from "./dropdowntrees/multiselecttree.component";
41
- import * as i29 from "./dropdowntrees/data-binding/multiselecttree/flat-binding.directive";
42
- import * as i30 from "./dropdowntrees/data-binding/multiselecttree/hierarchy-binding.directive";
43
- import * as i31 from "./dropdowntrees/summary-tag/summary-tag.directive";
44
- // IMPORTANT: NgModule export kept for backwards compatibility
45
- /**
46
- * Required for adding all DropDowns features in NgModule-based Angular applications.
47
- *
48
- * @example
49
- * ```typescript
50
- * // Import the DropDownsModule
51
- * import { DropDownsModule } from '@progress/kendo-angular-dropdowns';
52
- * import { NgModule } from '@angular/core';
53
- * import { BrowserModule } from '@angular/platform-browser';
54
- * import { AppComponent } from './app.component';
55
- *
56
- * @NgModule({
57
- * declarations: [AppComponent],
58
- * imports: [BrowserModule, DropDownsModule],
59
- * bootstrap: [AppComponent]
60
- * })
61
- * export class AppModule {}
62
- * ```
63
- */
64
- export class DropDownsModule {
65
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropDownsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
66
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: DropDownsModule, imports: [i1.AutoCompleteComponent, i2.FixedGroupTemplateDirective, i3.FooterTemplateDirective, i4.GroupTemplateDirective, i5.HeaderTemplateDirective, i6.ItemTemplateDirective, i7.NoDataTemplateDirective, i8.FilterDirective, i9.CustomMessagesComponent, i10.SuffixTemplateDirective, i10.PrefixTemplateDirective, i10.SeparatorComponent, i11.ComboBoxComponent, i2.FixedGroupTemplateDirective, i3.FooterTemplateDirective, i4.GroupTemplateDirective, i5.HeaderTemplateDirective, i6.ItemTemplateDirective, i7.NoDataTemplateDirective, i8.FilterDirective, i9.CustomMessagesComponent, i10.SuffixTemplateDirective, i10.PrefixTemplateDirective, i10.SeparatorComponent, i10.ToggleButtonTabStopDirective, i12.MultiColumnComboBoxComponent, i13.ComboBoxColumnComponent, i14.ColumnHeaderTemplateDirective, i15.ColumnCellTemplateDirective, i2.FixedGroupTemplateDirective, i3.FooterTemplateDirective, i4.GroupTemplateDirective, i5.HeaderTemplateDirective, i6.ItemTemplateDirective, i7.NoDataTemplateDirective, i8.FilterDirective, i9.CustomMessagesComponent, i10.SuffixTemplateDirective, i10.PrefixTemplateDirective, i10.SeparatorComponent, i10.ToggleButtonTabStopDirective, i16.DropDownListComponent, i2.FixedGroupTemplateDirective, i3.FooterTemplateDirective, i4.GroupTemplateDirective, i5.HeaderTemplateDirective, i6.ItemTemplateDirective, i17.ValueTemplateDirective, i7.NoDataTemplateDirective, i8.FilterDirective, i9.CustomMessagesComponent, i18.MultiSelectComponent, i19.SummaryTagDirective, i20.CustomItemTemplateDirective, i2.FixedGroupTemplateDirective, i3.FooterTemplateDirective, i4.GroupTemplateDirective, i21.GroupTagTemplateDirective, i22.TagTemplateDirective, i5.HeaderTemplateDirective, i6.ItemTemplateDirective, i7.NoDataTemplateDirective, i8.FilterDirective, i9.CustomMessagesComponent, i10.SuffixTemplateDirective, i10.PrefixTemplateDirective, i10.SeparatorComponent, i23.DropDownTreeComponent, i24.DropDownTreeFlatBindingDirective, i25.DropDownTreeHierarchyBindingDirective, i26.DropDownTreesExpandDirective, i27.NodeTemplateDirective, i5.HeaderTemplateDirective, i3.FooterTemplateDirective, i17.ValueTemplateDirective, i7.NoDataTemplateDirective, i9.CustomMessagesComponent, i28.MultiSelectTreeComponent, i29.MultiSelectTreeFlatBindingDirective, i30.MultiSelectTreeHierarchyBindingDirective, i26.DropDownTreesExpandDirective, i27.NodeTemplateDirective, i31.MultiSelectTreeSummaryTagDirective, i21.GroupTagTemplateDirective, i22.TagTemplateDirective, i5.HeaderTemplateDirective, i3.FooterTemplateDirective, i17.ValueTemplateDirective, i7.NoDataTemplateDirective, i9.CustomMessagesComponent, i10.PrefixTemplateDirective, i10.SuffixTemplateDirective, i10.SeparatorComponent, i10.ToggleButtonTabStopDirective], exports: [i1.AutoCompleteComponent, i2.FixedGroupTemplateDirective, i3.FooterTemplateDirective, i4.GroupTemplateDirective, i5.HeaderTemplateDirective, i6.ItemTemplateDirective, i7.NoDataTemplateDirective, i8.FilterDirective, i9.CustomMessagesComponent, i10.SuffixTemplateDirective, i10.PrefixTemplateDirective, i10.SeparatorComponent, i11.ComboBoxComponent, i2.FixedGroupTemplateDirective, i3.FooterTemplateDirective, i4.GroupTemplateDirective, i5.HeaderTemplateDirective, i6.ItemTemplateDirective, i7.NoDataTemplateDirective, i8.FilterDirective, i9.CustomMessagesComponent, i10.SuffixTemplateDirective, i10.PrefixTemplateDirective, i10.SeparatorComponent, i10.ToggleButtonTabStopDirective, i12.MultiColumnComboBoxComponent, i13.ComboBoxColumnComponent, i14.ColumnHeaderTemplateDirective, i15.ColumnCellTemplateDirective, i2.FixedGroupTemplateDirective, i3.FooterTemplateDirective, i4.GroupTemplateDirective, i5.HeaderTemplateDirective, i6.ItemTemplateDirective, i7.NoDataTemplateDirective, i8.FilterDirective, i9.CustomMessagesComponent, i10.SuffixTemplateDirective, i10.PrefixTemplateDirective, i10.SeparatorComponent, i10.ToggleButtonTabStopDirective, i16.DropDownListComponent, i2.FixedGroupTemplateDirective, i3.FooterTemplateDirective, i4.GroupTemplateDirective, i5.HeaderTemplateDirective, i6.ItemTemplateDirective, i17.ValueTemplateDirective, i7.NoDataTemplateDirective, i8.FilterDirective, i9.CustomMessagesComponent, i18.MultiSelectComponent, i19.SummaryTagDirective, i20.CustomItemTemplateDirective, i2.FixedGroupTemplateDirective, i3.FooterTemplateDirective, i4.GroupTemplateDirective, i21.GroupTagTemplateDirective, i22.TagTemplateDirective, i5.HeaderTemplateDirective, i6.ItemTemplateDirective, i7.NoDataTemplateDirective, i8.FilterDirective, i9.CustomMessagesComponent, i10.SuffixTemplateDirective, i10.PrefixTemplateDirective, i10.SeparatorComponent, i23.DropDownTreeComponent, i24.DropDownTreeFlatBindingDirective, i25.DropDownTreeHierarchyBindingDirective, i26.DropDownTreesExpandDirective, i27.NodeTemplateDirective, i5.HeaderTemplateDirective, i3.FooterTemplateDirective, i17.ValueTemplateDirective, i7.NoDataTemplateDirective, i9.CustomMessagesComponent, i28.MultiSelectTreeComponent, i29.MultiSelectTreeFlatBindingDirective, i30.MultiSelectTreeHierarchyBindingDirective, i26.DropDownTreesExpandDirective, i27.NodeTemplateDirective, i31.MultiSelectTreeSummaryTagDirective, i21.GroupTagTemplateDirective, i22.TagTemplateDirective, i5.HeaderTemplateDirective, i3.FooterTemplateDirective, i17.ValueTemplateDirective, i7.NoDataTemplateDirective, i9.CustomMessagesComponent, i10.PrefixTemplateDirective, i10.SuffixTemplateDirective, i10.SeparatorComponent, i10.ToggleButtonTabStopDirective] });
67
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropDownsModule, providers: [PopupService, ResizeBatchService, IconsService, DialogContainerService, DialogService, WindowService, WindowContainerService, AdaptiveService], imports: [i1.AutoCompleteComponent, i10.SeparatorComponent, i11.ComboBoxComponent, i10.SeparatorComponent, i12.MultiColumnComboBoxComponent, i10.SeparatorComponent, i16.DropDownListComponent, i18.MultiSelectComponent, i10.SeparatorComponent, i23.DropDownTreeComponent, i28.MultiSelectTreeComponent, i10.SeparatorComponent] });
68
- }
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropDownsModule, decorators: [{
70
- type: NgModule,
71
- args: [{
72
- exports: [...KENDO_DROPDOWNS, ...KENDO_ADORNMENTS, ...KENDO_TOGGLEBUTTONTABSTOP],
73
- imports: [...KENDO_DROPDOWNS, ...KENDO_ADORNMENTS, ...KENDO_TOGGLEBUTTONTABSTOP],
74
- providers: [PopupService, ResizeBatchService, IconsService, DialogContainerService, DialogService, WindowService, WindowContainerService, AdaptiveService]
75
- }]
76
- }] });
@@ -1,76 +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 { getHierarchicalItemLevel, valueFrom } from '../../common/util';
7
- import * as i0 from "@angular/core";
8
- /**
9
- * @hidden
10
- *
11
- * A directive which manages the in-memory checked state of the MultiSelectTree nodes.
12
- */
13
- export class BaseCheckDirective {
14
- /**
15
- * @hidden
16
- * The flag is needed in order to determine how to construct the items map keys.
17
- * If `true`, then the key consists of the item's value and level (depth),
18
- * else the key consists of the item's value and 0 (no leveling required)
19
- */
20
- isHeterogeneous;
21
- addItem(item) {
22
- if (this.isItemChecked(item)) {
23
- return;
24
- }
25
- const level = getHierarchicalItemLevel(item.index);
26
- const key = this.getKey(item, level);
27
- const candidate = { ...item, level, key };
28
- this.checkedItems.push(candidate);
29
- this.checkedKeys.add(key);
30
- }
31
- removeItem(item) {
32
- if (!this.isItemChecked(item)) {
33
- return;
34
- }
35
- const level = getHierarchicalItemLevel(item.index);
36
- const key = this.getKey(item, level);
37
- const candidate = { ...item, level, key };
38
- this.checkedItems = this.checkedItems
39
- .filter(item => {
40
- const valueMatch = valueFrom(item, this.valueField) === valueFrom(candidate, this.valueField);
41
- const levelMatch = item.level === candidate.level;
42
- return this.isHeterogeneous ? !(valueMatch && levelMatch) : !valueMatch;
43
- });
44
- this.checkedKeys.delete(key);
45
- }
46
- isItemChecked(item) {
47
- const level = item.index.split('_').length - 1;
48
- item.level = level;
49
- const key = this.getKey(item, level);
50
- return this.checkedKeys.has(key);
51
- }
52
- updateItems() {
53
- this.checkedItems = this.checkedItems || [];
54
- this.checkedKeys = new Set(this.checkedItems.map(item => item.key));
55
- }
56
- /**
57
- * Add the item's depth to its value so you can have duplicate values on different levels.
58
- *
59
- * @param item - The checked key.
60
- * @returns { string } - A string key consisting of the item's `valueField` value and its depth (depth is 0 if data is homogeneous).
61
- */
62
- getKey(item, level) {
63
- return valueFrom(item, this.valueField) + '_' + (this.isHeterogeneous ? level : 0);
64
- }
65
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BaseCheckDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
66
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: BaseCheckDirective, inputs: { valueField: "valueField", checkedItems: "checkedItems", isHeterogeneous: "isHeterogeneous" }, ngImport: i0 });
67
- }
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BaseCheckDirective, decorators: [{
69
- type: Directive
70
- }], propDecorators: { valueField: [{
71
- type: Input
72
- }], checkedItems: [{
73
- type: Input
74
- }], isHeterogeneous: [{
75
- type: Input
76
- }] } });
@@ -1,170 +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 { ChangeDetectorRef, Directive, ElementRef, EventEmitter, HostListener, Input, NgZone, Output, Renderer2 } from '@angular/core';
6
- import { TreeViewComponent } from '@progress/kendo-angular-treeview';
7
- import { fetchDescendentNodes, isPresent } from '../../common/util';
8
- import { BaseCheckDirective } from './base-check.directive';
9
- import * as i0 from "@angular/core";
10
- /**
11
- * @hidden
12
- *
13
- * A directive which manages the in-memory checked state of the MultiSelectTree nodes.
14
- */
15
- export class CheckAllDirective extends BaseCheckDirective {
16
- element;
17
- zone;
18
- cdr;
19
- renderer;
20
- lastAction;
21
- treeview;
22
- /**
23
- * Sets the collection that stores all checked items.
24
- */
25
- checkedItems;
26
- /**
27
- * Sets the item key or keys to compare data items.
28
- */
29
- valueField;
30
- focused;
31
- /**
32
- * Fires when the `checkedItems` collection updates.
33
- */
34
- checkedItemsChange = new EventEmitter();
35
- /**
36
- * Holds a `Set` with only the checked item keys. Updates this set each time the `checkedItems` value or content changes and uses it for fast look-up to check if an item is checked.
37
- */
38
- checkedKeys = new Set();
39
- currentCheckedState;
40
- currentIndeterminateState;
41
- handleChange(event) {
42
- // Need to store the current checkbox state at the moment of click
43
- this.currentCheckedState = event.checked;
44
- this.currentIndeterminateState = this.isIndeterminate;
45
- this.treeview.nodes.forEach((_value, index) => {
46
- const itemIndex = String(index);
47
- const itemLookup = this.treeview.itemLookup(itemIndex);
48
- this.checkNode(itemLookup);
49
- });
50
- this.checkedItemsChange.emit(this.checkedItems.slice());
51
- }
52
- get isIndeterminate() {
53
- const isIndeterminate = this.treeview.nodes.some((_node, index) => {
54
- const itemIndex = String(index);
55
- const itemLookup = this.treeview.itemLookup(itemIndex);
56
- return this.someChecked(itemLookup);
57
- });
58
- return this.isChecked ? false : isIndeterminate;
59
- }
60
- get isChecked() {
61
- const isChecked = this.treeview.nodes.every((_node, index) => {
62
- const itemIndex = String(index);
63
- const itemLookup = this.treeview.itemLookup(itemIndex);
64
- return this.allChecked(itemLookup);
65
- });
66
- return isChecked;
67
- }
68
- constructor(element, zone, cdr, renderer) {
69
- super();
70
- this.element = element;
71
- this.zone = zone;
72
- this.cdr = cdr;
73
- this.renderer = renderer;
74
- }
75
- ngOnChanges(changes) {
76
- if (isPresent(changes['checkedItems'])) {
77
- this.updateItems();
78
- this.renderer.setProperty(this.element.nativeElement, 'checked', this.isChecked);
79
- this.renderer.setProperty(this.element.nativeElement, 'indeterminate', this.isIndeterminate);
80
- }
81
- }
82
- ngOnInit() {
83
- if (this.focused) {
84
- this.nextTick(() => this.element.nativeElement.focus());
85
- }
86
- }
87
- nextTick(fn) {
88
- this.zone.runOutsideAngular(() => setTimeout(fn));
89
- }
90
- checkNode(itemLookup) {
91
- if (this.treeview.isDisabled(itemLookup.item.dataItem, itemLookup.item.index)) {
92
- return;
93
- }
94
- const pendingCheck = [];
95
- const filter = (item) => this.treeview.isVisible(item.dataItem, item.index) &&
96
- !this.treeview.isDisabled(item.dataItem, item.index);
97
- pendingCheck.push(itemLookup.item);
98
- fetchDescendentNodes(itemLookup, filter)
99
- .forEach(lookup => pendingCheck.push(lookup.item));
100
- pendingCheck.forEach(item => {
101
- if (this.currentIndeterminateState) {
102
- if (this.lastAction === 'check') {
103
- this.addItem(item);
104
- }
105
- else {
106
- this.removeItem(item);
107
- }
108
- return;
109
- }
110
- if (this.currentCheckedState) {
111
- this.addItem(item);
112
- }
113
- else {
114
- this.removeItem(item);
115
- }
116
- });
117
- }
118
- allChecked(lookup) {
119
- const children = lookup && lookup.children;
120
- if (!Array.isArray(children)) {
121
- return;
122
- }
123
- const childrenChecked = children.every(child => {
124
- if (child.children.length) {
125
- return this.isItemChecked(child.item) && this.allChecked(child);
126
- }
127
- return this.isItemChecked(child.item);
128
- });
129
- return childrenChecked && this.isItemChecked(lookup.item);
130
- }
131
- someChecked(lookup) {
132
- const children = lookup && lookup.children;
133
- if (!Array.isArray(children)) {
134
- return;
135
- }
136
- const childrenChecked = children.some(child => {
137
- if (child.children.length) {
138
- return this.isItemChecked(child.item) || this.someChecked(child);
139
- }
140
- return this.isItemChecked(child.item);
141
- });
142
- return childrenChecked || this.isItemChecked(lookup.item);
143
- }
144
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CheckAllDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
145
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: CheckAllDirective, isStandalone: true, selector: "[checkAll]", inputs: { lastAction: "lastAction", treeview: "treeview", checkedItems: "checkedItems", valueField: "valueField", focused: ["checkAll", "focused"] }, outputs: { checkedItemsChange: "checkedItemsChange" }, host: { listeners: { "change": "handleChange($event.target)" } }, usesInheritance: true, usesOnChanges: true, ngImport: i0 });
146
- }
147
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CheckAllDirective, decorators: [{
148
- type: Directive,
149
- args: [{
150
- // eslint-disable-next-line
151
- selector: '[checkAll]',
152
- standalone: true
153
- }]
154
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }], propDecorators: { lastAction: [{
155
- type: Input
156
- }], treeview: [{
157
- type: Input
158
- }], checkedItems: [{
159
- type: Input
160
- }], valueField: [{
161
- type: Input
162
- }], focused: [{
163
- type: Input,
164
- args: ['checkAll']
165
- }], checkedItemsChange: [{
166
- type: Output
167
- }], handleChange: [{
168
- type: HostListener,
169
- args: ['change', ['$event.target']]
170
- }] } });
@@ -1,168 +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, EventEmitter, Input, Output } from '@angular/core';
6
- import { TreeViewComponent } from '@progress/kendo-angular-treeview';
7
- import { Subscription } from 'rxjs';
8
- import { filter } from 'rxjs/operators';
9
- import { fetchDescendentNodes, isPresent } from '../../common/util';
10
- import { BaseCheckDirective } from './base-check.directive';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "@progress/kendo-angular-treeview";
13
- /**
14
- * @hidden
15
- *
16
- * A directive which manages the in-memory checked state of the MultiSelectTree nodes.
17
- */
18
- export class CheckDirective extends BaseCheckDirective {
19
- treeView;
20
- /**
21
- * Specifies whether items are checked on click and if checking a node also checks its children.
22
- * The `checkChildren` property also controls parent item checking (checking all child items automatically checks the parent).
23
- */
24
- checkable;
25
- /**
26
- * Sets the item key or keys to compare data items.
27
- */
28
- valueField;
29
- /**
30
- * Sets the collection that stores all checked items.
31
- */
32
- checkedItems;
33
- /**
34
- * Fires when the `checkedItems` collection updates.
35
- */
36
- checkedItemsChange = new EventEmitter();
37
- /**
38
- * Holds a `Set` with only the checked item keys. Updates this set each time the `checkedItems` value or content changes and uses it for fast look-up to check if an item is checked.
39
- */
40
- checkedKeys = new Set();
41
- subscriptions = new Subscription();
42
- clickSubscription;
43
- constructor(treeView) {
44
- super();
45
- this.treeView = treeView;
46
- this.subscriptions.add(this.treeView.checkedChange
47
- .subscribe(this.handleCheckedChange.bind(this)));
48
- this.treeView.isChecked = this.getCheckedState.bind(this);
49
- }
50
- ngOnChanges(changes) {
51
- if (isPresent(changes['checkable'])) {
52
- this.toggleCheckOnClick();
53
- }
54
- if (isPresent(changes['checkedItems'])) {
55
- this.updateItems();
56
- }
57
- }
58
- ngOnDestroy() {
59
- this.subscriptions.unsubscribe();
60
- this.unsubscribeClick();
61
- }
62
- getCheckedState(dataItem, index) {
63
- if (this.isItemChecked({ dataItem, index })) {
64
- return 'checked';
65
- }
66
- else if (this.checkable.checkChildren && this.isItemIndeterminate(this.treeView.itemLookup(index))) {
67
- return 'indeterminate';
68
- }
69
- else {
70
- return 'none';
71
- }
72
- }
73
- handleCheckedChange(node) {
74
- this.checkNode(node);
75
- // parents should be checked if `checkChildren` is set to `true` (single config option for both)
76
- const checkParents = this.checkable.checkChildren;
77
- if (checkParents) {
78
- this.checkParents(node.parent);
79
- }
80
- this.checkedItemsChange.emit(this.checkedItems.slice());
81
- }
82
- toggleCheckOnClick() {
83
- this.unsubscribeClick();
84
- if (this.checkable.checkOnClick) {
85
- this.clickSubscription = this.treeView.nodeClick
86
- .pipe(filter(event => event.type === 'click'))
87
- .subscribe(event => {
88
- const lookup = this.treeView.itemLookup(event.item.index);
89
- this.handleCheckedChange(lookup);
90
- });
91
- }
92
- }
93
- unsubscribeClick() {
94
- if (this.clickSubscription) {
95
- this.clickSubscription.unsubscribe();
96
- this.clickSubscription = null;
97
- }
98
- }
99
- checkNode(lookup) {
100
- if (this.treeView.isDisabled(lookup.item.dataItem, lookup.item.index)) {
101
- return;
102
- }
103
- const target = lookup.item;
104
- const pendingCheck = [target];
105
- // TODO: extract in a separate `checkChildren` method?
106
- if (this.checkable.checkChildren) {
107
- const filter = (item) => this.treeView.isVisible(item.dataItem, item.index) &&
108
- !this.treeView.isDisabled(item.dataItem, item.index);
109
- fetchDescendentNodes(lookup, filter)
110
- .forEach(lookup => pendingCheck.push(lookup.item));
111
- }
112
- const shouldCheck = !this.isItemChecked(target);
113
- pendingCheck.forEach(item => {
114
- if (shouldCheck) {
115
- this.addItem(item);
116
- }
117
- else {
118
- this.removeItem(item);
119
- }
120
- });
121
- }
122
- checkParents(parent) {
123
- let currentParent = parent;
124
- while (currentParent) {
125
- const allChildrenSelected = currentParent.children.every(item => this.isItemChecked(item));
126
- if (allChildrenSelected) {
127
- this.addItem(currentParent.item);
128
- }
129
- else {
130
- this.removeItem(currentParent.item);
131
- }
132
- currentParent = currentParent.parent;
133
- }
134
- }
135
- isItemIndeterminate(lookup) {
136
- const children = lookup.children;
137
- if (!Array.isArray(children) || children.length === 0) {
138
- return false;
139
- }
140
- let index = 0;
141
- let child = children[index];
142
- while (isPresent(child)) {
143
- if (this.isItemChecked(child.item) || this.isItemIndeterminate(child)) {
144
- return true;
145
- }
146
- index += 1;
147
- child = children[index];
148
- }
149
- return false;
150
- }
151
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CheckDirective, deps: [{ token: i1.TreeViewComponent }], target: i0.ɵɵFactoryTarget.Directive });
152
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: CheckDirective, isStandalone: true, selector: "[kendoMultiSelectTreeCheckable]", inputs: { checkable: "checkable", valueField: "valueField", checkedItems: "checkedItems" }, outputs: { checkedItemsChange: "checkedItemsChange" }, usesInheritance: true, usesOnChanges: true, ngImport: i0 });
153
- }
154
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CheckDirective, decorators: [{
155
- type: Directive,
156
- args: [{
157
- selector: '[kendoMultiSelectTreeCheckable]',
158
- standalone: true
159
- }]
160
- }], ctorParameters: () => [{ type: i1.TreeViewComponent }], propDecorators: { checkable: [{
161
- type: Input
162
- }], valueField: [{
163
- type: Input
164
- }], checkedItems: [{
165
- type: Input
166
- }], checkedItemsChange: [{
167
- type: Output
168
- }] } });
@@ -1,5 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- export {};
@@ -1,5 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- export {};
@@ -1,69 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { Directive, Input } from '@angular/core';
6
- import { isChanged } from '@progress/kendo-angular-common';
7
- import { DataBoundComponent, FlatDataBindingDirective } from '@progress/kendo-angular-treeview';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "@progress/kendo-angular-treeview";
10
- /**
11
- * Retrieves child nodes when the provided data is flat.
12
- *
13
- * @example
14
- * ```html
15
- * <kendo-dropdowntree kendoDropDownTreeFlatBinding [nodes]="data" [valueField]="'id'"></kendo-dropdowntree>
16
- * ```
17
- *
18
- * @remarks
19
- * Applied to: {@link DropDownTreeComponent}.
20
- */
21
- export class DropDownTreeFlatBindingDirective extends FlatDataBindingDirective {
22
- dropDownTree;
23
- /**
24
- * Sets the nodes to display in the DropDownTree.
25
- */
26
- set nodes(nodes) {
27
- // Needs to be a setter so that it matches the accessor in FlatDataBindingDirective it extends
28
- this._nodes = nodes;
29
- }
30
- get nodes() {
31
- return this._nodes;
32
- }
33
- /**
34
- * Sets the unique field that identifies a node.
35
- */
36
- idField;
37
- /**
38
- * @hidden
39
- */
40
- set filter(term) {
41
- super.filter = term;
42
- }
43
- constructor(dropDownTree) {
44
- super(dropDownTree);
45
- this.dropDownTree = dropDownTree;
46
- }
47
- ngOnChanges(changes) {
48
- if (isChanged('nodes', changes, false)) {
49
- this.dropDownTree.nodes = changes['nodes'].currentValue;
50
- super.nodes = changes['nodes'].currentValue;
51
- }
52
- super.ngOnChanges(changes);
53
- }
54
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropDownTreeFlatBindingDirective, deps: [{ token: i1.DataBoundComponent }], target: i0.ɵɵFactoryTarget.Directive });
55
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: DropDownTreeFlatBindingDirective, isStandalone: true, selector: "[kendoDropDownTreeFlatBinding]", inputs: { nodes: ["kendoDropDownTreeFlatBinding", "nodes"], idField: ["valueField", "idField"] }, usesInheritance: true, usesOnChanges: true, ngImport: i0 });
56
- }
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropDownTreeFlatBindingDirective, decorators: [{
58
- type: Directive,
59
- args: [{
60
- selector: '[kendoDropDownTreeFlatBinding]',
61
- standalone: true
62
- }]
63
- }], ctorParameters: () => [{ type: i1.DataBoundComponent }], propDecorators: { nodes: [{
64
- type: Input,
65
- args: ['kendoDropDownTreeFlatBinding']
66
- }], idField: [{
67
- type: Input,
68
- args: ['valueField']
69
- }] } });