@progress/kendo-angular-dropdowns 7.2.5-dev.202212021231 → 11.0.0-develop.79

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 (175) hide show
  1. package/NOTICE.txt +3 -3
  2. package/README.md +7 -7
  3. package/autocomplete/autocomplete.component.d.ts +1 -1
  4. package/autocomplete/autocomplete.module.d.ts +1 -1
  5. package/comboboxes/combobox-column/column-cell-template.directive.d.ts +1 -1
  6. package/comboboxes/combobox-column/column-header-template.directive.d.ts +1 -1
  7. package/comboboxes/combobox-column/combobox-column.component.d.ts +1 -1
  8. package/comboboxes/combobox-column/util.d.ts +1 -1
  9. package/comboboxes/combobox.component.d.ts +1 -1
  10. package/comboboxes/combobox.module.d.ts +1 -1
  11. package/comboboxes/multicolumncombobox.component.d.ts +1 -1
  12. package/common/constants/error-messages.d.ts +1 -1
  13. package/common/constants/touch-enabled.d.ts +1 -1
  14. package/common/data.service.d.ts +1 -1
  15. package/common/disabled-items/disabled-items.service.d.ts +1 -1
  16. package/common/disabled-items/item-disabled.d.ts +1 -1
  17. package/common/filter-input.directive.d.ts +1 -1
  18. package/common/filtering/filter-settings.d.ts +1 -1
  19. package/common/filtering/filter.directive.d.ts +1 -1
  20. package/common/filtering/filterable-component.d.ts +1 -1
  21. package/common/list-item.directive.d.ts +1 -1
  22. package/common/list.component.d.ts +1 -1
  23. package/common/localization/custom-messages.component.d.ts +1 -1
  24. package/common/localization/localized-messages.directive.d.ts +1 -1
  25. package/common/localization/messages.d.ts +1 -1
  26. package/common/models/checkboxes-settings.d.ts +1 -1
  27. package/common/models/direction.d.ts +1 -1
  28. package/common/models/fillmode.d.ts +1 -1
  29. package/common/models/list-type.d.ts +1 -1
  30. package/common/models/page-change-event.d.ts +1 -1
  31. package/common/models/popup-settings.d.ts +1 -1
  32. package/common/models/preventable-event.d.ts +1 -1
  33. package/common/models/remove-tag-event.d.ts +1 -1
  34. package/common/models/rounded.d.ts +1 -1
  35. package/common/models/size.d.ts +1 -1
  36. package/common/models/virtualization-settings.d.ts +1 -1
  37. package/common/navigation/navigation-action.d.ts +1 -1
  38. package/common/navigation/navigation.service.d.ts +1 -1
  39. package/common/searchbar.component.d.ts +1 -1
  40. package/common/selection/selectable.directive.d.ts +1 -1
  41. package/common/selection/selection.service.d.ts +1 -1
  42. package/common/shared-directives.module.d.ts +1 -1
  43. package/common/shared.module.d.ts +1 -1
  44. package/common/taglist.component.d.ts +1 -1
  45. package/common/templates/custom-item-template.directive.d.ts +1 -1
  46. package/common/templates/fixed-group-template.directive.d.ts +1 -1
  47. package/common/templates/footer-template.directive.d.ts +1 -1
  48. package/common/templates/group-tag-template.directive.d.ts +1 -1
  49. package/common/templates/group-template.directive.d.ts +1 -1
  50. package/common/templates/header-template.directive.d.ts +1 -1
  51. package/common/templates/item-template.directive.d.ts +1 -1
  52. package/common/templates/no-data-template.directive.d.ts +1 -1
  53. package/common/templates/tag-template.directive.d.ts +1 -1
  54. package/common/templates/template-context.directive.d.ts +1 -1
  55. package/common/templates/value-template.directive.d.ts +1 -1
  56. package/common/util.d.ts +1 -1
  57. package/dropdownlist/dropdownlist.component.d.ts +1 -1
  58. package/dropdownlist/dropdownlist.module.d.ts +1 -1
  59. package/dropdowns.module.d.ts +1 -1
  60. package/dropdowntrees/checked-state/base-check.directive.d.ts +1 -1
  61. package/dropdowntrees/checked-state/check-all.directive.d.ts +1 -1
  62. package/dropdowntrees/checked-state/check.directive.d.ts +1 -1
  63. package/dropdowntrees/checked-state/checkable-settings.d.ts +1 -1
  64. package/dropdowntrees/checked-state/checked-item.d.ts +1 -1
  65. package/dropdowntrees/data-binding/dropdowntree/flat-binding.directive.d.ts +1 -1
  66. package/dropdowntrees/data-binding/dropdowntree/hierarchy-binding.directive.d.ts +1 -1
  67. package/dropdowntrees/data-binding/multiselecttree/flat-binding.directive.d.ts +1 -1
  68. package/dropdowntrees/data-binding/multiselecttree/hierarchy-binding.directive.d.ts +1 -1
  69. package/dropdowntrees/dropdowntree.component.d.ts +6 -10
  70. package/dropdowntrees/dropdowntrees.module.d.ts +1 -1
  71. package/dropdowntrees/expanded-state/expand.directive.d.ts +1 -1
  72. package/dropdowntrees/lookup/lookup.d.ts +1 -1
  73. package/dropdowntrees/lookup/lookup.service.d.ts +1 -1
  74. package/dropdowntrees/multiselecttree.component.d.ts +6 -4
  75. package/dropdowntrees/summary-tag/summary-tag.directive.d.ts +1 -1
  76. package/dropdowntrees/templates/node-template.directive.d.ts +1 -1
  77. package/{esm2015/autocomplete/autocomplete.component.js → esm2020/autocomplete/autocomplete.component.mjs} +9 -7
  78. package/{esm2015/autocomplete/autocomplete.module.js → esm2020/autocomplete/autocomplete.module.mjs} +5 -5
  79. package/{esm2015/comboboxes/combobox-column/column-cell-template.directive.js → esm2020/comboboxes/combobox-column/column-cell-template.directive.mjs} +5 -5
  80. package/{esm2015/comboboxes/combobox-column/column-header-template.directive.js → esm2020/comboboxes/combobox-column/column-header-template.directive.mjs} +5 -5
  81. package/{esm2015/comboboxes/combobox-column/combobox-column.component.js → esm2020/comboboxes/combobox-column/combobox-column.component.mjs} +4 -4
  82. package/{esm2015/comboboxes/combobox-column/util.js → esm2020/comboboxes/combobox-column/util.mjs} +1 -1
  83. package/{esm2015/comboboxes/combobox.component.js → esm2020/comboboxes/combobox.component.mjs} +9 -7
  84. package/{esm2015/comboboxes/combobox.module.js → esm2020/comboboxes/combobox.module.mjs} +5 -5
  85. package/{esm2015/comboboxes/multicolumncombobox.component.js → esm2020/comboboxes/multicolumncombobox.component.mjs} +6 -5
  86. package/{esm2015/common/constants/error-messages.js → esm2020/common/constants/error-messages.mjs} +1 -1
  87. package/{esm2015/common/constants/touch-enabled.js → esm2020/common/constants/touch-enabled.mjs} +1 -1
  88. package/{esm2015/common/data.service.js → esm2020/common/data.service.mjs} +5 -5
  89. package/{esm2015/common/disabled-items/disabled-items.service.js → esm2020/common/disabled-items/disabled-items.service.mjs} +5 -4
  90. package/{esm2015/common/models/fillmode.js → esm2020/common/disabled-items/item-disabled.mjs} +1 -1
  91. package/{esm2015/common/filter-input.directive.js → esm2020/common/filter-input.directive.mjs} +5 -5
  92. package/{esm2015/common/disabled-items/item-disabled.js → esm2020/common/filtering/filter-settings.mjs} +1 -1
  93. package/{esm2015/common/filtering/filter.directive.js → esm2020/common/filtering/filter.directive.mjs} +5 -4
  94. package/{esm2015/common/filtering/filterable-component.js → esm2020/common/filtering/filterable-component.mjs} +1 -1
  95. package/{esm2015/common/list-item.directive.js → esm2020/common/list-item.directive.mjs} +5 -5
  96. package/{esm2015/common/list.component.js → esm2020/common/list.component.mjs} +21 -10
  97. package/{esm2015/common/localization/custom-messages.component.js → esm2020/common/localization/custom-messages.component.mjs} +5 -4
  98. package/{esm2015/common/localization/localized-messages.directive.js → esm2020/common/localization/localized-messages.directive.mjs} +5 -4
  99. package/{esm2015/common/localization/messages.js → esm2020/common/localization/messages.mjs} +4 -4
  100. package/{esm2015/common/models/checkboxes-settings.js → esm2020/common/models/checkboxes-settings.mjs} +1 -1
  101. package/{esm2015/common/filtering/filter-settings.js → esm2020/common/models/direction.mjs} +1 -1
  102. package/{esm2015/common/models/direction.js → esm2020/common/models/fillmode.mjs} +1 -1
  103. package/esm2020/common/models/list-type.mjs +5 -0
  104. package/esm2020/common/models/page-change-event.mjs +5 -0
  105. package/esm2020/common/models/popup-settings.mjs +5 -0
  106. package/{esm2015/common/models/preventable-event.js → esm2020/common/models/preventable-event.mjs} +1 -1
  107. package/{esm2015/common/models/remove-tag-event.js → esm2020/common/models/remove-tag-event.mjs} +1 -1
  108. package/esm2020/common/models/rounded.mjs +5 -0
  109. package/esm2020/common/models/size.mjs +5 -0
  110. package/{esm2015/common/models/virtualization-settings.js → esm2020/common/models/virtualization-settings.mjs} +2 -2
  111. package/{esm2015/common/navigation/navigation-action.js → esm2020/common/navigation/navigation-action.mjs} +1 -1
  112. package/{esm2015/common/navigation/navigation.service.js → esm2020/common/navigation/navigation.service.mjs} +6 -4
  113. package/{esm2015/common/searchbar.component.js → esm2020/common/searchbar.component.mjs} +10 -6
  114. package/{esm2015/common/selection/selectable.directive.js → esm2020/common/selection/selectable.directive.mjs} +5 -4
  115. package/{esm2015/common/selection/selection.service.js → esm2020/common/selection/selection.service.mjs} +8 -7
  116. package/{esm2015/common/shared-directives.module.js → esm2020/common/shared-directives.module.mjs} +5 -5
  117. package/{esm2015/common/shared.module.js → esm2020/common/shared.module.mjs} +5 -5
  118. package/{esm2015/common/taglist.component.js → esm2020/common/taglist.component.mjs} +7 -5
  119. package/{esm2015/common/templates/custom-item-template.directive.js → esm2020/common/templates/custom-item-template.directive.mjs} +5 -5
  120. package/{esm2015/common/templates/fixed-group-template.directive.js → esm2020/common/templates/fixed-group-template.directive.mjs} +5 -5
  121. package/{esm2015/common/templates/footer-template.directive.js → esm2020/common/templates/footer-template.directive.mjs} +5 -5
  122. package/{esm2015/common/templates/group-tag-template.directive.js → esm2020/common/templates/group-tag-template.directive.mjs} +5 -5
  123. package/{esm2015/common/templates/group-template.directive.js → esm2020/common/templates/group-template.directive.mjs} +5 -5
  124. package/{esm2015/common/templates/header-template.directive.js → esm2020/common/templates/header-template.directive.mjs} +5 -5
  125. package/{esm2015/common/templates/item-template.directive.js → esm2020/common/templates/item-template.directive.mjs} +5 -5
  126. package/{esm2015/common/templates/no-data-template.directive.js → esm2020/common/templates/no-data-template.directive.mjs} +5 -5
  127. package/{esm2015/common/templates/tag-template.directive.js → esm2020/common/templates/tag-template.directive.mjs} +5 -5
  128. package/{esm2015/common/templates/template-context.directive.js → esm2020/common/templates/template-context.directive.mjs} +5 -5
  129. package/{esm2015/common/templates/value-template.directive.js → esm2020/common/templates/value-template.directive.mjs} +5 -5
  130. package/{esm2015/common/util.js → esm2020/common/util.mjs} +1 -1
  131. package/{esm2015/dropdownlist/dropdownlist.component.js → esm2020/dropdownlist/dropdownlist.component.mjs} +12 -11
  132. package/{esm2015/dropdownlist/dropdownlist.module.js → esm2020/dropdownlist/dropdownlist.module.mjs} +5 -5
  133. package/{esm2015/dropdowns.module.js → esm2020/dropdowns.module.mjs} +5 -5
  134. package/{esm2015/dropdowntrees/checked-state/base-check.directive.js → esm2020/dropdowntrees/checked-state/base-check.directive.mjs} +6 -6
  135. package/{esm2015/dropdowntrees/checked-state/check-all.directive.js → esm2020/dropdowntrees/checked-state/check-all.directive.mjs} +7 -6
  136. package/{esm2015/dropdowntrees/checked-state/check.directive.js → esm2020/dropdowntrees/checked-state/check.directive.mjs} +7 -6
  137. package/esm2020/dropdowntrees/checked-state/checkable-settings.mjs +5 -0
  138. package/esm2020/dropdowntrees/checked-state/checked-item.mjs +5 -0
  139. package/{esm2015/dropdowntrees/data-binding/dropdowntree/flat-binding.directive.js → esm2020/dropdowntrees/data-binding/dropdowntree/flat-binding.directive.mjs} +7 -7
  140. package/{esm2015/dropdowntrees/data-binding/dropdowntree/hierarchy-binding.directive.js → esm2020/dropdowntrees/data-binding/dropdowntree/hierarchy-binding.directive.mjs} +7 -7
  141. package/{esm2015/dropdowntrees/data-binding/multiselecttree/flat-binding.directive.js → esm2020/dropdowntrees/data-binding/multiselecttree/flat-binding.directive.mjs} +7 -7
  142. package/{esm2015/dropdowntrees/data-binding/multiselecttree/hierarchy-binding.directive.js → esm2020/dropdowntrees/data-binding/multiselecttree/hierarchy-binding.directive.mjs} +7 -7
  143. package/{esm2015/dropdowntrees/dropdowntree.component.js → esm2020/dropdowntrees/dropdowntree.component.mjs} +56 -88
  144. package/{esm2015/dropdowntrees/dropdowntrees.module.js → esm2020/dropdowntrees/dropdowntrees.module.mjs} +5 -5
  145. package/{esm2015/dropdowntrees/expanded-state/expand.directive.js → esm2020/dropdowntrees/expanded-state/expand.directive.mjs} +5 -5
  146. package/{esm2015/dropdowntrees/lookup/lookup.js → esm2020/dropdowntrees/lookup/lookup.mjs} +1 -1
  147. package/{esm2015/dropdowntrees/lookup/lookup.service.js → esm2020/dropdowntrees/lookup/lookup.service.mjs} +4 -4
  148. package/{esm2015/dropdowntrees/multiselecttree.component.js → esm2020/dropdowntrees/multiselecttree.component.mjs} +45 -53
  149. package/{esm2015/dropdowntrees/summary-tag/summary-tag.directive.js → esm2020/dropdowntrees/summary-tag/summary-tag.directive.mjs} +5 -4
  150. package/{esm2015/dropdowntrees/templates/node-template.directive.js → esm2020/dropdowntrees/templates/node-template.directive.mjs} +5 -5
  151. package/{esm2015/main.js → esm2020/index.mjs} +1 -1
  152. package/{esm2015/multiselect/multiselect.component.js → esm2020/multiselect/multiselect.component.mjs} +43 -36
  153. package/{esm2015/multiselect/multiselect.module.js → esm2020/multiselect/multiselect.module.mjs} +5 -5
  154. package/{esm2015/multiselect/summary-tag.directive.js → esm2020/multiselect/summary-tag.directive.mjs} +6 -6
  155. package/{esm2015/package-metadata.js → esm2020/package-metadata.mjs} +3 -3
  156. package/{esm2015/kendo-angular-dropdowns.js → esm2020/progress-kendo-angular-dropdowns.mjs} +2 -2
  157. package/fesm2015/progress-kendo-angular-dropdowns.mjs +14672 -0
  158. package/{fesm2015/kendo-angular-dropdowns.js → fesm2020/progress-kendo-angular-dropdowns.mjs} +366 -397
  159. package/{main.d.ts → index.d.ts} +2 -1
  160. package/multiselect/multiselect.component.d.ts +9 -3
  161. package/multiselect/multiselect.module.d.ts +1 -1
  162. package/multiselect/summary-tag.directive.d.ts +1 -1
  163. package/package-metadata.d.ts +1 -1
  164. package/package.json +32 -58
  165. package/{kendo-angular-dropdowns.d.ts → progress-kendo-angular-dropdowns.d.ts} +2 -2
  166. package/schematics/ngAdd/index.js +1 -5
  167. package/bundles/kendo-angular-dropdowns.umd.js +0 -5
  168. package/esm2015/common/models/list-type.js +0 -5
  169. package/esm2015/common/models/page-change-event.js +0 -5
  170. package/esm2015/common/models/popup-settings.js +0 -5
  171. package/esm2015/common/models/rounded.js +0 -5
  172. package/esm2015/common/models/size.js +0 -5
  173. package/esm2015/dropdowntrees/checked-state/checkable-settings.js +0 -5
  174. package/esm2015/dropdowntrees/checked-state/checked-item.js +0 -5
  175. package/schematics/ngAdd/index.js.map +0 -1
