@progress/kendo-angular-dropdowns 11.0.0-develop.99 → 11.0.0
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 +17 -17
- package/dropdowntrees/dropdowntree.component.d.ts +14 -9
- package/dropdowntrees/multiselecttree.component.d.ts +3 -5
- package/esm2020/dropdowntrees/dropdowntree.component.mjs +63 -37
- package/esm2020/dropdowntrees/multiselecttree.component.mjs +16 -18
- package/esm2020/multiselect/multiselect.component.mjs +28 -33
- package/esm2020/package-metadata.mjs +2 -2
- package/fesm2015/progress-kendo-angular-dropdowns.mjs +106 -87
- package/fesm2020/progress-kendo-angular-dropdowns.mjs +106 -87
- package/multiselect/multiselect.component.d.ts +2 -8
- package/package.json +10 -10
- package/schematics/ngAdd/index.js +4 -4
|
@@ -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:
|
|
13
|
-
version: '',
|
|
12
|
+
publishDate: 1674032408,
|
|
13
|
+
version: '11.0.0',
|
|
14
14
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
15
15
|
};
|
|
@@ -32,8 +32,8 @@ const packageMetadata = {
|
|
|
32
32
|
name: '@progress/kendo-angular-dropdowns',
|
|
33
33
|
productName: 'Kendo UI for Angular',
|
|
34
34
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
35
|
-
publishDate:
|
|
36
|
-
version: '',
|
|
35
|
+
publishDate: 1674032408,
|
|
36
|
+
version: '11.0.0',
|
|
37
37
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
38
38
|
};
|
|
39
39
|
|
|
@@ -8093,31 +8093,6 @@ class MultiSelectComponent {
|
|
|
8093
8093
|
get isLoading() {
|
|
8094
8094
|
return this.loading;
|
|
8095
8095
|
}
|
|
8096
|
-
/**
|
|
8097
|
-
* @hidden
|
|
8098
|
-
*/
|
|
8099
|
-
handleKeyboardEvent(event) {
|
|
8100
|
-
if (this.isFocused && this.isOpen && (event.ctrlKey || event.metaKey) && event.keyCode === Keys.KeyA) {
|
|
8101
|
-
event.preventDefault();
|
|
8102
|
-
this.handleSelectAll();
|
|
8103
|
-
}
|
|
8104
|
-
}
|
|
8105
|
-
/**
|
|
8106
|
-
* @hidden
|
|
8107
|
-
*/
|
|
8108
|
-
hostMousedown(event) {
|
|
8109
|
-
const inputElement = this.searchbar.input.nativeElement;
|
|
8110
|
-
if (event.button === 0) {
|
|
8111
|
-
if (this.isFocused && this.isOpen && event.target === inputElement) {
|
|
8112
|
-
return;
|
|
8113
|
-
}
|
|
8114
|
-
if (!this.touchEnabled || (this.touchEnabled && event.target.tagName !== 'SPAN')) {
|
|
8115
|
-
this.searchbar.focus();
|
|
8116
|
-
}
|
|
8117
|
-
this.togglePopup(!this.isOpen);
|
|
8118
|
-
event.preventDefault();
|
|
8119
|
-
}
|
|
8120
|
-
}
|
|
8121
8096
|
get listContainerClasses() {
|
|
8122
8097
|
const containerClasses = ['k-list-container', 'k-reset'];
|
|
8123
8098
|
if (this.popupSettings.popupClass) {
|
|
@@ -8416,6 +8391,8 @@ class MultiSelectComponent {
|
|
|
8416
8391
|
}
|
|
8417
8392
|
ngAfterViewInit() {
|
|
8418
8393
|
this.searchbar.setInputSize();
|
|
8394
|
+
this.observableSubscriptions.add(this.renderer.listen(this.wrapper.nativeElement, 'mousedown', this.handleMousedown.bind(this)));
|
|
8395
|
+
this.observableSubscriptions.add(this.renderer.listen(this.wrapper.nativeElement, 'keydown', this.handleKeydown.bind(this)));
|
|
8419
8396
|
}
|
|
8420
8397
|
ngOnDestroy() {
|
|
8421
8398
|
this._toggle(false);
|
|
@@ -8680,6 +8657,30 @@ class MultiSelectComponent {
|
|
|
8680
8657
|
this.clearFilter();
|
|
8681
8658
|
}
|
|
8682
8659
|
}
|
|
8660
|
+
handleMousedown(event) {
|
|
8661
|
+
const inputElement = this.searchbar.input.nativeElement;
|
|
8662
|
+
if (event.button === 0) {
|
|
8663
|
+
if (this.isFocused && this.isOpen && event.target === inputElement) {
|
|
8664
|
+
return;
|
|
8665
|
+
}
|
|
8666
|
+
if (!this.touchEnabled || (this.touchEnabled && event.target.tagName !== 'SPAN')) {
|
|
8667
|
+
this.searchbar.focus();
|
|
8668
|
+
}
|
|
8669
|
+
// The check is needed otherwise when appended to the component, the popup reopens on click
|
|
8670
|
+
// https://github.com/telerik/kendo-angular/issues/3738
|
|
8671
|
+
if ((this.popupRef && this.popupRef.popupElement.contains(event.target))) {
|
|
8672
|
+
return;
|
|
8673
|
+
}
|
|
8674
|
+
event.preventDefault();
|
|
8675
|
+
this.togglePopup(!this.isOpen);
|
|
8676
|
+
}
|
|
8677
|
+
}
|
|
8678
|
+
handleKeydown(event) {
|
|
8679
|
+
if (this.isFocused && this.isOpen && (event.ctrlKey || event.metaKey) && event.keyCode === Keys.KeyA) {
|
|
8680
|
+
event.preventDefault();
|
|
8681
|
+
this.handleSelectAll();
|
|
8682
|
+
}
|
|
8683
|
+
}
|
|
8683
8684
|
handleEnter(event) {
|
|
8684
8685
|
const service = this.selectionService;
|
|
8685
8686
|
const focusedIndex = this.selectionService.focused;
|
|
@@ -8994,7 +8995,7 @@ class MultiSelectComponent {
|
|
|
8994
8995
|
}
|
|
8995
8996
|
}
|
|
8996
8997
|
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: DataService }, { token: SelectionService }, { token: NavigationService }, { token: DisabledItemsService }, { token: i0.ChangeDetectorRef }, { token: i0.KeyValueDiffers }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: TOUCH_ENABLED, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
8997
|
-
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: {
|
|
8998
|
+
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: { 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: [
|
|
8998
8999
|
MULTISELECT_VALUE_ACCESSOR,
|
|
8999
9000
|
DataService,
|
|
9000
9001
|
SelectionService,
|
|
@@ -9455,12 +9456,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
9455
9456
|
}], isLoading: [{
|
|
9456
9457
|
type: HostBinding,
|
|
9457
9458
|
args: ['class.k-loading']
|
|
9458
|
-
}], handleKeyboardEvent: [{
|
|
9459
|
-
type: HostListener,
|
|
9460
|
-
args: ['keydown', ['$event']]
|
|
9461
|
-
}], hostMousedown: [{
|
|
9462
|
-
type: HostListener,
|
|
9463
|
-
args: ['mousedown', ['$event']]
|
|
9464
9459
|
}] } });
|
|
9465
9460
|
|
|
9466
9461
|
/**
|
|
@@ -10413,7 +10408,7 @@ class DropDownTreeComponent {
|
|
|
10413
10408
|
*/
|
|
10414
10409
|
this.itemDisabled = itemDisabled$1;
|
|
10415
10410
|
/**
|
|
10416
|
-
* A callback which determines whether a tree node should be rendered as hidden. The utility .k-
|
|
10411
|
+
* A callback which determines whether a tree node should be rendered as hidden. The utility .k-hidden class is used to hide the nodes.
|
|
10417
10412
|
* Useful for custom filtering implementations.
|
|
10418
10413
|
*/
|
|
10419
10414
|
this.isNodeVisible = isNodeVisible$1;
|
|
@@ -10507,27 +10502,6 @@ class DropDownTreeComponent {
|
|
|
10507
10502
|
get isReadonly() {
|
|
10508
10503
|
return this.readonly ? '' : null;
|
|
10509
10504
|
}
|
|
10510
|
-
/**
|
|
10511
|
-
* @hidden
|
|
10512
|
-
*/
|
|
10513
|
-
handleClick() {
|
|
10514
|
-
this.togglePopup(!this.isOpen);
|
|
10515
|
-
}
|
|
10516
|
-
/**
|
|
10517
|
-
* @hidden
|
|
10518
|
-
*/
|
|
10519
|
-
handleKeydown(event) {
|
|
10520
|
-
if (this.disabled || this.readonly) {
|
|
10521
|
-
return;
|
|
10522
|
-
}
|
|
10523
|
-
if (isLetter(event.key)) {
|
|
10524
|
-
this.printableCharacters.next(event.key);
|
|
10525
|
-
}
|
|
10526
|
-
const eventData = event;
|
|
10527
|
-
this.navigationService.process({
|
|
10528
|
-
originalEvent: eventData
|
|
10529
|
-
});
|
|
10530
|
-
}
|
|
10531
10505
|
set treeview(treeview) {
|
|
10532
10506
|
if (treeview) {
|
|
10533
10507
|
if (this.isFocused && !this.filterable || this.touchEnabled) {
|
|
@@ -10698,6 +10672,9 @@ class DropDownTreeComponent {
|
|
|
10698
10672
|
return 'visible';
|
|
10699
10673
|
}
|
|
10700
10674
|
}
|
|
10675
|
+
get isFilterActive() {
|
|
10676
|
+
return this.filterInput && document.activeElement === this.filterInput.nativeElement;
|
|
10677
|
+
}
|
|
10701
10678
|
/**
|
|
10702
10679
|
* @hidden
|
|
10703
10680
|
*
|
|
@@ -10778,8 +10755,6 @@ class DropDownTreeComponent {
|
|
|
10778
10755
|
return node.text.toLowerCase().indexOf(this._typedValue) === 0;
|
|
10779
10756
|
});
|
|
10780
10757
|
this.treeview.focus(itemToFocus === null || itemToFocus === void 0 ? void 0 : itemToFocus.index);
|
|
10781
|
-
const htmlItem = document.querySelector(`kendo-popup[id='${this._popupId}'] li.k-treeview-item[data-treeindex='${itemToFocus === null || itemToFocus === void 0 ? void 0 : itemToFocus.index}']`);
|
|
10782
|
-
htmlItem === null || htmlItem === void 0 ? void 0 : htmlItem.scrollIntoView();
|
|
10783
10758
|
}), debounceTime(1000)).subscribe(() => {
|
|
10784
10759
|
this._typedValue = '';
|
|
10785
10760
|
}));
|
|
@@ -10813,6 +10788,10 @@ class DropDownTreeComponent {
|
|
|
10813
10788
|
ngAfterContentChecked() {
|
|
10814
10789
|
this.verifySettings();
|
|
10815
10790
|
}
|
|
10791
|
+
ngAfterViewInit() {
|
|
10792
|
+
this.subs.add(this.renderer.listen(this.wrapper.nativeElement, 'click', this.handleClick.bind(this)));
|
|
10793
|
+
this.subs.add(this.renderer.listen(this.wrapper.nativeElement, 'keydown', this.handleKeydown.bind(this)));
|
|
10794
|
+
}
|
|
10816
10795
|
/**
|
|
10817
10796
|
* @hidden
|
|
10818
10797
|
*
|
|
@@ -10868,17 +10847,29 @@ class DropDownTreeComponent {
|
|
|
10868
10847
|
return;
|
|
10869
10848
|
}
|
|
10870
10849
|
this.isFocused = false;
|
|
10850
|
+
this.togglePopup(false);
|
|
10871
10851
|
if (hasObservers(this.onBlur) ||
|
|
10872
10852
|
isUntouched(this.wrapper.nativeElement)) {
|
|
10873
10853
|
this._zone.run(() => {
|
|
10874
|
-
this.togglePopup(false);
|
|
10875
10854
|
this.onBlur.emit();
|
|
10876
10855
|
this.onTouchedCallback();
|
|
10877
10856
|
});
|
|
10878
10857
|
}
|
|
10879
|
-
|
|
10880
|
-
|
|
10858
|
+
}
|
|
10859
|
+
/**
|
|
10860
|
+
* @hidden
|
|
10861
|
+
*/
|
|
10862
|
+
handleKeydown(event) {
|
|
10863
|
+
if (this.disabled || this.readonly) {
|
|
10864
|
+
return;
|
|
10865
|
+
}
|
|
10866
|
+
if (!this.isFilterActive && isLetter(event.key)) {
|
|
10867
|
+
this.printableCharacters.next(event.key);
|
|
10881
10868
|
}
|
|
10869
|
+
const eventData = event;
|
|
10870
|
+
this.navigationService.process({
|
|
10871
|
+
originalEvent: eventData
|
|
10872
|
+
});
|
|
10882
10873
|
}
|
|
10883
10874
|
/**
|
|
10884
10875
|
* Focuses a specific item of the DropDownTree based on a provided index in the format of `1_1`.
|
|
@@ -11171,6 +11162,14 @@ class DropDownTreeComponent {
|
|
|
11171
11162
|
}
|
|
11172
11163
|
}
|
|
11173
11164
|
}
|
|
11165
|
+
handleClick(e) {
|
|
11166
|
+
// The check is needed otherwise when appended to the component, the popup reopens on click
|
|
11167
|
+
// https://github.com/telerik/kendo-angular/issues/3738
|
|
11168
|
+
if ((this.popupRef && !this.popupRef.popupElement.contains(e.target))
|
|
11169
|
+
|| (!this.popupRef && !e.target.className.includes('k-treeview-leaf'))) {
|
|
11170
|
+
this.togglePopup(!this.isOpen);
|
|
11171
|
+
}
|
|
11172
|
+
}
|
|
11174
11173
|
handleEscape() {
|
|
11175
11174
|
this.togglePopup(false);
|
|
11176
11175
|
this.focus();
|
|
@@ -11204,10 +11203,25 @@ class DropDownTreeComponent {
|
|
|
11204
11203
|
}),
|
|
11205
11204
|
this.navigationService.enter
|
|
11206
11205
|
.pipe(tap((event) => event.originalEvent.preventDefault()))
|
|
11207
|
-
.subscribe(() =>
|
|
11206
|
+
.subscribe((e) => {
|
|
11207
|
+
// The check is needed otherwise when appended to the component, the popup reopens on click
|
|
11208
|
+
// https://github.com/telerik/kendo-angular/issues/3738
|
|
11209
|
+
if (e.originalEvent.target === this.wrapper.nativeElement) {
|
|
11210
|
+
this.togglePopup(true);
|
|
11211
|
+
}
|
|
11212
|
+
if (!this.isOpen) {
|
|
11213
|
+
this.focus();
|
|
11214
|
+
}
|
|
11215
|
+
}),
|
|
11208
11216
|
this.navigationService.esc
|
|
11209
11217
|
.subscribe(() => this.handleEscape()),
|
|
11210
|
-
this.navigationService.tab.subscribe(() =>
|
|
11218
|
+
this.navigationService.tab.subscribe(() => {
|
|
11219
|
+
this.focus();
|
|
11220
|
+
if (this.isOpen) {
|
|
11221
|
+
this.treeview.blur();
|
|
11222
|
+
this.removeTreeViewFromTabOrder();
|
|
11223
|
+
}
|
|
11224
|
+
}),
|
|
11211
11225
|
this.navigationService.down.subscribe((event) => {
|
|
11212
11226
|
if (!this.treeview) {
|
|
11213
11227
|
return;
|
|
@@ -11295,9 +11309,22 @@ class DropDownTreeComponent {
|
|
|
11295
11309
|
this.renderer.addClass(this.wrapper.nativeElement, getFillModeClass('picker', this.fillMode));
|
|
11296
11310
|
}
|
|
11297
11311
|
}
|
|
11312
|
+
/**
|
|
11313
|
+
* Remove the `TreeView` from the tab order, otherwise a focus loop between the page elements will occur
|
|
11314
|
+
* and the user will not be able to tab to the rest of the browser elements
|
|
11315
|
+
*/
|
|
11316
|
+
removeTreeViewFromTabOrder() {
|
|
11317
|
+
const nodes = this.treeview.element.nativeElement.querySelectorAll('li');
|
|
11318
|
+
nodes.forEach(item => {
|
|
11319
|
+
if (item.getAttribute('tabindex') === '0') {
|
|
11320
|
+
this.lastNodeOnFocus = item;
|
|
11321
|
+
this.lastNodeOnFocus.setAttribute('tabindex', '-1');
|
|
11322
|
+
}
|
|
11323
|
+
});
|
|
11324
|
+
}
|
|
11298
11325
|
}
|
|
11299
11326
|
DropDownTreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DropDownTreeComponent, deps: [{ token: i0.Injector }, { token: i0.ElementRef }, { token: i2.PopupService }, { token: NavigationService }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i1.LocalizationService }, { token: TOUCH_ENABLED, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
11300
|
-
DropDownTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: DropDownTreeComponent, selector: "kendo-dropdowntree", inputs: { loading: "loading", clearButton: "clearButton", data: "data", value: "value", textField: "textField", valueField: "valueField", valueDepth: "valueDepth", hasChildren: "hasChildren", fetchChildren: "fetchChildren", placeholder: "placeholder", popupSettings: "popupSettings", dataItem: "dataItem", listHeight: "listHeight", disabled: "disabled", readonly: "readonly", valuePrimitive: "valuePrimitive", tabindex: "tabindex", size: "size", rounded: "rounded", fillMode: "fillMode", itemDisabled: "itemDisabled", isNodeExpanded: "isNodeExpanded", isNodeVisible: "isNodeVisible", loadOnDemand: "loadOnDemand", filterable: "filterable", filter: "filter", focusableId: "focusableId" }, outputs: { open: "open", opened: "opened", close: "close", closed: "closed", nodeExpand: "nodeExpand", nodeCollapse: "nodeCollapse", onFocus: "focus", onBlur: "blur", valueChange: "valueChange", filterChange: "filterChange" }, host: {
|
|
11327
|
+
DropDownTreeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: DropDownTreeComponent, selector: "kendo-dropdowntree", inputs: { loading: "loading", clearButton: "clearButton", data: "data", value: "value", textField: "textField", valueField: "valueField", valueDepth: "valueDepth", hasChildren: "hasChildren", fetchChildren: "fetchChildren", placeholder: "placeholder", popupSettings: "popupSettings", dataItem: "dataItem", listHeight: "listHeight", disabled: "disabled", readonly: "readonly", valuePrimitive: "valuePrimitive", tabindex: "tabindex", size: "size", rounded: "rounded", fillMode: "fillMode", itemDisabled: "itemDisabled", isNodeExpanded: "isNodeExpanded", isNodeVisible: "isNodeVisible", loadOnDemand: "loadOnDemand", filterable: "filterable", filter: "filter", focusableId: "focusableId" }, outputs: { open: "open", opened: "opened", close: "close", closed: "closed", nodeExpand: "nodeExpand", nodeCollapse: "nodeCollapse", onFocus: "focus", onBlur: "blur", valueChange: "valueChange", filterChange: "filterChange" }, host: { properties: { "class.k-dropdowntree": "this.hostClasses", "class.k-picker": "this.hostClasses", "attr.aria-invalid": "this.hostAriaInvalid", "class.k-disabled": "this.isDisabled", "attr.disabled": "this.isDisabledAttribute", "class.k-loading": "this.isLoading", "attr.aria-busy": "this.isBusy", "attr.aria-controls": "this.hostAriaControls", "attr.id": "this.id", "attr.dir": "this.direction", "attr.tabindex": "this.hostTabIndex", "attr.role": "this.role", "attr.aria-haspopup": "this.ariaHasPopup", "attr.aria-expanded": "this.isAriaExpanded", "attr.aria-autocomplete": "this.hostAriaAutocomplete", "attr.readonly": "this.isReadonly" } }, providers: [
|
|
11301
11328
|
DataService,
|
|
11302
11329
|
SelectionService,
|
|
11303
11330
|
NavigationService,
|
|
@@ -11714,12 +11741,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
11714
11741
|
}], isReadonly: [{
|
|
11715
11742
|
type: HostBinding,
|
|
11716
11743
|
args: ['attr.readonly']
|
|
11717
|
-
}], handleClick: [{
|
|
11718
|
-
type: HostListener,
|
|
11719
|
-
args: ['click']
|
|
11720
|
-
}], handleKeydown: [{
|
|
11721
|
-
type: HostListener,
|
|
11722
|
-
args: ['keydown', ['$event']]
|
|
11723
11744
|
}], noDataTemplate: [{
|
|
11724
11745
|
type: ContentChild,
|
|
11725
11746
|
args: [NoDataTemplateDirective, { static: false }]
|
|
@@ -12357,7 +12378,7 @@ class MultiSelectTreeComponent {
|
|
|
12357
12378
|
*/
|
|
12358
12379
|
this.fetchChildren = fetchChildren;
|
|
12359
12380
|
/**
|
|
12360
|
-
* A callback which determines whether a tree node should be rendered as hidden. The utility .k-
|
|
12381
|
+
* A callback which determines whether a tree node should be rendered as hidden. The utility .k-hidden class is used to hide the nodes.
|
|
12361
12382
|
* Useful for custom filtering implementations.
|
|
12362
12383
|
*/
|
|
12363
12384
|
this.isNodeVisible = isNodeVisible;
|
|
@@ -12504,12 +12525,6 @@ class MultiSelectTreeComponent {
|
|
|
12504
12525
|
const ngControl = this.injector.get(NgControl, null);
|
|
12505
12526
|
return (ngControl === null || ngControl === void 0 ? void 0 : ngControl.control) || null;
|
|
12506
12527
|
}
|
|
12507
|
-
/**
|
|
12508
|
-
* @hidden
|
|
12509
|
-
*/
|
|
12510
|
-
handleClick() {
|
|
12511
|
-
this.togglePopup(!this.isOpen);
|
|
12512
|
-
}
|
|
12513
12528
|
/**
|
|
12514
12529
|
* @hidden
|
|
12515
12530
|
*/
|
|
@@ -12523,7 +12538,7 @@ class MultiSelectTreeComponent {
|
|
|
12523
12538
|
if (this.disabled || this.readonly) {
|
|
12524
12539
|
return;
|
|
12525
12540
|
}
|
|
12526
|
-
if (isLetter(event.key)) {
|
|
12541
|
+
if (!this.isFilterActive && isLetter(event.key)) {
|
|
12527
12542
|
this.printableCharacters.next(event.key);
|
|
12528
12543
|
}
|
|
12529
12544
|
const eventData = event;
|
|
@@ -12862,8 +12877,6 @@ class MultiSelectTreeComponent {
|
|
|
12862
12877
|
return node.text.toLowerCase().indexOf(this._typedValue) === 0;
|
|
12863
12878
|
});
|
|
12864
12879
|
this.treeview.focus(itemToFocus === null || itemToFocus === void 0 ? void 0 : itemToFocus.index);
|
|
12865
|
-
const htmlItem = document.querySelector(`kendo-popup[id='${this._popupId}'] li.k-treeview-item[data-treeindex='${itemToFocus === null || itemToFocus === void 0 ? void 0 : itemToFocus.index}']`);
|
|
12866
|
-
htmlItem === null || htmlItem === void 0 ? void 0 : htmlItem.scrollIntoView();
|
|
12867
12880
|
}), debounceTime(1000)).subscribe(() => {
|
|
12868
12881
|
this._typedValue = '';
|
|
12869
12882
|
}));
|
|
@@ -12876,6 +12889,10 @@ class MultiSelectTreeComponent {
|
|
|
12876
12889
|
}));
|
|
12877
12890
|
this.setComponentClasses();
|
|
12878
12891
|
}
|
|
12892
|
+
ngAfterViewInit() {
|
|
12893
|
+
this.subs.add(this.renderer.listen(this.wrapper.nativeElement, 'click', this.handleClick.bind(this)));
|
|
12894
|
+
this.subs.add(this.renderer.listen(this.wrapper.nativeElement, 'keydown', this.handleKeydown.bind(this)));
|
|
12895
|
+
}
|
|
12879
12896
|
/**
|
|
12880
12897
|
* @hidden
|
|
12881
12898
|
*/
|
|
@@ -13298,6 +13315,14 @@ class MultiSelectTreeComponent {
|
|
|
13298
13315
|
}
|
|
13299
13316
|
}
|
|
13300
13317
|
}
|
|
13318
|
+
handleClick(e) {
|
|
13319
|
+
// The check is needed otherwise when appended to the component, the popup reopens on click
|
|
13320
|
+
// https://github.com/telerik/kendo-angular/issues/3738
|
|
13321
|
+
if ((this.popupRef && this.popupRef.popupElement.contains(e.target))) {
|
|
13322
|
+
return;
|
|
13323
|
+
}
|
|
13324
|
+
this.togglePopup(!this.isOpen);
|
|
13325
|
+
}
|
|
13301
13326
|
subscribeEvents() {
|
|
13302
13327
|
[
|
|
13303
13328
|
this.navigationService.open.subscribe((event) => {
|
|
@@ -13565,7 +13590,7 @@ class MultiSelectTreeComponent {
|
|
|
13565
13590
|
}
|
|
13566
13591
|
}
|
|
13567
13592
|
MultiSelectTreeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MultiSelectTreeComponent, deps: [{ token: i0.Injector }, { token: i0.ElementRef }, { token: i2.PopupService }, { token: i0.Renderer2 }, { token: NavigationService }, { token: i0.NgZone }, { token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: MultiSelectTreeLookupService }, { token: TOUCH_ENABLED, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
13568
|
-
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: {
|
|
13593
|
+
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: { 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: [
|
|
13569
13594
|
LocalizationService,
|
|
13570
13595
|
NavigationService,
|
|
13571
13596
|
DataService,
|
|
@@ -14053,12 +14078,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
14053
14078
|
}], ariaActiveDescendant: [{
|
|
14054
14079
|
type: HostBinding,
|
|
14055
14080
|
args: ['attr.aria-activedescendant']
|
|
14056
|
-
}], handleClick: [{
|
|
14057
|
-
type: HostListener,
|
|
14058
|
-
args: ['click']
|
|
14059
|
-
}], handleKeydown: [{
|
|
14060
|
-
type: HostListener,
|
|
14061
|
-
args: ['keydown', ['$event']]
|
|
14062
14081
|
}], headerTemplate: [{
|
|
14063
14082
|
type: ContentChild,
|
|
14064
14083
|
args: [HeaderTemplateDirective, { static: false }]
|