@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.
- package/NOTICE.txt +3 -3
- package/README.md +7 -7
- package/autocomplete/autocomplete.component.d.ts +1 -1
- package/autocomplete/autocomplete.module.d.ts +1 -1
- package/comboboxes/combobox-column/column-cell-template.directive.d.ts +1 -1
- package/comboboxes/combobox-column/column-header-template.directive.d.ts +1 -1
- package/comboboxes/combobox-column/combobox-column.component.d.ts +1 -1
- package/comboboxes/combobox-column/util.d.ts +1 -1
- package/comboboxes/combobox.component.d.ts +1 -1
- package/comboboxes/combobox.module.d.ts +1 -1
- package/comboboxes/multicolumncombobox.component.d.ts +1 -1
- package/common/constants/error-messages.d.ts +1 -1
- package/common/constants/touch-enabled.d.ts +1 -1
- package/common/data.service.d.ts +1 -1
- package/common/disabled-items/disabled-items.service.d.ts +1 -1
- package/common/disabled-items/item-disabled.d.ts +1 -1
- package/common/filter-input.directive.d.ts +1 -1
- package/common/filtering/filter-settings.d.ts +1 -1
- package/common/filtering/filter.directive.d.ts +1 -1
- package/common/filtering/filterable-component.d.ts +1 -1
- package/common/list-item.directive.d.ts +1 -1
- package/common/list.component.d.ts +1 -1
- package/common/localization/custom-messages.component.d.ts +1 -1
- package/common/localization/localized-messages.directive.d.ts +1 -1
- package/common/localization/messages.d.ts +1 -1
- package/common/models/checkboxes-settings.d.ts +1 -1
- package/common/models/direction.d.ts +1 -1
- package/common/models/fillmode.d.ts +1 -1
- package/common/models/list-type.d.ts +1 -1
- package/common/models/page-change-event.d.ts +1 -1
- package/common/models/popup-settings.d.ts +1 -1
- package/common/models/preventable-event.d.ts +1 -1
- package/common/models/remove-tag-event.d.ts +1 -1
- package/common/models/rounded.d.ts +1 -1
- package/common/models/size.d.ts +1 -1
- package/common/models/virtualization-settings.d.ts +1 -1
- package/common/navigation/navigation-action.d.ts +1 -1
- package/common/navigation/navigation.service.d.ts +1 -1
- package/common/searchbar.component.d.ts +1 -1
- package/common/selection/selectable.directive.d.ts +1 -1
- package/common/selection/selection.service.d.ts +1 -1
- package/common/shared-directives.module.d.ts +1 -1
- package/common/shared.module.d.ts +1 -1
- package/common/taglist.component.d.ts +1 -1
- package/common/templates/custom-item-template.directive.d.ts +1 -1
- package/common/templates/fixed-group-template.directive.d.ts +1 -1
- package/common/templates/footer-template.directive.d.ts +1 -1
- package/common/templates/group-tag-template.directive.d.ts +1 -1
- package/common/templates/group-template.directive.d.ts +1 -1
- package/common/templates/header-template.directive.d.ts +1 -1
- package/common/templates/item-template.directive.d.ts +1 -1
- package/common/templates/no-data-template.directive.d.ts +1 -1
- package/common/templates/tag-template.directive.d.ts +1 -1
- package/common/templates/template-context.directive.d.ts +1 -1
- package/common/templates/value-template.directive.d.ts +1 -1
- package/common/util.d.ts +1 -1
- package/dropdownlist/dropdownlist.component.d.ts +1 -1
- package/dropdownlist/dropdownlist.module.d.ts +1 -1
- package/dropdowns.module.d.ts +1 -1
- package/dropdowntrees/checked-state/base-check.directive.d.ts +1 -1
- package/dropdowntrees/checked-state/check-all.directive.d.ts +1 -1
- package/dropdowntrees/checked-state/check.directive.d.ts +1 -1
- package/dropdowntrees/checked-state/checkable-settings.d.ts +1 -1
- package/dropdowntrees/checked-state/checked-item.d.ts +1 -1
- package/dropdowntrees/data-binding/dropdowntree/flat-binding.directive.d.ts +1 -1
- package/dropdowntrees/data-binding/dropdowntree/hierarchy-binding.directive.d.ts +1 -1
- package/dropdowntrees/data-binding/multiselecttree/flat-binding.directive.d.ts +1 -1
- package/dropdowntrees/data-binding/multiselecttree/hierarchy-binding.directive.d.ts +1 -1
- package/dropdowntrees/dropdowntree.component.d.ts +6 -10
- package/dropdowntrees/dropdowntrees.module.d.ts +1 -1
- package/dropdowntrees/expanded-state/expand.directive.d.ts +1 -1
- package/dropdowntrees/lookup/lookup.d.ts +1 -1
- package/dropdowntrees/lookup/lookup.service.d.ts +1 -1
- package/dropdowntrees/multiselecttree.component.d.ts +6 -4
- package/dropdowntrees/summary-tag/summary-tag.directive.d.ts +1 -1
- package/dropdowntrees/templates/node-template.directive.d.ts +1 -1
- package/{esm2015/autocomplete/autocomplete.component.js → esm2020/autocomplete/autocomplete.component.mjs} +9 -7
- package/{esm2015/autocomplete/autocomplete.module.js → esm2020/autocomplete/autocomplete.module.mjs} +5 -5
- package/{esm2015/comboboxes/combobox-column/column-cell-template.directive.js → esm2020/comboboxes/combobox-column/column-cell-template.directive.mjs} +5 -5
- package/{esm2015/comboboxes/combobox-column/column-header-template.directive.js → esm2020/comboboxes/combobox-column/column-header-template.directive.mjs} +5 -5
- package/{esm2015/comboboxes/combobox-column/combobox-column.component.js → esm2020/comboboxes/combobox-column/combobox-column.component.mjs} +4 -4
- package/{esm2015/comboboxes/combobox-column/util.js → esm2020/comboboxes/combobox-column/util.mjs} +1 -1
- package/{esm2015/comboboxes/combobox.component.js → esm2020/comboboxes/combobox.component.mjs} +9 -7
- package/{esm2015/comboboxes/combobox.module.js → esm2020/comboboxes/combobox.module.mjs} +5 -5
- package/{esm2015/comboboxes/multicolumncombobox.component.js → esm2020/comboboxes/multicolumncombobox.component.mjs} +6 -5
- package/{esm2015/common/constants/error-messages.js → esm2020/common/constants/error-messages.mjs} +1 -1
- package/{esm2015/common/constants/touch-enabled.js → esm2020/common/constants/touch-enabled.mjs} +1 -1
- package/{esm2015/common/data.service.js → esm2020/common/data.service.mjs} +5 -5
- package/{esm2015/common/disabled-items/disabled-items.service.js → esm2020/common/disabled-items/disabled-items.service.mjs} +5 -4
- package/{esm2015/common/models/fillmode.js → esm2020/common/disabled-items/item-disabled.mjs} +1 -1
- package/{esm2015/common/filter-input.directive.js → esm2020/common/filter-input.directive.mjs} +5 -5
- package/{esm2015/common/disabled-items/item-disabled.js → esm2020/common/filtering/filter-settings.mjs} +1 -1
- package/{esm2015/common/filtering/filter.directive.js → esm2020/common/filtering/filter.directive.mjs} +5 -4
- package/{esm2015/common/filtering/filterable-component.js → esm2020/common/filtering/filterable-component.mjs} +1 -1
- package/{esm2015/common/list-item.directive.js → esm2020/common/list-item.directive.mjs} +5 -5
- package/{esm2015/common/list.component.js → esm2020/common/list.component.mjs} +21 -10
- package/{esm2015/common/localization/custom-messages.component.js → esm2020/common/localization/custom-messages.component.mjs} +5 -4
- package/{esm2015/common/localization/localized-messages.directive.js → esm2020/common/localization/localized-messages.directive.mjs} +5 -4
- package/{esm2015/common/localization/messages.js → esm2020/common/localization/messages.mjs} +4 -4
- package/{esm2015/common/models/checkboxes-settings.js → esm2020/common/models/checkboxes-settings.mjs} +1 -1
- package/{esm2015/common/filtering/filter-settings.js → esm2020/common/models/direction.mjs} +1 -1
- package/{esm2015/common/models/direction.js → esm2020/common/models/fillmode.mjs} +1 -1
- package/esm2020/common/models/list-type.mjs +5 -0
- package/esm2020/common/models/page-change-event.mjs +5 -0
- package/esm2020/common/models/popup-settings.mjs +5 -0
- package/{esm2015/common/models/preventable-event.js → esm2020/common/models/preventable-event.mjs} +1 -1
- package/{esm2015/common/models/remove-tag-event.js → esm2020/common/models/remove-tag-event.mjs} +1 -1
- package/esm2020/common/models/rounded.mjs +5 -0
- package/esm2020/common/models/size.mjs +5 -0
- package/{esm2015/common/models/virtualization-settings.js → esm2020/common/models/virtualization-settings.mjs} +2 -2
- package/{esm2015/common/navigation/navigation-action.js → esm2020/common/navigation/navigation-action.mjs} +1 -1
- package/{esm2015/common/navigation/navigation.service.js → esm2020/common/navigation/navigation.service.mjs} +6 -4
- package/{esm2015/common/searchbar.component.js → esm2020/common/searchbar.component.mjs} +10 -6
- package/{esm2015/common/selection/selectable.directive.js → esm2020/common/selection/selectable.directive.mjs} +5 -4
- package/{esm2015/common/selection/selection.service.js → esm2020/common/selection/selection.service.mjs} +8 -7
- package/{esm2015/common/shared-directives.module.js → esm2020/common/shared-directives.module.mjs} +5 -5
- package/{esm2015/common/shared.module.js → esm2020/common/shared.module.mjs} +5 -5
- package/{esm2015/common/taglist.component.js → esm2020/common/taglist.component.mjs} +7 -5
- package/{esm2015/common/templates/custom-item-template.directive.js → esm2020/common/templates/custom-item-template.directive.mjs} +5 -5
- package/{esm2015/common/templates/fixed-group-template.directive.js → esm2020/common/templates/fixed-group-template.directive.mjs} +5 -5
- package/{esm2015/common/templates/footer-template.directive.js → esm2020/common/templates/footer-template.directive.mjs} +5 -5
- package/{esm2015/common/templates/group-tag-template.directive.js → esm2020/common/templates/group-tag-template.directive.mjs} +5 -5
- package/{esm2015/common/templates/group-template.directive.js → esm2020/common/templates/group-template.directive.mjs} +5 -5
- package/{esm2015/common/templates/header-template.directive.js → esm2020/common/templates/header-template.directive.mjs} +5 -5
- package/{esm2015/common/templates/item-template.directive.js → esm2020/common/templates/item-template.directive.mjs} +5 -5
- package/{esm2015/common/templates/no-data-template.directive.js → esm2020/common/templates/no-data-template.directive.mjs} +5 -5
- package/{esm2015/common/templates/tag-template.directive.js → esm2020/common/templates/tag-template.directive.mjs} +5 -5
- package/{esm2015/common/templates/template-context.directive.js → esm2020/common/templates/template-context.directive.mjs} +5 -5
- package/{esm2015/common/templates/value-template.directive.js → esm2020/common/templates/value-template.directive.mjs} +5 -5
- package/{esm2015/common/util.js → esm2020/common/util.mjs} +1 -1
- package/{esm2015/dropdownlist/dropdownlist.component.js → esm2020/dropdownlist/dropdownlist.component.mjs} +12 -11
- package/{esm2015/dropdownlist/dropdownlist.module.js → esm2020/dropdownlist/dropdownlist.module.mjs} +5 -5
- package/{esm2015/dropdowns.module.js → esm2020/dropdowns.module.mjs} +5 -5
- package/{esm2015/dropdowntrees/checked-state/base-check.directive.js → esm2020/dropdowntrees/checked-state/base-check.directive.mjs} +6 -6
- package/{esm2015/dropdowntrees/checked-state/check-all.directive.js → esm2020/dropdowntrees/checked-state/check-all.directive.mjs} +7 -6
- package/{esm2015/dropdowntrees/checked-state/check.directive.js → esm2020/dropdowntrees/checked-state/check.directive.mjs} +7 -6
- package/esm2020/dropdowntrees/checked-state/checkable-settings.mjs +5 -0
- package/esm2020/dropdowntrees/checked-state/checked-item.mjs +5 -0
- package/{esm2015/dropdowntrees/data-binding/dropdowntree/flat-binding.directive.js → esm2020/dropdowntrees/data-binding/dropdowntree/flat-binding.directive.mjs} +7 -7
- package/{esm2015/dropdowntrees/data-binding/dropdowntree/hierarchy-binding.directive.js → esm2020/dropdowntrees/data-binding/dropdowntree/hierarchy-binding.directive.mjs} +7 -7
- package/{esm2015/dropdowntrees/data-binding/multiselecttree/flat-binding.directive.js → esm2020/dropdowntrees/data-binding/multiselecttree/flat-binding.directive.mjs} +7 -7
- package/{esm2015/dropdowntrees/data-binding/multiselecttree/hierarchy-binding.directive.js → esm2020/dropdowntrees/data-binding/multiselecttree/hierarchy-binding.directive.mjs} +7 -7
- package/{esm2015/dropdowntrees/dropdowntree.component.js → esm2020/dropdowntrees/dropdowntree.component.mjs} +56 -88
- package/{esm2015/dropdowntrees/dropdowntrees.module.js → esm2020/dropdowntrees/dropdowntrees.module.mjs} +5 -5
- package/{esm2015/dropdowntrees/expanded-state/expand.directive.js → esm2020/dropdowntrees/expanded-state/expand.directive.mjs} +5 -5
- package/{esm2015/dropdowntrees/lookup/lookup.js → esm2020/dropdowntrees/lookup/lookup.mjs} +1 -1
- package/{esm2015/dropdowntrees/lookup/lookup.service.js → esm2020/dropdowntrees/lookup/lookup.service.mjs} +4 -4
- package/{esm2015/dropdowntrees/multiselecttree.component.js → esm2020/dropdowntrees/multiselecttree.component.mjs} +45 -53
- package/{esm2015/dropdowntrees/summary-tag/summary-tag.directive.js → esm2020/dropdowntrees/summary-tag/summary-tag.directive.mjs} +5 -4
- package/{esm2015/dropdowntrees/templates/node-template.directive.js → esm2020/dropdowntrees/templates/node-template.directive.mjs} +5 -5
- package/{esm2015/main.js → esm2020/index.mjs} +1 -1
- package/{esm2015/multiselect/multiselect.component.js → esm2020/multiselect/multiselect.component.mjs} +43 -36
- package/{esm2015/multiselect/multiselect.module.js → esm2020/multiselect/multiselect.module.mjs} +5 -5
- package/{esm2015/multiselect/summary-tag.directive.js → esm2020/multiselect/summary-tag.directive.mjs} +6 -6
- package/{esm2015/package-metadata.js → esm2020/package-metadata.mjs} +3 -3
- package/{esm2015/kendo-angular-dropdowns.js → esm2020/progress-kendo-angular-dropdowns.mjs} +2 -2
- package/fesm2015/progress-kendo-angular-dropdowns.mjs +14672 -0
- package/{fesm2015/kendo-angular-dropdowns.js → fesm2020/progress-kendo-angular-dropdowns.mjs} +366 -397
- package/{main.d.ts → index.d.ts} +2 -1
- package/multiselect/multiselect.component.d.ts +9 -3
- package/multiselect/multiselect.module.d.ts +1 -1
- package/multiselect/summary-tag.directive.d.ts +1 -1
- package/package-metadata.d.ts +1 -1
- package/package.json +32 -58
- package/{kendo-angular-dropdowns.d.ts → progress-kendo-angular-dropdowns.d.ts} +2 -2
- package/schematics/ngAdd/index.js +1 -5
- package/bundles/kendo-angular-dropdowns.umd.js +0 -5
- package/esm2015/common/models/list-type.js +0 -5
- package/esm2015/common/models/page-change-event.js +0 -5
- package/esm2015/common/models/popup-settings.js +0 -5
- package/esm2015/common/models/rounded.js +0 -5
- package/esm2015/common/models/size.js +0 -5
- package/esm2015/dropdowntrees/checked-state/checkable-settings.js +0 -5
- package/esm2015/dropdowntrees/checked-state/checked-item.js +0 -5
- package/schematics/ngAdd/index.js.map +0 -1
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright ©
|
|
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 {
|
|
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
|
|
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.
|
|
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
|
|
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.
|
|
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
|
|
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) => (
|
|
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 !
|
|
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
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
this.navigationService.
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
this.navigationService.
|
|
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.
|
|
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: "
|
|
1320
|
-
MultiSelectTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
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: "
|
|
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 ©
|
|
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: "
|
|
53
|
-
MultiSelectTreeSummaryTagDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "
|
|
54
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
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 ©
|
|
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: "
|
|
22
|
-
NodeTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
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 ©
|
|
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 ©
|
|
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
|
|
810
|
-
event
|
|
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
|
-
|
|
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: "
|
|
1465
|
-
MultiSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
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: "
|
|
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
|
}] } });
|
package/{esm2015/multiselect/multiselect.module.js → esm2020/multiselect/multiselect.module.mjs}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright ©
|
|
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: "
|
|
38
|
-
MultiSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "
|
|
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: "
|
|
44
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
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 ©
|
|
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
|
-
|
|
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: "
|
|
55
|
-
SummaryTagDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "
|
|
56
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
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 ©
|
|
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:
|
|
12
|
+
publishDate: 1672320851,
|
|
13
13
|
version: '',
|
|
14
|
-
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license
|
|
14
|
+
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
15
15
|
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**-----------------------------------------------------------------------------------------
|
|
2
|
-
* Copyright ©
|
|
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 './
|
|
8
|
+
export * from './index';
|