@@ -1,13 +1,14 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2021 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2022 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- import { Component, ContentChild, EventEmitter, forwardRef, HostBinding, Inject, Input, isDevMode, Optional, Output, ViewChild, ViewContainerRef } from '@angular/core';
5
+ import { ChangeDetectorRef, Component, ContentChild, ElementRef, EventEmitter, forwardRef, HostBinding, HostListener, Inject, Injector, Input, isDevMode, NgZone, Optional, Output, Renderer2, TemplateRef, ViewChild, ViewContainerRef } from '@angular/core';
6
6
  import { NgControl, NG_VALUE_ACCESSOR } from '@angular/forms';
7
7
  import { anyChanged, guid, hasObservers, Keys, KendoInput, isDocumentAvailable } from '@progress/kendo-angular-common';
8
8
  import { L10N_PREFIX, LocalizationService } from '@progress/kendo-angular-l10n';
9
9
  import { NavigationService } from '../common/navigation/navigation.service';
10
- import { DataBoundComponent, ExpandableComponent } from '@progress/kendo-angular-treeview';
10
+ import { PopupService } from '@progress/kendo-angular-popup';
11
+ import { DataBoundComponent, ExpandableComponent, TreeViewComponent } from '@progress/kendo-angular-treeview';
11
12
  import { DataService } from '../common/data.service';
