@progress/kendo-vue-dropdowns 3.9.4-dev.202304190945 → 3.9.4-dev.202304210655
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/dist/cdn/js/kendo-vue-dropdowns.js +1 -1
- package/dist/es/ComboBox/ComboBox.js +3 -1
- package/dist/es/DropDownTree/DropDownTreeProps.d.ts +2 -2
- package/dist/es/MultiSelectTree/MultiSelectTree.js +25 -9
- package/dist/es/MultiSelectTree/MultiSelectTreeProps.d.ts +2 -2
- package/dist/es/common/ListFilter.js +15 -3
- package/dist/es/package-metadata.js +1 -1
- package/dist/esm/ComboBox/ComboBox.js +3 -1
- package/dist/esm/DropDownTree/DropDownTreeProps.d.ts +2 -2
- package/dist/esm/MultiSelectTree/MultiSelectTree.js +25 -9
- package/dist/esm/MultiSelectTree/MultiSelectTreeProps.d.ts +2 -2
- package/dist/esm/common/ListFilter.js +15 -3
- package/dist/esm/package-metadata.js +1 -1
- package/dist/npm/ComboBox/ComboBox.js +3 -1
- package/dist/npm/DropDownTree/DropDownTreeProps.d.ts +2 -2
- package/dist/npm/MultiSelectTree/MultiSelectTree.js +25 -9
- package/dist/npm/MultiSelectTree/MultiSelectTreeProps.d.ts +2 -2
- package/dist/npm/common/ListFilter.js +15 -3
- package/dist/npm/package-metadata.js +1 -1
- package/package.json +8 -8
|
@@ -269,10 +269,12 @@ var ComboBoxVue2 = {
|
|
|
269
269
|
this.base.scrollToVirtualItem(virtual, selectedItemIndex);
|
|
270
270
|
this.prevCurrentOpened = true;
|
|
271
271
|
} else if (opening && !virtual) {
|
|
272
|
-
this.base.scrollToItem(selectedItemIndex);
|
|
272
|
+
this.base.scrollToItem(selectedItem ? selectedItemIndex : this.getFocusedIndex());
|
|
273
273
|
this.prevCurrentOpened = true;
|
|
274
274
|
} else if (opened && prevOpened && selectedItem && selectedItemChanged) {
|
|
275
275
|
this.base.scrollToItem(selectedItemIndex);
|
|
276
|
+
} else if (opened && !selectedItem) {
|
|
277
|
+
this.base.scrollToItem(this.getFocusedIndex());
|
|
276
278
|
}
|
|
277
279
|
}
|
|
278
280
|
if (opening && this.input) {
|
|
@@ -135,7 +135,7 @@ export interface DropDownTreeProps extends FormComponentProps {
|
|
|
135
135
|
filterable?: boolean;
|
|
136
136
|
/**
|
|
137
137
|
* Sets the value of filtering input.
|
|
138
|
-
* Useful for making the filtering input a
|
|
138
|
+
* Useful for making the filtering input a controlled component.
|
|
139
139
|
*/
|
|
140
140
|
filter?: string;
|
|
141
141
|
/**
|
|
@@ -172,7 +172,7 @@ export interface DropDownTreeProps extends FormComponentProps {
|
|
|
172
172
|
*/
|
|
173
173
|
popupSettings?: DropDownsPopupSettings;
|
|
174
174
|
/**
|
|
175
|
-
* Represents a callback function, which returns the value for submitting. The returned value will be rendered in an `option` of a hidden
|
|
175
|
+
* Represents a callback function, which returns the value for submitting. The returned value will be rendered in an `option` of a hidden `select`.
|
|
176
176
|
*
|
|
177
177
|
* @example
|
|
178
178
|
* ```jsx-no-run
|
|
@@ -357,7 +357,7 @@ var MultiSelectTreeVue2 = {
|
|
|
357
357
|
return matchTags(t, _this.focusedTagState, dataItemKey);
|
|
358
358
|
}) : undefined,
|
|
359
359
|
size: size
|
|
360
|
-
}) : !this.hasValue &&
|
|
360
|
+
}) : !this.hasValue && h("span", {
|
|
361
361
|
"class": "k-input-inner",
|
|
362
362
|
role: 'combobox',
|
|
363
363
|
attrs: this.v3 ? undefined : {
|
|
@@ -373,7 +373,7 @@ var MultiSelectTreeVue2 = {
|
|
|
373
373
|
"aria-label": this.$props.ariaLabelledBy
|
|
374
374
|
}, [h("span", {
|
|
375
375
|
"class": "k-input-value-text"
|
|
376
|
-
}, [
|
|
376
|
+
}, [placeholder])])]), this.$props.loading && h(Icon, {
|
|
377
377
|
"class": "k-input-loading-icon",
|
|
378
378
|
name: "loading",
|
|
379
379
|
attrs: this.v3 ? undefined : {
|
|
@@ -453,12 +453,16 @@ var MultiSelectTreeVue2 = {
|
|
|
453
453
|
onChange: _this2.onFilterChange,
|
|
454
454
|
on: _this2.v3 ? undefined : {
|
|
455
455
|
"change": _this2.onFilterChange,
|
|
456
|
-
"keydown": _this2.onInputKeyDown
|
|
456
|
+
"keydown": _this2.onInputKeyDown,
|
|
457
|
+
"focus": _this2.onFocus,
|
|
458
|
+
"blur": _this2.onBlur
|
|
457
459
|
},
|
|
458
460
|
onKeydown: _this2.onInputKeyDown,
|
|
459
461
|
size: size,
|
|
460
462
|
rounded: rounded,
|
|
461
|
-
fillMode: fillMode
|
|
463
|
+
fillMode: fillMode,
|
|
464
|
+
onFocus: _this2.onFocus,
|
|
465
|
+
onBlur: _this2.onBlur
|
|
462
466
|
}), header && h("div", {
|
|
463
467
|
"class": "k-list-header"
|
|
464
468
|
}, [header]), dataItems.length > 0 ?
|
|
@@ -493,11 +497,13 @@ var MultiSelectTreeVue2 = {
|
|
|
493
497
|
"itemclick": _this2.onChange,
|
|
494
498
|
"checkchange": _this2.onChange,
|
|
495
499
|
"expandchange": _this2.onExpand,
|
|
500
|
+
"focus": _this2.onFocus,
|
|
496
501
|
"blur": _this2.onBlur,
|
|
497
502
|
"keydown": _this2.onWrapperKeyDown
|
|
498
503
|
},
|
|
499
504
|
onCheckchange: _this2.onChange,
|
|
500
505
|
onExpandchange: _this2.onExpand,
|
|
506
|
+
onFocus: _this2.onFocus,
|
|
501
507
|
onBlur: _this2.onBlur,
|
|
502
508
|
onKeydown: _this2.onWrapperKeyDown,
|
|
503
509
|
checkboxes: true,
|
|
@@ -518,12 +524,16 @@ var MultiSelectTreeVue2 = {
|
|
|
518
524
|
onChange: _this2.onFilterChange,
|
|
519
525
|
on: _this2.v3 ? undefined : {
|
|
520
526
|
"change": _this2.onFilterChange,
|
|
521
|
-
"keydown": _this2.onInputKeyDown
|
|
527
|
+
"keydown": _this2.onInputKeyDown,
|
|
528
|
+
"focus": _this2.onFocus,
|
|
529
|
+
"blur": _this2.onBlur
|
|
522
530
|
},
|
|
523
531
|
onKeydown: _this2.onInputKeyDown,
|
|
524
532
|
size: size,
|
|
525
533
|
rounded: rounded,
|
|
526
|
-
fillMode: fillMode
|
|
534
|
+
fillMode: fillMode,
|
|
535
|
+
onFocus: _this2.onFocus,
|
|
536
|
+
onBlur: _this2.onBlur
|
|
527
537
|
}), header && h("div", {
|
|
528
538
|
"class": "k-list-header"
|
|
529
539
|
}, [header]), dataItems.length > 0 ? h(TreeView, {
|
|
@@ -556,11 +566,13 @@ var MultiSelectTreeVue2 = {
|
|
|
556
566
|
"itemclick": _this2.onChange,
|
|
557
567
|
"checkchange": _this2.onChange,
|
|
558
568
|
"expandchange": _this2.onExpand,
|
|
569
|
+
"focus": _this2.onFocus,
|
|
559
570
|
"blur": _this2.onBlur,
|
|
560
571
|
"keydown": _this2.onWrapperKeyDown
|
|
561
572
|
},
|
|
562
573
|
onCheckchange: _this2.onChange,
|
|
563
574
|
onExpandchange: _this2.onExpand,
|
|
575
|
+
onFocus: _this2.onFocus,
|
|
564
576
|
onBlur: _this2.onBlur,
|
|
565
577
|
onKeydown: _this2.onWrapperKeyDown,
|
|
566
578
|
checkboxes: true,
|
|
@@ -701,6 +713,7 @@ var MultiSelectTreeVue2 = {
|
|
|
701
713
|
},
|
|
702
714
|
onBlur: function onBlur(event) {
|
|
703
715
|
if (this.focusedState && !this.skipFocusRef) {
|
|
716
|
+
this.focusedTagState = undefined;
|
|
704
717
|
this.focusedState = false;
|
|
705
718
|
var ev = {
|
|
706
719
|
event: event,
|
|
@@ -744,7 +757,7 @@ var MultiSelectTreeVue2 = {
|
|
|
744
757
|
event: event,
|
|
745
758
|
target: this
|
|
746
759
|
};
|
|
747
|
-
if (this.value && this.value.length > 0 && (keyCode === Keys.left || keyCode === Keys.right || keyCode === Keys.home || keyCode === Keys.end || keyCode === Keys.delete)) {
|
|
760
|
+
if (this.value && this.value.length > 0 && (keyCode === Keys.left || keyCode === Keys.right || keyCode === Keys.home || keyCode === Keys.end || keyCode === Keys.delete || keyCode === Keys.backspace)) {
|
|
748
761
|
var tagsToRender = this.tagsToRenderRef;
|
|
749
762
|
var focusedIndex = this.focusedTagState ? tagsToRender.findIndex(function (t) {
|
|
750
763
|
return matchTags(t, _this.focusedTagState, _this.dataItemKey);
|
|
@@ -769,7 +782,7 @@ var MultiSelectTreeVue2 = {
|
|
|
769
782
|
newFocusedTag = tagsToRender[0];
|
|
770
783
|
} else if (keyCode === Keys.end) {
|
|
771
784
|
newFocusedTag = tagsToRender[tagsToRender.length - 1];
|
|
772
|
-
} else if (keyCode === Keys.delete) {
|
|
785
|
+
} else if (keyCode === Keys.delete || keyCode === Keys.backspace) {
|
|
773
786
|
if (hasFocused) {
|
|
774
787
|
this.changeValue(ev, tagsToRender[focusedIndex].data, 'delete');
|
|
775
788
|
}
|
|
@@ -781,6 +794,9 @@ var MultiSelectTreeVue2 = {
|
|
|
781
794
|
if (this.isOpen) {
|
|
782
795
|
if (keyCode === Keys.esc || altKey && keyCode === Keys.up) {
|
|
783
796
|
event.preventDefault();
|
|
797
|
+
this.switchFocus(function () {
|
|
798
|
+
_this.focusElement(_this.elementRef);
|
|
799
|
+
});
|
|
784
800
|
this.closePopup(ev);
|
|
785
801
|
} else if (treeviewElement && treeviewElement.querySelector('.k-focus') && (keyCode === Keys.up || keyCode === Keys.down || keyCode === Keys.left || keyCode === Keys.right || keyCode === Keys.home || keyCode === Keys.end)) {
|
|
786
802
|
if (keyCode === Keys.up) {
|
|
@@ -816,7 +832,7 @@ var MultiSelectTreeVue2 = {
|
|
|
816
832
|
}
|
|
817
833
|
event.preventDefault();
|
|
818
834
|
this.switchFocus(keyCode === Keys.up ? function () {
|
|
819
|
-
_this.focusElement(_this
|
|
835
|
+
_this.focusElement(_this.elementRef);
|
|
820
836
|
} : function () {
|
|
821
837
|
_this.focusElement(_this.treeViewRef && _this.treeViewRef.$el);
|
|
822
838
|
});
|
|
@@ -161,7 +161,7 @@ export interface MultiSelectTreeProps extends FormComponentProps {
|
|
|
161
161
|
filterable?: boolean;
|
|
162
162
|
/**
|
|
163
163
|
* Sets the value of filtering input.
|
|
164
|
-
* Useful for making the filtering input a
|
|
164
|
+
* Useful for making the filtering input a controlled component.
|
|
165
165
|
*/
|
|
166
166
|
filter?: string;
|
|
167
167
|
/**
|
|
@@ -202,7 +202,7 @@ export interface MultiSelectTreeProps extends FormComponentProps {
|
|
|
202
202
|
*/
|
|
203
203
|
popupSettings?: DropDownsPopupSettings;
|
|
204
204
|
/**
|
|
205
|
-
* Represents a callback function, which returns the value for submitting. The returned value will be rendered in an `option` of a hidden
|
|
205
|
+
* Represents a callback function, which returns the value for submitting. The returned value will be rendered in an `option` of a hidden `select` element.
|
|
206
206
|
*
|
|
207
207
|
* @example
|
|
208
208
|
* ```jsx-no-run
|
|
@@ -16,7 +16,9 @@ var ListFilterVue2 = {
|
|
|
16
16
|
// @ts-ignore
|
|
17
17
|
emits: {
|
|
18
18
|
keydown: null,
|
|
19
|
-
change: null
|
|
19
|
+
change: null,
|
|
20
|
+
focus: null,
|
|
21
|
+
blur: null
|
|
20
22
|
},
|
|
21
23
|
props: {
|
|
22
24
|
value: String,
|
|
@@ -69,6 +71,12 @@ var ListFilterVue2 = {
|
|
|
69
71
|
},
|
|
70
72
|
onChange: function onChange(e) {
|
|
71
73
|
this.$emit('change', e);
|
|
74
|
+
},
|
|
75
|
+
handleFocus: function handleFocus(e) {
|
|
76
|
+
this.$emit('focus', e);
|
|
77
|
+
},
|
|
78
|
+
handleBlur: function handleBlur(e) {
|
|
79
|
+
this.$emit('blur', e);
|
|
72
80
|
}
|
|
73
81
|
},
|
|
74
82
|
mounted: function mounted() {
|
|
@@ -103,9 +111,13 @@ var ListFilterVue2 = {
|
|
|
103
111
|
onInput: this.onChange,
|
|
104
112
|
on: this.v3 ? undefined : {
|
|
105
113
|
"input": this.onChange,
|
|
106
|
-
"keydown": this.onKeyDown
|
|
114
|
+
"keydown": this.onKeyDown,
|
|
115
|
+
"focusin": this.handleFocus,
|
|
116
|
+
"focusout": this.handleBlur
|
|
107
117
|
},
|
|
108
|
-
onKeydown: this.onKeyDown
|
|
118
|
+
onKeydown: this.onKeyDown,
|
|
119
|
+
onFocusin: this.handleFocus,
|
|
120
|
+
onFocusout: this.handleBlur
|
|
109
121
|
})])]);
|
|
110
122
|
}
|
|
111
123
|
};
|
|
@@ -5,7 +5,7 @@ export var packageMetadata = {
|
|
|
5
5
|
name: '@progress/kendo-vue-dropdowns',
|
|
6
6
|
productName: 'Kendo UI for Vue',
|
|
7
7
|
productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],
|
|
8
|
-
publishDate:
|
|
8
|
+
publishDate: 1682059133,
|
|
9
9
|
version: '',
|
|
10
10
|
licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'
|
|
11
11
|
};
|
|
@@ -269,10 +269,12 @@ var ComboBoxVue2 = {
|
|
|
269
269
|
this.base.scrollToVirtualItem(virtual, selectedItemIndex);
|
|
270
270
|
this.prevCurrentOpened = true;
|
|
271
271
|
} else if (opening && !virtual) {
|
|
272
|
-
this.base.scrollToItem(selectedItemIndex);
|
|
272
|
+
this.base.scrollToItem(selectedItem ? selectedItemIndex : this.getFocusedIndex());
|
|
273
273
|
this.prevCurrentOpened = true;
|
|
274
274
|
} else if (opened && prevOpened && selectedItem && selectedItemChanged) {
|
|
275
275
|
this.base.scrollToItem(selectedItemIndex);
|
|
276
|
+
} else if (opened && !selectedItem) {
|
|
277
|
+
this.base.scrollToItem(this.getFocusedIndex());
|
|
276
278
|
}
|
|
277
279
|
}
|
|
278
280
|
if (opening && this.input) {
|
|
@@ -135,7 +135,7 @@ export interface DropDownTreeProps extends FormComponentProps {
|
|
|
135
135
|
filterable?: boolean;
|
|
136
136
|
/**
|
|
137
137
|
* Sets the value of filtering input.
|
|
138
|
-
* Useful for making the filtering input a
|
|
138
|
+
* Useful for making the filtering input a controlled component.
|
|
139
139
|
*/
|
|
140
140
|
filter?: string;
|
|
141
141
|
/**
|
|
@@ -172,7 +172,7 @@ export interface DropDownTreeProps extends FormComponentProps {
|
|
|
172
172
|
*/
|
|
173
173
|
popupSettings?: DropDownsPopupSettings;
|
|
174
174
|
/**
|
|
175
|
-
* Represents a callback function, which returns the value for submitting. The returned value will be rendered in an `option` of a hidden
|
|
175
|
+
* Represents a callback function, which returns the value for submitting. The returned value will be rendered in an `option` of a hidden `select`.
|
|
176
176
|
*
|
|
177
177
|
* @example
|
|
178
178
|
* ```jsx-no-run
|
|
@@ -357,7 +357,7 @@ var MultiSelectTreeVue2 = {
|
|
|
357
357
|
return matchTags(t, _this.focusedTagState, dataItemKey);
|
|
358
358
|
}) : undefined,
|
|
359
359
|
size: size
|
|
360
|
-
}) : !this.hasValue &&
|
|
360
|
+
}) : !this.hasValue && h("span", {
|
|
361
361
|
"class": "k-input-inner",
|
|
362
362
|
role: 'combobox',
|
|
363
363
|
attrs: this.v3 ? undefined : {
|
|
@@ -373,7 +373,7 @@ var MultiSelectTreeVue2 = {
|
|
|
373
373
|
"aria-label": this.$props.ariaLabelledBy
|
|
374
374
|
}, [h("span", {
|
|
375
375
|
"class": "k-input-value-text"
|
|
376
|
-
}, [
|
|
376
|
+
}, [placeholder])])]), this.$props.loading && h(Icon, {
|
|
377
377
|
"class": "k-input-loading-icon",
|
|
378
378
|
name: "loading",
|
|
379
379
|
attrs: this.v3 ? undefined : {
|
|
@@ -453,12 +453,16 @@ var MultiSelectTreeVue2 = {
|
|
|
453
453
|
onChange: _this2.onFilterChange,
|
|
454
454
|
on: _this2.v3 ? undefined : {
|
|
455
455
|
"change": _this2.onFilterChange,
|
|
456
|
-
"keydown": _this2.onInputKeyDown
|
|
456
|
+
"keydown": _this2.onInputKeyDown,
|
|
457
|
+
"focus": _this2.onFocus,
|
|
458
|
+
"blur": _this2.onBlur
|
|
457
459
|
},
|
|
458
460
|
onKeydown: _this2.onInputKeyDown,
|
|
459
461
|
size: size,
|
|
460
462
|
rounded: rounded,
|
|
461
|
-
fillMode: fillMode
|
|
463
|
+
fillMode: fillMode,
|
|
464
|
+
onFocus: _this2.onFocus,
|
|
465
|
+
onBlur: _this2.onBlur
|
|
462
466
|
}), header && h("div", {
|
|
463
467
|
"class": "k-list-header"
|
|
464
468
|
}, [header]), dataItems.length > 0 ?
|
|
@@ -493,11 +497,13 @@ var MultiSelectTreeVue2 = {
|
|
|
493
497
|
"itemclick": _this2.onChange,
|
|
494
498
|
"checkchange": _this2.onChange,
|
|
495
499
|
"expandchange": _this2.onExpand,
|
|
500
|
+
"focus": _this2.onFocus,
|
|
496
501
|
"blur": _this2.onBlur,
|
|
497
502
|
"keydown": _this2.onWrapperKeyDown
|
|
498
503
|
},
|
|
499
504
|
onCheckchange: _this2.onChange,
|
|
500
505
|
onExpandchange: _this2.onExpand,
|
|
506
|
+
onFocus: _this2.onFocus,
|
|
501
507
|
onBlur: _this2.onBlur,
|
|
502
508
|
onKeydown: _this2.onWrapperKeyDown,
|
|
503
509
|
checkboxes: true,
|
|
@@ -518,12 +524,16 @@ var MultiSelectTreeVue2 = {
|
|
|
518
524
|
onChange: _this2.onFilterChange,
|
|
519
525
|
on: _this2.v3 ? undefined : {
|
|
520
526
|
"change": _this2.onFilterChange,
|
|
521
|
-
"keydown": _this2.onInputKeyDown
|
|
527
|
+
"keydown": _this2.onInputKeyDown,
|
|
528
|
+
"focus": _this2.onFocus,
|
|
529
|
+
"blur": _this2.onBlur
|
|
522
530
|
},
|
|
523
531
|
onKeydown: _this2.onInputKeyDown,
|
|
524
532
|
size: size,
|
|
525
533
|
rounded: rounded,
|
|
526
|
-
fillMode: fillMode
|
|
534
|
+
fillMode: fillMode,
|
|
535
|
+
onFocus: _this2.onFocus,
|
|
536
|
+
onBlur: _this2.onBlur
|
|
527
537
|
}), header && h("div", {
|
|
528
538
|
"class": "k-list-header"
|
|
529
539
|
}, [header]), dataItems.length > 0 ? h(TreeView, {
|
|
@@ -556,11 +566,13 @@ var MultiSelectTreeVue2 = {
|
|
|
556
566
|
"itemclick": _this2.onChange,
|
|
557
567
|
"checkchange": _this2.onChange,
|
|
558
568
|
"expandchange": _this2.onExpand,
|
|
569
|
+
"focus": _this2.onFocus,
|
|
559
570
|
"blur": _this2.onBlur,
|
|
560
571
|
"keydown": _this2.onWrapperKeyDown
|
|
561
572
|
},
|
|
562
573
|
onCheckchange: _this2.onChange,
|
|
563
574
|
onExpandchange: _this2.onExpand,
|
|
575
|
+
onFocus: _this2.onFocus,
|
|
564
576
|
onBlur: _this2.onBlur,
|
|
565
577
|
onKeydown: _this2.onWrapperKeyDown,
|
|
566
578
|
checkboxes: true,
|
|
@@ -701,6 +713,7 @@ var MultiSelectTreeVue2 = {
|
|
|
701
713
|
},
|
|
702
714
|
onBlur: function onBlur(event) {
|
|
703
715
|
if (this.focusedState && !this.skipFocusRef) {
|
|
716
|
+
this.focusedTagState = undefined;
|
|
704
717
|
this.focusedState = false;
|
|
705
718
|
var ev = {
|
|
706
719
|
event: event,
|
|
@@ -744,7 +757,7 @@ var MultiSelectTreeVue2 = {
|
|
|
744
757
|
event: event,
|
|
745
758
|
target: this
|
|
746
759
|
};
|
|
747
|
-
if (this.value && this.value.length > 0 && (keyCode === Keys.left || keyCode === Keys.right || keyCode === Keys.home || keyCode === Keys.end || keyCode === Keys.delete)) {
|
|
760
|
+
if (this.value && this.value.length > 0 && (keyCode === Keys.left || keyCode === Keys.right || keyCode === Keys.home || keyCode === Keys.end || keyCode === Keys.delete || keyCode === Keys.backspace)) {
|
|
748
761
|
var tagsToRender = this.tagsToRenderRef;
|
|
749
762
|
var focusedIndex = this.focusedTagState ? tagsToRender.findIndex(function (t) {
|
|
750
763
|
return matchTags(t, _this.focusedTagState, _this.dataItemKey);
|
|
@@ -769,7 +782,7 @@ var MultiSelectTreeVue2 = {
|
|
|
769
782
|
newFocusedTag = tagsToRender[0];
|
|
770
783
|
} else if (keyCode === Keys.end) {
|
|
771
784
|
newFocusedTag = tagsToRender[tagsToRender.length - 1];
|
|
772
|
-
} else if (keyCode === Keys.delete) {
|
|
785
|
+
} else if (keyCode === Keys.delete || keyCode === Keys.backspace) {
|
|
773
786
|
if (hasFocused) {
|
|
774
787
|
this.changeValue(ev, tagsToRender[focusedIndex].data, 'delete');
|
|
775
788
|
}
|
|
@@ -781,6 +794,9 @@ var MultiSelectTreeVue2 = {
|
|
|
781
794
|
if (this.isOpen) {
|
|
782
795
|
if (keyCode === Keys.esc || altKey && keyCode === Keys.up) {
|
|
783
796
|
event.preventDefault();
|
|
797
|
+
this.switchFocus(function () {
|
|
798
|
+
_this.focusElement(_this.elementRef);
|
|
799
|
+
});
|
|
784
800
|
this.closePopup(ev);
|
|
785
801
|
} else if (treeviewElement && treeviewElement.querySelector('.k-focus') && (keyCode === Keys.up || keyCode === Keys.down || keyCode === Keys.left || keyCode === Keys.right || keyCode === Keys.home || keyCode === Keys.end)) {
|
|
786
802
|
if (keyCode === Keys.up) {
|
|
@@ -816,7 +832,7 @@ var MultiSelectTreeVue2 = {
|
|
|
816
832
|
}
|
|
817
833
|
event.preventDefault();
|
|
818
834
|
this.switchFocus(keyCode === Keys.up ? function () {
|
|
819
|
-
_this.focusElement(_this
|
|
835
|
+
_this.focusElement(_this.elementRef);
|
|
820
836
|
} : function () {
|
|
821
837
|
_this.focusElement(_this.treeViewRef && _this.treeViewRef.$el);
|
|
822
838
|
});
|
|
@@ -161,7 +161,7 @@ export interface MultiSelectTreeProps extends FormComponentProps {
|
|
|
161
161
|
filterable?: boolean;
|
|
162
162
|
/**
|
|
163
163
|
* Sets the value of filtering input.
|
|
164
|
-
* Useful for making the filtering input a
|
|
164
|
+
* Useful for making the filtering input a controlled component.
|
|
165
165
|
*/
|
|
166
166
|
filter?: string;
|
|
167
167
|
/**
|
|
@@ -202,7 +202,7 @@ export interface MultiSelectTreeProps extends FormComponentProps {
|
|
|
202
202
|
*/
|
|
203
203
|
popupSettings?: DropDownsPopupSettings;
|
|
204
204
|
/**
|
|
205
|
-
* Represents a callback function, which returns the value for submitting. The returned value will be rendered in an `option` of a hidden
|
|
205
|
+
* Represents a callback function, which returns the value for submitting. The returned value will be rendered in an `option` of a hidden `select` element.
|
|
206
206
|
*
|
|
207
207
|
* @example
|
|
208
208
|
* ```jsx-no-run
|
|
@@ -16,7 +16,9 @@ var ListFilterVue2 = {
|
|
|
16
16
|
// @ts-ignore
|
|
17
17
|
emits: {
|
|
18
18
|
keydown: null,
|
|
19
|
-
change: null
|
|
19
|
+
change: null,
|
|
20
|
+
focus: null,
|
|
21
|
+
blur: null
|
|
20
22
|
},
|
|
21
23
|
props: {
|
|
22
24
|
value: String,
|
|
@@ -69,6 +71,12 @@ var ListFilterVue2 = {
|
|
|
69
71
|
},
|
|
70
72
|
onChange: function onChange(e) {
|
|
71
73
|
this.$emit('change', e);
|
|
74
|
+
},
|
|
75
|
+
handleFocus: function handleFocus(e) {
|
|
76
|
+
this.$emit('focus', e);
|
|
77
|
+
},
|
|
78
|
+
handleBlur: function handleBlur(e) {
|
|
79
|
+
this.$emit('blur', e);
|
|
72
80
|
}
|
|
73
81
|
},
|
|
74
82
|
mounted: function mounted() {
|
|
@@ -103,9 +111,13 @@ var ListFilterVue2 = {
|
|
|
103
111
|
onInput: this.onChange,
|
|
104
112
|
on: this.v3 ? undefined : {
|
|
105
113
|
"input": this.onChange,
|
|
106
|
-
"keydown": this.onKeyDown
|
|
114
|
+
"keydown": this.onKeyDown,
|
|
115
|
+
"focusin": this.handleFocus,
|
|
116
|
+
"focusout": this.handleBlur
|
|
107
117
|
},
|
|
108
|
-
onKeydown: this.onKeyDown
|
|
118
|
+
onKeydown: this.onKeyDown,
|
|
119
|
+
onFocusin: this.handleFocus,
|
|
120
|
+
onFocusout: this.handleBlur
|
|
109
121
|
})])]);
|
|
110
122
|
}
|
|
111
123
|
};
|
|
@@ -5,7 +5,7 @@ export var packageMetadata = {
|
|
|
5
5
|
name: '@progress/kendo-vue-dropdowns',
|
|
6
6
|
productName: 'Kendo UI for Vue',
|
|
7
7
|
productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],
|
|
8
|
-
publishDate:
|
|
8
|
+
publishDate: 1682059133,
|
|
9
9
|
version: '',
|
|
10
10
|
licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'
|
|
11
11
|
};
|
|
@@ -275,10 +275,12 @@ var ComboBoxVue2 = {
|
|
|
275
275
|
this.base.scrollToVirtualItem(virtual, selectedItemIndex);
|
|
276
276
|
this.prevCurrentOpened = true;
|
|
277
277
|
} else if (opening && !virtual) {
|
|
278
|
-
this.base.scrollToItem(selectedItemIndex);
|
|
278
|
+
this.base.scrollToItem(selectedItem ? selectedItemIndex : this.getFocusedIndex());
|
|
279
279
|
this.prevCurrentOpened = true;
|
|
280
280
|
} else if (opened && prevOpened && selectedItem && selectedItemChanged) {
|
|
281
281
|
this.base.scrollToItem(selectedItemIndex);
|
|
282
|
+
} else if (opened && !selectedItem) {
|
|
283
|
+
this.base.scrollToItem(this.getFocusedIndex());
|
|
282
284
|
}
|
|
283
285
|
}
|
|
284
286
|
if (opening && this.input) {
|
|
@@ -135,7 +135,7 @@ export interface DropDownTreeProps extends FormComponentProps {
|
|
|
135
135
|
filterable?: boolean;
|
|
136
136
|
/**
|
|
137
137
|
* Sets the value of filtering input.
|
|
138
|
-
* Useful for making the filtering input a
|
|
138
|
+
* Useful for making the filtering input a controlled component.
|
|
139
139
|
*/
|
|
140
140
|
filter?: string;
|
|
141
141
|
/**
|
|
@@ -172,7 +172,7 @@ export interface DropDownTreeProps extends FormComponentProps {
|
|
|
172
172
|
*/
|
|
173
173
|
popupSettings?: DropDownsPopupSettings;
|
|
174
174
|
/**
|
|
175
|
-
* Represents a callback function, which returns the value for submitting. The returned value will be rendered in an `option` of a hidden
|
|
175
|
+
* Represents a callback function, which returns the value for submitting. The returned value will be rendered in an `option` of a hidden `select`.
|
|
176
176
|
*
|
|
177
177
|
* @example
|
|
178
178
|
* ```jsx-no-run
|
|
@@ -363,7 +363,7 @@ var MultiSelectTreeVue2 = {
|
|
|
363
363
|
return (0, utils_1.matchTags)(t, _this.focusedTagState, dataItemKey);
|
|
364
364
|
}) : undefined,
|
|
365
365
|
size: size
|
|
366
|
-
}) : !this.hasValue &&
|
|
366
|
+
}) : !this.hasValue && h("span", {
|
|
367
367
|
"class": "k-input-inner",
|
|
368
368
|
role: 'combobox',
|
|
369
369
|
attrs: this.v3 ? undefined : {
|
|
@@ -379,7 +379,7 @@ var MultiSelectTreeVue2 = {
|
|
|
379
379
|
"aria-label": this.$props.ariaLabelledBy
|
|
380
380
|
}, [h("span", {
|
|
381
381
|
"class": "k-input-value-text"
|
|
382
|
-
}, [
|
|
382
|
+
}, [placeholder])])]), this.$props.loading && h(kendo_vue_common_1.Icon, {
|
|
383
383
|
"class": "k-input-loading-icon",
|
|
384
384
|
name: "loading",
|
|
385
385
|
attrs: this.v3 ? undefined : {
|
|
@@ -459,12 +459,16 @@ var MultiSelectTreeVue2 = {
|
|
|
459
459
|
onChange: _this2.onFilterChange,
|
|
460
460
|
on: _this2.v3 ? undefined : {
|
|
461
461
|
"change": _this2.onFilterChange,
|
|
462
|
-
"keydown": _this2.onInputKeyDown
|
|
462
|
+
"keydown": _this2.onInputKeyDown,
|
|
463
|
+
"focus": _this2.onFocus,
|
|
464
|
+
"blur": _this2.onBlur
|
|
463
465
|
},
|
|
464
466
|
onKeydown: _this2.onInputKeyDown,
|
|
465
467
|
size: size,
|
|
466
468
|
rounded: rounded,
|
|
467
|
-
fillMode: fillMode
|
|
469
|
+
fillMode: fillMode,
|
|
470
|
+
onFocus: _this2.onFocus,
|
|
471
|
+
onBlur: _this2.onBlur
|
|
468
472
|
}), header && h("div", {
|
|
469
473
|
"class": "k-list-header"
|
|
470
474
|
}, [header]), dataItems.length > 0 ?
|
|
@@ -499,11 +503,13 @@ var MultiSelectTreeVue2 = {
|
|
|
499
503
|
"itemclick": _this2.onChange,
|
|
500
504
|
"checkchange": _this2.onChange,
|
|
501
505
|
"expandchange": _this2.onExpand,
|
|
506
|
+
"focus": _this2.onFocus,
|
|
502
507
|
"blur": _this2.onBlur,
|
|
503
508
|
"keydown": _this2.onWrapperKeyDown
|
|
504
509
|
},
|
|
505
510
|
onCheckchange: _this2.onChange,
|
|
506
511
|
onExpandchange: _this2.onExpand,
|
|
512
|
+
onFocus: _this2.onFocus,
|
|
507
513
|
onBlur: _this2.onBlur,
|
|
508
514
|
onKeydown: _this2.onWrapperKeyDown,
|
|
509
515
|
checkboxes: true,
|
|
@@ -524,12 +530,16 @@ var MultiSelectTreeVue2 = {
|
|
|
524
530
|
onChange: _this2.onFilterChange,
|
|
525
531
|
on: _this2.v3 ? undefined : {
|
|
526
532
|
"change": _this2.onFilterChange,
|
|
527
|
-
"keydown": _this2.onInputKeyDown
|
|
533
|
+
"keydown": _this2.onInputKeyDown,
|
|
534
|
+
"focus": _this2.onFocus,
|
|
535
|
+
"blur": _this2.onBlur
|
|
528
536
|
},
|
|
529
537
|
onKeydown: _this2.onInputKeyDown,
|
|
530
538
|
size: size,
|
|
531
539
|
rounded: rounded,
|
|
532
|
-
fillMode: fillMode
|
|
540
|
+
fillMode: fillMode,
|
|
541
|
+
onFocus: _this2.onFocus,
|
|
542
|
+
onBlur: _this2.onBlur
|
|
533
543
|
}), header && h("div", {
|
|
534
544
|
"class": "k-list-header"
|
|
535
545
|
}, [header]), dataItems.length > 0 ? h(kendo_vue_treeview_1.TreeView, {
|
|
@@ -562,11 +572,13 @@ var MultiSelectTreeVue2 = {
|
|
|
562
572
|
"itemclick": _this2.onChange,
|
|
563
573
|
"checkchange": _this2.onChange,
|
|
564
574
|
"expandchange": _this2.onExpand,
|
|
575
|
+
"focus": _this2.onFocus,
|
|
565
576
|
"blur": _this2.onBlur,
|
|
566
577
|
"keydown": _this2.onWrapperKeyDown
|
|
567
578
|
},
|
|
568
579
|
onCheckchange: _this2.onChange,
|
|
569
580
|
onExpandchange: _this2.onExpand,
|
|
581
|
+
onFocus: _this2.onFocus,
|
|
570
582
|
onBlur: _this2.onBlur,
|
|
571
583
|
onKeydown: _this2.onWrapperKeyDown,
|
|
572
584
|
checkboxes: true,
|
|
@@ -707,6 +719,7 @@ var MultiSelectTreeVue2 = {
|
|
|
707
719
|
},
|
|
708
720
|
onBlur: function onBlur(event) {
|
|
709
721
|
if (this.focusedState && !this.skipFocusRef) {
|
|
722
|
+
this.focusedTagState = undefined;
|
|
710
723
|
this.focusedState = false;
|
|
711
724
|
var ev = {
|
|
712
725
|
event: event,
|
|
@@ -750,7 +763,7 @@ var MultiSelectTreeVue2 = {
|
|
|
750
763
|
event: event,
|
|
751
764
|
target: this
|
|
752
765
|
};
|
|
753
|
-
if (this.value && this.value.length > 0 && (keyCode === kendo_vue_common_1.Keys.left || keyCode === kendo_vue_common_1.Keys.right || keyCode === kendo_vue_common_1.Keys.home || keyCode === kendo_vue_common_1.Keys.end || keyCode === kendo_vue_common_1.Keys.delete)) {
|
|
766
|
+
if (this.value && this.value.length > 0 && (keyCode === kendo_vue_common_1.Keys.left || keyCode === kendo_vue_common_1.Keys.right || keyCode === kendo_vue_common_1.Keys.home || keyCode === kendo_vue_common_1.Keys.end || keyCode === kendo_vue_common_1.Keys.delete || keyCode === kendo_vue_common_1.Keys.backspace)) {
|
|
754
767
|
var tagsToRender = this.tagsToRenderRef;
|
|
755
768
|
var focusedIndex = this.focusedTagState ? tagsToRender.findIndex(function (t) {
|
|
756
769
|
return (0, utils_1.matchTags)(t, _this.focusedTagState, _this.dataItemKey);
|
|
@@ -775,7 +788,7 @@ var MultiSelectTreeVue2 = {
|
|
|
775
788
|
newFocusedTag = tagsToRender[0];
|
|
776
789
|
} else if (keyCode === kendo_vue_common_1.Keys.end) {
|
|
777
790
|
newFocusedTag = tagsToRender[tagsToRender.length - 1];
|
|
778
|
-
} else if (keyCode === kendo_vue_common_1.Keys.delete) {
|
|
791
|
+
} else if (keyCode === kendo_vue_common_1.Keys.delete || keyCode === kendo_vue_common_1.Keys.backspace) {
|
|
779
792
|
if (hasFocused) {
|
|
780
793
|
this.changeValue(ev, tagsToRender[focusedIndex].data, 'delete');
|
|
781
794
|
}
|
|
@@ -787,6 +800,9 @@ var MultiSelectTreeVue2 = {
|
|
|
787
800
|
if (this.isOpen) {
|
|
788
801
|
if (keyCode === kendo_vue_common_1.Keys.esc || altKey && keyCode === kendo_vue_common_1.Keys.up) {
|
|
789
802
|
event.preventDefault();
|
|
803
|
+
this.switchFocus(function () {
|
|
804
|
+
_this.focusElement(_this.elementRef);
|
|
805
|
+
});
|
|
790
806
|
this.closePopup(ev);
|
|
791
807
|
} else if (treeviewElement && treeviewElement.querySelector('.k-focus') && (keyCode === kendo_vue_common_1.Keys.up || keyCode === kendo_vue_common_1.Keys.down || keyCode === kendo_vue_common_1.Keys.left || keyCode === kendo_vue_common_1.Keys.right || keyCode === kendo_vue_common_1.Keys.home || keyCode === kendo_vue_common_1.Keys.end)) {
|
|
792
808
|
if (keyCode === kendo_vue_common_1.Keys.up) {
|
|
@@ -822,7 +838,7 @@ var MultiSelectTreeVue2 = {
|
|
|
822
838
|
}
|
|
823
839
|
event.preventDefault();
|
|
824
840
|
this.switchFocus(keyCode === kendo_vue_common_1.Keys.up ? function () {
|
|
825
|
-
_this.focusElement(_this
|
|
841
|
+
_this.focusElement(_this.elementRef);
|
|
826
842
|
} : function () {
|
|
827
843
|
_this.focusElement(_this.treeViewRef && _this.treeViewRef.$el);
|
|
828
844
|
});
|
|
@@ -161,7 +161,7 @@ export interface MultiSelectTreeProps extends FormComponentProps {
|
|
|
161
161
|
filterable?: boolean;
|
|
162
162
|
/**
|
|
163
163
|
* Sets the value of filtering input.
|
|
164
|
-
* Useful for making the filtering input a
|
|
164
|
+
* Useful for making the filtering input a controlled component.
|
|
165
165
|
*/
|
|
166
166
|
filter?: string;
|
|
167
167
|
/**
|
|
@@ -202,7 +202,7 @@ export interface MultiSelectTreeProps extends FormComponentProps {
|
|
|
202
202
|
*/
|
|
203
203
|
popupSettings?: DropDownsPopupSettings;
|
|
204
204
|
/**
|
|
205
|
-
* Represents a callback function, which returns the value for submitting. The returned value will be rendered in an `option` of a hidden
|
|
205
|
+
* Represents a callback function, which returns the value for submitting. The returned value will be rendered in an `option` of a hidden `select` element.
|
|
206
206
|
*
|
|
207
207
|
* @example
|
|
208
208
|
* ```jsx-no-run
|