@progress/kendo-angular-dropdowns 7.2.4 → 7.2.5-dev.202212021231
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/bundles/kendo-angular-dropdowns.umd.js +1 -1
- package/dropdowntrees/dropdowntree.component.d.ts +9 -5
- package/dropdowntrees/multiselecttree.component.d.ts +3 -5
- package/esm2015/autocomplete/autocomplete.component.js +3 -3
- package/esm2015/autocomplete/autocomplete.module.js +4 -4
- package/esm2015/comboboxes/combobox-column/column-cell-template.directive.js +3 -3
- package/esm2015/comboboxes/combobox-column/column-header-template.directive.js +3 -3
- package/esm2015/comboboxes/combobox-column/combobox-column.component.js +3 -3
- package/esm2015/comboboxes/combobox.component.js +3 -3
- package/esm2015/comboboxes/combobox.module.js +4 -4
- package/esm2015/comboboxes/multicolumncombobox.component.js +3 -3
- package/esm2015/common/data.service.js +3 -3
- package/esm2015/common/disabled-items/disabled-items.service.js +3 -3
- package/esm2015/common/filter-input.directive.js +3 -3
- package/esm2015/common/filtering/filter.directive.js +3 -3
- package/esm2015/common/list-item.directive.js +3 -3
- package/esm2015/common/list.component.js +3 -3
- package/esm2015/common/localization/custom-messages.component.js +3 -3
- package/esm2015/common/localization/localized-messages.directive.js +3 -3
- package/esm2015/common/localization/messages.js +3 -3
- package/esm2015/common/navigation/navigation.service.js +3 -3
- package/esm2015/common/searchbar.component.js +3 -3
- package/esm2015/common/selection/selectable.directive.js +3 -3
- package/esm2015/common/selection/selection.service.js +3 -3
- package/esm2015/common/shared-directives.module.js +4 -4
- package/esm2015/common/shared.module.js +4 -4
- package/esm2015/common/taglist.component.js +3 -3
- package/esm2015/common/templates/custom-item-template.directive.js +3 -3
- package/esm2015/common/templates/fixed-group-template.directive.js +3 -3
- package/esm2015/common/templates/footer-template.directive.js +3 -3
- package/esm2015/common/templates/group-tag-template.directive.js +3 -3
- package/esm2015/common/templates/group-template.directive.js +3 -3
- package/esm2015/common/templates/header-template.directive.js +3 -3
- package/esm2015/common/templates/item-template.directive.js +3 -3
- package/esm2015/common/templates/no-data-template.directive.js +3 -3
- package/esm2015/common/templates/tag-template.directive.js +3 -3
- package/esm2015/common/templates/template-context.directive.js +3 -3
- package/esm2015/common/templates/value-template.directive.js +3 -3
- package/esm2015/dropdownlist/dropdownlist.component.js +3 -3
- package/esm2015/dropdownlist/dropdownlist.module.js +4 -4
- package/esm2015/dropdowns.module.js +4 -4
- package/esm2015/dropdowntrees/checked-state/base-check.directive.js +3 -3
- package/esm2015/dropdowntrees/checked-state/check-all.directive.js +3 -3
- package/esm2015/dropdowntrees/checked-state/check.directive.js +3 -3
- package/esm2015/dropdowntrees/data-binding/dropdowntree/flat-binding.directive.js +3 -3
- package/esm2015/dropdowntrees/data-binding/dropdowntree/hierarchy-binding.directive.js +3 -3
- package/esm2015/dropdowntrees/data-binding/multiselecttree/flat-binding.directive.js +3 -3
- package/esm2015/dropdowntrees/data-binding/multiselecttree/hierarchy-binding.directive.js +3 -3
- package/esm2015/dropdowntrees/dropdowntree.component.js +84 -51
- package/esm2015/dropdowntrees/dropdowntrees.module.js +4 -4
- package/esm2015/dropdowntrees/expanded-state/expand.directive.js +3 -3
- package/esm2015/dropdowntrees/lookup/lookup.service.js +3 -3
- package/esm2015/dropdowntrees/multiselecttree.component.js +47 -34
- package/esm2015/dropdowntrees/summary-tag/summary-tag.directive.js +3 -3
- package/esm2015/dropdowntrees/templates/node-template.directive.js +3 -3
- package/esm2015/multiselect/multiselect.component.js +30 -35
- package/esm2015/multiselect/multiselect.module.js +4 -4
- package/esm2015/multiselect/summary-tag.directive.js +3 -3
- package/esm2015/package-metadata.js +1 -1
- package/fesm2015/kendo-angular-dropdowns.js +321 -280
- package/multiselect/multiselect.component.d.ts +2 -8
- package/package.json +1 -1
|
@@ -32,8 +32,8 @@ const DROPDOWNTREE_DIRECTIVES = [
|
|
|
32
32
|
*/
|
|
33
33
|
export class DropDownTreesModule {
|
|
34
34
|
}
|
|
35
|
-
DropDownTreesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
36
|
-
DropDownTreesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.
|
|
35
|
+
DropDownTreesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DropDownTreesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
36
|
+
DropDownTreesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DropDownTreesModule, declarations: [DropDownTreeComponent,
|
|
37
37
|
MultiSelectTreeComponent,
|
|
38
38
|
DropDownTreeFlatBindingDirective,
|
|
39
39
|
DropDownTreeHierarchyBindingDirective,
|
|
@@ -50,8 +50,8 @@ DropDownTreesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", ver
|
|
|
50
50
|
DropDownTreesExpandDirective,
|
|
51
51
|
NodeTemplateDirective,
|
|
52
52
|
MultiSelectTreeSummaryTagDirective, SharedDirectivesModule] });
|
|
53
|
-
DropDownTreesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.
|
|
54
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
53
|
+
DropDownTreesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DropDownTreesModule, imports: [[SharedModule, TreeViewModule], SharedDirectivesModule] });
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DropDownTreesModule, decorators: [{
|
|
55
55
|
type: NgModule,
|
|
56
56
|
args: [{
|
|
57
57
|
declarations: [DROPDOWNTREE_DIRECTIVES],
|
|
@@ -25,9 +25,9 @@ export class DropDownTreesExpandDirective extends ExpandDirective {
|
|
|
25
25
|
}
|
|
26
26
|
;
|
|
27
27
|
}
|
|
28
|
-
DropDownTreesExpandDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
29
|
-
DropDownTreesExpandDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
28
|
+
DropDownTreesExpandDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DropDownTreesExpandDirective, deps: [{ token: i1.ExpandableComponent }], target: i0.ɵɵFactoryTarget.Directive });
|
|
29
|
+
DropDownTreesExpandDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: DropDownTreesExpandDirective, selector: "[kendoDropDownTreeExpandable], [kendoMultiSelectTreeExpandable]", inputs: { isExpanded: ["isNodeExpanded", "isExpanded"] }, usesInheritance: true, ngImport: i0 });
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: DropDownTreesExpandDirective, decorators: [{
|
|
31
31
|
type: Directive,
|
|
32
32
|
args: [{
|
|
33
33
|
selector: '[kendoDropDownTreeExpandable], [kendoMultiSelectTreeExpandable]'
|
|
@@ -77,8 +77,8 @@ export class MultiSelectTreeLookupService {
|
|
|
77
77
|
});
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
|
-
MultiSelectTreeLookupService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
81
|
-
MultiSelectTreeLookupService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.
|
|
82
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
80
|
+
MultiSelectTreeLookupService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MultiSelectTreeLookupService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
81
|
+
MultiSelectTreeLookupService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MultiSelectTreeLookupService });
|
|
82
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MultiSelectTreeLookupService, decorators: [{
|
|
83
83
|
type: Injectable
|
|
84
84
|
}] });
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Copyright © 2021 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,
|
|
5
|
+
import { Component, ContentChild, EventEmitter, forwardRef, HostBinding, Inject, Input, isDevMode, Optional, Output, 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';
|
|
@@ -23,7 +23,7 @@ import { NoDataTemplateDirective } from '../common/templates/no-data-template.di
|
|
|
23
23
|
import { TagTemplateDirective } from '../common/templates/tag-template.directive';
|
|
24
24
|
import { GroupTagTemplateDirective } from '../common/templates/group-tag-template.directive';
|
|
25
25
|
import { TOUCH_ENABLED } from '../common/constants/touch-enabled';
|
|
26
|
-
import { merge, of } from 'rxjs';
|
|
26
|
+
import { merge, of, Subscription } from 'rxjs';
|
|
27
27
|
import { filter, tap } from 'rxjs/operators';
|
|
28
28
|
import { buildTreeItem, MultiSelectTreeLookupService, nodeIndex } from './lookup/lookup.service';
|
|
29
29
|
import * as i0 from "@angular/core";
|
|
@@ -230,7 +230,7 @@ export class MultiSelectTreeComponent {
|
|
|
230
230
|
this._size = 'medium';
|
|
231
231
|
this._rounded = 'medium';
|
|
232
232
|
this._fillMode = 'solid';
|
|
233
|
-
this.
|
|
233
|
+
this.subs = new Subscription();
|
|
234
234
|
this.lastAction = 'check';
|
|
235
235
|
this.onTouchedCallback = noop;
|
|
236
236
|
this.onChangeCallback = noop;
|
|
@@ -281,12 +281,6 @@ export class MultiSelectTreeComponent {
|
|
|
281
281
|
const ngControl = this.injector.get(NgControl, null);
|
|
282
282
|
return (ngControl === null || ngControl === void 0 ? void 0 : ngControl.control) || null;
|
|
283
283
|
}
|
|
284
|
-
/**
|
|
285
|
-
* @hidden
|
|
286
|
-
*/
|
|
287
|
-
handleClick() {
|
|
288
|
-
this.togglePopup(!this.isOpen);
|
|
289
|
-
}
|
|
290
284
|
/**
|
|
291
285
|
* @hidden
|
|
292
286
|
*/
|
|
@@ -627,13 +621,17 @@ export class MultiSelectTreeComponent {
|
|
|
627
621
|
ngOnInit() {
|
|
628
622
|
this.renderer.removeAttribute(this.wrapper.nativeElement, 'tabindex');
|
|
629
623
|
this.renderer.setAttribute(this.wrapper.nativeElement, 'aria-expanded', String(this.isOpen));
|
|
630
|
-
this.
|
|
624
|
+
this.subs.add(this.localization
|
|
631
625
|
.changes.subscribe(({ rtl }) => {
|
|
632
626
|
this.direction = rtl ? 'rtl' : 'ltr';
|
|
633
627
|
this.cdr.markForCheck();
|
|
634
628
|
}));
|
|
635
629
|
this.setComponentClasses();
|
|
636
630
|
}
|
|
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
|
+
}
|
|
637
635
|
/**
|
|
638
636
|
* @hidden
|
|
639
637
|
*/
|
|
@@ -1054,21 +1052,42 @@ export class MultiSelectTreeComponent {
|
|
|
1054
1052
|
}
|
|
1055
1053
|
}
|
|
1056
1054
|
}
|
|
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
|
+
}
|
|
1057
1063
|
subscribeEvents() {
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
this.
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
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));
|
|
1072
1091
|
}
|
|
1073
1092
|
subscribeFocusEvents() {
|
|
1074
1093
|
if (isDocumentAvailable()) {
|
|
@@ -1199,7 +1218,7 @@ export class MultiSelectTreeComponent {
|
|
|
1199
1218
|
}
|
|
1200
1219
|
}
|
|
1201
1220
|
unsubscribeEvents() {
|
|
1202
|
-
this.
|
|
1221
|
+
this.subs.unsubscribe();
|
|
1203
1222
|
this.unSubscribeFocusEvents();
|
|
1204
1223
|
}
|
|
1205
1224
|
/**
|
|
@@ -1297,8 +1316,8 @@ export class MultiSelectTreeComponent {
|
|
|
1297
1316
|
}
|
|
1298
1317
|
}
|
|
1299
1318
|
}
|
|
1300
|
-
MultiSelectTreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
1301
|
-
MultiSelectTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
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: [
|
|
1302
1321
|
LocalizationService,
|
|
1303
1322
|
NavigationService,
|
|
1304
1323
|
DataService,
|
|
@@ -1497,7 +1516,7 @@ MultiSelectTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0
|
|
|
1497
1516
|
</ng-template>
|
|
1498
1517
|
<ng-container #container></ng-container>
|
|
1499
1518
|
`, 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"] }] });
|
|
1500
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
1519
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MultiSelectTreeComponent, decorators: [{
|
|
1501
1520
|
type: Component,
|
|
1502
1521
|
args: [{
|
|
1503
1522
|
exportAs: 'kendoMultiSelectTree',
|
|
@@ -1762,12 +1781,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
1762
1781
|
}], ariaActiveDescendant: [{
|
|
1763
1782
|
type: HostBinding,
|
|
1764
1783
|
args: ['attr.aria-activedescendant']
|
|
1765
|
-
}], handleClick: [{
|
|
1766
|
-
type: HostListener,
|
|
1767
|
-
args: ['click']
|
|
1768
|
-
}], handleKeydown: [{
|
|
1769
|
-
type: HostListener,
|
|
1770
|
-
args: ['keydown', ['$event']]
|
|
1771
1784
|
}], headerTemplate: [{
|
|
1772
1785
|
type: ContentChild,
|
|
1773
1786
|
args: [HeaderTemplateDirective, { static: false }]
|
|
@@ -49,9 +49,9 @@ export class MultiSelectTreeSummaryTagDirective {
|
|
|
49
49
|
};
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
|
-
MultiSelectTreeSummaryTagDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
53
|
-
MultiSelectTreeSummaryTagDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.
|
|
54
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
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: [{
|
|
55
55
|
type: Directive,
|
|
56
56
|
args: [{
|
|
57
57
|
selector: '[kendoMultiSelectTreeSummaryTag]'
|
|
@@ -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.
|
|
22
|
-
NodeTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
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: [{
|
|
24
24
|
type: Directive,
|
|
25
25
|
args: [{
|
|
26
26
|
selector: '[kendoDropDownTreeNodeTemplate], [kendoMultiSelectTreeNodeTemplate]'
|
|
@@ -4,7 +4,7 @@
|
|
|
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
|
|
7
|
+
import { ViewChild, ViewContainerRef, Component, HostBinding, Input, Output, EventEmitter, isDevMode, forwardRef, ContentChild, Optional, Inject } 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';
|
|
@@ -560,31 +560,6 @@ export class MultiSelectComponent {
|
|
|
560
560
|
get isLoading() {
|
|
561
561
|
return this.loading;
|
|
562
562
|
}
|
|
563
|
-
/**
|
|
564
|
-
* @hidden
|
|
565
|
-
*/
|
|
566
|
-
handleKeyboardEvent(event) {
|
|
567
|
-
if (this.isFocused && this.isOpen && (event.ctrlKey || event.metaKey) && event.keyCode === Keys.KeyA) {
|
|
568
|
-
event.preventDefault();
|
|
569
|
-
this.handleSelectAll();
|
|
570
|
-
}
|
|
571
|
-
}
|
|
572
|
-
/**
|
|
573
|
-
* @hidden
|
|
574
|
-
*/
|
|
575
|
-
hostMousedown(event) {
|
|
576
|
-
const inputElement = this.searchbar.input.nativeElement;
|
|
577
|
-
if (event.button === 0) {
|
|
578
|
-
if (this.isFocused && this.isOpen && event.target === inputElement) {
|
|
579
|
-
return;
|
|
580
|
-
}
|
|
581
|
-
if (!this.touchEnabled || (this.touchEnabled && event.target.tagName !== 'SPAN')) {
|
|
582
|
-
this.searchbar.focus();
|
|
583
|
-
}
|
|
584
|
-
this.togglePopup(!this.isOpen);
|
|
585
|
-
event.preventDefault();
|
|
586
|
-
}
|
|
587
|
-
}
|
|
588
563
|
get listContainerClasses() {
|
|
589
564
|
const containerClasses = ['k-list-container', 'k-reset'];
|
|
590
565
|
if (this.popupSettings.popupClass) {
|
|
@@ -883,6 +858,8 @@ export class MultiSelectComponent {
|
|
|
883
858
|
}
|
|
884
859
|
ngAfterViewInit() {
|
|
885
860
|
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)));
|
|
886
863
|
}
|
|
887
864
|
ngOnDestroy() {
|
|
888
865
|
this._toggle(false);
|
|
@@ -1147,6 +1124,30 @@ export class MultiSelectComponent {
|
|
|
1147
1124
|
this.clearFilter();
|
|
1148
1125
|
}
|
|
1149
1126
|
}
|
|
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
|
+
}
|
|
1150
1151
|
handleEnter(event) {
|
|
1151
1152
|
const service = this.selectionService;
|
|
1152
1153
|
const focusedIndex = this.selectionService.focused;
|
|
@@ -1460,8 +1461,8 @@ export class MultiSelectComponent {
|
|
|
1460
1461
|
}
|
|
1461
1462
|
}
|
|
1462
1463
|
}
|
|
1463
|
-
MultiSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.
|
|
1464
|
-
MultiSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.
|
|
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
1466
|
MULTISELECT_VALUE_ACCESSOR,
|
|
1466
1467
|
DataService,
|
|
1467
1468
|
SelectionService,
|
|
@@ -1611,7 +1612,7 @@ MultiSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", v
|
|
|
1611
1612
|
</ng-template>
|
|
1612
1613
|
<ng-container #container></ng-container>
|
|
1613
1614
|
`, 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"] }] });
|
|
1614
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
1615
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MultiSelectComponent, decorators: [{
|
|
1615
1616
|
type: Component,
|
|
1616
1617
|
args: [{
|
|
1617
1618
|
exportAs: 'kendoMultiSelect',
|
|
@@ -1900,10 +1901,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
1900
1901
|
}], isLoading: [{
|
|
1901
1902
|
type: HostBinding,
|
|
1902
1903
|
args: ['class.k-loading']
|
|
1903
|
-
}], handleKeyboardEvent: [{
|
|
1904
|
-
type: HostListener,
|
|
1905
|
-
args: ['keydown', ['$event']]
|
|
1906
|
-
}], hostMousedown: [{
|
|
1907
|
-
type: HostListener,
|
|
1908
|
-
args: ['mousedown', ['$event']]
|
|
1909
1904
|
}] } });
|
|
@@ -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.
|
|
38
|
-
MultiSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.
|
|
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,
|
|
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.
|
|
44
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
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: [{
|
|
45
45
|
type: NgModule,
|
|
46
46
|
args: [{
|
|
47
47
|
declarations: [MULTISELECT_DIRECTIVES],
|
|
@@ -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.
|
|
55
|
-
SummaryTagDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.
|
|
56
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.
|
|
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: [{
|
|
57
57
|
type: Directive,
|
|
58
58
|
args: [{
|
|
59
59
|
selector: '[kendoMultiSelectSummaryTag]'
|
|
@@ -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: 1669984210,
|
|
13
13
|
version: '',
|
|
14
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'
|
|
15
15
|
};
|