12
13
  import { DisabledItemsService } from '../common/disabled-items/disabled-items.service';
13
14
  import { SelectionService } from '../common/selection/selection.service';
@@ -23,7 +24,7 @@ import { NoDataTemplateDirective } from '../common/templates/no-data-template.di
23
24
  import { TagTemplateDirective } from '../common/templates/tag-template.directive';
24
25
  import { GroupTagTemplateDirective } from '../common/templates/group-tag-template.directive';
25
26
  import { TOUCH_ENABLED } from '../common/constants/touch-enabled';
26
- import { merge, of, Subscription } from 'rxjs';
27
+ import { merge, of } from 'rxjs';
27
28
  import { filter, tap } from 'rxjs/operators';
28
29
  import { buildTreeItem, MultiSelectTreeLookupService, nodeIndex } from './lookup/lookup.service';
29
30
  import * as i0 from "@angular/core";
@@ -230,7 +231,7 @@ export class MultiSelectTreeComponent {
230
231
  this._size = 'medium';
231
232
  this._rounded = 'medium';
232
233
  this._fillMode = 'solid';
233
- this.subs = new Subscription();
234
+ this.subscriptions = [];
234
235
  this.lastAction = 'check';
235
236
  this.onTouchedCallback = noop;
236
237
  this.onChangeCallback = noop;
@@ -279,7 +280,13 @@ export class MultiSelectTreeComponent {
279
280
  */
280
281
  get formControl() {
281
282
  const ngControl = this.injector.get(NgControl, null);
282
- return (ngControl === null || ngControl === void 0 ? void 0 : ngControl.control) || null;
283
+ return ngControl?.control || null;
284
+ }
285
+ /**
286
+ * @hidden
287
+ */
288
+ handleClick() {
289
+ this.togglePopup(!this.isOpen);
283
290
  }
284
291
  /**
285
292
  * @hidden
@@ -621,17 +628,13 @@ export class MultiSelectTreeComponent {
621
628
  ngOnInit() {
622
629
  this.renderer.removeAttribute(this.wrapper.nativeElement, 'tabindex');
623
630
  this.renderer.setAttribute(this.wrapper.nativeElement, 'aria-expanded', String(this.isOpen));
624
- this.subs.add(this.localization
631
+ this.subscriptions.push(this.localization
625
632
  .changes.subscribe(({ rtl }) => {
626
633
  this.direction = rtl ? 'rtl' : 'ltr';
627
634
  this.cdr.markForCheck();
628
635
  }));
629
636
  this.setComponentClasses();
630
637
  }
631
- ngAfterViewInit() {
632
- this.subs.add(this.renderer.listen(this.wrapper.nativeElement, 'click', this.handleClick.bind(this)));
633
- this.subs.add(this.renderer.listen(this.wrapper.nativeElement, 'keydown', this.handleKeydown.bind(this)));
634
- }
635
638
  /**
636
639
  * @hidden
637
640
  */
@@ -648,14 +651,18 @@ export class MultiSelectTreeComponent {
648
651
  this.setState();
649
652
  }
650
653
  if (anyChanged(['valueDepth', 'value', 'dataItems'], changes, false)) {
651
- if (changes.value && !changes.dataItems && !this.valuePrimitive) {
654
+ if (changes['value'] && !changes['dataItems'] && !this.valuePrimitive) {
652
655
  // Update the dataItems if the value is updated programmatically (non-primitive values only)
653
656
  // In the primitive case, the client should update the dataItems as well
654
657
  this.dataItems = this.value;
655
658
  }
656
659
  else {
657
660
  // Re-map the dataItems because `valueDepth` is not yet available when the check directive parses the items
658
- this.dataItems = this.dataItems.map((item, index) => (Object.assign(Object.assign({}, item), { key: valueFrom({ dataItem: item.dataItem, index: null, level: this.valueDepth[index] || 0 }, this.valueField) + '_' + (this.isHeterogeneous ? this.valueDepth[index] : 0), level: this.valueDepth[index] || 0 })));
661
+ this.dataItems = this.dataItems.map((item, index) => ({
662
+ ...item,
663
+ key: valueFrom({ dataItem: item.dataItem, index: null, level: this.valueDepth[index] || 0 }, this.valueField) + '_' + (this.isHeterogeneous ? this.valueDepth[index] : 0),
664
+ level: this.valueDepth[index] || 0
665
+ }));
659
666
  }
660
667
  }
661
668
  if (anyChanged(['data', 'children', 'hasChildren', 'loadOnDemand', 'valueField'], changes, true) && !this.loadOnDemand) {
@@ -682,7 +689,7 @@ export class MultiSelectTreeComponent {
682
689
  * should be rendered inside the input when the component is not focused.
683
690
  */
684
691
  isEmpty() {
685
- return !Boolean(this.placeholder) && (!isPresent(this.value) || this.value.length === 0);
692
+ return !this.placeholder && (!isPresent(this.value) || this.value.length === 0);
686
693
  }
687
694
  /**
688
695
  * Focuses the MultiSelectTree.
@@ -1052,42 +1059,21 @@ export class MultiSelectTreeComponent {
1052
1059
  }
1053
1060
  }
1054
1061
  }
1055
- handleClick(e) {
1056
- // The check is needed otherwise when appended to the component, the popup reopens on click
1057
- // https://github.com/telerik/kendo-angular/issues/3738
1058
- if ((this.popupRef && this.popupRef.popupElement.contains(e.target))) {
1059
- return;
1060
- }
1061
- this.togglePopup(!this.isOpen);
1062
- }
1063
1062
  subscribeEvents() {
1064
- [
1065
- this.navigationService.open.subscribe((event) => {
1066
- event.originalEvent.preventDefault();
1067
- this.togglePopup(true);
1068
- }),
1069
- this.navigationService.enter
1070
- .pipe(tap((event) => event.originalEvent.preventDefault()))
1071
- .subscribe(() => this.togglePopup(true)),
1072
- merge(this.navigationService.close, this.navigationService.esc).subscribe((event) => {
1073
- event.originalEvent.preventDefault();
1074
- this.focus();
1075
- this.togglePopup(false);
1076
- }),
1077
- this.navigationService.tab.subscribe(this.handleTabKey.bind(this)),
1078
- this.navigationService.up.subscribe(this.handleUpKey.bind(this)),
1079
- this.navigationService.down.subscribe(this.handleDownKey.bind(this)),
1080
- this.navigationService.left
1081
- .pipe(filter(() => !this.isTreeViewActive))
1082
- .subscribe(this.direction === 'rtl' ? this.handleRightKey.bind(this) : this.handleLeftKey.bind(this)),
1083
- this.navigationService.right
1084
- .pipe(filter(() => !this.isTreeViewActive))
1085
- .subscribe(this.direction === 'rtl' ? this.handleLeftKey.bind(this) : this.handleRightKey.bind(this)),
1086
- this.navigationService.home.pipe(filter(() => !this.isOpen)).subscribe(this.handleHome.bind(this)),
1087
- this.navigationService.end.pipe(filter(() => !this.isOpen)).subscribe(this.handleEnd.bind(this)),
1088
- this.navigationService.backspace.pipe(filter(() => this.isTagFocused)).subscribe(this.handleBackspace.bind(this)),
1089
- this.navigationService.delete.pipe(filter(() => this.isTagFocused)).subscribe(this.handleDelete.bind(this))
1090
- ].forEach(sub => this.subs.add(sub));
1063
+ this.subscriptions.push(this.navigationService.open.subscribe((event) => {
1064
+ event.originalEvent.preventDefault();
1065
+ this.togglePopup(true);
1066
+ }), this.navigationService.enter
1067
+ .pipe(tap((event) => event.originalEvent.preventDefault()))
1068
+ .subscribe(() => this.togglePopup(true)), merge(this.navigationService.close, this.navigationService.esc).subscribe((event) => {
1069
+ event.originalEvent.preventDefault();
1070
+ this.focus();
1071
+ this.togglePopup(false);
1072
+ }), this.navigationService.tab.subscribe(this.handleTabKey.bind(this)), this.navigationService.up.subscribe(this.handleUpKey.bind(this)), this.navigationService.down.subscribe(this.handleDownKey.bind(this)), this.navigationService.left
1073
+ .pipe(filter(() => !this.isTreeViewActive))
1074
+ .subscribe(this.direction === 'rtl' ? this.handleRightKey.bind(this) : this.handleLeftKey.bind(this)), this.navigationService.right
1075
+ .pipe(filter(() => !this.isTreeViewActive))
1076
+ .subscribe(this.direction === 'rtl' ? this.handleLeftKey.bind(this) : this.handleRightKey.bind(this)), this.navigationService.home.pipe(filter(() => !this.isOpen)).subscribe(this.handleHome.bind(this)), this.navigationService.end.pipe(filter(() => !this.isOpen)).subscribe(this.handleEnd.bind(this)), this.navigationService.backspace.pipe(filter(() => this.isTagFocused)).subscribe(this.handleBackspace.bind(this)), this.navigationService.delete.pipe(filter(() => this.isTagFocused)).subscribe(this.handleDelete.bind(this)));
1091
1077
  }
1092
1078
  subscribeFocusEvents() {
1093
1079
  if (isDocumentAvailable()) {
@@ -1218,7 +1204,7 @@ export class MultiSelectTreeComponent {
1218
1204
  }
1219
1205
  }
1220
1206
  unsubscribeEvents() {
1221
- this.subs.unsubscribe();
1207
+ this.subscriptions.forEach(sub => sub.unsubscribe());
1222
1208
  this.unSubscribeFocusEvents();
1223
1209
  }
1224
1210
  /**
@@ -1316,8 +1302,8 @@ export class MultiSelectTreeComponent {
1316
1302
  }
1317
1303
  }
1318
1304
  }
1319
- MultiSelectTreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MultiSelectTreeComponent, deps: [{ token: i0.Injector }, { token: i0.ElementRef }, { token: i1.PopupService }, { token: i0.Renderer2 }, { token: i2.NavigationService }, { token: i0.NgZone }, { token: i3.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i4.MultiSelectTreeLookupService }, { token: TOUCH_ENABLED, optional: true }], target: i0.ɵɵFactoryTarget.Component });
1320
- MultiSelectTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MultiSelectTreeComponent, selector: "kendo-multiselecttree", inputs: { tabindex: "tabindex", size: "size", rounded: "rounded", fillMode: "fillMode", popupSettings: "popupSettings", checkableSettings: "checkableSettings", data: "data", value: "value", dataItems: "dataItems", textField: "textField", valueField: "valueField", valueDepth: "valueDepth", loading: "loading", placeholder: "placeholder", listHeight: "listHeight", disabled: "disabled", readonly: "readonly", valuePrimitive: "valuePrimitive", loadOnDemand: "loadOnDemand", focusableId: "focusableId", clearButton: "clearButton", filterable: "filterable", checkAll: "checkAll", hasChildren: "hasChildren", fetchChildren: "fetchChildren", isNodeExpanded: "isNodeExpanded", isNodeVisible: "isNodeVisible", itemDisabled: "itemDisabled", tagMapper: "tagMapper" }, outputs: { onFocus: "focus", onBlur: "blur", open: "open", opened: "opened", close: "close", closed: "closed", nodeExpand: "nodeExpand", nodeCollapse: "nodeCollapse", valueChange: "valueChange", removeTag: "removeTag", filterChange: "filterChange" }, host: { properties: { "class.k-multiselect-tree": "this.hostClasses", "class.k-input": "this.hostClasses", "class.k-disabled": "this.isDisabled", "attr.aria-disabled": "this.isDisabled", "attr.aria-controls": "this.hostAriaControls", "attr.aria-autocomplete": "this.hostAriaAutocomplete", "class.k-loading": "this.isLoading", "attr.aria-invalid": "this.hostAriaInvalid", "attr.aria-busy": "this.isBusy", "attr.id": "this.id", "attr.dir": "this.direction", "attr.tabindex": "this.hostTabIndex", "attr.role": "this.role", "attr.aria-expanded": "this.isAriaExpanded", "attr.aria-haspopup": "this.ariaHasPopup", "attr.readonly": "this.isReadonly", "attr.aria-describedby": "this.ariaDescribedBy", "attr.aria-activedescendant": "this.ariaActiveDescendant" } }, providers: [
1305
+ MultiSelectTreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MultiSelectTreeComponent, deps: [{ token: i0.Injector }, { token: i0.ElementRef }, { token: i1.PopupService }, { token: i0.Renderer2 }, { token: i2.NavigationService }, { token: i0.NgZone }, { token: i3.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i4.MultiSelectTreeLookupService }, { token: TOUCH_ENABLED, optional: true }], target: i0.ɵɵFactoryTarget.Component });
1306
+ MultiSelectTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: MultiSelectTreeComponent, selector: "kendo-multiselecttree", inputs: { tabindex: "tabindex", size: "size", rounded: "rounded", fillMode: "fillMode", popupSettings: "popupSettings", checkableSettings: "checkableSettings", data: "data", value: "value", dataItems: "dataItems", textField: "textField", valueField: "valueField", valueDepth: "valueDepth", loading: "loading", placeholder: "placeholder", listHeight: "listHeight", disabled: "disabled", readonly: "readonly", valuePrimitive: "valuePrimitive", loadOnDemand: "loadOnDemand", focusableId: "focusableId", clearButton: "clearButton", filterable: "filterable", checkAll: "checkAll", hasChildren: "hasChildren", fetchChildren: "fetchChildren", isNodeExpanded: "isNodeExpanded", isNodeVisible: "isNodeVisible", itemDisabled: "itemDisabled", tagMapper: "tagMapper" }, outputs: { onFocus: "focus", onBlur: "blur", open: "open", opened: "opened", close: "close", closed: "closed", nodeExpand: "nodeExpand", nodeCollapse: "nodeCollapse", valueChange: "valueChange", removeTag: "removeTag", filterChange: "filterChange" }, host: { listeners: { "click": "handleClick()", "keydown": "handleKeydown($event)" }, properties: { "class.k-multiselect-tree": "this.hostClasses", "class.k-input": "this.hostClasses", "class.k-disabled": "this.isDisabled", "attr.aria-disabled": "this.isDisabled", "attr.aria-controls": "this.hostAriaControls", "attr.aria-autocomplete": "this.hostAriaAutocomplete", "class.k-loading": "this.isLoading", "attr.aria-invalid": "this.hostAriaInvalid", "attr.aria-busy": "this.isBusy", "attr.id": "this.id", "attr.dir": "this.direction", "attr.tabindex": "this.hostTabIndex", "attr.role": "this.role", "attr.aria-expanded": "this.isAriaExpanded", "attr.aria-haspopup": "this.ariaHasPopup", "attr.readonly": "this.isReadonly", "attr.aria-describedby": "this.ariaDescribedBy", "attr.aria-activedescendant": "this.ariaActiveDescendant" } }, providers: [
1321
1307
  LocalizationService,
1322
1308
  NavigationService,
1323
1309
  DataService,
@@ -1516,7 +1502,7 @@ MultiSelectTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0
1516
1502
  </ng-template>
1517
1503
  <ng-container #container></ng-container>
1518
1504
  `, isInline: true, components: [{ type: i5.TagListComponent, selector: "kendo-taglist", inputs: ["tags", "textField", "valueField", "valueDepth", "focused", "template", "groupTemplate", "disabled", "tagPrefix", "id", "size", "rounded", "fillMode", "disabledIndices"], outputs: ["removeTag"] }, { type: i6.TreeViewComponent, selector: "kendo-treeview", inputs: ["filterInputPlaceholder", "expandDisabledNodes", "animate", "nodeTemplate", "loadMoreButtonTemplate", "trackBy", "nodes", "textField", "hasChildren", "isChecked", "isDisabled", "isExpanded", "isSelected", "isVisible", "navigable", "children", "loadOnDemand", "filterable", "filter", "size", "disableParentNodesOnly"], outputs: ["childrenLoaded", "blur", "focus", "expand", "collapse", "nodeDragStart", "nodeDrag", "filterStateChange", "nodeDrop", "nodeDragEnd", "addItem", "removeItem", "checkedChange", "selectionChange", "filterChange", "nodeClick", "nodeDblClick"], exportAs: ["kendoTreeView"] }], directives: [{ type: i7.LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i9.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i10.FilterInputDirective, selector: "[filterInput]", inputs: ["filterInput"] }, { type: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i9.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i11.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i12.TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i13.CheckAllDirective, selector: "[checkAll]", inputs: ["lastAction", "treeview", "checkedItems", "valueField", "checkAll"], outputs: ["checkedItemsChange"] }, { type: i14.CheckDirective, selector: "[kendoMultiSelectTreeCheckable]", inputs: ["checkable", "valueField", "checkedItems"], outputs: ["checkedItemsChange"] }] });
1519
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MultiSelectTreeComponent, decorators: [{
1505
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MultiSelectTreeComponent, decorators: [{
1520
1506
  type: Component,
1521
1507
  args: [{
1522
1508
  exportAs: 'kendoMultiSelectTree',
@@ -1781,6 +1767,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
1781
1767
  }], ariaActiveDescendant: [{
1782
1768
  type: HostBinding,
1783
1769
  args: ['attr.aria-activedescendant']
1770
+ }], handleClick: [{
1771
+ type: HostListener,
1772
+ args: ['click']
1773
+ }], handleKeydown: [{
1774
+ type: HostListener,
1775
+ args: ['keydown', ['$event']]
1784
1776
  }], headerTemplate: [{
1785
1777
  type: ContentChild,
1786
1778
  args: [HeaderTemplateDirective, { static: false }]
@@ -1,9 +1,10 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2021 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2022 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { Directive, Input } from '@angular/core';
6
6
  import { isPresent, parseNumber } from '../../common/util';
7
+ import { MultiSelectTreeComponent } from '../multiselecttree.component';
7
8
  import * as i0 from "@angular/core";
8
9
  import * as i1 from "../multiselecttree.component";
9
10
  /**
@@ -49,9 +50,9 @@ export class MultiSelectTreeSummaryTagDirective {
49
50
  };
50
51
  }
51
52
  }
52
- MultiSelectTreeSummaryTagDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MultiSelectTreeSummaryTagDirective, deps: [{ token: i1.MultiSelectTreeComponent }], target: i0.ɵɵFactoryTarget.Directive });
53
- MultiSelectTreeSummaryTagDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: MultiSelectTreeSummaryTagDirective, selector: "[kendoMultiSelectTreeSummaryTag]", inputs: { showAfter: ["kendoMultiSelectTreeSummaryTag", "showAfter"] }, usesOnChanges: true, ngImport: i0 });
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MultiSelectTreeSummaryTagDirective, decorators: [{
53
+ MultiSelectTreeSummaryTagDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MultiSelectTreeSummaryTagDirective, deps: [{ token: i1.MultiSelectTreeComponent }], target: i0.ɵɵFactoryTarget.Directive });
54
+ MultiSelectTreeSummaryTagDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: MultiSelectTreeSummaryTagDirective, selector: "[kendoMultiSelectTreeSummaryTag]", inputs: { showAfter: ["kendoMultiSelectTreeSummaryTag", "showAfter"] }, usesOnChanges: true, ngImport: i0 });
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MultiSelectTreeSummaryTagDirective, decorators: [{
55
56
  type: Directive,
56
57
  args: [{
57
58
  selector: '[kendoMultiSelectTreeSummaryTag]'
@@ -1,8 +1,8 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2021 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2022 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- import { Directive } from '@angular/core';
5
+ import { Directive, TemplateRef } from '@angular/core';
6
6
  import * as i0 from "@angular/core";
7
7
  /**
8
8
  * Renders the content of each node in the DropDownTree. To define a node template, nest an `<ng-template>` tag
@@ -18,9 +18,9 @@ export class NodeTemplateDirective {
18
18
  this.templateRef = templateRef;
19
19
  }
20
20
  }
21
- NodeTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NodeTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
22
- NodeTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: NodeTemplateDirective, selector: "[kendoDropDownTreeNodeTemplate], [kendoMultiSelectTreeNodeTemplate]", ngImport: i0 });
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: NodeTemplateDirective, decorators: [{
21
+ NodeTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NodeTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
22
+ NodeTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: NodeTemplateDirective, selector: "[kendoDropDownTreeNodeTemplate], [kendoMultiSelectTreeNodeTemplate]", ngImport: i0 });
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NodeTemplateDirective, decorators: [{
24
24
  type: Directive,
25
25
  args: [{
26
26
  selector: '[kendoDropDownTreeNodeTemplate], [kendoMultiSelectTreeNodeTemplate]'
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2021 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2022 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  export { AutoCompleteComponent } from './autocomplete/autocomplete.component';
@@ -1,10 +1,10 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2021 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2022 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { guid, isPresent, isArray, isObjectArray, resolveAllValues, selectedIndices, getter, isNumber, isUntouched, inDropDown, getSizeClass, getRoundedClass, getFillModeClass } from '../common/util';
6
6
  import { SearchBarComponent } from '../common/searchbar.component';
7
- import { ViewChild, ViewContainerRef, Component, HostBinding, Input, Output, EventEmitter, isDevMode, forwardRef, ContentChild, Optional, Inject } from '@angular/core';
7
+ import { ViewChild, Renderer2, ViewContainerRef, Component, HostBinding, Input, ElementRef, TemplateRef, Output, EventEmitter, isDevMode, forwardRef, ContentChild, ChangeDetectorRef, KeyValueDiffers, NgZone, Optional, Inject, HostListener } from '@angular/core';
8
8
  import { Subscription, Subject, of, merge } from 'rxjs';
9
9
  import { catchError, filter, map, tap } from 'rxjs/operators';
10
10
  import { isChanged, isDocumentAvailable, KendoInput, hasObservers, anyChanged } from '@progress/kendo-angular-common';
@@ -29,9 +29,11 @@ import { MultiselectMessages } from '../common/constants/error-messages';
29
29
  import { PreventableEvent } from '../common/models/preventable-event';
30
30
  import { RemoveTagEvent } from '../common/models/remove-tag-event';
31
31
  import { LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
32
+ import { PopupService } from '@progress/kendo-angular-popup';
32
33
  import { FilterableComponent } from '../common/filtering/filterable-component';
33
34
  import { TOUCH_ENABLED } from '../common/constants/touch-enabled';
34
35
  import { DataService } from '../common/data.service';
36
+ import { ListComponent } from '../common/list.component';
35
37
  import { normalizeCheckboxesSettings } from '../common/models/checkboxes-settings';
36
38
  import { normalizeVirtualizationSettings } from '../common/models/virtualization-settings';
37
39
  import * as i0 from "@angular/core";
@@ -560,6 +562,31 @@ export class MultiSelectComponent {
560
562
  get isLoading() {
561
563
  return this.loading;
562
564
  }
565
+ /**
566
+ * @hidden
567
+ */
568
+ handleKeyboardEvent(event) {
569
+ if (this.isFocused && this.isOpen && (event.ctrlKey || event.metaKey) && event.keyCode === Keys.KeyA) {
570
+ event.preventDefault();
571
+ this.handleSelectAll();
572
+ }
573
+ }
574
+ /**
575
+ * @hidden
576
+ */
577
+ hostMousedown(event) {
578
+ const inputElement = this.searchbar.input.nativeElement;
579
+ if (event.button === 0) {
580
+ if (this.isFocused && this.isOpen && event.target === inputElement) {
581
+ return;
582
+ }
583
+ if (!this.touchEnabled || (this.touchEnabled && event.target.tagName !== 'SPAN')) {
584
+ this.searchbar.focus();
585
+ }
586
+ this.togglePopup(!this.isOpen);
587
+ event.preventDefault();
588
+ }
589
+ }
563
590
  get listContainerClasses() {
564
591
  const containerClasses = ['k-list-container', 'k-reset'];
565
592
  if (this.popupSettings.popupClass) {
@@ -806,8 +833,8 @@ export class MultiSelectComponent {
806
833
  * @hidden
807
834
  */
808
835
  clearAll(event) {
809
- event === null || event === void 0 ? void 0 : event.stopImmediatePropagation();
810
- event === null || event === void 0 ? void 0 : event.preventDefault();
836
+ event?.stopImmediatePropagation();
837
+ event?.preventDefault();
811
838
  this.focus();
812
839
  this.clearFilter();
813
840
  this.selectionService.lastClickedIndex = null;
@@ -858,8 +885,6 @@ export class MultiSelectComponent {
858
885
  }
859
886
  ngAfterViewInit() {
860
887
  this.searchbar.setInputSize();
861
- this.observableSubscriptions.add(this.renderer.listen(this.wrapper.nativeElement, 'mousedown', this.handleMousedown.bind(this)));
862
- this.observableSubscriptions.add(this.renderer.listen(this.wrapper.nativeElement, 'keydown', this.handleKeydown.bind(this)));
863
888
  }
864
889
  ngOnDestroy() {
865
890
  this._toggle(false);
@@ -1124,30 +1149,6 @@ export class MultiSelectComponent {
1124
1149
  this.clearFilter();
1125
1150
  }
1126
1151
  }
1127
- handleMousedown(event) {
1128
- const inputElement = this.searchbar.input.nativeElement;
1129
- if (event.button === 0) {
1130
- if (this.isFocused && this.isOpen && event.target === inputElement) {
1131
- return;
1132
- }
1133
- if (!this.touchEnabled || (this.touchEnabled && event.target.tagName !== 'SPAN')) {
1134
- this.searchbar.focus();
1135
- }
1136
- // The check is needed otherwise when appended to the component, the popup reopens on click
1137
- // https://github.com/telerik/kendo-angular/issues/3738
1138
- if ((this.popupRef && this.popupRef.popupElement.contains(event.target))) {
1139
- return;
1140
- }
1141
- event.preventDefault();
1142
- this.togglePopup(!this.isOpen);
1143
- }
1144
- }
1145
- handleKeydown(event) {
1146
- if (this.isFocused && this.isOpen && (event.ctrlKey || event.metaKey) && event.keyCode === Keys.KeyA) {
1147
- event.preventDefault();
1148
- this.handleSelectAll();
1149
- }
1150
- }
1151
1152
  handleEnter(event) {
1152
1153
  const service = this.selectionService;
1153
1154
  const focusedIndex = this.selectionService.focused;
@@ -1310,7 +1311,7 @@ export class MultiSelectComponent {
1310
1311
  findIndex(text, startsFrom = 0) {
1311
1312
  let itemText;
1312
1313
  text = text.toLowerCase();
1313
- let index = this.dataService.findIndex(item => {
1314
+ const index = this.dataService.findIndex(item => {
1314
1315
  if (this.dataService.grouped) {
1315
1316
  itemText = getter(item.value, this.textField);
1316
1317
  }
@@ -1461,8 +1462,8 @@ export class MultiSelectComponent {
1461
1462
  }
1462
1463
  }
1463
1464
  }
1464
- MultiSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MultiSelectComponent, deps: [{ token: i0.ElementRef }, { token: i1.LocalizationService }, { token: i2.PopupService }, { token: i3.DataService }, { token: i4.SelectionService }, { token: i5.NavigationService }, { token: i6.DisabledItemsService }, { token: i0.ChangeDetectorRef }, { token: i0.KeyValueDiffers }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: TOUCH_ENABLED, optional: true }], target: i0.ɵɵFactoryTarget.Component });
1465
- MultiSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: MultiSelectComponent, selector: "kendo-multiselect", inputs: { focusableId: "focusableId", autoClose: "autoClose", loading: "loading", data: "data", value: "value", valueField: "valueField", textField: "textField", tabindex: "tabindex", tabIndex: "tabIndex", size: "size", rounded: "rounded", fillMode: "fillMode", placeholder: "placeholder", disabled: "disabled", itemDisabled: "itemDisabled", checkboxes: "checkboxes", readonly: "readonly", filterable: "filterable", virtual: "virtual", popupSettings: "popupSettings", listHeight: "listHeight", valuePrimitive: "valuePrimitive", clearButton: "clearButton", tagMapper: "tagMapper", allowCustom: "allowCustom", valueNormalizer: "valueNormalizer" }, outputs: { filterChange: "filterChange", valueChange: "valueChange", open: "open", opened: "opened", close: "close", closed: "closed", onFocus: "focus", onBlur: "blur", removeTag: "removeTag" }, host: { properties: { "class.k-multiselect": "this.hostClasses", "class.k-input": "this.hostClasses", "attr.dir": "this.dir", "class.k-disabled": "this.disabledClass", "class.k-loading": "this.isLoading" } }, providers: [
1465
+ MultiSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MultiSelectComponent, deps: [{ token: i0.ElementRef }, { token: i1.LocalizationService }, { token: i2.PopupService }, { token: i3.DataService }, { token: i4.SelectionService }, { token: i5.NavigationService }, { token: i6.DisabledItemsService }, { token: i0.ChangeDetectorRef }, { token: i0.KeyValueDiffers }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: TOUCH_ENABLED, optional: true }], target: i0.ɵɵFactoryTarget.Component });
1466
+ MultiSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: MultiSelectComponent, selector: "kendo-multiselect", inputs: { focusableId: "focusableId", autoClose: "autoClose", loading: "loading", data: "data", value: "value", valueField: "valueField", textField: "textField", tabindex: "tabindex", tabIndex: "tabIndex", size: "size", rounded: "rounded", fillMode: "fillMode", placeholder: "placeholder", disabled: "disabled", itemDisabled: "itemDisabled", checkboxes: "checkboxes", readonly: "readonly", filterable: "filterable", virtual: "virtual", popupSettings: "popupSettings", listHeight: "listHeight", valuePrimitive: "valuePrimitive", clearButton: "clearButton", tagMapper: "tagMapper", allowCustom: "allowCustom", valueNormalizer: "valueNormalizer" }, outputs: { filterChange: "filterChange", valueChange: "valueChange", open: "open", opened: "opened", close: "close", closed: "closed", onFocus: "focus", onBlur: "blur", removeTag: "removeTag" }, host: { listeners: { "keydown": "handleKeyboardEvent($event)", "mousedown": "hostMousedown($event)" }, properties: { "class.k-multiselect": "this.hostClasses", "class.k-input": "this.hostClasses", "attr.dir": "this.dir", "class.k-disabled": "this.disabledClass", "class.k-loading": "this.isLoading" } }, providers: [
1466
1467
  MULTISELECT_VALUE_ACCESSOR,
1467
1468
  DataService,
1468
1469
  SelectionService,
@@ -1564,7 +1565,7 @@ MultiSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
1564
1565
  }">
1565
1566
  </ng-template>
1566
1567
  <ng-template #default_custom_item_template>{{ text }}</ng-template>
1567
- <span class="k-icon k-i-plus" style="float: right"></span>
1568
+ <span class="k-icon k-i-plus" [style]="'float: right;'"></span>
1568
1569
  </div>
1569
1570
  </div>
1570
1571
  <!--list-->
@@ -1612,7 +1613,7 @@ MultiSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
1612
1613
  </ng-template>
1613
1614
  <ng-container #container></ng-container>
1614
1615
  `, isInline: true, components: [{ type: i7.TagListComponent, selector: "kendo-taglist", inputs: ["tags", "textField", "valueField", "valueDepth", "focused", "template", "groupTemplate", "disabled", "tagPrefix", "id", "size", "rounded", "fillMode", "disabledIndices"], outputs: ["removeTag"] }, { type: i8.SearchBarComponent, selector: "kendo-searchbar", inputs: ["id", "listId", "tagListId", "activeDescendant", "disabled", "readonly", "tabIndex", "popupOpen", "role", "isLoading", "isSuggestable", "isFilterable", "userInput", "suggestedText", "placeholder"], outputs: ["valueChange", "onBlur", "onFocus", "onClick", "onNavigate"] }, { type: i9.ListComponent, selector: "kendo-list", inputs: ["selected", "focused", "textField", "valueField", "height", "template", "groupTemplate", "fixedGroupTemplate", "show", "id", "optionPrefix", "multipleSelection", "virtual", "type", "checkboxes", "ariaLive", "isMultiselect", "data", "size", "rounded"], outputs: ["onClick", "pageChange", "listResize"] }, { type: i10.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], directives: [{ type: i11.LocalizedMessagesDirective, selector: "\n [kendoDropDownListLocalizedMessages],\n [kendoDropDownTreeLocalizedMessages],\n [kendoComboBoxLocalizedMessages],\n [kendoMultiColumnComboBoxLocalizedMessages],\n [kendoAutoCompleteLocalizedMessages],\n [kendoMultiSelectLocalizedMessages],\n [kendoMultiSelectTreeLocalizedMessages]\n " }, { type: i12.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i13.TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i12.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i14.SelectableDirective, selector: "[kendoDropDownsSelectable]", inputs: ["index", "checkboxes", "height", "multipleSelection"] }] });
1615
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MultiSelectComponent, decorators: [{
1616
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MultiSelectComponent, decorators: [{
1616
1617
  type: Component,
1617
1618
  args: [{
1618
1619
  exportAs: 'kendoMultiSelect',
@@ -1720,7 +1721,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
1720
1721
  }">
1721
1722
  </ng-template>
1722
1723
  <ng-template #default_custom_item_template>{{ text }}</ng-template>
1723
- <span class="k-icon k-i-plus" style="float: right"></span>
1724
+ <span class="k-icon k-i-plus" [style]="'float: right;'"></span>
1724
1725
  </div>
1725
1726
  </div>
1726
1727
  <!--list-->
@@ -1901,4 +1902,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
1901
1902
  }], isLoading: [{
1902
1903
  type: HostBinding,
1903
1904
  args: ['class.k-loading']
1905
+ }], handleKeyboardEvent: [{
1906
+ type: HostListener,
1907
+ args: ['keydown', ['$event']]
1908
+ }], hostMousedown: [{
1909
+ type: HostListener,
1910
+ args: ['mousedown', ['$event']]
1904
1911
  }] } });
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2021 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2022 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { NgModule } from '@angular/core';
@@ -34,14 +34,14 @@ const MULTISELECT_DIRECTIVES = [
34
34
  */
35
35
  export class MultiSelectModule {
36
36
  }
37
- MultiSelectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MultiSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
38
- MultiSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MultiSelectModule, declarations: [MultiSelectComponent,
37
+ MultiSelectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MultiSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
38
+ MultiSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MultiSelectModule, declarations: [MultiSelectComponent,
39
39
  SummaryTagDirective,
40
40
  CustomItemTemplateDirective], imports: [SharedModule], exports: [MultiSelectComponent,
41
41
  SummaryTagDirective,
42
42
  CustomItemTemplateDirective, SharedDirectivesModule] });
43
- MultiSelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MultiSelectModule, providers: [{ provide: TOUCH_ENABLED, useValue: touchEnabled }], imports: [[SharedModule], SharedDirectivesModule] });
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MultiSelectModule, decorators: [{
43
+ MultiSelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MultiSelectModule, providers: [{ provide: TOUCH_ENABLED, useValue: touchEnabled }], imports: [[SharedModule], SharedDirectivesModule] });
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MultiSelectModule, decorators: [{
45
45
  type: NgModule,
46
46
  args: [{
47
47
  declarations: [MULTISELECT_DIRECTIVES],
@@ -1,9 +1,10 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2021 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2022 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { Directive, Input } from '@angular/core';
6
6
  import { isPresent, parseNumber } from '../common/util';
7
+ import { MultiSelectComponent } from './multiselect.component';
7
8
  import * as i0 from "@angular/core";
8
9
  import * as i1 from "./multiselect.component";
9
10
  /**
@@ -40,8 +41,7 @@ export class SummaryTagDirective {
40
41
  const showAfter = parseNumber(this.showAfter);
41
42
  this.multiSelectComponent.tagMapper = (tags) => {
42
43
  if (tags.length > showAfter) {
43
- let result;
44
- result = tags.slice(0, showAfter);
44
+ const result = tags.slice(0, showAfter);
45
45
  result.push(tags.slice(showAfter, tags.length));
46
46
  return result;
47
47
  }
@@ -51,9 +51,9 @@ export class SummaryTagDirective {
51
51
  };
52
52
  }
53
53
  }
54
- SummaryTagDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SummaryTagDirective, deps: [{ token: i1.MultiSelectComponent }], target: i0.ɵɵFactoryTarget.Directive });
55
- SummaryTagDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: SummaryTagDirective, selector: "[kendoMultiSelectSummaryTag]", inputs: { showAfter: ["kendoMultiSelectSummaryTag", "showAfter"] }, usesOnChanges: true, ngImport: i0 });
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: SummaryTagDirective, decorators: [{
54
+ SummaryTagDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: SummaryTagDirective, deps: [{ token: i1.MultiSelectComponent }], target: i0.ɵɵFactoryTarget.Directive });
55
+ SummaryTagDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: SummaryTagDirective, selector: "[kendoMultiSelectSummaryTag]", inputs: { showAfter: ["kendoMultiSelectSummaryTag", "showAfter"] }, usesOnChanges: true, ngImport: i0 });
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: SummaryTagDirective, decorators: [{
57
57
  type: Directive,
58
58
  args: [{
59
59
  selector: '[kendoMultiSelectSummaryTag]'
@@ -1,5 +1,5 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2021 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2022 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  /**
@@ -9,7 +9,7 @@ export const packageMetadata = {
9
9
  name: '@progress/kendo-angular-dropdowns',
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
- publishDate: 1669984210,
12
+ publishDate: 1672320851,
13
13
  version: '',
14
- licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
14
+ licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
15
15
  };
@@ -1,8 +1,8 @@
1
1
  /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2021 Progress Software Corporation. All rights reserved.
2
+ * Copyright © 2022 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  /**
6
6
  * Generated bundle index. Do not edit.
7
7
  */
8
- export * from './main';
8
+ export * from './index';