vxe-pc-ui 4.9.43 → 4.9.45
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/es/icon/style.css +1 -1
- package/es/select/src/select.js +54 -40
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/index.umd.js +61 -49
- package/lib/index.umd.min.js +1 -1
- package/lib/select/src/select.js +59 -47
- package/lib/select/src/select.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +1 -1
- package/packages/select/src/select.ts +58 -42
- package/types/components/table-plugins/extend-cell-area.d.ts +18 -0
- package/types/components/table.d.ts +1 -0
- /package/es/icon/{iconfont.1760422885918.ttf → iconfont.1760580072920.ttf} +0 -0
- /package/es/icon/{iconfont.1760422885918.woff → iconfont.1760580072920.woff} +0 -0
- /package/es/icon/{iconfont.1760422885918.woff2 → iconfont.1760580072920.woff2} +0 -0
- /package/es/{iconfont.1760422885918.ttf → iconfont.1760580072920.ttf} +0 -0
- /package/es/{iconfont.1760422885918.woff → iconfont.1760580072920.woff} +0 -0
- /package/es/{iconfont.1760422885918.woff2 → iconfont.1760580072920.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1760422885918.ttf → iconfont.1760580072920.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1760422885918.woff → iconfont.1760580072920.woff} +0 -0
- /package/lib/icon/style/{iconfont.1760422885918.woff2 → iconfont.1760580072920.woff2} +0 -0
- /package/lib/{iconfont.1760422885918.ttf → iconfont.1760580072920.ttf} +0 -0
- /package/lib/{iconfont.1760422885918.woff → iconfont.1760580072920.woff} +0 -0
- /package/lib/{iconfont.1760422885918.woff2 → iconfont.1760580072920.woff2} +0 -0
package/lib/select/src/select.js
CHANGED
|
@@ -258,10 +258,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
258
258
|
return groupPropsOpts.options || 'options';
|
|
259
259
|
});
|
|
260
260
|
const computeIsMaximize = (0, _vue.computed)(() => {
|
|
261
|
-
const
|
|
262
|
-
|
|
263
|
-
} = props;
|
|
264
|
-
return checkMaxLimit(modelValue);
|
|
261
|
+
const selectVals = computeSelectVals.value;
|
|
262
|
+
return checkMaxLimit(selectVals);
|
|
265
263
|
});
|
|
266
264
|
const computeVirtualYOpts = (0, _vue.computed)(() => {
|
|
267
265
|
return Object.assign({}, (0, _ui.getConfig)().select.virtualYConfig || (0, _ui.getConfig)().select.scrollY, props.virtualYConfig || props.scrollY);
|
|
@@ -275,39 +273,56 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
275
273
|
const computeMultiMaxCharNum = (0, _vue.computed)(() => {
|
|
276
274
|
return _xeUtils.default.toNumber(props.multiCharOverflow);
|
|
277
275
|
});
|
|
278
|
-
const
|
|
276
|
+
const computeSelectVals = (0, _vue.computed)(() => {
|
|
279
277
|
const {
|
|
280
278
|
modelValue,
|
|
281
|
-
remote,
|
|
282
279
|
multiple
|
|
283
280
|
} = props;
|
|
284
|
-
const {
|
|
285
|
-
reactFlag
|
|
286
|
-
} = reactData;
|
|
287
|
-
const multiMaxCharNum = computeMultiMaxCharNum.value;
|
|
288
|
-
if ((0, _utils.eqEmptyValue)(modelValue)) {
|
|
289
|
-
return '';
|
|
290
|
-
}
|
|
291
281
|
let vals = [];
|
|
292
282
|
if (_xeUtils.default.isArray(modelValue)) {
|
|
293
283
|
vals = modelValue;
|
|
294
284
|
} else {
|
|
295
|
-
if (multiple
|
|
296
|
-
|
|
285
|
+
if (multiple) {
|
|
286
|
+
if (!(0, _utils.eqEmptyValue)(modelValue)) {
|
|
287
|
+
vals = `${modelValue}`.indexOf(',') > -1 ? `${modelValue}`.split(',') : [modelValue];
|
|
288
|
+
}
|
|
297
289
|
} else {
|
|
298
|
-
vals = [modelValue];
|
|
290
|
+
vals = modelValue === null || modelValue === undefined ? [] : [modelValue];
|
|
299
291
|
}
|
|
300
292
|
}
|
|
293
|
+
return vals;
|
|
294
|
+
});
|
|
295
|
+
const computeFullLabel = (0, _vue.computed)(() => {
|
|
296
|
+
const {
|
|
297
|
+
remote
|
|
298
|
+
} = props;
|
|
299
|
+
const {
|
|
300
|
+
reactFlag
|
|
301
|
+
} = reactData;
|
|
302
|
+
const selectVals = computeSelectVals.value;
|
|
301
303
|
if (remote && reactFlag) {
|
|
302
|
-
return
|
|
304
|
+
return selectVals.map(val => getRemoteSelectLabel(val)).join(', ');
|
|
303
305
|
}
|
|
304
|
-
return
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
}
|
|
306
|
+
return selectVals.map(val => getSelectLabel(val)).join(', ');
|
|
307
|
+
});
|
|
308
|
+
const computeSelectLabel = (0, _vue.computed)(() => {
|
|
309
|
+
const {
|
|
310
|
+
remote,
|
|
311
|
+
multiple
|
|
312
|
+
} = props;
|
|
313
|
+
const {
|
|
314
|
+
reactFlag
|
|
315
|
+
} = reactData;
|
|
316
|
+
const multiMaxCharNum = computeMultiMaxCharNum.value;
|
|
317
|
+
const selectVals = computeSelectVals.value;
|
|
318
|
+
if (remote && reactFlag) {
|
|
319
|
+
return selectVals.map(val => getRemoteSelectLabel(val)).join(', ');
|
|
320
|
+
}
|
|
321
|
+
const labels = selectVals.map(val => getSelectLabel(val));
|
|
322
|
+
if (multiple && multiMaxCharNum > 0 && labels.length > multiMaxCharNum) {
|
|
323
|
+
return `${labels.slice(0, multiMaxCharNum)}...`;
|
|
324
|
+
}
|
|
325
|
+
return labels.join(', ');
|
|
311
326
|
});
|
|
312
327
|
const callSlot = (slotFunc, params) => {
|
|
313
328
|
if (slotFunc) {
|
|
@@ -342,7 +357,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
342
357
|
max
|
|
343
358
|
} = props;
|
|
344
359
|
if (multiple && max) {
|
|
345
|
-
return
|
|
360
|
+
return selectVals.length >= _xeUtils.default.toNumber(max);
|
|
346
361
|
}
|
|
347
362
|
return false;
|
|
348
363
|
};
|
|
@@ -506,9 +521,6 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
506
521
|
};
|
|
507
522
|
const handleScrollSelect = () => {
|
|
508
523
|
(0, _vue.nextTick)(() => {
|
|
509
|
-
const {
|
|
510
|
-
modelValue
|
|
511
|
-
} = props;
|
|
512
524
|
const {
|
|
513
525
|
isAniVisible,
|
|
514
526
|
visiblePanel
|
|
@@ -516,9 +528,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
516
528
|
const {
|
|
517
529
|
optFullValMaps
|
|
518
530
|
} = internalData;
|
|
519
|
-
const
|
|
520
|
-
if (
|
|
521
|
-
const cacheItem = reactData.reactFlag ? optFullValMaps[`${
|
|
531
|
+
const selectVals = computeSelectVals.value;
|
|
532
|
+
if (selectVals.length && isAniVisible && visiblePanel) {
|
|
533
|
+
const cacheItem = reactData.reactFlag ? optFullValMaps[`${selectVals[0]}`] : null;
|
|
522
534
|
if (cacheItem) {
|
|
523
535
|
handleScrollToOption(cacheItem.item);
|
|
524
536
|
}
|
|
@@ -616,7 +628,6 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
616
628
|
$event
|
|
617
629
|
} = params;
|
|
618
630
|
const {
|
|
619
|
-
modelValue,
|
|
620
631
|
multiple,
|
|
621
632
|
max
|
|
622
633
|
} = props;
|
|
@@ -625,12 +636,13 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
625
636
|
} = reactData;
|
|
626
637
|
const valueField = computeValueField.value;
|
|
627
638
|
if (multiple) {
|
|
628
|
-
const
|
|
639
|
+
const selectVals = computeSelectVals.value;
|
|
640
|
+
const currVlas = selectVals.slice(0);
|
|
629
641
|
for (let i = 0; i < optList.length; i++) {
|
|
630
642
|
const option = optList[i];
|
|
631
643
|
const selectValue = option[valueField];
|
|
632
644
|
// 检测是否超过最大可选数量
|
|
633
|
-
if (checkMaxLimit(
|
|
645
|
+
if (checkMaxLimit(currVlas)) {
|
|
634
646
|
if (_ui.VxeUI) {
|
|
635
647
|
_ui.VxeUI.modal.message({
|
|
636
648
|
content: (0, _ui.getI18n)('vxe.select.overSizeErr', [max]),
|
|
@@ -639,13 +651,13 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
639
651
|
}
|
|
640
652
|
break;
|
|
641
653
|
}
|
|
642
|
-
if (!
|
|
643
|
-
|
|
654
|
+
if (!currVlas.some(val => val === selectValue)) {
|
|
655
|
+
currVlas.push(selectValue);
|
|
644
656
|
}
|
|
645
657
|
}
|
|
646
|
-
changeEvent($event,
|
|
658
|
+
changeEvent($event, currVlas, optList[0]);
|
|
647
659
|
dispatchEvent('all-change', {
|
|
648
|
-
value:
|
|
660
|
+
value: currVlas
|
|
649
661
|
}, $event);
|
|
650
662
|
}
|
|
651
663
|
};
|
|
@@ -658,7 +670,6 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
658
670
|
};
|
|
659
671
|
const changeOptionEvent = (evnt, option) => {
|
|
660
672
|
const {
|
|
661
|
-
modelValue,
|
|
662
673
|
multiple
|
|
663
674
|
} = props;
|
|
664
675
|
const {
|
|
@@ -681,7 +692,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
681
692
|
}
|
|
682
693
|
if (multiple) {
|
|
683
694
|
let multipleValue = [];
|
|
684
|
-
const selectVals =
|
|
695
|
+
const selectVals = computeSelectVals.value;
|
|
685
696
|
const index = _xeUtils.default.findIndexOf(selectVals, val => val === selectValue);
|
|
686
697
|
if (index === -1) {
|
|
687
698
|
multipleValue = selectVals.concat([selectValue]);
|
|
@@ -1331,8 +1342,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1331
1342
|
const renderOption = list => {
|
|
1332
1343
|
const {
|
|
1333
1344
|
allowCreate,
|
|
1334
|
-
optionKey
|
|
1335
|
-
modelValue
|
|
1345
|
+
optionKey
|
|
1336
1346
|
} = props;
|
|
1337
1347
|
const {
|
|
1338
1348
|
currentOption
|
|
@@ -1344,6 +1354,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1344
1354
|
const labelField = computeLabelField.value;
|
|
1345
1355
|
const valueField = computeValueField.value;
|
|
1346
1356
|
const groupLabelField = computeGroupLabelField.value;
|
|
1357
|
+
const selectVals = computeSelectVals.value;
|
|
1347
1358
|
const {
|
|
1348
1359
|
useKey
|
|
1349
1360
|
} = optionOpts;
|
|
@@ -1357,7 +1368,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1357
1368
|
const optionValue = option[valueField];
|
|
1358
1369
|
const isOptGroup = hasOptGroupById(optid);
|
|
1359
1370
|
const isAdd = !!(allowCreate && optAddMaps[optid]);
|
|
1360
|
-
const isSelected = !isAdd &&
|
|
1371
|
+
const isSelected = !isAdd && selectVals.indexOf(optionValue) > -1;
|
|
1361
1372
|
const isVisible = isAdd || !isOptGroup || isOptionVisible(option);
|
|
1362
1373
|
const isDisabled = !isAdd && checkOptionDisabled(isSelected, option);
|
|
1363
1374
|
const defaultSlot = slots ? slots.default : null;
|
|
@@ -1437,7 +1448,6 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1437
1448
|
};
|
|
1438
1449
|
const renderVN = () => {
|
|
1439
1450
|
const {
|
|
1440
|
-
modelValue,
|
|
1441
1451
|
className,
|
|
1442
1452
|
popupClassName,
|
|
1443
1453
|
multiple,
|
|
@@ -1459,6 +1469,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1459
1469
|
const vSize = computeSize.value;
|
|
1460
1470
|
const isDisabled = computeIsDisabled.value;
|
|
1461
1471
|
const selectLabel = computeSelectLabel.value;
|
|
1472
|
+
const fullLabel = computeFullLabel.value;
|
|
1462
1473
|
const btnTransfer = computeBtnTransfer.value;
|
|
1463
1474
|
const formReadonly = computeFormReadonly.value;
|
|
1464
1475
|
const inpPlaceholder = computeInpPlaceholder.value;
|
|
@@ -1474,10 +1485,11 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1474
1485
|
class: 'vxe-select-slots',
|
|
1475
1486
|
ref: 'hideOption'
|
|
1476
1487
|
}, defaultSlot ? defaultSlot({}) : []), (0, _vue.h)('span', {
|
|
1477
|
-
class: 'vxe-select-label'
|
|
1488
|
+
class: 'vxe-select-label',
|
|
1489
|
+
title: fullLabel
|
|
1478
1490
|
}, selectLabel)]);
|
|
1479
1491
|
}
|
|
1480
|
-
const selectVals =
|
|
1492
|
+
const selectVals = computeSelectVals.value;
|
|
1481
1493
|
return (0, _vue.h)('div', {
|
|
1482
1494
|
ref: refElem,
|
|
1483
1495
|
class: ['vxe-select', className ? _xeUtils.default.isFunction(className) ? className({
|
|
@@ -1503,7 +1515,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1503
1515
|
prefixIcon: props.prefixIcon,
|
|
1504
1516
|
suffixIcon: loading ? (0, _ui.getIcon)().SELECT_LOADED : visiblePanel ? (0, _ui.getIcon)().SELECT_OPEN : (0, _ui.getIcon)().SELECT_CLOSE,
|
|
1505
1517
|
autoFocus: false,
|
|
1506
|
-
title:
|
|
1518
|
+
title: fullLabel,
|
|
1507
1519
|
modelValue: selectLabel,
|
|
1508
1520
|
onClear: clearEvent,
|
|
1509
1521
|
onClick: clickEvent,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_input=_interopRequireDefault(require("../../input/src/input")),_button=_interopRequireDefault(require("../../button/src/button"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function isOptionVisible(e){return!1!==e.visible}function getOptUniqueId(){return _xeUtils.default.uniqueId("opt_")}function createInternalData(){return{synchData:[],fullData:[],afterVisibleList:[],optAddMaps:{},optGroupKeyMaps:{},optFullValMaps:{},remoteValMaps:{},lastScrollLeft:0,lastScrollTop:0,scrollYStore:{startIndex:0,endIndex:0,visibleSize:0,offsetSize:0,rowHeight:0},lastScrollTime:0,hpTimeout:void 0}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeSelect",props:{modelValue:[String,Number,Boolean,Array],defaultConfig:Object,clearable:Boolean,placeholder:String,readonly:{type:Boolean,default:null},loading:Boolean,disabled:{type:Boolean,default:null},multiple:Boolean,multiCharOverflow:{type:[Number,String],default:()=>(0,_ui.getConfig)().select.multiCharOverflow},prefixIcon:String,allowCreate:{type:Boolean,default:()=>(0,_ui.getConfig)().select.allowCreate},placement:String,lazyOptions:Array,options:Array,optionProps:Object,optionGroups:Array,optionGroupProps:Object,optionConfig:Object,className:[String,Function],popupClassName:[String,Function],max:{type:[String,Number],default:null},zIndex:Number,size:{type:String,default:()=>(0,_ui.getConfig)().select.size||(0,_ui.getConfig)().size},filterable:Boolean,filterMethod:Function,remote:Boolean,remoteConfig:Object,emptyText:String,showTotalButoon:{type:Boolean,default:()=>(0,_ui.getConfig)().select.showTotalButoon},showCheckedButoon:{type:Boolean,default:()=>(0,_ui.getConfig)().select.showCheckedButoon},showClearButton:{type:Boolean,default:()=>(0,_ui.getConfig)().select.showClearButton},transfer:{type:Boolean,default:null},virtualYConfig:Object,scrollY:Object,remoteMethod:Function,optionId:{type:String,default:()=>(0,_ui.getConfig)().select.optionId},optionKey:Boolean},emits:["update:modelValue","change","all-change","clear","blur","focus","click","scroll","visible-change"],setup(I,e){const{slots:C,emit:a}=e,b=(0,_vue.inject)("$xeModal",null),T=(0,_vue.inject)("$xeDrawer",null),y=(0,_vue.inject)("$xeTable",null),i=(0,_vue.inject)("$xeForm",null),o=(0,_vue.inject)("xeFormItemInfo",null);var t=_xeUtils.default.uniqueId();const L=(0,_vue.ref)(),O=(0,_vue.ref)(),P=(0,_vue.ref)(),A=(0,_vue.ref)(),w=(0,_vue.ref)(),k=(0,_vue.ref)(),Y=(0,_ui.useSize)(I)["computeSize"],M=(0,_vue.reactive)({initialized:!1,scrollYLoad:!1,bodyHeight:0,topSpaceHeight:0,optList:[],staticOptions:[],reactFlag:0,currentOption:null,searchValue:"",searchLoading:!1,panelIndex:0,panelStyle:{},panelPlacement:null,triggerFocusPanel:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1}),S=createInternalData(),E={refElem:L},U={xID:t,props:I,context:e,reactData:M,internalData:S,getRefMaps:()=>E},z=(0,_vue.computed)(()=>{var e=I["readonly"];return null===e?!!i&&i.props.readonly:e}),F=(0,_vue.computed)(()=>{var e=I["disabled"];return null===e?!!i&&i.props.disabled:e}),N=(0,_vue.computed)(()=>{var e=I["transfer"];if(null===e){var t=(0,_ui.getConfig)().select.transfer;if(_xeUtils.default.isBoolean(t))return t;if(y||b||T||i)return!0}return e}),q=(0,_vue.computed)(()=>{var e=I["placeholder"];return(e=e||(0,_ui.getConfig)().select.placeholder)?(0,_utils.getFuncText)(e):(0,_ui.getI18n)("vxe.base.pleaseSelect")}),H=(0,_vue.computed)(()=>Object.assign({},I.defaultConfig)),j=(0,_vue.computed)(()=>Object.assign({},I.optionProps)),K=(0,_vue.computed)(()=>Object.assign({},I.optionGroupProps)),c=(0,_vue.computed)(()=>{return j.value.label||"label"}),V=(0,_vue.computed)(()=>{return j.value.value||"value"}),$=(0,_vue.computed)(()=>{return K.value.label||"label"}),G=(0,_vue.computed)(()=>{return K.value.options||"options"}),R=(0,_vue.computed)(()=>{var e=I["modelValue"];return te(e)}),W=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().select.virtualYConfig||(0,_ui.getConfig)().select.scrollY,I.virtualYConfig||I.scrollY)),X=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().select.remoteConfig,I.remoteConfig)),Z=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().select.optionConfig,I.optionConfig)),J=(0,_vue.computed)(()=>_xeUtils.default.toNumber(I.multiCharOverflow)),Q=(0,_vue.computed)(()=>{const{modelValue:e,remote:t,multiple:l}=I;var a=M["reactFlag"];const i=J.value;if((0,_utils.eqEmptyValue)(e))return"";let o=[];return o=_xeUtils.default.isArray(e)?e:l&&-1<(""+e).indexOf(",")?(""+e).split(","):[e],(t&&a?o.map(e=>le(e)):o.map(e=>{e=ae(e);return l&&0<i&&e.length>i?e.substring(0,i)+"...":e})).join(", ")}),B=(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=C[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[],s=(e,t,l)=>{a(e,(0,_ui.createEvent)(l,{$select:U},t))},ee=e=>{a("update:modelValue",e)},_=()=>{return Z.value.keyField||I.optionId||"_X_OPTION_KEY"},D=e=>{e=e[_()];return e?encodeURIComponent(e):""},te=e=>{var{multiple:t,max:l}=I;return!(!t||!l)&&(_xeUtils.default.isArray(e)?e.length:_xeUtils.default.eqNull(e)?0:1)>=_xeUtils.default.toNumber(l)},le=t=>{var e=I["lazyOptions"],{remoteValMaps:l,optFullValMaps:a}=S;const i=V.value;var o=c.value,l=l[t]||a[t],a=l?l.item:null;if(a)return _xeUtils.default.toValueString(a[o]);if(e){l=e.find(e=>e[i]===t);if(l)return l[o]}return t},ae=t=>{var e=I["lazyOptions"],l=S["optFullValMaps"];const a=V.value;var i=c.value,l=M.reactFlag?l[t]:null;if(l)return l.item[i];if(e){l=e.find(e=>e[a]===t);if(l)return l[i]}return t},g=()=>{const{modelValue:t,filterable:e,filterMethod:l}=I,a=M["searchValue"],{fullData:i,optFullValMaps:o}=S,n=c.value,r=V.value,s=(""+(a||"")).toLowerCase();let u=[];return(u=e&&l?i.filter(e=>isOptionVisible(e)&&l({$select:U,group:null,option:e,searchValue:a,value:t})):e?i.filter(e=>isOptionVisible(e)&&(!s||-1<(""+(e[n]||e[r])).toLowerCase().indexOf(s))):i.filter(isOptionVisible)).forEach((e,t)=>{e=o[e[r]];e&&(e._index=t)}),S.afterVisibleList=u,(0,_vue.nextTick)()},ie=e=>{e&&(M.currentOption=e)},r=()=>{const l=I["placement"],a=M["panelIndex"],i=L.value,o=w.value,n=N.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(i,o,{placement:l,teleportTo:n}),t=Object.assign(e.style,{zIndex:a});M.panelStyle=t,M.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},v=()=>{var{loading:e,filterable:t,remote:l}=I,{fullData:a,hpTimeout:i}=S,o=F.value,n=X.value;e||o||(i&&(clearTimeout(i),S.hpTimeout=void 0),M.initialized||(M.initialized=!0),M.isActivated=!0,M.isAniVisible=!0,t&&(l&&n.enabled&&n.autoLoad&&!a.length?Te:(g(),f))(),setTimeout(()=>{M.visiblePanel=!0,I.filterable&&(0,_vue.nextTick)(()=>{var e=P.value;e&&e.focus()});x().then(()=>{(0,_vue.nextTick)(()=>{var e=I["modelValue"],{isAniVisible:t,visiblePanel:l}=M,a=S["optFullValMaps"],e=_xeUtils.default.isArray(e)?e[0]:e;e&&t&&l&&(t=M.reactFlag?a[""+e]:null)&&Ce(t.item)}),m()})},10),setTimeout(()=>{x().then(()=>m())},100),(e=I.zIndex)?M.panelIndex=e:M.panelIndex<(0,_utils.getLastZIndex)()&&(M.panelIndex=(0,_utils.nextZIndex)()),r(),s("visible-change",{visible:!0},null))},d=()=>{M.searchValue="",M.searchLoading=!1,M.visiblePanel=!1,S.hpTimeout=setTimeout(()=>{M.isAniVisible=!1},350),s("visible-change",{visible:!1},null)},u=(e,t,l)=>{ee(t),t!==I.modelValue&&(s("change",{value:t,option:l},e),i)&&o&&i.triggerItemEvent(e,o.itemConfig.field,t)},p=(e,t)=>{S.remoteValMaps={},u(e,t,null),s("clear",{value:t},e)},oe=e=>{e=e.$event;p(e,null),d()},ne=e=>{var e=e["$event"],{modelValue:t,multiple:l,max:a}=I,i=M["optList"],o=V.value;if(l){var n=(0,_utils.eqEmptyValue)(t)?[]:_xeUtils.default.isArray(t)?t:[t];for(let e=0;e<i.length;e++){const r=i[e][o];if(te(n)){_ui.VxeUI&&_ui.VxeUI.modal.message({content:(0,_ui.getI18n)("vxe.select.overSizeErr",[a]),status:"warning"});break}n.some(e=>e===r)||n.push(r)}u(e,n,i[0]),s("all-change",{value:n},e)}},re=e=>{e=e.$event;p(e,null),d()},se=(t,l)=>{var{modelValue:a,multiple:e}=I,i=S["remoteValMaps"];const o=l[V.value];var n=i[o];if(M.visiblePanel){if(n?n.item=l:i[o]={key:D(l),item:l,_index:-1},e){let e=[];n=(0,_utils.eqEmptyValue)(a)?[]:_xeUtils.default.isArray(a)?a:[a],i=_xeUtils.default.findIndexOf(n,e=>e===o);e=-1===i?n.concat([o]):n.filter(e=>e!==o),u(t,e,l)}else u(t,o,l),d();M.reactFlag++}},ue=e=>{var t=M["visiblePanel"];F.value||t&&(t=w.value,((0,_dom.getEventTargetNode)(e,t).flag?r:d)())},ce=e=>{var t,l,a=M["visiblePanel"];F.value||(t=L.value,l=w.value,M.isActivated=(0,_dom.getEventTargetNode)(e,t).flag||(0,_dom.getEventTargetNode)(e,l).flag,a&&!M.isActivated&&d())},h=e=>{var t=e.disabled,e=D(e);return!t&&!Ae(e)},ve=(e,t)=>{var l=I["allowCreate"],a=M["optList"],{optFullValMaps:i,optAddMaps:o,afterVisibleList:n}=S,r=V.value;let s=n,u=0;if(l&&a.length&&(n=a[0],o[l=D(n)])&&(u=1,s=[o[l]].concat(s)),!e)if(t)for(let e=0;e<s.length;e++){var c=s[e];if(h(c))return c}else for(let e=s.length-1;0<=e;e--){var v=s[e];if(h(v))return v}let d=0;a=e?i[e[r]]:null;if(-1<(d=a?a._index+u:d))if(t)for(let e=d+1;e<=s.length-1;e++){var p=s[e];if(h(p))return p}else if(0<d)for(let e=d-1;0<=e;e--){var f=s[e];if(h(f))return f}return null},de=t=>{var e=I["clearable"],{visiblePanel:l,currentOption:a}=M;if(!F.value){var i=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.TAB),o=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.ENTER),n=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.ESCAPE),r=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.ARROW_UP),s=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.ARROW_DOWN),u=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.DELETE);if(i&&(M.isActivated=!1),l){if(n||i)d();else if(o)a&&(t.preventDefault(),t.stopPropagation(),se(t,a));else if(r||s){t.preventDefault();let e=ve(a,s);(e=e||ve(null,s))&&(ie(e),Ce(e,s))}}else(r||s||o)&&M.isActivated&&(t.preventDefault(),v());M.isActivated&&u&&e&&p(t,null)}},pe=()=>{var{visiblePanel:e,isActivated:t}=M;e&&d(),t&&(M.isActivated=!1),(e||t)&&(e=O.value)&&e.blur()},fe=()=>{var e=M["visiblePanel"];e&&r()},_e=e=>{F.value||M.visiblePanel||(M.triggerFocusPanel=!0,v(),setTimeout(()=>{M.triggerFocusPanel=!1},500)),s("focus",{},e)},ge=e=>{Ee(e),s("click",{triggerButton:!1,visible:M.visiblePanel},e)},he=e=>{M.isActivated=!1,s("blur",{},e)},me=e=>{Ee(e),s("click",{triggerButton:!0,visible:M.visiblePanel},e)},xe=e=>{M.searchValue=e},be=()=>{M.isActivated=!0},Te=()=>{var{modelValue:e,remote:t,remoteMethod:l}=I,a=M["searchValue"],i=X.value,l=i.queryMethod||l;t&&l&&i.enabled?(M.searchLoading=!0,Promise.resolve(l({$select:U,searchValue:a,value:e})).then(()=>(0,_vue.nextTick)()).catch(()=>(0,_vue.nextTick)()).finally(()=>{M.searchLoading=!1,g(),f()})):(g(),f())},ye=_xeUtils.default.debounce(Te,350,{trailing:!0}),Ee=e=>{e=e.$event;e.preventDefault(),M.triggerFocusPanel?M.triggerFocusPanel=!1:(M.visiblePanel?d:v)()},Se=()=>{var e=M["scrollYLoad"],{scrollYStore:t,afterVisibleList:l}=S;M.bodyHeight=e?l.length*t.rowHeight:0,M.topSpaceHeight=e?Math.max(t.startIndex*t.rowHeight,0):0},Ve=()=>{var{filterable:e,allowCreate:t}=I;const{scrollYLoad:l,searchValue:a}=M;var{optAddMaps:i,scrollYStore:o,afterVisibleList:n}=S;const r=c.value;var s=V.value,o=l?n.slice(o.startIndex,o.endIndex):n.slice(0);return e&&t&&a&&(o.some(e=>e[r]===a)||(n=i[a]||(0,_vue.reactive)({[_()]:a,[r]:a,[s]:a}),i[a]=n,o.unshift(n))),M.optList=o,(0,_vue.nextTick)()},f=()=>{Ve(),Se()},Ie=()=>(0,_vue.nextTick)().then(()=>{var e=M["scrollYLoad"],t=S["scrollYStore"],l=k.value,a=W.value;let i=0,o;(o=l?o||l.children[0]:o)&&(i=o.offsetHeight),i=Math.max(20,i),t.rowHeight=i,(e?(l=A.value,e=Math.max(8,l?Math.ceil(l.clientHeight/i):0),l=Math.max(0,Math.min(2,_xeUtils.default.toNumber(a.oSize))),t.offsetSize=l,t.visibleSize=e,t.endIndex=Math.max(t.startIndex,e+l,t.endIndex),f):Se)()}),Ce=(e,t)=>{var l,a,i=M["scrollYLoad"],{optFullValMaps:o,scrollYStore:n}=S,o=o[e[V.value]];o&&(e=o.key,-1<(o=o._index))&&(l=A.value,a=w.value)&&(a=a.querySelector(`[optid='${e}']`),l)&&(a?(e=l.offsetHeight,t?a.offsetTop+a.offsetHeight-l.scrollTop>e?l.scrollTop=a.offsetTop+a.offsetHeight-e:(a.offsetTop+1<l.scrollTop||a.offsetTop+1>l.scrollTop+l.clientHeight)&&(l.scrollTop=a.offsetTop-1):a.offsetTop+1<l.scrollTop||a.offsetTop+1>l.scrollTop+l.clientHeight?l.scrollTop=a.offsetTop-1:a.offsetTop+a.offsetHeight-l.scrollTop>e&&(l.scrollTop=a.offsetTop+a.offsetHeight-e)):i&&(l.scrollTop=t?o*n.rowHeight-l.clientHeight+n.rowHeight:o*n.rowHeight))},Le=(e,t)=>{var l=A.value;return l&&(_xeUtils.default.isNumber(e)&&(l.scrollLeft=e),_xeUtils.default.isNumber(t))&&(l.scrollTop=t),M.scrollYLoad?new Promise(e=>{setTimeout(()=>{(0,_vue.nextTick)(()=>{e()})},50)}):(0,_vue.nextTick)()},m=()=>{const{lastScrollLeft:e,lastScrollTop:t}=S;return n().then(()=>{if(e||t)return S.lastScrollLeft=0,S.lastScrollTop=0,Le(e,t)})},x=()=>{var e=L.value;return e&&e.clientWidth&&e.clientHeight?Ie():Promise.resolve()},Oe=e=>{var t=S["scrollYStore"],{startIndex:l,endIndex:a,visibleSize:i,offsetSize:o,rowHeight:n}=t,e=e.target.scrollTop,e=Math.floor(e/n),n=Math.max(0,e-1-o),o=e+i+o;!(e<=l||a-i-1<=e)||l===n&&a===o||(t.startIndex=n,t.endIndex=o,f())},Pe=e=>{var t=e.target,l=t.scrollTop,t=t.scrollLeft,a=t!==S.lastScrollLeft,i=l!==S.lastScrollTop;S.lastScrollTop=l,S.lastScrollLeft=t,M.scrollYLoad&&Oe(e),S.lastScrollTime=Date.now(),s("scroll",{scrollLeft:t,scrollTop:l,isX:a,isY:i},e)},l=e=>{{var t=e||[];const r=G.value,s=V.value,u=_(),c={},v={},d=[],p=e=>{d.push(e);let t=D(e);t||(t=getOptUniqueId(),e[u]=t),v[e[s]]={key:t,item:e,_index:-1}};t.forEach(e=>{p(e),e[r]&&(c[e[u]]=e)[r].forEach(p)}),S.fullData=d,S.optGroupKeyMaps=c,S.optFullValMaps=v,M.reactFlag++,g()}var{isLoaded:t,fullData:l,scrollYStore:a}=S,i=H.value,o=W.value;const n=V.value;if(Object.assign(a,{startIndex:0,endIndex:1,visibleSize:0}),S.synchData=e||[],M.scrollYLoad=!!o.enabled&&-1<o.gt&&(0===o.gt||o.gt<=l.length),Ve(),!t){a=i["selectMode"];if(0<e.length&&_xeUtils.default.eqNull(I.modelValue)){if("first"===a||"last"===a){const f=_xeUtils.default[a](e);f&&(0,_vue.nextTick)(()=>{_xeUtils.default.eqNull(I.modelValue)&&ee(f[n])})}S.isLoaded=!0}}return Ie().then(()=>{m()})},n=()=>{var e=A.value;return e&&(e.scrollTop=0,e.scrollLeft=0),S.lastScrollTop=0,(S.lastScrollLeft=0,_vue.nextTick)()},Ae=e=>{var t=S["optGroupKeyMaps"];return!!t[e]};t={dispatchEvent:s,loadData:l,reloadData(e){return S.isLoaded=!1,n(),l(e)},isPanelVisible(){return M.visiblePanel},togglePanel(){return(M.visiblePanel?d:v)(),(0,_vue.nextTick)()},hidePanel(){return M.visiblePanel&&d(),(0,_vue.nextTick)()},showPanel(){return M.visiblePanel||v(),(0,_vue.nextTick)()},refreshOption(){return g(),f(),(0,_vue.nextTick)()},focus(){var e=O.value;return e&&e.blur(),M.isActivated=!0,(0,_vue.nextTick)()},blur(){var e=O.value;return e&&e.blur(),(M.isActivated=!1,_vue.nextTick)()},recalculate:x,clearScroll:n};Object.assign(U,t);const we=e=>{const{allowCreate:f,optionKey:_,modelValue:g}=I,h=M["currentOption"],m=S["optAddMaps"];var t=Z.value;const x=c.value,b=V.value,T=$.value,y=t["useKey"],E=C.option;return e.map((t,e)=>{var{slots:l,className:a}=t,i=D(t),o=t[b];const n=Ae(i);var r=!(!f||!m[i]),s=!r&&(_xeUtils.default.isArray(g)?-1<g.indexOf(o):g===o),u=r||!n||isOptionVisible(t);const c=!r&&(v=s,!!t.disabled||!(!R.value||v));var v=l?l.default:null,l={option:t,group:n?t:null,$select:U};let d="",p=[];return p=E?B(E,l):v?B(v,l):d=(0,_utils.getFuncText)(t[n?T:x]||o),u?(0,_vue.h)("div",{key:y||_?i:e,class:["vxe-select-option",a?_xeUtils.default.isFunction(a)?a(l):a:"",{"vxe-select-optgroup":n,"is--disabled":c,"is--selected":s,"is--add":r,"is--hover":h&&D(h)===i}],optid:i,title:d||null,onMousedown:e=>{0===e.button&&e.stopPropagation()},onClick:e=>{c||n||se(e,t)},onMouseenter:()=>{var e;c||n||(e=S.lastScrollTime)&&Date.now()<e+250||ie(t)}},f?[(0,_vue.h)("span",{key:1,class:"vxe-select-option--label"},p),r?(0,_vue.h)("span",{key:2,class:"vxe-select-option--add-icon"},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().SELECT_ADD_OPTION})]):(0,_ui.renderEmptyElement)(U)]:p):(0,_ui.renderEmptyElement)(U)})};return(0,_vue.watch)(()=>M.staticOptions,e=>{l(e)}),(0,_vue.watch)(()=>I.options,e=>{l(e||[])}),(0,_vue.watch)(()=>I.optionGroups,e=>{l(e||[])}),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var{options:e,optionGroups:t}=I;t?l(t):e&&l(e)}),_ui.globalEvents.on(U,"mousewheel",ue),_ui.globalEvents.on(U,"mousedown",ce),_ui.globalEvents.on(U,"keydown",de),_ui.globalEvents.on(U,"blur",pe),_ui.globalEvents.on(U,"resize",fe)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(U,"mousewheel"),_ui.globalEvents.off(U,"mousedown"),_ui.globalEvents.off(U,"keydown"),_ui.globalEvents.off(U,"blur"),_ui.globalEvents.off(U,"resize"),_xeUtils.default.assign(S,createInternalData())}),(0,_vue.provide)("$xeSelect",U),U.renderVN=()=>{var{modelValue:e,className:t,popupClassName:l,multiple:a,loading:i,filterable:o,showTotalButoon:n,showCheckedButoon:r,showClearButton:s}=I,{initialized:u,isActivated:c,isAniVisible:v,optList:d,visiblePanel:p,bodyHeight:f,topSpaceHeight:_}=M,g=Y.value,h=F.value,m=Q.value,x=N.value,b=z.value,T=q.value,y=C.default,E=C.header,S=C.footer;const V=C.prefix;return b?(0,_vue.h)("div",{ref:L,class:["vxe-select--readonly",t]},[(0,_vue.h)("div",{class:"vxe-select-slots",ref:"hideOption"},y?y({}):[]),(0,_vue.h)("span",{class:"vxe-select-label"},m)]):(b=(0,_utils.eqEmptyValue)(e)?[]:_xeUtils.default.isArray(e)?e:[e],(0,_vue.h)("div",{ref:L,class:["vxe-select",t?_xeUtils.default.isFunction(t)?t({$select:U}):t:"",{["size--"+g]:g,"is--visible":p,"is--disabled":h,"is--filter":o,"is--loading":i,"is--active":c}]},[(0,_vue.h)("div",{class:"vxe-select-slots",ref:"hideOption"},y?y({}):[]),(0,_vue.h)(_input.default,{ref:O,clearable:I.clearable,placeholder:T,readonly:!0,disabled:h,type:"text",prefixIcon:I.prefixIcon,suffixIcon:i?(0,_ui.getIcon)().SELECT_LOADED:p?(0,_ui.getIcon)().SELECT_OPEN:(0,_ui.getIcon)().SELECT_CLOSE,autoFocus:!1,title:m,modelValue:m,onClear:oe,onClick:ge,onFocus:_e,onBlur:he,onSuffixClick:me},V?{prefix:()=>V({})}:{}),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!x||!u},[(0,_vue.h)("div",{ref:w,class:["vxe-table--ignore-clear vxe-select--panel",l?_xeUtils.default.isFunction(l)?l({$select:U}):l:"",{["size--"+g]:g,"is--transfer":x,"ani--leave":!i&&v,"ani--enter":!i&&p}],placement:M.panelPlacement,style:M.panelStyle},u&&(p||v)?[(0,_vue.h)("div",{class:"vxe-select--panel-wrapper"},[o?(0,_vue.h)("div",{class:"vxe-select--panel-search"},[(0,_vue.h)(_input.default,{ref:P,class:"vxe-select-search--input",modelValue:M.searchValue,type:"text",clearable:!0,disabled:!1,readonly:!1,placeholder:(0,_ui.getI18n)("vxe.select.search"),prefixIcon:(0,_ui.getIcon)().INPUT_SEARCH,"onUpdate:modelValue":xe,onFocus:be,onChange:ye,onSearch:ye})]):(0,_ui.renderEmptyElement)(U),n||r&&a||s||E?(0,_vue.h)("div",{class:"vxe-select--panel-header"},E?B(E,{}):[(0,_vue.h)("div",{class:"vxe-select--header-button"},[n?(0,_vue.h)("div",{class:"vxe-select--header-total"},(0,_ui.getI18n)("vxe.select.total",[b.length,d.length])):(0,_ui.renderEmptyElement)(U),(0,_vue.h)("div",{class:"vxe-select--header-btns"},[r&&a?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.select.allChecked"),mode:"text",onClick:ne}):(0,_ui.renderEmptyElement)(U),s?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.select.clear"),mode:"text",onClick:re}):(0,_ui.renderEmptyElement)(U)])])]):(0,_ui.renderEmptyElement)(U),(0,_vue.h)("div",{class:"vxe-select--panel-body"},[(0,_vue.h)("div",{ref:A,class:"vxe-select-option--wrapper",onScroll:Pe},[(0,_vue.h)("div",{class:"vxe-select--y-space",style:{height:f?f+"px":""}}),(0,_vue.h)("div",{ref:k,class:"vxe-select--body",style:{transform:`translateY(${_}px)`}},(()=>{var{optList:e,searchLoading:t}=M;return t?[(0,_vue.h)("div",{class:"vxe-select--search-loading"},[(0,_vue.h)("i",{class:["vxe-select--search-icon",(0,_ui.getIcon)().SELECT_LOADED]}),(0,_vue.h)("span",{class:"vxe-select--search-text"},(0,_ui.getI18n)("vxe.select.loadingText"))])]:e.length?we(e):[(0,_vue.h)("div",{class:"vxe-select--empty-placeholder"},I.emptyText||(0,_ui.getI18n)("vxe.select.emptyText"))]})())])]),S?(0,_vue.h)("div",{class:"vxe-select--panel-footer"},B(S,{})):(0,_ui.renderEmptyElement)(U)])]:[])])]))},U},render(){return this.renderVN()}});
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_input=_interopRequireDefault(require("../../input/src/input")),_button=_interopRequireDefault(require("../../button/src/button"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function isOptionVisible(e){return!1!==e.visible}function getOptUniqueId(){return _xeUtils.default.uniqueId("opt_")}function createInternalData(){return{synchData:[],fullData:[],afterVisibleList:[],optAddMaps:{},optGroupKeyMaps:{},optFullValMaps:{},remoteValMaps:{},lastScrollLeft:0,lastScrollTop:0,scrollYStore:{startIndex:0,endIndex:0,visibleSize:0,offsetSize:0,rowHeight:0},lastScrollTime:0,hpTimeout:void 0}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeSelect",props:{modelValue:[String,Number,Boolean,Array],defaultConfig:Object,clearable:Boolean,placeholder:String,readonly:{type:Boolean,default:null},loading:Boolean,disabled:{type:Boolean,default:null},multiple:Boolean,multiCharOverflow:{type:[Number,String],default:()=>(0,_ui.getConfig)().select.multiCharOverflow},prefixIcon:String,allowCreate:{type:Boolean,default:()=>(0,_ui.getConfig)().select.allowCreate},placement:String,lazyOptions:Array,options:Array,optionProps:Object,optionGroups:Array,optionGroupProps:Object,optionConfig:Object,className:[String,Function],popupClassName:[String,Function],max:{type:[String,Number],default:null},zIndex:Number,size:{type:String,default:()=>(0,_ui.getConfig)().select.size||(0,_ui.getConfig)().size},filterable:Boolean,filterMethod:Function,remote:Boolean,remoteConfig:Object,emptyText:String,showTotalButoon:{type:Boolean,default:()=>(0,_ui.getConfig)().select.showTotalButoon},showCheckedButoon:{type:Boolean,default:()=>(0,_ui.getConfig)().select.showCheckedButoon},showClearButton:{type:Boolean,default:()=>(0,_ui.getConfig)().select.showClearButton},transfer:{type:Boolean,default:null},virtualYConfig:Object,scrollY:Object,remoteMethod:Function,optionId:{type:String,default:()=>(0,_ui.getConfig)().select.optionId},optionKey:Boolean},emits:["update:modelValue","change","all-change","clear","blur","focus","click","scroll","visible-change"],setup(V,e){const{slots:C,emit:a}=e,b=(0,_vue.inject)("$xeModal",null),T=(0,_vue.inject)("$xeDrawer",null),E=(0,_vue.inject)("$xeTable",null),i=(0,_vue.inject)("$xeForm",null),o=(0,_vue.inject)("xeFormItemInfo",null);var t=_xeUtils.default.uniqueId();const L=(0,_vue.ref)(),O=(0,_vue.ref)(),P=(0,_vue.ref)(),w=(0,_vue.ref)(),A=(0,_vue.ref)(),k=(0,_vue.ref)(),Y=(0,_ui.useSize)(V)["computeSize"],M=(0,_vue.reactive)({initialized:!1,scrollYLoad:!1,bodyHeight:0,topSpaceHeight:0,optList:[],staticOptions:[],reactFlag:0,currentOption:null,searchValue:"",searchLoading:!1,panelIndex:0,panelStyle:{},panelPlacement:null,triggerFocusPanel:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1}),S=createInternalData(),y={refElem:L},F={xID:t,props:V,context:e,reactData:M,internalData:S,getRefMaps:()=>y},z=(0,_vue.computed)(()=>{var e=V["readonly"];return null===e?!!i&&i.props.readonly:e}),B=(0,_vue.computed)(()=>{var e=V["disabled"];return null===e?!!i&&i.props.disabled:e}),H=(0,_vue.computed)(()=>{var e=V["transfer"];if(null===e){var t=(0,_ui.getConfig)().select.transfer;if(_xeUtils.default.isBoolean(t))return t;if(E||b||T||i)return!0}return e}),j=(0,_vue.computed)(()=>{var e=V["placeholder"];return(e=e||(0,_ui.getConfig)().select.placeholder)?(0,_utils.getFuncText)(e):(0,_ui.getI18n)("vxe.base.pleaseSelect")}),q=(0,_vue.computed)(()=>Object.assign({},V.defaultConfig)),K=(0,_vue.computed)(()=>Object.assign({},V.optionProps)),$=(0,_vue.computed)(()=>Object.assign({},V.optionGroupProps)),c=(0,_vue.computed)(()=>{return K.value.label||"label"}),I=(0,_vue.computed)(()=>{return K.value.value||"value"}),G=(0,_vue.computed)(()=>{return $.value.label||"label"}),R=(0,_vue.computed)(()=>{return $.value.options||"options"}),W=(0,_vue.computed)(()=>{var e=D.value;return ae(e)}),X=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().select.virtualYConfig||(0,_ui.getConfig)().select.scrollY,V.virtualYConfig||V.scrollY)),Z=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().select.remoteConfig,V.remoteConfig)),J=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().select.optionConfig,V.optionConfig)),Q=(0,_vue.computed)(()=>_xeUtils.default.toNumber(V.multiCharOverflow)),D=(0,_vue.computed)(()=>{var{modelValue:e,multiple:t}=V;let l=[];return _xeUtils.default.isArray(e)?l=e:t?(0,_utils.eqEmptyValue)(e)||(l=-1<(""+e).indexOf(",")?(""+e).split(","):[e]):l=null==e?[]:[e],l}),ee=(0,_vue.computed)(()=>{var e=V["remote"],t=M["reactFlag"],l=D.value;return(e&&t?l.map(e=>ie(e)):l.map(e=>oe(e))).join(", ")}),te=(0,_vue.computed)(()=>{var{remote:e,multiple:t}=V,l=M["reactFlag"],a=Q.value,i=D.value;return e&&l?i.map(e=>ie(e)).join(", "):(e=i.map(e=>oe(e)),t&&0<a&&e.length>a?e.slice(0,a)+"...":e.join(", "))}),N=(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=C[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[],r=(e,t,l)=>{a(e,(0,_ui.createEvent)(l,{$select:F},t))},le=e=>{a("update:modelValue",e)},_=()=>{return J.value.keyField||V.optionId||"_X_OPTION_KEY"},U=e=>{e=e[_()];return e?encodeURIComponent(e):""},ae=e=>{var{multiple:t,max:l}=V;return!(!t||!l)&&e.length>=_xeUtils.default.toNumber(l)},ie=t=>{var e=V["lazyOptions"],{remoteValMaps:l,optFullValMaps:a}=S;const i=I.value;var o=c.value,l=l[t]||a[t],a=l?l.item:null;if(a)return _xeUtils.default.toValueString(a[o]);if(e){l=e.find(e=>e[i]===t);if(l)return l[o]}return t},oe=t=>{var e=V["lazyOptions"],l=S["optFullValMaps"];const a=I.value;var i=c.value,l=M.reactFlag?l[t]:null;if(l)return l.item[i];if(e){l=e.find(e=>e[a]===t);if(l)return l[i]}return t},g=()=>{const{modelValue:t,filterable:e,filterMethod:l}=V,a=M["searchValue"],{fullData:i,optFullValMaps:o}=S,n=c.value,r=I.value,u=(""+(a||"")).toLowerCase();let s=[];return(s=e&&l?i.filter(e=>isOptionVisible(e)&&l({$select:F,group:null,option:e,searchValue:a,value:t})):e?i.filter(e=>isOptionVisible(e)&&(!u||-1<(""+(e[n]||e[r])).toLowerCase().indexOf(u))):i.filter(isOptionVisible)).forEach((e,t)=>{e=o[e[r]];e&&(e._index=t)}),S.afterVisibleList=s,(0,_vue.nextTick)()},ne=e=>{e&&(M.currentOption=e)},u=()=>{const l=V["placement"],a=M["panelIndex"],i=L.value,o=A.value,n=H.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(i,o,{placement:l,teleportTo:n}),t=Object.assign(e.style,{zIndex:a});M.panelStyle=t,M.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},v=()=>{var{loading:e,filterable:t,remote:l}=V,{fullData:a,hpTimeout:i}=S,o=B.value,n=Z.value;e||o||(i&&(clearTimeout(i),S.hpTimeout=void 0),M.initialized||(M.initialized=!0),M.isActivated=!0,M.isAniVisible=!0,t&&(l&&n.enabled&&n.autoLoad&&!a.length?ye:(g(),f))(),setTimeout(()=>{M.visiblePanel=!0,V.filterable&&(0,_vue.nextTick)(()=>{var e=P.value;e&&e.focus()});x().then(()=>{(0,_vue.nextTick)(()=>{var{isAniVisible:e,visiblePanel:t}=M,l=S["optFullValMaps"],a=D.value;a.length&&e&&t&&(e=M.reactFlag?l[""+a[0]]:null)&&Oe(e.item)}),m()})},10),setTimeout(()=>{x().then(()=>m())},100),(e=V.zIndex)?M.panelIndex=e:M.panelIndex<(0,_utils.getLastZIndex)()&&(M.panelIndex=(0,_utils.nextZIndex)()),u(),r("visible-change",{visible:!0},null))},d=()=>{M.searchValue="",M.searchLoading=!1,M.visiblePanel=!1,S.hpTimeout=setTimeout(()=>{M.isAniVisible=!1},350),r("visible-change",{visible:!1},null)},s=(e,t,l)=>{le(t),t!==V.modelValue&&(r("change",{value:t,option:l},e),i)&&o&&i.triggerItemEvent(e,o.itemConfig.field,t)},p=(e,t)=>{S.remoteValMaps={},s(e,t,null),r("clear",{value:t},e)},re=e=>{e=e.$event;p(e,null),d()},ue=e=>{var e=e["$event"],{multiple:t,max:l}=V,a=M["optList"],i=I.value;if(t){var o=D.value.slice(0);for(let e=0;e<a.length;e++){const n=a[e][i];if(ae(o)){_ui.VxeUI&&_ui.VxeUI.modal.message({content:(0,_ui.getI18n)("vxe.select.overSizeErr",[l]),status:"warning"});break}o.some(e=>e===n)||o.push(n)}s(e,o,a[0]),r("all-change",{value:o},e)}},se=e=>{e=e.$event;p(e,null),d()},ce=(t,l)=>{var e=V["multiple"],a=S["remoteValMaps"];const i=l[I.value];var o=a[i];if(M.visiblePanel){if(o?o.item=l:a[i]={key:U(l),item:l,_index:-1},e){let e=[];o=D.value,a=_xeUtils.default.findIndexOf(o,e=>e===i);e=-1===a?o.concat([i]):o.filter(e=>e!==i),s(t,e,l)}else s(t,i,l),d();M.reactFlag++}},ve=e=>{var t=M["visiblePanel"];B.value||t&&(t=A.value,((0,_dom.getEventTargetNode)(e,t).flag?u:d)())},de=e=>{var t,l,a=M["visiblePanel"];B.value||(t=L.value,l=A.value,M.isActivated=(0,_dom.getEventTargetNode)(e,t).flag||(0,_dom.getEventTargetNode)(e,l).flag,a&&!M.isActivated&&d())},h=e=>{var t=e.disabled,e=U(e);return!t&&!ke(e)},pe=(e,t)=>{var l=V["allowCreate"],a=M["optList"],{optFullValMaps:i,optAddMaps:o,afterVisibleList:n}=S,r=I.value;let u=n,s=0;if(l&&a.length&&(n=a[0],o[l=U(n)])&&(s=1,u=[o[l]].concat(u)),!e)if(t)for(let e=0;e<u.length;e++){var c=u[e];if(h(c))return c}else for(let e=u.length-1;0<=e;e--){var v=u[e];if(h(v))return v}let d=0;a=e?i[e[r]]:null;if(-1<(d=a?a._index+s:d))if(t)for(let e=d+1;e<=u.length-1;e++){var p=u[e];if(h(p))return p}else if(0<d)for(let e=d-1;0<=e;e--){var f=u[e];if(h(f))return f}return null},fe=t=>{var e=V["clearable"],{visiblePanel:l,currentOption:a}=M;if(!B.value){var i=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.TAB),o=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.ENTER),n=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.ESCAPE),r=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.ARROW_UP),u=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.ARROW_DOWN),s=_ui.globalEvents.hasKey(t,_ui.GLOBAL_EVENT_KEYS.DELETE);if(i&&(M.isActivated=!1),l){if(n||i)d();else if(o)a&&(t.preventDefault(),t.stopPropagation(),ce(t,a));else if(r||u){t.preventDefault();let e=pe(a,u);(e=e||pe(null,u))&&(ne(e),Oe(e,u))}}else(r||u||o)&&M.isActivated&&(t.preventDefault(),v());M.isActivated&&s&&e&&p(t,null)}},_e=()=>{var{visiblePanel:e,isActivated:t}=M;e&&d(),t&&(M.isActivated=!1),(e||t)&&(e=O.value)&&e.blur()},ge=()=>{var e=M["visiblePanel"];e&&u()},he=e=>{B.value||M.visiblePanel||(M.triggerFocusPanel=!0,v(),setTimeout(()=>{M.triggerFocusPanel=!1},500)),r("focus",{},e)},me=e=>{Ie(e),r("click",{triggerButton:!1,visible:M.visiblePanel},e)},xe=e=>{M.isActivated=!1,r("blur",{},e)},be=e=>{Ie(e),r("click",{triggerButton:!0,visible:M.visiblePanel},e)},Te=e=>{M.searchValue=e},Ee=()=>{M.isActivated=!0},ye=()=>{var{modelValue:e,remote:t,remoteMethod:l}=V,a=M["searchValue"],i=Z.value,l=i.queryMethod||l;t&&l&&i.enabled?(M.searchLoading=!0,Promise.resolve(l({$select:F,searchValue:a,value:e})).then(()=>(0,_vue.nextTick)()).catch(()=>(0,_vue.nextTick)()).finally(()=>{M.searchLoading=!1,g(),f()})):(g(),f())},Se=_xeUtils.default.debounce(ye,350,{trailing:!0}),Ie=e=>{e=e.$event;e.preventDefault(),M.triggerFocusPanel?M.triggerFocusPanel=!1:(M.visiblePanel?d:v)()},Ve=()=>{var e=M["scrollYLoad"],{scrollYStore:t,afterVisibleList:l}=S;M.bodyHeight=e?l.length*t.rowHeight:0,M.topSpaceHeight=e?Math.max(t.startIndex*t.rowHeight,0):0},Ce=()=>{var{filterable:e,allowCreate:t}=V;const{scrollYLoad:l,searchValue:a}=M;var{optAddMaps:i,scrollYStore:o,afterVisibleList:n}=S;const r=c.value;var u=I.value,o=l?n.slice(o.startIndex,o.endIndex):n.slice(0);return e&&t&&a&&(o.some(e=>e[r]===a)||(n=i[a]||(0,_vue.reactive)({[_()]:a,[r]:a,[u]:a}),i[a]=n,o.unshift(n))),M.optList=o,(0,_vue.nextTick)()},f=()=>{Ce(),Ve()},Le=()=>(0,_vue.nextTick)().then(()=>{var e=M["scrollYLoad"],t=S["scrollYStore"],l=k.value,a=X.value;let i=0,o;(o=l?o||l.children[0]:o)&&(i=o.offsetHeight),i=Math.max(20,i),t.rowHeight=i,(e?(l=w.value,e=Math.max(8,l?Math.ceil(l.clientHeight/i):0),l=Math.max(0,Math.min(2,_xeUtils.default.toNumber(a.oSize))),t.offsetSize=l,t.visibleSize=e,t.endIndex=Math.max(t.startIndex,e+l,t.endIndex),f):Ve)()}),Oe=(e,t)=>{var l,a,i=M["scrollYLoad"],{optFullValMaps:o,scrollYStore:n}=S,o=o[e[I.value]];o&&(e=o.key,-1<(o=o._index))&&(l=w.value,a=A.value)&&(a=a.querySelector(`[optid='${e}']`),l)&&(a?(e=l.offsetHeight,t?a.offsetTop+a.offsetHeight-l.scrollTop>e?l.scrollTop=a.offsetTop+a.offsetHeight-e:(a.offsetTop+1<l.scrollTop||a.offsetTop+1>l.scrollTop+l.clientHeight)&&(l.scrollTop=a.offsetTop-1):a.offsetTop+1<l.scrollTop||a.offsetTop+1>l.scrollTop+l.clientHeight?l.scrollTop=a.offsetTop-1:a.offsetTop+a.offsetHeight-l.scrollTop>e&&(l.scrollTop=a.offsetTop+a.offsetHeight-e)):i&&(l.scrollTop=t?o*n.rowHeight-l.clientHeight+n.rowHeight:o*n.rowHeight))},Pe=(e,t)=>{var l=w.value;return l&&(_xeUtils.default.isNumber(e)&&(l.scrollLeft=e),_xeUtils.default.isNumber(t))&&(l.scrollTop=t),M.scrollYLoad?new Promise(e=>{setTimeout(()=>{(0,_vue.nextTick)(()=>{e()})},50)}):(0,_vue.nextTick)()},m=()=>{const{lastScrollLeft:e,lastScrollTop:t}=S;return n().then(()=>{if(e||t)return S.lastScrollLeft=0,S.lastScrollTop=0,Pe(e,t)})},x=()=>{var e=L.value;return e&&e.clientWidth&&e.clientHeight?Le():Promise.resolve()},we=e=>{var t=S["scrollYStore"],{startIndex:l,endIndex:a,visibleSize:i,offsetSize:o,rowHeight:n}=t,e=e.target.scrollTop,e=Math.floor(e/n),n=Math.max(0,e-1-o),o=e+i+o;!(e<=l||a-i-1<=e)||l===n&&a===o||(t.startIndex=n,t.endIndex=o,f())},Ae=e=>{var t=e.target,l=t.scrollTop,t=t.scrollLeft,a=t!==S.lastScrollLeft,i=l!==S.lastScrollTop;S.lastScrollTop=l,S.lastScrollLeft=t,M.scrollYLoad&&we(e),S.lastScrollTime=Date.now(),r("scroll",{scrollLeft:t,scrollTop:l,isX:a,isY:i},e)},l=e=>{{var t=e||[];const r=R.value,u=I.value,s=_(),c={},v={},d=[],p=e=>{d.push(e);let t=U(e);t||(t=getOptUniqueId(),e[s]=t),v[e[u]]={key:t,item:e,_index:-1}};t.forEach(e=>{p(e),e[r]&&(c[e[s]]=e)[r].forEach(p)}),S.fullData=d,S.optGroupKeyMaps=c,S.optFullValMaps=v,M.reactFlag++,g()}var{isLoaded:t,fullData:l,scrollYStore:a}=S,i=q.value,o=X.value;const n=I.value;if(Object.assign(a,{startIndex:0,endIndex:1,visibleSize:0}),S.synchData=e||[],M.scrollYLoad=!!o.enabled&&-1<o.gt&&(0===o.gt||o.gt<=l.length),Ce(),!t){a=i["selectMode"];if(0<e.length&&_xeUtils.default.eqNull(V.modelValue)){if("first"===a||"last"===a){const f=_xeUtils.default[a](e);f&&(0,_vue.nextTick)(()=>{_xeUtils.default.eqNull(V.modelValue)&&le(f[n])})}S.isLoaded=!0}}return Le().then(()=>{m()})},n=()=>{var e=w.value;return e&&(e.scrollTop=0,e.scrollLeft=0),S.lastScrollTop=0,(S.lastScrollLeft=0,_vue.nextTick)()},ke=e=>{var t=S["optGroupKeyMaps"];return!!t[e]};t={dispatchEvent:r,loadData:l,reloadData(e){return S.isLoaded=!1,n(),l(e)},isPanelVisible(){return M.visiblePanel},togglePanel(){return(M.visiblePanel?d:v)(),(0,_vue.nextTick)()},hidePanel(){return M.visiblePanel&&d(),(0,_vue.nextTick)()},showPanel(){return M.visiblePanel||v(),(0,_vue.nextTick)()},refreshOption(){return g(),f(),(0,_vue.nextTick)()},focus(){var e=O.value;return e&&e.blur(),M.isActivated=!0,(0,_vue.nextTick)()},blur(){var e=O.value;return e&&e.blur(),(M.isActivated=!1,_vue.nextTick)()},recalculate:x,clearScroll:n};Object.assign(F,t);const Me=e=>{const{allowCreate:f,optionKey:_}=V,g=M["currentOption"],h=S["optAddMaps"];var t=J.value;const m=c.value,x=I.value,b=G.value,T=D.value,E=t["useKey"],y=C.option;return e.map((t,e)=>{var{slots:l,className:a}=t,i=U(t),o=t[x];const n=ke(i);var r=!(!f||!h[i]),u=!r&&-1<T.indexOf(o),s=r||!n||isOptionVisible(t);const c=!r&&(v=u,!!t.disabled||!(!W.value||v));var v=l?l.default:null,l={option:t,group:n?t:null,$select:F};let d="",p=[];return p=y?N(y,l):v?N(v,l):d=(0,_utils.getFuncText)(t[n?b:m]||o),s?(0,_vue.h)("div",{key:E||_?i:e,class:["vxe-select-option",a?_xeUtils.default.isFunction(a)?a(l):a:"",{"vxe-select-optgroup":n,"is--disabled":c,"is--selected":u,"is--add":r,"is--hover":g&&U(g)===i}],optid:i,title:d||null,onMousedown:e=>{0===e.button&&e.stopPropagation()},onClick:e=>{c||n||ce(e,t)},onMouseenter:()=>{var e;c||n||(e=S.lastScrollTime)&&Date.now()<e+250||ne(t)}},f?[(0,_vue.h)("span",{key:1,class:"vxe-select-option--label"},p),r?(0,_vue.h)("span",{key:2,class:"vxe-select-option--add-icon"},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().SELECT_ADD_OPTION})]):(0,_ui.renderEmptyElement)(F)]:p):(0,_ui.renderEmptyElement)(F)})};return(0,_vue.watch)(()=>M.staticOptions,e=>{l(e)}),(0,_vue.watch)(()=>V.options,e=>{l(e||[])}),(0,_vue.watch)(()=>V.optionGroups,e=>{l(e||[])}),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{var{options:e,optionGroups:t}=V;t?l(t):e&&l(e)}),_ui.globalEvents.on(F,"mousewheel",ve),_ui.globalEvents.on(F,"mousedown",de),_ui.globalEvents.on(F,"keydown",fe),_ui.globalEvents.on(F,"blur",_e),_ui.globalEvents.on(F,"resize",ge)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(F,"mousewheel"),_ui.globalEvents.off(F,"mousedown"),_ui.globalEvents.off(F,"keydown"),_ui.globalEvents.off(F,"blur"),_ui.globalEvents.off(F,"resize"),_xeUtils.default.assign(S,createInternalData())}),(0,_vue.provide)("$xeSelect",F),F.renderVN=()=>{var{className:e,popupClassName:t,multiple:l,loading:a,filterable:i,showTotalButoon:o,showCheckedButoon:n,showClearButton:r}=V,{initialized:u,isActivated:s,isAniVisible:c,optList:v,visiblePanel:d,bodyHeight:p,topSpaceHeight:f}=M,_=Y.value,g=B.value,h=te.value,m=ee.value,x=H.value,b=z.value,T=j.value,E=C.default,y=C.header,S=C.footer;const I=C.prefix;return b?(0,_vue.h)("div",{ref:L,class:["vxe-select--readonly",e]},[(0,_vue.h)("div",{class:"vxe-select-slots",ref:"hideOption"},E?E({}):[]),(0,_vue.h)("span",{class:"vxe-select-label",title:m},h)]):(b=D.value,(0,_vue.h)("div",{ref:L,class:["vxe-select",e?_xeUtils.default.isFunction(e)?e({$select:F}):e:"",{["size--"+_]:_,"is--visible":d,"is--disabled":g,"is--filter":i,"is--loading":a,"is--active":s}]},[(0,_vue.h)("div",{class:"vxe-select-slots",ref:"hideOption"},E?E({}):[]),(0,_vue.h)(_input.default,{ref:O,clearable:V.clearable,placeholder:T,readonly:!0,disabled:g,type:"text",prefixIcon:V.prefixIcon,suffixIcon:a?(0,_ui.getIcon)().SELECT_LOADED:d?(0,_ui.getIcon)().SELECT_OPEN:(0,_ui.getIcon)().SELECT_CLOSE,autoFocus:!1,title:m,modelValue:h,onClear:re,onClick:me,onFocus:he,onBlur:xe,onSuffixClick:be},I?{prefix:()=>I({})}:{}),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!x||!u},[(0,_vue.h)("div",{ref:A,class:["vxe-table--ignore-clear vxe-select--panel",t?_xeUtils.default.isFunction(t)?t({$select:F}):t:"",{["size--"+_]:_,"is--transfer":x,"ani--leave":!a&&c,"ani--enter":!a&&d}],placement:M.panelPlacement,style:M.panelStyle},u&&(d||c)?[(0,_vue.h)("div",{class:"vxe-select--panel-wrapper"},[i?(0,_vue.h)("div",{class:"vxe-select--panel-search"},[(0,_vue.h)(_input.default,{ref:P,class:"vxe-select-search--input",modelValue:M.searchValue,type:"text",clearable:!0,disabled:!1,readonly:!1,placeholder:(0,_ui.getI18n)("vxe.select.search"),prefixIcon:(0,_ui.getIcon)().INPUT_SEARCH,"onUpdate:modelValue":Te,onFocus:Ee,onChange:Se,onSearch:Se})]):(0,_ui.renderEmptyElement)(F),o||n&&l||r||y?(0,_vue.h)("div",{class:"vxe-select--panel-header"},y?N(y,{}):[(0,_vue.h)("div",{class:"vxe-select--header-button"},[o?(0,_vue.h)("div",{class:"vxe-select--header-total"},(0,_ui.getI18n)("vxe.select.total",[b.length,v.length])):(0,_ui.renderEmptyElement)(F),(0,_vue.h)("div",{class:"vxe-select--header-btns"},[n&&l?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.select.allChecked"),mode:"text",onClick:ue}):(0,_ui.renderEmptyElement)(F),r?(0,_vue.h)(_button.default,{content:(0,_ui.getI18n)("vxe.select.clear"),mode:"text",onClick:se}):(0,_ui.renderEmptyElement)(F)])])]):(0,_ui.renderEmptyElement)(F),(0,_vue.h)("div",{class:"vxe-select--panel-body"},[(0,_vue.h)("div",{ref:w,class:"vxe-select-option--wrapper",onScroll:Ae},[(0,_vue.h)("div",{class:"vxe-select--y-space",style:{height:p?p+"px":""}}),(0,_vue.h)("div",{ref:k,class:"vxe-select--body",style:{transform:`translateY(${f}px)`}},(()=>{var{optList:e,searchLoading:t}=M;return t?[(0,_vue.h)("div",{class:"vxe-select--search-loading"},[(0,_vue.h)("i",{class:["vxe-select--search-icon",(0,_ui.getIcon)().SELECT_LOADED]}),(0,_vue.h)("span",{class:"vxe-select--search-text"},(0,_ui.getI18n)("vxe.select.loadingText"))])]:e.length?Me(e):[(0,_vue.h)("div",{class:"vxe-select--empty-placeholder"},V.emptyText||(0,_ui.getI18n)("vxe.select.emptyText"))]})())])]),S?(0,_vue.h)("div",{class:"vxe-select--panel-footer"},N(S,{})):(0,_ui.renderEmptyElement)(F)])]:[])])]))},F},render(){return this.renderVN()}});
|