@progress/kendo-angular-dropdowns 7.0.3-dev.202207081325 → 7.1.0-dev.202208301349
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/autocomplete/autocomplete.component.d.ts +2 -0
- package/bundles/kendo-angular-dropdowns.umd.js +1 -1
- package/comboboxes/combobox.component.d.ts +1 -1
- package/common/list.component.d.ts +2 -0
- package/common/navigation/navigation-action.d.ts +3 -1
- package/common/navigation/navigation.service.d.ts +2 -0
- package/dropdownlist/dropdownlist.component.d.ts +1 -10
- package/esm2015/autocomplete/autocomplete.component.js +16 -1
- package/esm2015/comboboxes/combobox.component.js +13 -5
- package/esm2015/common/list.component.js +11 -0
- package/esm2015/common/navigation/navigation-action.js +2 -0
- package/esm2015/common/navigation/navigation.service.js +8 -0
- package/esm2015/common/searchbar.component.js +1 -1
- package/esm2015/dropdownlist/dropdownlist.component.js +35 -47
- package/esm2015/dropdowntrees/dropdowntree.component.js +1 -1
- package/esm2015/package-metadata.js +1 -1
- package/fesm2015/kendo-angular-dropdowns.js +87 -56
- package/package.json +1 -1
|
@@ -17,6 +17,7 @@ import { MultiSelectCheckableSettings } from './models/checkboxes-settings';
|
|
|
17
17
|
import { DropDownSize } from './models/size';
|
|
18
18
|
import { DropDownRounded } from './models/rounded';
|
|
19
19
|
import { ListType } from './models/list-type';
|
|
20
|
+
import { NavigationAction } from './navigation/navigation-action';
|
|
20
21
|
import * as i0 from "@angular/core";
|
|
21
22
|
/**
|
|
22
23
|
* @hidden
|
|
@@ -100,6 +101,7 @@ export declare class ListComponent implements OnChanges, OnDestroy, AfterViewIni
|
|
|
100
101
|
isDisabled(index: number): boolean;
|
|
101
102
|
isAltRow(index: number): boolean;
|
|
102
103
|
scrollToItem(index: number): void;
|
|
104
|
+
scrollWithOnePage(action: NavigationAction): void;
|
|
103
105
|
scrollToIndex(index: number): void;
|
|
104
106
|
scroll(item: ElementRef<HTMLElement>): void;
|
|
105
107
|
/**
|
|
@@ -37,6 +37,8 @@ export declare class NavigationService {
|
|
|
37
37
|
backspace: EventEmitter<NavigationEvent>;
|
|
38
38
|
home: EventEmitter<NavigationEvent>;
|
|
39
39
|
end: EventEmitter<NavigationEvent>;
|
|
40
|
+
pagedown: EventEmitter<NavigationEvent>;
|
|
41
|
+
pageup: EventEmitter<NavigationEvent>;
|
|
40
42
|
constructor(disabledItemsService: DisabledItemsService, selectionService: SelectionService);
|
|
41
43
|
process(args: any): NavigationAction;
|
|
42
44
|
private next;
|
|
@@ -318,6 +318,7 @@ export declare class DropDownListComponent implements ControlValueAccessor, OnDe
|
|
|
318
318
|
optionPrefix: string;
|
|
319
319
|
valueLabelId: string;
|
|
320
320
|
filterText: string;
|
|
321
|
+
private subs;
|
|
321
322
|
private _isFocused;
|
|
322
323
|
set isFocused(isFocused: boolean);
|
|
323
324
|
get isFocused(): boolean;
|
|
@@ -330,18 +331,10 @@ export declare class DropDownListComponent implements ControlValueAccessor, OnDe
|
|
|
330
331
|
private word;
|
|
331
332
|
private last;
|
|
332
333
|
private typingTimeout;
|
|
333
|
-
private navigationSubscription;
|
|
334
|
-
private enterSubscription;
|
|
335
|
-
private escSubscription;
|
|
336
|
-
private openSubscription;
|
|
337
|
-
private closeSubscription;
|
|
338
334
|
private filterFocused;
|
|
339
335
|
private filterBlurred;
|
|
340
336
|
private hostElementFocused;
|
|
341
337
|
private hostElementBlurred;
|
|
342
|
-
private componentBlurredSubscription;
|
|
343
|
-
private filterBlurredSubscription;
|
|
344
|
-
private selectionSubscription;
|
|
345
338
|
private touchstartDisposeHandler;
|
|
346
339
|
private _value;
|
|
347
340
|
private _open;
|
|
@@ -350,7 +343,6 @@ export declare class DropDownListComponent implements ControlValueAccessor, OnDe
|
|
|
350
343
|
private text;
|
|
351
344
|
private _popupSettings;
|
|
352
345
|
private _virtualSettings;
|
|
353
|
-
private localizationChangesSubscription;
|
|
354
346
|
private _size;
|
|
355
347
|
private _rounded;
|
|
356
348
|
private _fillMode;
|
|
@@ -477,7 +469,6 @@ export declare class DropDownListComponent implements ControlValueAccessor, OnDe
|
|
|
477
469
|
private subscribeTouchEvents;
|
|
478
470
|
private subscribeFocusEvents;
|
|
479
471
|
private unSubscribeFocusEvents;
|
|
480
|
-
private unsubscribeEvents;
|
|
481
472
|
private itemFromEvent;
|
|
482
473
|
private currentOrDefault;
|
|
483
474
|
private firstFocusableIndex;
|
|
@@ -620,6 +620,8 @@ export class AutoCompleteComponent {
|
|
|
620
620
|
action !== NavigationAction.End &&
|
|
621
621
|
action !== NavigationAction.Left &&
|
|
622
622
|
action !== NavigationAction.Right &&
|
|
623
|
+
action !== NavigationAction.PageDown &&
|
|
624
|
+
action !== NavigationAction.PageUp &&
|
|
623
625
|
((action === NavigationAction.Enter && this.isOpen) || action !== NavigationAction.Enter)) {
|
|
624
626
|
event.preventDefault();
|
|
625
627
|
}
|
|
@@ -646,7 +648,12 @@ export class AutoCompleteComponent {
|
|
|
646
648
|
this.change(value);
|
|
647
649
|
}
|
|
648
650
|
handleEscape() {
|
|
649
|
-
this.
|
|
651
|
+
if (this.isOpen) {
|
|
652
|
+
this.togglePopup(false);
|
|
653
|
+
}
|
|
654
|
+
else {
|
|
655
|
+
this.value = '';
|
|
656
|
+
}
|
|
650
657
|
this.selectionService.focused = -1;
|
|
651
658
|
this.suggestedText = null;
|
|
652
659
|
}
|
|
@@ -745,8 +752,14 @@ export class AutoCompleteComponent {
|
|
|
745
752
|
this.focusSubscription = this.selectionService.onFocus.subscribe(this.handleItemFocus.bind(this));
|
|
746
753
|
this.navigationSubscription = merge(this.navigationService.up, this.navigationService.down).subscribe((event) => this.navigate(event.index));
|
|
747
754
|
this.closeSubscription = this.navigationService.close.subscribe(() => this.togglePopup(false));
|
|
755
|
+
this.openSubscription = this.navigationService.open.subscribe(() => this.togglePopup(true));
|
|
748
756
|
this.enterSubscription = this.navigationService.enter.subscribe(this.handleEnter.bind(this));
|
|
749
757
|
this.escSubscription = this.navigationService.esc.subscribe(this.handleEscape.bind(this));
|
|
758
|
+
this.scrollSubscription = merge(this.navigationService.pagedown, this.navigationService.pageup).subscribe((event) => {
|
|
759
|
+
if (this.isOpen) {
|
|
760
|
+
this.optionsList.scrollWithOnePage(NavigationAction[event.originalEvent.code]);
|
|
761
|
+
}
|
|
762
|
+
});
|
|
750
763
|
}
|
|
751
764
|
subscribeTouchEvents() {
|
|
752
765
|
if (!isDocumentAvailable() || !this.touchEnabled) {
|
|
@@ -768,8 +781,10 @@ export class AutoCompleteComponent {
|
|
|
768
781
|
this.changeSubscription.unsubscribe();
|
|
769
782
|
this.navigationSubscription.unsubscribe();
|
|
770
783
|
this.closeSubscription.unsubscribe();
|
|
784
|
+
this.openSubscription.unsubscribe();
|
|
771
785
|
this.enterSubscription.unsubscribe();
|
|
772
786
|
this.escSubscription.unsubscribe();
|
|
787
|
+
this.scrollSubscription.unsubscribe();
|
|
773
788
|
this.valueChangeSubscription.unsubscribe();
|
|
774
789
|
this.focusSubscription.unsubscribe();
|
|
775
790
|
if (this.touchstartDisposeHandler) {
|
|
@@ -619,6 +619,11 @@ export class ComboBoxComponent {
|
|
|
619
619
|
.subscribe((event) => this.navigate(event.index)));
|
|
620
620
|
this.subs.add(this.navigationService.open.subscribe(this.handleNavigationOpen.bind(this)));
|
|
621
621
|
this.subs.add(this.navigationService.close.subscribe(() => this.togglePopup(false)));
|
|
622
|
+
this.subs.add(merge(this.navigationService.pagedown, this.navigationService.pageup).subscribe((event) => {
|
|
623
|
+
if (this.isOpen) {
|
|
624
|
+
this.optionsList.scrollWithOnePage(NavigationAction[event.originalEvent.code]);
|
|
625
|
+
}
|
|
626
|
+
}));
|
|
622
627
|
this.subs.add(this.navigationService.esc.subscribe(this.handleEscape.bind(this)));
|
|
623
628
|
this.subs.add(this.navigationService.enter.pipe(tap((event) => {
|
|
624
629
|
if (this.isOpen) {
|
|
@@ -751,9 +756,10 @@ export class ComboBoxComponent {
|
|
|
751
756
|
* @hidden
|
|
752
757
|
*/
|
|
753
758
|
clearValue(event) {
|
|
754
|
-
event.stopImmediatePropagation();
|
|
755
|
-
|
|
756
|
-
|
|
759
|
+
event === null || event === void 0 ? void 0 : event.stopImmediatePropagation();
|
|
760
|
+
if (event) {
|
|
761
|
+
this.focus();
|
|
762
|
+
}
|
|
757
763
|
this._previousDataItem = undefined;
|
|
758
764
|
this.selectionService.resetSelection([]);
|
|
759
765
|
this.clearValueSubject.next();
|
|
@@ -787,7 +793,7 @@ export class ComboBoxComponent {
|
|
|
787
793
|
* @hidden
|
|
788
794
|
*/
|
|
789
795
|
get buttonClasses() {
|
|
790
|
-
return this.loading ? 'k-i-loading k-input-loading-icon' : this.iconClass || 'k-i-
|
|
796
|
+
return this.loading ? 'k-i-loading k-input-loading-icon' : this.iconClass || 'k-i-caret-alt-down';
|
|
791
797
|
}
|
|
792
798
|
/**
|
|
793
799
|
* @hidden
|
|
@@ -980,6 +986,8 @@ export class ComboBoxComponent {
|
|
|
980
986
|
action !== NavigationAction.Right &&
|
|
981
987
|
action !== NavigationAction.Backspace &&
|
|
982
988
|
action !== NavigationAction.Delete &&
|
|
989
|
+
action !== NavigationAction.PageDown &&
|
|
990
|
+
action !== NavigationAction.PageUp &&
|
|
983
991
|
((action === NavigationAction.Enter && this.isOpen) || action !== NavigationAction.Enter)) {
|
|
984
992
|
event.preventDefault();
|
|
985
993
|
}
|
|
@@ -1046,7 +1054,7 @@ export class ComboBoxComponent {
|
|
|
1046
1054
|
* @hidden
|
|
1047
1055
|
*/
|
|
1048
1056
|
handleEscape() {
|
|
1049
|
-
this.togglePopup(false);
|
|
1057
|
+
this.isOpen ? this.togglePopup(false) : this.clearValue();
|
|
1050
1058
|
// clear the focus only if the focused item is not selected
|
|
1051
1059
|
const hasSelected = this.selectionService.selected.length > 0;
|
|
1052
1060
|
if (!hasSelected) {
|
|
@@ -8,6 +8,7 @@ import { ListItemDirective } from './list-item.directive';
|
|
|
8
8
|
import { isPresent, getter, closest, getSizeClass, getRoundedClass } from './util';
|
|
9
9
|
import { fromEvent, merge } from 'rxjs';
|
|
10
10
|
import { map, tap, auditTime, switchMap, take } from 'rxjs/operators';
|
|
11
|
+
import { NavigationAction } from './navigation/navigation-action';
|
|
11
12
|
import * as i0 from "@angular/core";
|
|
12
13
|
import * as i1 from "./data.service";
|
|
13
14
|
import * as i2 from "./selection/selection.service";
|
|
@@ -274,6 +275,16 @@ export class ListComponent {
|
|
|
274
275
|
this.scroll(items[flatIndex].element);
|
|
275
276
|
}
|
|
276
277
|
}
|
|
278
|
+
scrollWithOnePage(action) {
|
|
279
|
+
let content = this.content.nativeElement;
|
|
280
|
+
const contentOffsetHeight = content.clientHeight;
|
|
281
|
+
if (action === NavigationAction.PageDown) {
|
|
282
|
+
content.scrollTop += contentOffsetHeight;
|
|
283
|
+
}
|
|
284
|
+
else if (action === NavigationAction.PageUp) {
|
|
285
|
+
content.scrollTop -= contentOffsetHeight;
|
|
286
|
+
}
|
|
287
|
+
}
|
|
277
288
|
scrollToIndex(index) {
|
|
278
289
|
let content = this.content.nativeElement;
|
|
279
290
|
let contentScrollTop = content.scrollTop;
|
|
@@ -22,4 +22,6 @@ export var NavigationAction;
|
|
|
22
22
|
NavigationAction[NavigationAction["Down"] = 11] = "Down";
|
|
23
23
|
NavigationAction[NavigationAction["Left"] = 12] = "Left";
|
|
24
24
|
NavigationAction[NavigationAction["Right"] = 13] = "Right";
|
|
25
|
+
NavigationAction[NavigationAction["PageDown"] = 14] = "PageDown";
|
|
26
|
+
NavigationAction[NavigationAction["PageUp"] = 15] = "PageUp";
|
|
25
27
|
})(NavigationAction || (NavigationAction = {}));
|
|
@@ -42,6 +42,8 @@ export class NavigationService {
|
|
|
42
42
|
this.backspace = new EventEmitter();
|
|
43
43
|
this.home = new EventEmitter();
|
|
44
44
|
this.end = new EventEmitter();
|
|
45
|
+
this.pagedown = new EventEmitter();
|
|
46
|
+
this.pageup = new EventEmitter();
|
|
45
47
|
}
|
|
46
48
|
process(args) {
|
|
47
49
|
const keyCode = args.originalEvent.keyCode;
|
|
@@ -93,6 +95,12 @@ export class NavigationService {
|
|
|
93
95
|
else if (keyCode === Keys.Backspace) {
|
|
94
96
|
action = NavigationAction.Backspace;
|
|
95
97
|
}
|
|
98
|
+
else if (keyCode === Keys.PageDown) {
|
|
99
|
+
action = NavigationAction.PageDown;
|
|
100
|
+
}
|
|
101
|
+
else if (keyCode === Keys.PageUp) {
|
|
102
|
+
action = NavigationAction.PageUp;
|
|
103
|
+
}
|
|
96
104
|
const eventData = new NavigationEvent(index, args.originalEvent);
|
|
97
105
|
if (action !== NavigationAction.Undefined) {
|
|
98
106
|
this[NavigationAction[action].toLowerCase()].emit(eventData);
|
|
@@ -115,7 +115,7 @@ export class SearchBarComponent {
|
|
|
115
115
|
handleKeydown(event) {
|
|
116
116
|
const keyCode = event.keyCode;
|
|
117
117
|
const keys = [Keys.ArrowUp, Keys.ArrowDown, Keys.ArrowLeft, Keys.ArrowRight, Keys.Enter,
|
|
118
|
-
Keys.Escape, Keys.Delete, Keys.Backspace, Keys.Home, Keys.End];
|
|
118
|
+
Keys.Escape, Keys.Delete, Keys.Backspace, Keys.Home, Keys.End, Keys.PageDown, Keys.PageUp];
|
|
119
119
|
if (keys.indexOf(keyCode) > -1) {
|
|
120
120
|
this.onNavigate.emit(event);
|
|
121
121
|
}
|
|
@@ -172,6 +172,7 @@ export class DropDownListComponent {
|
|
|
172
172
|
this.listBoxId = guid();
|
|
173
173
|
this.optionPrefix = guid();
|
|
174
174
|
this.filterText = "";
|
|
175
|
+
this.subs = new Subscription();
|
|
175
176
|
this._isFocused = false;
|
|
176
177
|
this.onTouchedCallback = (_) => { };
|
|
177
178
|
this.onChangeCallback = (_) => { };
|
|
@@ -181,7 +182,6 @@ export class DropDownListComponent {
|
|
|
181
182
|
this.filterBlurred = new EventEmitter();
|
|
182
183
|
this.hostElementFocused = new EventEmitter();
|
|
183
184
|
this.hostElementBlurred = new EventEmitter();
|
|
184
|
-
this.selectionSubscription = new Subscription();
|
|
185
185
|
this._open = false;
|
|
186
186
|
this._popupSettings = { animate: true };
|
|
187
187
|
this._size = 'medium';
|
|
@@ -513,6 +513,8 @@ export class DropDownListComponent {
|
|
|
513
513
|
action !== NavigationAction.Tab &&
|
|
514
514
|
action !== NavigationAction.Backspace &&
|
|
515
515
|
action !== NavigationAction.Delete &&
|
|
516
|
+
action !== NavigationAction.PageDown &&
|
|
517
|
+
action !== NavigationAction.PageUp &&
|
|
516
518
|
!(leftRightKeys && this.filterable) &&
|
|
517
519
|
action !== NavigationAction.Enter //enter when popup is opened is handled before `handleEnter`
|
|
518
520
|
) {
|
|
@@ -545,11 +547,11 @@ export class DropDownListComponent {
|
|
|
545
547
|
}
|
|
546
548
|
ngOnInit() {
|
|
547
549
|
this.renderer.removeAttribute(this.wrapper.nativeElement, "tabindex");
|
|
548
|
-
this.
|
|
550
|
+
this.subs.add(this.localization
|
|
549
551
|
.changes.subscribe(({ rtl }) => {
|
|
550
552
|
this.direction = rtl ? 'rtl' : 'ltr';
|
|
551
553
|
this.cdr.detectChanges();
|
|
552
|
-
});
|
|
554
|
+
}));
|
|
553
555
|
this.assignAriaDescribedBy();
|
|
554
556
|
this.setComponentClasses();
|
|
555
557
|
}
|
|
@@ -572,9 +574,10 @@ export class DropDownListComponent {
|
|
|
572
574
|
*/
|
|
573
575
|
ngOnDestroy() {
|
|
574
576
|
this.destroyPopup();
|
|
575
|
-
this.
|
|
576
|
-
|
|
577
|
-
|
|
577
|
+
this.subs.unsubscribe();
|
|
578
|
+
this.unSubscribeFocusEvents();
|
|
579
|
+
if (this.touchstartDisposeHandler) {
|
|
580
|
+
this.touchstartDisposeHandler();
|
|
578
581
|
}
|
|
579
582
|
}
|
|
580
583
|
/**
|
|
@@ -727,7 +730,7 @@ export class DropDownListComponent {
|
|
|
727
730
|
* @hidden
|
|
728
731
|
*/
|
|
729
732
|
get buttonClasses() {
|
|
730
|
-
return this.loading ? 'k-i-loading k-input-loading-icon' : this.iconClass || 'k-i-
|
|
733
|
+
return this.loading ? 'k-i-loading k-input-loading-icon' : this.iconClass || 'k-i-caret-alt-down';
|
|
731
734
|
}
|
|
732
735
|
/**
|
|
733
736
|
* @hidden
|
|
@@ -799,16 +802,16 @@ export class DropDownListComponent {
|
|
|
799
802
|
popupWrapper.style.width = max;
|
|
800
803
|
popupWrapper.style.height = this.height;
|
|
801
804
|
popupWrapper.setAttribute("dir", this.direction);
|
|
802
|
-
this.popupRef.popupOpen.subscribe(() => {
|
|
805
|
+
this.subs.add(this.popupRef.popupOpen.subscribe(() => {
|
|
803
806
|
this.cdr.detectChanges();
|
|
804
807
|
this.optionsList.scrollToItem(this.selectionService.focused);
|
|
805
808
|
this.opened.emit();
|
|
806
|
-
});
|
|
807
|
-
this.popupRef.popupClose.subscribe(() => {
|
|
809
|
+
}));
|
|
810
|
+
this.subs.add(this.popupRef.popupClose.subscribe(() => {
|
|
808
811
|
this.closed.emit();
|
|
809
|
-
});
|
|
812
|
+
}));
|
|
810
813
|
if (!this.filterable) {
|
|
811
|
-
this.popupRef.popupAnchorViewportLeave.subscribe(() => this.togglePopup(false));
|
|
814
|
+
this.subs.add(this.popupRef.popupAnchorViewportLeave.subscribe(() => this.togglePopup(false)));
|
|
812
815
|
}
|
|
813
816
|
}
|
|
814
817
|
destroyPopup() {
|
|
@@ -847,10 +850,10 @@ export class DropDownListComponent {
|
|
|
847
850
|
return;
|
|
848
851
|
}
|
|
849
852
|
// Item selection when the popup is open.
|
|
850
|
-
this.
|
|
853
|
+
this.subs.add(this.selectionService.onSelect.pipe(filter(_ => this.isOpen), map(this.itemFromEvent.bind(this)))
|
|
851
854
|
.subscribe(this.onSelectionChange.bind(this)));
|
|
852
855
|
// Item selection when the popup is closed | clicked | enter, and so on.
|
|
853
|
-
this.
|
|
856
|
+
this.subs.add(merge(this.selectionService.onSelect.pipe(filter(_ => !this.isOpen)), this.selectionService.onChange).pipe(map(this.itemFromEvent.bind(this)), tap(_ => this.togglePopup(false)))
|
|
854
857
|
.subscribe(({ dataItem, value: newValue, newSelection }) => {
|
|
855
858
|
if (newSelection) {
|
|
856
859
|
this.onSelectionChange({ dataItem });
|
|
@@ -868,27 +871,31 @@ export class DropDownListComponent {
|
|
|
868
871
|
}
|
|
869
872
|
this.clearFilter();
|
|
870
873
|
}));
|
|
871
|
-
this.
|
|
874
|
+
this.subs.add(merge(this.navigationService.up, this.navigationService.down, this.navigationService.left.pipe(skipWhile(() => this.filterable)), this.navigationService.right.pipe(skipWhile(() => this.filterable)), this.navigationService.home, this.navigationService.end)
|
|
872
875
|
.pipe(filter((event) => !isNaN(event.index)))
|
|
873
|
-
.subscribe((event) => this.selectionService.select(event.index));
|
|
874
|
-
this.
|
|
875
|
-
|
|
876
|
+
.subscribe((event) => this.selectionService.select(event.index)));
|
|
877
|
+
this.subs.add(merge(this.navigationService.pagedown, this.navigationService.pageup).subscribe((event) => {
|
|
878
|
+
if (this.isOpen) {
|
|
879
|
+
this.optionsList.scrollWithOnePage(NavigationAction[event.originalEvent.code]);
|
|
880
|
+
}
|
|
881
|
+
}));
|
|
882
|
+
this.subs.add(this.navigationService.open.subscribe(() => this.togglePopup(true)));
|
|
883
|
+
this.subs.add(this.navigationService.close.subscribe(() => {
|
|
876
884
|
this.togglePopup(false);
|
|
877
885
|
this.focus();
|
|
878
|
-
});
|
|
879
|
-
this.
|
|
886
|
+
}));
|
|
887
|
+
this.subs.add(this.navigationService.enter
|
|
880
888
|
.pipe(tap((event) => event.originalEvent.preventDefault()))
|
|
881
|
-
.subscribe(this.handleEnter.bind(this));
|
|
882
|
-
this.
|
|
883
|
-
.subscribe(this.handleEscape.bind(this));
|
|
884
|
-
this.
|
|
889
|
+
.subscribe(this.handleEnter.bind(this)));
|
|
890
|
+
this.subs.add(this.navigationService.esc
|
|
891
|
+
.subscribe(this.handleEscape.bind(this)));
|
|
892
|
+
this.subs.add(this.filterBlurred.pipe(concatMap(() => interval(10).pipe(take(1), takeUntil(this.hostElementFocused))))
|
|
885
893
|
.subscribe(() => {
|
|
886
894
|
this.hostElementBlurred.emit();
|
|
887
|
-
});
|
|
895
|
+
}));
|
|
888
896
|
this._zone.runOutsideAngular(() => {
|
|
889
|
-
this.
|
|
890
|
-
|
|
891
|
-
.subscribe(() => this.componentBlur());
|
|
897
|
+
this.subs.add(merge(this.hostElementBlurred.pipe(concatMap(() => interval(10).pipe(take(1), takeUntil(this.filterFocused)))), this.navigationService.tab).pipe(tap(event => event instanceof NavigationEvent && this.focus()), filter(() => this.isFocused))
|
|
898
|
+
.subscribe(() => this.componentBlur()));
|
|
892
899
|
});
|
|
893
900
|
}
|
|
894
901
|
subscribeTouchEvents() {
|
|
@@ -928,25 +935,6 @@ export class DropDownListComponent {
|
|
|
928
935
|
document.removeEventListener('blur', this.blurComponent, useCapture);
|
|
929
936
|
}
|
|
930
937
|
}
|
|
931
|
-
unsubscribeEvents() {
|
|
932
|
-
if (!isDocumentAvailable()) {
|
|
933
|
-
return;
|
|
934
|
-
}
|
|
935
|
-
this.navigationSubscription.unsubscribe();
|
|
936
|
-
this.openSubscription.unsubscribe();
|
|
937
|
-
this.closeSubscription.unsubscribe();
|
|
938
|
-
this.enterSubscription.unsubscribe();
|
|
939
|
-
this.escSubscription.unsubscribe();
|
|
940
|
-
this.componentBlurredSubscription.unsubscribe();
|
|
941
|
-
this.filterBlurredSubscription.unsubscribe();
|
|
942
|
-
this.unSubscribeFocusEvents();
|
|
943
|
-
if (this.touchstartDisposeHandler) {
|
|
944
|
-
this.touchstartDisposeHandler();
|
|
945
|
-
}
|
|
946
|
-
if (this.selectionSubscription) {
|
|
947
|
-
this.selectionSubscription.unsubscribe();
|
|
948
|
-
}
|
|
949
|
-
}
|
|
950
938
|
itemFromEvent(event) {
|
|
951
939
|
const index = event.indices[0];
|
|
952
940
|
let dataItem = this.dataService.itemAt(index);
|
|
@@ -732,7 +732,7 @@ export class DropDownTreeComponent {
|
|
|
732
732
|
* @hidden
|
|
733
733
|
*/
|
|
734
734
|
get buttonClasses() {
|
|
735
|
-
return this.loading ? 'k-i-loading k-input-loading-icon' : 'k-i-
|
|
735
|
+
return this.loading ? 'k-i-loading k-input-loading-icon' : 'k-i-caret-alt-down';
|
|
736
736
|
}
|
|
737
737
|
/**
|
|
738
738
|
* @hidden
|
|
@@ -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: 1661867343,
|
|
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
|
};
|