@progress/kendo-vue-dropdowns 3.14.2-dev.202309250455 → 3.15.0-dev.202309281100
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 +244 -42
- package/dist/es/ComboBox/ComboBoxProps.d.ts +8 -0
- package/dist/es/DropDownList/DropDownList.d.ts +3 -0
- package/dist/es/DropDownList/DropDownList.js +197 -43
- package/dist/es/DropDownList/DropDownListProps.d.ts +8 -0
- package/dist/es/DropDownTree/DropDownTree.js +257 -105
- package/dist/es/DropDownTree/DropDownTreeProps.d.ts +8 -0
- package/dist/es/MultiSelect/MultiSelect.js +340 -65
- package/dist/es/MultiSelect/MultiSelectProps.d.ts +8 -0
- package/dist/es/MultiSelectTree/MultiSelectTree.js +345 -127
- package/dist/es/MultiSelectTree/MultiSelectTreeProps.d.ts +8 -0
- package/dist/es/common/DropDownBase.d.ts +7 -0
- package/dist/es/common/DropDownBase.js +13 -1
- package/dist/es/common/ListFilter.d.ts +1 -0
- package/dist/es/common/ListFilter.js +31 -25
- package/dist/es/common/constants.d.ts +4 -0
- package/dist/es/common/constants.js +4 -0
- package/dist/es/messages/main.d.ts +10 -0
- package/dist/es/messages/main.js +10 -0
- package/dist/es/package-metadata.js +1 -1
- package/dist/esm/ComboBox/ComboBox.js +244 -42
- package/dist/esm/ComboBox/ComboBoxProps.d.ts +8 -0
- package/dist/esm/DropDownList/DropDownList.d.ts +3 -0
- package/dist/esm/DropDownList/DropDownList.js +197 -43
- package/dist/esm/DropDownList/DropDownListProps.d.ts +8 -0
- package/dist/esm/DropDownTree/DropDownTree.js +257 -105
- package/dist/esm/DropDownTree/DropDownTreeProps.d.ts +8 -0
- package/dist/esm/MultiSelect/MultiSelect.js +340 -65
- package/dist/esm/MultiSelect/MultiSelectProps.d.ts +8 -0
- package/dist/esm/MultiSelectTree/MultiSelectTree.js +345 -127
- package/dist/esm/MultiSelectTree/MultiSelectTreeProps.d.ts +8 -0
- package/dist/esm/common/DropDownBase.d.ts +7 -0
- package/dist/esm/common/DropDownBase.js +13 -1
- package/dist/esm/common/ListFilter.d.ts +1 -0
- package/dist/esm/common/ListFilter.js +31 -25
- package/dist/esm/common/constants.d.ts +4 -0
- package/dist/esm/common/constants.js +4 -0
- package/dist/esm/messages/main.d.ts +10 -0
- package/dist/esm/messages/main.js +10 -0
- package/dist/esm/package-metadata.js +1 -1
- package/dist/npm/ComboBox/ComboBox.js +242 -40
- package/dist/npm/ComboBox/ComboBoxProps.d.ts +8 -0
- package/dist/npm/DropDownList/DropDownList.d.ts +3 -0
- package/dist/npm/DropDownList/DropDownList.js +195 -41
- package/dist/npm/DropDownList/DropDownListProps.d.ts +8 -0
- package/dist/npm/DropDownTree/DropDownTree.js +254 -102
- package/dist/npm/DropDownTree/DropDownTreeProps.d.ts +8 -0
- package/dist/npm/MultiSelect/MultiSelect.js +338 -63
- package/dist/npm/MultiSelect/MultiSelectProps.d.ts +8 -0
- package/dist/npm/MultiSelectTree/MultiSelectTree.js +343 -125
- package/dist/npm/MultiSelectTree/MultiSelectTreeProps.d.ts +8 -0
- package/dist/npm/common/DropDownBase.d.ts +7 -0
- package/dist/npm/common/DropDownBase.js +12 -0
- package/dist/npm/common/ListFilter.d.ts +1 -0
- package/dist/npm/common/ListFilter.js +31 -25
- package/dist/npm/common/constants.d.ts +4 -0
- package/dist/npm/common/constants.js +10 -0
- package/dist/npm/messages/main.d.ts +10 -0
- package/dist/npm/messages/main.js +11 -1
- package/dist/npm/package-metadata.js +1 -1
- package/package.json +12 -9
|
@@ -34,6 +34,8 @@ var DropDownBase_1 = require("../common/DropDownBase");
|
|
|
34
34
|
var GroupStickyHeader_1 = require("../common/GroupStickyHeader");
|
|
35
35
|
var main_1 = require("../messages/main");
|
|
36
36
|
var kendo_vue_intl_1 = require("@progress/kendo-vue-intl");
|
|
37
|
+
var constants_1 = require("../common/constants");
|
|
38
|
+
var kendo_vue_layout_1 = require("@progress/kendo-vue-layout");
|
|
37
39
|
var utils_1 = require("../common/utils");
|
|
38
40
|
var kendo_svg_icons_1 = require("@progress/kendo-svg-icons");
|
|
39
41
|
var VALIDATION_MESSAGE = 'Please select a value from the list!';
|
|
@@ -175,6 +177,14 @@ var DropDownListVue2 = {
|
|
|
175
177
|
},
|
|
176
178
|
groupField: {
|
|
177
179
|
type: String
|
|
180
|
+
},
|
|
181
|
+
adaptive: {
|
|
182
|
+
type: Boolean,
|
|
183
|
+
default: undefined
|
|
184
|
+
},
|
|
185
|
+
adaptiveTitle: {
|
|
186
|
+
type: String,
|
|
187
|
+
default: undefined
|
|
178
188
|
}
|
|
179
189
|
},
|
|
180
190
|
inject: {
|
|
@@ -198,7 +208,9 @@ var DropDownListVue2 = {
|
|
|
198
208
|
_navigated: false,
|
|
199
209
|
group: undefined,
|
|
200
210
|
isScrolling: false,
|
|
201
|
-
itemHeight: 0
|
|
211
|
+
itemHeight: 0,
|
|
212
|
+
state: undefined,
|
|
213
|
+
windowWidth: 0
|
|
202
214
|
};
|
|
203
215
|
},
|
|
204
216
|
watch: {
|
|
@@ -215,9 +227,17 @@ var DropDownListVue2 = {
|
|
|
215
227
|
this.virtualTotalHasChanged = true;
|
|
216
228
|
}
|
|
217
229
|
this.virtualHasChanged = true;
|
|
230
|
+
},
|
|
231
|
+
isOpen: function isOpen() {
|
|
232
|
+
var _this = this;
|
|
233
|
+
setTimeout(function () {
|
|
234
|
+
var listItem = document.querySelector('.k-list-item');
|
|
235
|
+
_this.itemHeight = _this.base.getListItemHeight(listItem);
|
|
236
|
+
}, 100);
|
|
218
237
|
}
|
|
219
238
|
},
|
|
220
239
|
created: function created() {
|
|
240
|
+
this.observer = null;
|
|
221
241
|
this.valueDuringOnChange = undefined;
|
|
222
242
|
this.currentText = undefined;
|
|
223
243
|
this.currentValue = undefined;
|
|
@@ -242,12 +262,21 @@ var DropDownListVue2 = {
|
|
|
242
262
|
};
|
|
243
263
|
},
|
|
244
264
|
mounted: function mounted() {
|
|
265
|
+
this.observer = kendo_vue_common_1.canUseDOM && new ResizeObserver(this.calculateMedia);
|
|
266
|
+
if ((document === null || document === void 0 ? void 0 : document.body) && this.observer) {
|
|
267
|
+
this.observer.observe(document.body);
|
|
268
|
+
}
|
|
245
269
|
this.hasMounted = true;
|
|
246
270
|
this.select = (0, kendo_vue_common_1.getRef)(this, 'select');
|
|
247
271
|
this.base.wrapper = (0, kendo_vue_common_1.getRef)(this, 'kendoAnchor', this.anchor);
|
|
248
272
|
this.base.didMount();
|
|
249
273
|
this.setValidity();
|
|
250
274
|
},
|
|
275
|
+
destroyed: !!isV3 ? undefined : function () {
|
|
276
|
+
if (this.observer) {
|
|
277
|
+
this.observer.disconnect();
|
|
278
|
+
}
|
|
279
|
+
},
|
|
251
280
|
updated: function updated() {
|
|
252
281
|
var _a;
|
|
253
282
|
var _b = this.$props,
|
|
@@ -257,7 +286,7 @@ var DropDownListVue2 = {
|
|
|
257
286
|
virtual = _b.virtual,
|
|
258
287
|
groupField = _b.groupField,
|
|
259
288
|
textField = _b.textField;
|
|
260
|
-
var opened = this
|
|
289
|
+
var opened = this.isOpen;
|
|
261
290
|
var prevOpened = this.prevOpened !== undefined ? this.prevOpened : this.prevCurrentOpened;
|
|
262
291
|
var opening = !prevOpened && opened;
|
|
263
292
|
var closing = prevOpened && !opened;
|
|
@@ -359,6 +388,30 @@ var DropDownListVue2 = {
|
|
|
359
388
|
get: function get() {
|
|
360
389
|
return "value-".concat(this.base.guid).concat(this.$props.ariaDescribedBy ? ' ' + this.$props.ariaDescribedBy : '');
|
|
361
390
|
}
|
|
391
|
+
},
|
|
392
|
+
isOpen: {
|
|
393
|
+
get: function get() {
|
|
394
|
+
return this.$props.opened !== undefined ? this.$props.opened : this.currentOpened;
|
|
395
|
+
}
|
|
396
|
+
},
|
|
397
|
+
animationStyles: {
|
|
398
|
+
get: function get() {
|
|
399
|
+
return this.windowWidth <= constants_1.MOBILE_SMALL_DEVICE ? {
|
|
400
|
+
top: 0,
|
|
401
|
+
width: '100%',
|
|
402
|
+
height: '100%'
|
|
403
|
+
} : undefined;
|
|
404
|
+
}
|
|
405
|
+
},
|
|
406
|
+
classNameAdaptive: {
|
|
407
|
+
get: function get() {
|
|
408
|
+
return this.windowWidth <= constants_1.MOBILE_SMALL_DEVICE ? 'k-adaptive-actionsheet k-actionsheet-fullscreen' : 'k-adaptive-actionsheet k-actionsheet-bottom';
|
|
409
|
+
}
|
|
410
|
+
},
|
|
411
|
+
adaptiveState: {
|
|
412
|
+
get: function get() {
|
|
413
|
+
return this.windowWidth <= constants_1.MOBILE_MEDIUM_DEVICE && this.$props.adaptive;
|
|
414
|
+
}
|
|
362
415
|
}
|
|
363
416
|
},
|
|
364
417
|
methods: {
|
|
@@ -528,7 +581,7 @@ var DropDownListVue2 = {
|
|
|
528
581
|
total: 0,
|
|
529
582
|
pageSize: 0
|
|
530
583
|
} : _c;
|
|
531
|
-
var opened = this
|
|
584
|
+
var opened = this.isOpen;
|
|
532
585
|
var keyCode = event.keyCode;
|
|
533
586
|
var homeOrEndKeys = keyCode === kendo_vue_common_1.Keys.home || keyCode === kendo_vue_common_1.Keys.end;
|
|
534
587
|
var upOrDownKeys = keyCode === kendo_vue_common_1.Keys.up || keyCode === kendo_vue_common_1.Keys.down;
|
|
@@ -564,6 +617,10 @@ var DropDownListVue2 = {
|
|
|
564
617
|
this.base.togglePopup(state);
|
|
565
618
|
event.preventDefault();
|
|
566
619
|
} else if (shouldOpen || shouldClose) {
|
|
620
|
+
if (this.adaptiveState) {
|
|
621
|
+
this.handleWrapperClick(event); // Handle the closing on "Esc" key press in adaptive mode
|
|
622
|
+
}
|
|
623
|
+
|
|
567
624
|
this.base.togglePopup(state);
|
|
568
625
|
event.preventDefault();
|
|
569
626
|
} else if (shouldNavigate) {
|
|
@@ -586,14 +643,14 @@ var DropDownListVue2 = {
|
|
|
586
643
|
if (this._skipFocusEvent || !this.currentFocused) {
|
|
587
644
|
return;
|
|
588
645
|
}
|
|
589
|
-
var opened = this
|
|
646
|
+
var opened = this.isOpen;
|
|
590
647
|
var state = this.base.initState();
|
|
591
648
|
state.event = event;
|
|
592
649
|
state.data.currentFocused = false;
|
|
593
650
|
state.events.push({
|
|
594
651
|
type: 'blur'
|
|
595
652
|
});
|
|
596
|
-
if (opened) {
|
|
653
|
+
if (opened && !this.adaptiveState) {
|
|
597
654
|
this.base.togglePopup(state);
|
|
598
655
|
}
|
|
599
656
|
this.applyState(state);
|
|
@@ -711,6 +768,12 @@ var DropDownListVue2 = {
|
|
|
711
768
|
this.base.applyState(state);
|
|
712
769
|
this.valueDuringOnChange = undefined;
|
|
713
770
|
},
|
|
771
|
+
calculateMedia: function calculateMedia(entries) {
|
|
772
|
+
for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {
|
|
773
|
+
var entry = entries_1[_i];
|
|
774
|
+
this.windowWidth = entry.target.clientWidth;
|
|
775
|
+
}
|
|
776
|
+
},
|
|
714
777
|
repositionPopup: function repositionPopup() {
|
|
715
778
|
this.base.repositionPopup();
|
|
716
779
|
},
|
|
@@ -724,6 +787,7 @@ var DropDownListVue2 = {
|
|
|
724
787
|
var groupField = this.$props.groupField;
|
|
725
788
|
var _b = this.$props.dataItems,
|
|
726
789
|
dataItems = _b === void 0 ? [] : _b;
|
|
790
|
+
var group;
|
|
727
791
|
if (!groupField || !dataItems.length) {
|
|
728
792
|
return;
|
|
729
793
|
}
|
|
@@ -732,8 +796,8 @@ var DropDownListVue2 = {
|
|
|
732
796
|
var scrollTop = target.scrollTop - vs.skip * itemHeight;
|
|
733
797
|
if (groupField) {
|
|
734
798
|
dataItems = this.base.getGroupedDataModernMode(dataItems, groupField);
|
|
799
|
+
group = dataItems[0][groupField];
|
|
735
800
|
}
|
|
736
|
-
var group = dataItems[0][groupField];
|
|
737
801
|
for (var i = 1; i < dataItems.length; i++) {
|
|
738
802
|
if (itemHeight * i > scrollTop) {
|
|
739
803
|
break;
|
|
@@ -750,6 +814,7 @@ var DropDownListVue2 = {
|
|
|
750
814
|
},
|
|
751
815
|
render: function render(createElement) {
|
|
752
816
|
var _a;
|
|
817
|
+
var _this = this;
|
|
753
818
|
var h = gh || createElement;
|
|
754
819
|
var _b = this.$props,
|
|
755
820
|
style = _b.style,
|
|
@@ -762,8 +827,21 @@ var DropDownListVue2 = {
|
|
|
762
827
|
} : _c,
|
|
763
828
|
size = _b.size,
|
|
764
829
|
rounded = _b.rounded,
|
|
765
|
-
fillMode = _b.fillMode
|
|
766
|
-
|
|
830
|
+
fillMode = _b.fillMode,
|
|
831
|
+
dataItemKey = _b.dataItemKey,
|
|
832
|
+
_d = _b.dataItems,
|
|
833
|
+
dataItems = _d === void 0 ? [] : _d,
|
|
834
|
+
disabled = _b.disabled,
|
|
835
|
+
tabIndex = _b.tabIndex,
|
|
836
|
+
loading = _b.loading,
|
|
837
|
+
icon = _b.icon,
|
|
838
|
+
svgIcon = _b.svgIcon,
|
|
839
|
+
iconClassName = _b.iconClassName,
|
|
840
|
+
adaptiveTitle = _b.adaptiveTitle,
|
|
841
|
+
header = _b.header,
|
|
842
|
+
footer = _b.footer,
|
|
843
|
+
groupStickyHeaderItemRender = _b.groupStickyHeaderItemRender;
|
|
844
|
+
var opened = this.isOpen;
|
|
767
845
|
var text = (0, utils_1.getItemValue)(this.computedValue(), this.$props.textField);
|
|
768
846
|
var isValid = !this.$props.validityStyles || this.validity().valid;
|
|
769
847
|
var base = this.base;
|
|
@@ -775,16 +853,10 @@ var DropDownListVue2 = {
|
|
|
775
853
|
height: '200px'
|
|
776
854
|
}, this.$props.popupSettings);
|
|
777
855
|
var ariaLabelSelectButton = (0, kendo_vue_intl_1.provideLocalizationService)(this).toLanguageString(main_1.selectButton, main_1.messages[main_1.selectButton]);
|
|
778
|
-
var
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
disabled = _d.disabled,
|
|
783
|
-
tabIndex = _d.tabIndex,
|
|
784
|
-
loading = _d.loading,
|
|
785
|
-
icon = _d.icon,
|
|
786
|
-
svgIcon = _d.svgIcon,
|
|
787
|
-
iconClassName = _d.iconClassName;
|
|
856
|
+
var renderAdaptive = this.adaptiveState;
|
|
857
|
+
if (this.group === undefined && this.$props.groupField !== undefined) {
|
|
858
|
+
this.group = (0, utils_1.getItemValue)(this.$props.dataItems[0], this.$props.groupField);
|
|
859
|
+
}
|
|
788
860
|
var valueRender = kendo_vue_common_1.templateRendering.call(this, this.$props.valueRender, kendo_vue_common_1.getListeners.call(this));
|
|
789
861
|
var focused = this.currentFocused;
|
|
790
862
|
var value = this.primitiveValue();
|
|
@@ -839,6 +911,95 @@ var DropDownListVue2 = {
|
|
|
839
911
|
}
|
|
840
912
|
})]);
|
|
841
913
|
};
|
|
914
|
+
var adaptiveActionSheetHeaderTemplateDef = function adaptiveActionSheetHeaderTemplateDef() {
|
|
915
|
+
return [h("div", {
|
|
916
|
+
"class": "k-actionsheet-titlebar-group k-hbox"
|
|
917
|
+
}, [h("div", {
|
|
918
|
+
"class": "k-actionsheet-title"
|
|
919
|
+
}, [h("div", {
|
|
920
|
+
"class": "k-text-center"
|
|
921
|
+
}, [adaptiveTitle]), h("div", {
|
|
922
|
+
"class": "k-actionsheet-subtitle k-text-center"
|
|
923
|
+
})]), h("div", {
|
|
924
|
+
"class": "k-actionsheet-actions"
|
|
925
|
+
}, [h(kendo_vue_buttons_1.Button, {
|
|
926
|
+
tabindex: 5,
|
|
927
|
+
attrs: this.v3 ? undefined : {
|
|
928
|
+
tabindex: 5,
|
|
929
|
+
"aria-label": "Cancel",
|
|
930
|
+
"aria-disabled": "false",
|
|
931
|
+
type: "button",
|
|
932
|
+
fillMode: "flat",
|
|
933
|
+
icon: "x",
|
|
934
|
+
svgIcon: kendo_svg_icons_1.xIcon
|
|
935
|
+
},
|
|
936
|
+
"aria-label": "Cancel",
|
|
937
|
+
"aria-disabled": "false",
|
|
938
|
+
type: "button",
|
|
939
|
+
fillMode: "flat",
|
|
940
|
+
onClick: _this.handleWrapperClick,
|
|
941
|
+
on: this.v3 ? undefined : {
|
|
942
|
+
"click": _this.handleWrapperClick
|
|
943
|
+
},
|
|
944
|
+
icon: "x",
|
|
945
|
+
svgIcon: kendo_svg_icons_1.xIcon
|
|
946
|
+
})])]), h("div", {
|
|
947
|
+
"class": "k-actionsheet-titlebar-group k-actionsheet-filter"
|
|
948
|
+
}, [renderListFilter.call(_this)])];
|
|
949
|
+
};
|
|
950
|
+
var adaptiveActionSheetHeaderTemplate = kendo_vue_common_1.templateRendering.call(this, adaptiveActionSheetHeaderTemplateDef, kendo_vue_common_1.getListeners.call(this));
|
|
951
|
+
var adaptiveActionSheetContentTemplateDef = function adaptiveActionSheetContentTemplateDef() {
|
|
952
|
+
var _a;
|
|
953
|
+
var headerToRender = base.getTemplateDef.call(_this, header, h);
|
|
954
|
+
var footerToRender = base.getTemplateDef.call(_this, footer, h);
|
|
955
|
+
var groupStickyHeaderTemplate = kendo_vue_common_1.templateRendering.call(_this, groupStickyHeaderItemRender, kendo_vue_common_1.getListeners.call(_this));
|
|
956
|
+
return h("div", {
|
|
957
|
+
"class": "k-list-container"
|
|
958
|
+
}, [headerToRender && h("div", {
|
|
959
|
+
"class": "k-list-header"
|
|
960
|
+
}, [headerToRender]), h("div", {
|
|
961
|
+
"class": (0, kendo_vue_common_1.classNames)('k-list', (_a = {}, _a["k-list-".concat(sizeMap[size] || size)] = !renderAdaptive ? size : false, _a['k-list-lg'] = renderAdaptive ? true : false, _a['k-virtual-list'] = vs.enabled, _a))
|
|
962
|
+
}, [renderDefaultItem.call(_this), _this.group && dataItems.length !== 0 && h(GroupStickyHeader_1.GroupStickyHeader, {
|
|
963
|
+
group: _this.group,
|
|
964
|
+
attrs: this.v3 ? undefined : {
|
|
965
|
+
group: _this.group,
|
|
966
|
+
render: groupStickyHeaderTemplate
|
|
967
|
+
},
|
|
968
|
+
render: groupStickyHeaderTemplate
|
|
969
|
+
}), renderList.call(_this), footerToRender && h("div", {
|
|
970
|
+
className: "k-list-footer",
|
|
971
|
+
attrs: this.v3 ? undefined : {
|
|
972
|
+
className: "k-list-footer"
|
|
973
|
+
}
|
|
974
|
+
}, [footerToRender])])]);
|
|
975
|
+
};
|
|
976
|
+
var adaptiveActionSheetContentTemplate = kendo_vue_common_1.templateRendering.call(this, adaptiveActionSheetContentTemplateDef, kendo_vue_common_1.getListeners.call(this));
|
|
977
|
+
var renderAdaptiveListContainer = function renderAdaptiveListContainer() {
|
|
978
|
+
return h(kendo_vue_layout_1.ActionSheet, {
|
|
979
|
+
expand: opened,
|
|
980
|
+
attrs: this.v3 ? undefined : {
|
|
981
|
+
expand: opened,
|
|
982
|
+
animation: true,
|
|
983
|
+
animationStyles: this.animationStyles,
|
|
984
|
+
className: this.classNameAdaptive,
|
|
985
|
+
contentClassName: '!k-overflow-hidden',
|
|
986
|
+
header: adaptiveActionSheetHeaderTemplate,
|
|
987
|
+
content: adaptiveActionSheetContentTemplate,
|
|
988
|
+
navigatableElements: ['input.k-input-inner', '.k-actionsheet-actions > button']
|
|
989
|
+
},
|
|
990
|
+
animation: true,
|
|
991
|
+
animationStyles: this.animationStyles,
|
|
992
|
+
className: this.classNameAdaptive,
|
|
993
|
+
contentClassName: '!k-overflow-hidden',
|
|
994
|
+
header: adaptiveActionSheetHeaderTemplate,
|
|
995
|
+
content: adaptiveActionSheetContentTemplate,
|
|
996
|
+
onClose: this.handleWrapperClick,
|
|
997
|
+
on: this.v3 ? undefined : {
|
|
998
|
+
"close": this.handleWrapperClick
|
|
999
|
+
},
|
|
1000
|
+
navigatableElements: ['input.k-input-inner', '.k-actionsheet-actions > button']
|
|
1001
|
+
});
|
|
1002
|
+
};
|
|
842
1003
|
var renderDefaultItem = function renderDefaultItem() {
|
|
843
1004
|
var _a = this.$props,
|
|
844
1005
|
textField = _a.textField,
|
|
@@ -966,21 +1127,10 @@ var DropDownListVue2 = {
|
|
|
966
1127
|
var renderListContainer = function renderListContainer() {
|
|
967
1128
|
var _this3 = this;
|
|
968
1129
|
var _a;
|
|
969
|
-
var headerTemplate = kendo_vue_common_1.templateRendering.call(this, this.$props.header, kendo_vue_common_1.getListeners.call(this));
|
|
970
|
-
var footerTemplate = kendo_vue_common_1.templateRendering.call(this, this.$props.footer, kendo_vue_common_1.getListeners.call(this));
|
|
971
1130
|
var groupStickyHeaderTemplate = kendo_vue_common_1.templateRendering.call(this, this.$props.groupStickyHeaderItemRender, kendo_vue_common_1.getListeners.call(this));
|
|
972
|
-
var
|
|
973
|
-
|
|
974
|
-
template: headerTemplate
|
|
975
|
-
});
|
|
976
|
-
var footer = kendo_vue_common_1.getTemplate.call(this, {
|
|
977
|
-
h: h,
|
|
978
|
-
template: footerTemplate
|
|
979
|
-
});
|
|
1131
|
+
var headerListContainer = base.getTemplateDef.call(this, header);
|
|
1132
|
+
var footerListContainer = base.getTemplateDef.call(this, footer);
|
|
980
1133
|
var popupWidth = popupSettings.width !== undefined ? popupSettings.width : base.popupWidth;
|
|
981
|
-
if (this.group === undefined && this.$props.groupField !== undefined) {
|
|
982
|
-
this.group = (0, utils_1.getItemValue)(dataItems[0], this.$props.groupField);
|
|
983
|
-
}
|
|
984
1134
|
return (
|
|
985
1135
|
// @ts-ignore function children
|
|
986
1136
|
h(ListContainer_1.ListContainer, {
|
|
@@ -1023,11 +1173,11 @@ var DropDownListVue2 = {
|
|
|
1023
1173
|
render: groupStickyHeaderTemplate
|
|
1024
1174
|
},
|
|
1025
1175
|
render: groupStickyHeaderTemplate
|
|
1026
|
-
}),
|
|
1176
|
+
}), headerListContainer && h("div", {
|
|
1027
1177
|
"class": "k-list-header"
|
|
1028
|
-
}, [
|
|
1178
|
+
}, [headerListContainer]), renderList.call(_this3), footerListContainer && h("div", {
|
|
1029
1179
|
"class": "k-list-footer"
|
|
1030
|
-
}, [
|
|
1180
|
+
}, [footerListContainer])];
|
|
1031
1181
|
} : [renderListFilter.call(_this3), renderDefaultItem.call(_this3), _this3.group && dataItems.length !== 0 && h(GroupStickyHeader_1.GroupStickyHeader, {
|
|
1032
1182
|
group: _this3.group,
|
|
1033
1183
|
attrs: _this3.v3 ? undefined : {
|
|
@@ -1035,11 +1185,11 @@ var DropDownListVue2 = {
|
|
|
1035
1185
|
render: groupStickyHeaderTemplate
|
|
1036
1186
|
},
|
|
1037
1187
|
render: groupStickyHeaderTemplate
|
|
1038
|
-
}),
|
|
1188
|
+
}), headerListContainer && h("div", {
|
|
1039
1189
|
"class": "k-list-header"
|
|
1040
|
-
}, [
|
|
1190
|
+
}, [headerListContainer]), renderList.call(_this3), footerListContainer && h("div", {
|
|
1041
1191
|
"class": "k-list-footer"
|
|
1042
|
-
}, [
|
|
1192
|
+
}, [footerListContainer])])
|
|
1043
1193
|
);
|
|
1044
1194
|
};
|
|
1045
1195
|
if (this.$props.virtual !== undefined) {
|
|
@@ -1049,7 +1199,7 @@ var DropDownListVue2 = {
|
|
|
1049
1199
|
// @ts-ignore
|
|
1050
1200
|
base.vs.pageSize = virtual.pageSize;
|
|
1051
1201
|
}
|
|
1052
|
-
var
|
|
1202
|
+
var dropdownlistDefault = h("span", {
|
|
1053
1203
|
ref: (0, kendo_vue_common_1.setRef)(this, 'kendoAnchor', this.anchor),
|
|
1054
1204
|
"class": (0, kendo_vue_common_1.classNames)('k-dropdownlist k-picker', className, (_a = {}, _a["k-picker-".concat(sizeMap[size] || size)] = size, _a["k-rounded-".concat(roundedMap[rounded] || rounded)] = rounded, _a["k-picker-".concat(fillMode)] = fillMode, _a['k-focus'] = focused, _a['k-disabled'] = disabled, _a['k-invalid'] = !isValid, _a['k-loading'] = loading, _a['k-required'] = this.required, _a)),
|
|
1055
1205
|
style: !label ? style : __assign(__assign({}, style), {
|
|
@@ -1130,7 +1280,11 @@ var DropDownListVue2 = {
|
|
|
1130
1280
|
svgIcon: svgIcon || kendo_svg_icons_1.caretAltDownIcon,
|
|
1131
1281
|
iconClass: iconClassName,
|
|
1132
1282
|
"aria-hidden": true
|
|
1133
|
-
}), dummySelect.call(this, value), renderListContainer.call(this)]);
|
|
1283
|
+
}), dummySelect.call(this, value), !renderAdaptive && renderListContainer.call(this)]);
|
|
1284
|
+
// The following one combines the default rendering of the DropDownList and the Adaptive rendering.
|
|
1285
|
+
// This is needed because of Vue 2 specifics
|
|
1286
|
+
var dropdownlist = [dropdownlistDefault, renderAdaptive && renderAdaptiveListContainer.call(this)];
|
|
1287
|
+
var dropdownlistToRender = isV3 ? dropdownlist : this.$props.adaptive ? h("span", [dropdownlist]) : dropdownlistDefault;
|
|
1134
1288
|
return label ? h("span", {
|
|
1135
1289
|
"class": this.spanClassNames,
|
|
1136
1290
|
onFocusin: this.handleFocus,
|
|
@@ -1143,7 +1297,7 @@ var DropDownListVue2 = {
|
|
|
1143
1297
|
attrs: this.v3 ? undefined : {
|
|
1144
1298
|
dir: this.$props.dir
|
|
1145
1299
|
}
|
|
1146
|
-
}, [
|
|
1300
|
+
}, [dropdownlistToRender, this.$props.label ? id ? h("label", {
|
|
1147
1301
|
"for": id,
|
|
1148
1302
|
attrs: this.v3 ? undefined : {
|
|
1149
1303
|
"for": id
|
|
@@ -1151,7 +1305,7 @@ var DropDownListVue2 = {
|
|
|
1151
1305
|
"class": "k-label"
|
|
1152
1306
|
}, [this.$props.label]) : h("span", {
|
|
1153
1307
|
"class": "k-label"
|
|
1154
|
-
}, [this.$props.label]) : null]) :
|
|
1308
|
+
}, [this.$props.label]) : null]) : dropdownlistToRender;
|
|
1155
1309
|
}
|
|
1156
1310
|
};
|
|
1157
1311
|
exports.DropDownListVue2 = DropDownListVue2;
|
|
@@ -296,4 +296,12 @@ export interface DropDownListProps extends FormComponentProps {
|
|
|
296
296
|
* Fires when a DropDownList sticky group header item is about to be rendered. Used to override the default appearance of the sticky group header of the component.
|
|
297
297
|
*/
|
|
298
298
|
groupStickyHeaderItemRender?: any;
|
|
299
|
+
/**
|
|
300
|
+
* Provides different rendering of the popup element based on the screen dimensions ([see example]({% slug adaptive_rendering_dropdownlist %})).
|
|
301
|
+
*/
|
|
302
|
+
adaptive?: boolean;
|
|
303
|
+
/**
|
|
304
|
+
* Specifies the text that is rendered as title in the adaptive popup ([see example]({% slug adaptive_rendering_dropdownlist %})).
|
|
305
|
+
*/
|
|
306
|
+
adaptiveTitle?: string;
|
|
299
307
|
}
|