vxe-pc-ui 3.4.1 → 3.4.3
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/color-picker/src/color-picker.js +2 -2
- package/es/date-picker/src/date-picker.js +1 -1
- package/es/form/src/form.js +4 -4
- package/es/icon/style.css +1 -1
- package/es/icon-picker/src/icon-picker.js +1 -1
- package/es/input/src/input.js +4 -4
- package/es/number-input/src/number-input.js +3 -3
- package/es/pulldown/src/pulldown.js +1 -1
- package/es/select/src/select.js +64 -12
- package/es/select/style.css +17 -0
- package/es/select/style.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table-select/src/table-select.js +1 -1
- package/es/tree-select/src/tree-select.js +1 -1
- package/es/ui/index.js +2 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-select/style.css +17 -0
- package/es/vxe-select/style.min.css +1 -1
- package/lib/color-picker/src/color-picker.js +2 -2
- package/lib/color-picker/src/color-picker.min.js +1 -1
- package/lib/date-picker/src/date-picker.js +1 -1
- package/lib/date-picker/src/date-picker.min.js +1 -1
- package/lib/form/src/form.js +4 -4
- package/lib/form/src/form.min.js +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/icon-picker/src/icon-picker.js +1 -1
- package/lib/icon-picker/src/icon-picker.min.js +1 -1
- package/lib/index.umd.js +90 -32
- package/lib/index.umd.min.js +1 -1
- package/lib/input/src/input.js +4 -4
- package/lib/input/src/input.min.js +1 -1
- package/lib/number-input/src/number-input.js +3 -3
- package/lib/number-input/src/number-input.min.js +1 -1
- package/lib/pulldown/src/pulldown.js +1 -1
- package/lib/pulldown/src/pulldown.min.js +1 -1
- package/lib/select/src/select.js +69 -12
- package/lib/select/src/select.min.js +1 -1
- package/lib/select/style/style.css +17 -0
- package/lib/select/style/style.min.css +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table-select/src/table-select.js +1 -1
- package/lib/table-select/src/table-select.min.js +1 -1
- package/lib/tree-select/src/tree-select.js +1 -1
- package/lib/tree-select/src/tree-select.min.js +1 -1
- package/lib/ui/index.js +2 -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/lib/vxe-select/style/style.css +17 -0
- package/lib/vxe-select/style/style.min.css +1 -1
- package/package.json +1 -1
- package/packages/color-picker/src/color-picker.ts +2 -2
- package/packages/date-picker/src/date-picker.ts +1 -1
- package/packages/form/src/form.ts +4 -4
- package/packages/icon-picker/src/icon-picker.ts +1 -1
- package/packages/input/src/input.ts +4 -4
- package/packages/number-input/src/number-input.ts +3 -3
- package/packages/pulldown/src/pulldown.ts +1 -1
- package/packages/select/src/select.ts +65 -12
- package/packages/table-select/src/table-select.ts +1 -1
- package/packages/tree-select/src/tree-select.ts +1 -1
- package/packages/ui/index.ts +1 -0
- package/styles/components/select.scss +19 -0
- package/types/components/select.d.ts +15 -2
- package/types/ui/global-icon.d.ts +1 -0
- /package/es/icon/{iconfont.1741079786101.ttf → iconfont.1741230044715.ttf} +0 -0
- /package/es/icon/{iconfont.1741079786101.woff → iconfont.1741230044715.woff} +0 -0
- /package/es/icon/{iconfont.1741079786101.woff2 → iconfont.1741230044715.woff2} +0 -0
- /package/es/{iconfont.1741079786101.ttf → iconfont.1741230044715.ttf} +0 -0
- /package/es/{iconfont.1741079786101.woff → iconfont.1741230044715.woff} +0 -0
- /package/es/{iconfont.1741079786101.woff2 → iconfont.1741230044715.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1741079786101.ttf → iconfont.1741230044715.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1741079786101.woff → iconfont.1741230044715.woff} +0 -0
- /package/lib/icon/style/{iconfont.1741079786101.woff2 → iconfont.1741230044715.woff2} +0 -0
- /package/lib/{iconfont.1741079786101.ttf → iconfont.1741230044715.ttf} +0 -0
- /package/lib/{iconfont.1741079786101.woff → iconfont.1741230044715.woff} +0 -0
- /package/lib/{iconfont.1741079786101.woff2 → iconfont.1741230044715.woff2} +0 -0
package/lib/select/src/select.js
CHANGED
|
@@ -51,6 +51,12 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
51
51
|
}
|
|
52
52
|
},
|
|
53
53
|
prefixIcon: String,
|
|
54
|
+
allowCreate: {
|
|
55
|
+
type: Boolean,
|
|
56
|
+
default: function _default() {
|
|
57
|
+
return (0, _ui.getConfig)().select.allowCreate;
|
|
58
|
+
}
|
|
59
|
+
},
|
|
54
60
|
placement: String,
|
|
55
61
|
options: Array,
|
|
56
62
|
optionProps: Object,
|
|
@@ -138,6 +144,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
138
144
|
var internalData = {
|
|
139
145
|
synchData: [],
|
|
140
146
|
fullData: [],
|
|
147
|
+
optAddMaps: {},
|
|
141
148
|
optGroupKeyMaps: {},
|
|
142
149
|
optFullValMaps: {},
|
|
143
150
|
remoteValMaps: {},
|
|
@@ -678,6 +685,9 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
678
685
|
}, 100);
|
|
679
686
|
$xeSelect.updateZIndex();
|
|
680
687
|
$xeSelect.updatePlacement();
|
|
688
|
+
$xeSelect.dispatchEvent('visible-change', {
|
|
689
|
+
visible: true
|
|
690
|
+
}, null);
|
|
681
691
|
}
|
|
682
692
|
},
|
|
683
693
|
hideOptionPanel: function hideOptionPanel() {
|
|
@@ -687,9 +697,12 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
687
697
|
reactData.searchValue = '';
|
|
688
698
|
reactData.searchLoading = false;
|
|
689
699
|
reactData.visiblePanel = false;
|
|
690
|
-
internalData.hpTimeout =
|
|
700
|
+
internalData.hpTimeout = setTimeout(function () {
|
|
691
701
|
reactData.isAniVisible = false;
|
|
692
702
|
}, 350);
|
|
703
|
+
$xeSelect.dispatchEvent('visible-change', {
|
|
704
|
+
visible: false
|
|
705
|
+
}, null);
|
|
693
706
|
},
|
|
694
707
|
changeEvent: function changeEvent(evnt, selectValue) {
|
|
695
708
|
var $xeSelect = this;
|
|
@@ -913,15 +926,19 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
913
926
|
$xeSelect.showOptionPanel();
|
|
914
927
|
setTimeout(function () {
|
|
915
928
|
reactData.triggerFocusPanel = false;
|
|
916
|
-
},
|
|
929
|
+
}, 500);
|
|
917
930
|
}
|
|
918
931
|
}
|
|
919
932
|
$xeSelect.dispatchEvent('focus', {}, evnt);
|
|
920
933
|
},
|
|
921
934
|
clickEvent: function clickEvent(evnt) {
|
|
922
935
|
var $xeSelect = this;
|
|
936
|
+
var reactData = $xeSelect.reactData;
|
|
923
937
|
$xeSelect.togglePanelEvent(evnt);
|
|
924
|
-
$xeSelect.dispatchEvent('click', {
|
|
938
|
+
$xeSelect.dispatchEvent('click', {
|
|
939
|
+
triggerButton: false,
|
|
940
|
+
visible: reactData.visiblePanel
|
|
941
|
+
}, evnt);
|
|
925
942
|
},
|
|
926
943
|
blurEvent: function blurEvent(evnt) {
|
|
927
944
|
var $xeSelect = this;
|
|
@@ -929,6 +946,15 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
929
946
|
reactData.isActivated = false;
|
|
930
947
|
$xeSelect.dispatchEvent('blur', {}, evnt);
|
|
931
948
|
},
|
|
949
|
+
suffixClickEvent: function suffixClickEvent(evnt) {
|
|
950
|
+
var $xeSelect = this;
|
|
951
|
+
var reactData = $xeSelect.reactData;
|
|
952
|
+
$xeSelect.togglePanelEvent(evnt);
|
|
953
|
+
$xeSelect.dispatchEvent('click', {
|
|
954
|
+
triggerButton: true,
|
|
955
|
+
visible: reactData.visiblePanel
|
|
956
|
+
}, evnt);
|
|
957
|
+
},
|
|
932
958
|
modelSearchEvent: function modelSearchEvent(value) {
|
|
933
959
|
var $xeSelect = this;
|
|
934
960
|
var reactData = $xeSelect.reactData;
|
|
@@ -1011,12 +1037,29 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1011
1037
|
},
|
|
1012
1038
|
handleData: function handleData() {
|
|
1013
1039
|
var $xeSelect = this;
|
|
1040
|
+
var props = $xeSelect;
|
|
1014
1041
|
var reactData = $xeSelect.reactData;
|
|
1015
1042
|
var internalData = $xeSelect.internalData;
|
|
1043
|
+
var filterable = props.filterable,
|
|
1044
|
+
allowCreate = props.allowCreate;
|
|
1016
1045
|
var scrollYLoad = reactData.scrollYLoad,
|
|
1017
|
-
afterVisibleList = reactData.afterVisibleList
|
|
1018
|
-
|
|
1019
|
-
|
|
1046
|
+
afterVisibleList = reactData.afterVisibleList,
|
|
1047
|
+
searchValue = reactData.searchValue;
|
|
1048
|
+
var optAddMaps = internalData.optAddMaps,
|
|
1049
|
+
scrollYStore = internalData.scrollYStore;
|
|
1050
|
+
var labelField = $xeSelect.computeLabelField;
|
|
1051
|
+
var valueField = $xeSelect.computeValueField;
|
|
1052
|
+
var restList = scrollYLoad ? afterVisibleList.slice(scrollYStore.startIndex, scrollYStore.endIndex) : afterVisibleList.slice(0);
|
|
1053
|
+
if (filterable && allowCreate && searchValue) {
|
|
1054
|
+
if (!restList.some(function (option) {
|
|
1055
|
+
return option[labelField] === searchValue;
|
|
1056
|
+
})) {
|
|
1057
|
+
var addItem = optAddMaps[searchValue] || _defineProperty(_defineProperty(_defineProperty({}, $xeSelect.getOptKey(), searchValue), labelField, searchValue), valueField, searchValue);
|
|
1058
|
+
optAddMaps[searchValue] = addItem;
|
|
1059
|
+
restList.unshift(addItem);
|
|
1060
|
+
}
|
|
1061
|
+
}
|
|
1062
|
+
reactData.optList = restList;
|
|
1020
1063
|
return $xeSelect.$nextTick();
|
|
1021
1064
|
},
|
|
1022
1065
|
updateYData: function updateYData() {
|
|
@@ -1287,9 +1330,12 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1287
1330
|
var props = $xeSelect;
|
|
1288
1331
|
var slots = $xeSelect.$scopedSlots;
|
|
1289
1332
|
var reactData = $xeSelect.reactData;
|
|
1290
|
-
var
|
|
1333
|
+
var internalData = $xeSelect.internalData;
|
|
1334
|
+
var allowCreate = props.allowCreate,
|
|
1335
|
+
optionKey = props.optionKey,
|
|
1291
1336
|
value = props.value;
|
|
1292
1337
|
var currentOption = reactData.currentOption;
|
|
1338
|
+
var optAddMaps = internalData.optAddMaps;
|
|
1293
1339
|
var optionOpts = $xeSelect.computeOptionOpts;
|
|
1294
1340
|
var labelField = $xeSelect.computeLabelField;
|
|
1295
1341
|
var valueField = $xeSelect.computeValueField;
|
|
@@ -1302,21 +1348,24 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1302
1348
|
var optid = $xeSelect.getOptId(option);
|
|
1303
1349
|
var optionValue = option[valueField];
|
|
1304
1350
|
var isOptGroup = $xeSelect.hasOptGroupById(optid);
|
|
1305
|
-
var
|
|
1306
|
-
var
|
|
1307
|
-
var
|
|
1351
|
+
var isAdd = !!(allowCreate && optAddMaps[optid]);
|
|
1352
|
+
var isSelected = !isAdd && (_xeUtils.default.isArray(value) ? value.indexOf(optionValue) > -1 : value === optionValue);
|
|
1353
|
+
var isVisible = isAdd || !isOptGroup || isOptionVisible(option);
|
|
1354
|
+
var isDisabled = !isAdd && $xeSelect.checkOptionDisabled(isSelected, option, group);
|
|
1308
1355
|
var defaultSlot = slots ? slots.default : null;
|
|
1309
1356
|
var optParams = {
|
|
1310
1357
|
option: option,
|
|
1311
1358
|
group: null,
|
|
1312
1359
|
$select: $xeSelect
|
|
1313
1360
|
};
|
|
1361
|
+
var optVNs = optionSlot ? $xeSelect.callSlot(optionSlot, optParams, h) : defaultSlot ? $xeSelect.callSlot(defaultSlot, optParams, h) : (0, _utils.getFuncText)(option[isOptGroup ? groupLabelField : labelField]);
|
|
1314
1362
|
return isVisible ? h('div', {
|
|
1315
1363
|
key: useKey || optionKey ? optid : cIndex,
|
|
1316
1364
|
class: ['vxe-select-option', className ? _xeUtils.default.isFunction(className) ? className(optParams) : className : '', {
|
|
1317
1365
|
'vxe-select-optgroup': isOptGroup,
|
|
1318
1366
|
'is--disabled': isDisabled,
|
|
1319
1367
|
'is--selected': isSelected,
|
|
1368
|
+
'is--add': isAdd,
|
|
1320
1369
|
'is--hover': currentOption && $xeSelect.getOptId(currentOption) === optid
|
|
1321
1370
|
}],
|
|
1322
1371
|
attrs: {
|
|
@@ -1340,7 +1389,15 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1340
1389
|
}
|
|
1341
1390
|
}
|
|
1342
1391
|
}
|
|
1343
|
-
},
|
|
1392
|
+
}, allowCreate ? [h('span', {
|
|
1393
|
+
key: 1,
|
|
1394
|
+
class: 'vxe-select-option--label'
|
|
1395
|
+
}, optVNs), isAdd ? h('span', {
|
|
1396
|
+
key: 2,
|
|
1397
|
+
class: 'vxe-select-option--add-icon'
|
|
1398
|
+
}, [h('i', {
|
|
1399
|
+
class: (0, _ui.getIcon)().ADD_OPTION
|
|
1400
|
+
})]) : (0, _ui.renderEmptyElement)($xeSelect)] : optVNs) : (0, _ui.renderEmptyElement)($xeSelect);
|
|
1344
1401
|
});
|
|
1345
1402
|
},
|
|
1346
1403
|
renderOpts: function renderOpts(h) {
|
|
@@ -1426,7 +1483,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1426
1483
|
click: $xeSelect.clickEvent,
|
|
1427
1484
|
focus: $xeSelect.focusEvent,
|
|
1428
1485
|
blur: $xeSelect.blurEvent,
|
|
1429
|
-
'suffix-click': $xeSelect.
|
|
1486
|
+
'suffix-click': $xeSelect.suffixClickEvent
|
|
1430
1487
|
},
|
|
1431
1488
|
scopedSlots: prefixSlot ? {
|
|
1432
1489
|
prefix: function prefix() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_input=_interopRequireDefault(require("../../input/src/input")),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _defineProperty(e,t,i){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"==_typeof(e)?e:e+""}function _toPrimitive(e,t){if("object"!=_typeof(e)||!e)return e;var i=e[Symbol.toPrimitive];if(void 0===i)return("string"===t?String:Number)(e);i=i.call(e,t||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}function isOptionVisible(e){return!1!==e.visible}function getOptUniqueId(){return _xeUtils.default.uniqueId("opt_")}var _default2=exports.default=(0,_comp.defineVxeComponent)({name:"VxeSelect",mixins:[_ui.globalMixins.sizeMixin],model:{prop:"value",event:"modelValue"},props:{value:[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:function(){return(0,_ui.getConfig)().select.multiCharOverflow}},prefixIcon:String,placement:String,options:Array,optionProps:Object,optionGroups:Array,optionGroupProps:Object,optionConfig:Object,className:[String,Function],popupClassName:[String,Function],max:{type:[String,Number],default:null},size:{type:String,default:function(){return(0,_ui.getConfig)().select.size||(0,_ui.getConfig)().size}},filterable:Boolean,filterMethod:Function,remote:Boolean,remoteMethod:Function,emptyText:String,transfer:{type:Boolean,default:null},scrollY:Object,optionId:{type:String,default:function(){return(0,_ui.getConfig)().select.optionId}},optionKey:Boolean},inject:{$xeModal:{default:null},$xeDrawer:{default:null},$xeTable:{default:null},$xeForm:{default:null},formItemInfo:{from:"xeFormItemInfo",default:null}},provide:function(){return{$xeSelect:this}},data:function(){return{xID:_xeUtils.default.uniqueId(),reactData:{initialized:!1,scrollYLoad:!1,bodyHeight:0,topSpaceHeight:0,optList:[],afterVisibleList:[],staticOptions:[],reactFlag:0,currentOption:null,searchValue:"",searchLoading:!1,panelIndex:0,panelStyle:{},panelPlacement:null,triggerFocusPanel:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1},internalData:{synchData:[],fullData:[],optGroupKeyMaps:{},optFullValMaps:{},remoteValMaps:{},lastScrollLeft:0,lastScrollTop:0,scrollYStore:{startIndex:0,endIndex:0,visibleSize:0,offsetSize:0,rowHeight:0},lastScrollTime:0,hpTimeout:void 0}}},computed:Object.assign(Object.assign({},{}),{computeFormReadonly:function(){var e=this.$xeForm,t=this.readonly;return null===t?!!e&&e.readonly:t},computeIsDisabled:function(){var e=this.$xeForm,t=this.disabled;return null===t?!!e&&e.disabled:t},computeBtnTransfer:function(){var e=this,t=e.$xeTable,i=e.$xeModal,n=e.$xeDrawer,a=e.$xeForm,e=e.transfer;if(null===e){var l=(0,_ui.getConfig)().select.transfer;if(_xeUtils.default.isBoolean(l))return l;if(t||i||n||a)return!0}return e},computeInpPlaceholder:function(){var e=this.placeholder;return(e=e||(0,_ui.getConfig)().select.placeholder)?(0,_utils.getFuncText)(e):(0,_ui.getI18n)("vxe.base.pleaseSelect")},computeDefaultOpts:function(){return Object.assign({},this.defaultConfig)},computePropsOpts:function(){return Object.assign({},this.optionProps)},computeGroupPropsOpts:function(){return Object.assign({},this.optionGroupProps)},computeLabelField:function(){return this.computePropsOpts.label||"label"},computeValueField:function(){return this.computePropsOpts.value||"value"},computeGroupLabelField:function(){return this.computeGroupPropsOpts.label||"label"},computeGroupOptionsField:function(){return this.computeGroupPropsOpts.options||"options"},computeIsMaximize:function(){var e=this.value,t=this.multiple,i=this.max;return!(!t||!i)&&(_xeUtils.default.isArray(e)?e.length:_xeUtils.default.eqNull(e)?0:1)>=_xeUtils.default.toNumber(i)},computeSYOpts:function(){return Object.assign({},(0,_ui.getConfig)().select.scrollY,this.scrollY)},computeOptionOpts:function(){return Object.assign({},(0,_ui.getConfig)().select.optionConfig,this.optionConfig)},computeIsGroup:function(){return this.reactData.fullGroupList.some(function(e){return e.options&&e.options.length})},computeMultiMaxCharNum:function(){return _xeUtils.default.toNumber(this.multiCharOverflow)},computeSelectLabel:function(){var t=this,e=t.value,i=t.remote,n=t.multiple,a=t.computeMultiMaxCharNum;return _xeUtils.default.eqNull(e)?"":(e=_xeUtils.default.isArray(e)?e:[e],(i?e.map(function(e){return t.getRemoteSelectLabel(e)}):e.map(function(e){e=t.getSelectLabel(e);return n&&0<a&&e.length>a?"".concat(e.substring(0,a),"..."):e})).join(", "))}}),methods:{dispatchEvent:function(e,t,i){this.$emit(e,(0,_ui.createEvent)(i,{$select:this},t))},emitModel:function(e){var t=this._events;t&&t.modelValue?this.$emit("modelValue",e):this.$emit("model-value",e)},isPanelVisible:function(){return this.reactData.visiblePanel},togglePanel:function(){return this.reactData.visiblePanel?this.hideOptionPanel():this.showOptionPanel(),this.$nextTick()},hidePanel:function(){return this.reactData.visiblePanel&&this.hideOptionPanel(),this.$nextTick()},showPanel:function(){return this.reactData.visiblePanel||this.showOptionPanel(),this.$nextTick()},focus:function(){var e=this.reactData,t=this.$refs.refInput;return e.isActivated=!0,t.blur(),this.$nextTick()},blur:function(){var e=this.reactData;return this.$refs.refInput.blur(),e.isActivated=!1,this.$nextTick()},callSlot:function(e,t,i){var n=this.$scopedSlots;return e&&(_xeUtils.default.isString(e)&&(e=n[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e.call(this,t,i)):[]},getOptKey:function(){return this.computeOptionOpts.keyField||this.optionId||"_X_OPTION_KEY"},getOptId:function(e){e=e[this.getOptKey()];return e?encodeURIComponent(e):""},getRemoteSelectLabel:function(e){var t=this.internalData.remoteValMaps,i=this.computeLabelField,t=t[e],t=t?t.item:null;return _xeUtils.default.toValueString(t?t[i]:e)},getSelectLabel:function(e){var t=this.reactData,i=this.internalData.optFullValMaps,n=this.computeLabelField,t=t.reactFlag?i[e]:null;return t?t.item[n]:_xeUtils.default.toValueString(e)},getOptkey:function(){return this.computeOptionOpts.keyField||this.optionId||"_X_OPTION_KEY"},getOptid:function(e){e=e[this.getOptkey()];return e?encodeURIComponent(e):""},handleOption:function(){var e=this,t=e.reactData,i=e.internalData,n=e.filterable,a=e.filterMethod,l=t.searchValue,o=i.fullData,r=i.optFullValMaps,s=e.computeLabelField,c=e.computeValueField,u="".concat(l||"").toLowerCase(),i=[];return(i=n&&a?o.filter(function(e){return isOptionVisible(e)&&a({group:null,option:e,searchValue:u})}):n?o.filter(function(e){return isOptionVisible(e)&&(!u||-1<"".concat(e[s]).toLowerCase().indexOf(u))}):o.filter(isOptionVisible)).forEach(function(e,t){e=r[e[c]];e&&(e._index=t)}),t.afterVisibleList=i,e.$nextTick()},refreshOption:function(){return this.handleOption(),this.updateYData(),this.$nextTick()},cacheItemMap:function(e){function t(e){u.push(e);var t=i.getOptId(e);t||(t=getOptUniqueId(),e[r]=t),c[e[o]]={key:t,item:e,_index:-1}}var i=this,n=i.reactData,a=i.internalData,l=i.computeGroupOptionsField,o=i.computeValueField,r=i.getOptKey(),s={},c={},u=[];e.forEach(function(e){t(e),e[l]&&(s[e[r]]=e)[l].forEach(t)}),a.fullData=u,a.optGroupKeyMaps=s,a.optFullValMaps=c,n.reactFlag++,i.handleOption()},setCurrentOption:function(e){var t=this.reactData;e&&(t.currentOption=e)},scrollToOption:function(n,a){var l=this;return l.$nextTick().then(function(){var e,t,i;n&&(e=l.$refs.refOptionWrapper,t=l.$refs.refOptionPanel.querySelector("[optid='".concat(l.getOptid(n),"']")),e)&&t&&(i=e.offsetHeight,a?t.offsetTop+t.offsetHeight-e.scrollTop>i&&(e.scrollTop=t.offsetTop+t.offsetHeight-i):(t.offsetTop+5<e.scrollTop||t.offsetTop+5>e.scrollTop+e.clientHeight)&&(e.scrollTop=t.offsetTop-5))})},updateZindex:function(){var e=this.reactData;e.panelIndex<(0,_utils.getLastZIndex)()&&(e.panelIndex=(0,_utils.nextZIndex)())},updateZIndex:function(){var e=this.reactData;e.panelIndex<(0,_utils.getLastZIndex)()&&(e.panelIndex=(0,_utils.nextZIndex)())},updatePlacement:function(){var f=this,d=f,h=f.reactData;return f.$nextTick().then(function(){var e,t,i,n,a,l,o,r=d.placement,s=h.panelIndex,c=f.$refs.refElem,u=f.$refs.refOptionPanel,p=f.computeBtnTransfer;if(u&&c)return e=c.offsetHeight,t=c.offsetWidth,i=u.offsetHeight,u=u.offsetWidth,s={zIndex:s},n=(c=(0,_dom.getAbsolutePos)(c)).boundingTop,a=c.visibleHeight,l=c.visibleWidth,o="bottom",p?(p=n+e,"top"===r?(o="top",p=n-i):r||(a<p+i+5&&(o="top",p=n-i),p<5&&(o="bottom",p=n+e)),l<(c=c.boundingLeft)+u+5&&(c-=c+u+5-l),c<5&&(c=5),Object.assign(s,{left:"".concat(c,"px"),top:"".concat(p,"px"),minWidth:"".concat(t,"px")})):"top"===r?(o="top",s.bottom="".concat(e,"px")):r||a<n+e+i&&5<n-e-i&&(o="top",s.bottom="".concat(e,"px")),h.panelStyle=s,h.panelPlacement=o,f.$nextTick()})},showOptionPanel:function(){var e=this,t=e.reactData,i=e.internalData,n=e.loading,a=e.filterable,l=i.hpTimeout;n||e.computeIsDisabled||(l&&(clearTimeout(l),i.hpTimeout=void 0),t.initialized||(t.initialized=!0,n=e.computeBtnTransfer,l=e.$refs.refOptionPanel,n&&l&&document.body.appendChild(l)),t.isActivated=!0,t.isAniVisible=!0,a&&(e.handleOption(),e.updateYData()),setTimeout(function(){t.visiblePanel=!0,e.handleFocusSearch(),e.recalculate().then(function(){return e.refreshScroll()})},10),setTimeout(function(){e.recalculate().then(function(){return e.refreshScroll()})},100),e.updateZIndex(),e.updatePlacement())},hideOptionPanel:function(){var e=this.reactData,t=this.internalData;e.searchValue="",e.searchLoading=!1,e.visiblePanel=!1,t.hpTimeout=window.setTimeout(function(){e.isAniVisible=!1},350)},changeEvent:function(e,t){var i=this,n=i,a=i.$xeForm,l=i.formItemInfo;i.emitModel(t),t!==n.value&&(i.dispatchEvent("change",{value:t},e),a)&&l&&a.triggerItemEvent(e,l.itemConfig.field,t)},clearValueEvent:function(e,t){this.internalData.remoteValMaps={},this.changeEvent(e,t),this.dispatchEvent("clear",{value:t},e)},clearEvent:function(e,t){this.clearValueEvent(t,null),this.hideOptionPanel()},changeOptionEvent:function(e,t){var i=this,n=i.reactData,a=i.value,l=i.multiple,o=i.internalData.remoteValMaps,r=t[i.computeValueField],s=o[r];s?s.item=t:o[r]={key:i.getOptId(t),item:t,_index:-1},l?(s=[],o=_xeUtils.default.eqNull(a)?[]:_xeUtils.default.isArray(a)?a:[a],s=-1===_xeUtils.default.findIndexOf(o,function(e){return e===r})?o.concat([r]):o.filter(function(e){return e!==r}),i.changeEvent(e,s)):(i.changeEvent(e,r),i.hideOptionPanel()),n.reactFlag++},handleGlobalMousewheelEvent:function(e){var t=this,i=t.reactData.visiblePanel;t.computeIsDisabled||i&&(i=t.$refs.refOptionPanel,(0,_dom.getEventTargetNode)(e,i).flag?t.updatePlacement():t.hideOptionPanel())},handleGlobalMousedownEvent:function(e){var t,i,n=this,a=n.reactData,l=a.visiblePanel;n.computeIsDisabled||(t=n.$refs.refElem,i=n.$refs.refOptionPanel,a.isActivated=(0,_dom.getEventTargetNode)(e,t).flag||(0,_dom.getEventTargetNode)(e,i).flag,l&&!a.isActivated&&n.hideOptionPanel())},validOffsetOption:function(e){var t=e.disabled,e=this.getOptId(e);return!t&&!this.hasOptGroupById(e)},findOffsetOption:function(e,t){var i=this,n=i.reactData.afterVisibleList,a=i.internalData.optFullValMaps,l=i.computeValueField;if(!e)for(var o=0;o<n.length-1;o++){var r=n[o];if(i.validOffsetOption(r))return r}a=a[e[l]];if(a){e=a._index;if(-1<e)if(t)for(var s=e+1;s<=n.length-1;s++){var c=n[s];if(i.validOffsetOption(c))return c}else if(0<e)for(var u=e-1;0<=u;u--){var p=n[u];if(i.validOffsetOption(p))return p}}return null},handleGlobalKeydownEvent:function(e){var t,i,n,a,l,o,r,s=this,c=s.reactData,u=s.clearable,p=c.visiblePanel,f=c.currentOption;s.computeIsDisabled||(t=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.TAB),i=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ENTER),n=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ESCAPE),a=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_UP),l=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_DOWN),o=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.DELETE),r=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.SPACEBAR),t&&(c.isActivated=!1),p?n||t?s.hideOptionPanel():i?(e.preventDefault(),e.stopPropagation(),s.changeOptionEvent(e,f)):a||l?(e.preventDefault(),(p=s.findOffsetOption(f,l))&&(s.setCurrentOption(p),s.handleScrollToOption(p,l))):r&&e.preventDefault():(a||l||i||r)&&c.isActivated&&(e.preventDefault(),s.showOptionPanel()),c.isActivated&&o&&u&&s.clearValueEvent(e,null))},handleGlobalBlurEvent:function(){this.hideOptionPanel()},handleFocusSearch:function(){var t=this;t.filterable&&t.$nextTick(function(){var e=t.$refs.refInpSearch;e&&e.focus()})},focusEvent:function(e){var t=this.reactData;this.computeIsDisabled||t.visiblePanel||(t.triggerFocusPanel=!0,this.showOptionPanel(),setTimeout(function(){t.triggerFocusPanel=!1},150)),this.dispatchEvent("focus",{},e)},clickEvent:function(e){this.togglePanelEvent(e),this.dispatchEvent("click",{},e)},blurEvent:function(e){this.reactData.isActivated=!1,this.dispatchEvent("blur",{},e)},modelSearchEvent:function(e){this.reactData.searchValue=e},focusSearchEvent:function(){this.reactData.isActivated=!0},handleSearchEvent:function(){var e=this,t=e.reactData,i=e.remote,n=e.remoteMethod,a=t.searchValue;i&&n?(t.searchLoading=!0,Promise.resolve(n({searchValue:a})).then(function(){return e.$nextTick()}).catch(function(){return e.$nextTick()}).finally(function(){t.searchLoading=!1,e.handleOption(),e.updateYData()})):(e.handleOption(),e.updateYData())},triggerSearchEvent:_xeUtils.default.debounce(function(){this.handleSearchEvent()},350,{trailing:!0}),togglePanelEvent:function(e){var t=this.reactData;e.$event.preventDefault(),t.triggerFocusPanel?t.triggerFocusPanel=!1:t.visiblePanel?this.hideOptionPanel():this.showOptionPanel()},checkOptionDisabled:function(e,t,i){return!!t.disabled||!(!i||!i.disabled)||!(!this.computeIsMaximize||e)},updateYSpace:function(){var e=this.reactData,t=this.internalData,i=e.scrollYLoad,t=t.scrollYStore;e.bodyHeight=i?e.afterVisibleList.length*t.rowHeight:0,e.topSpaceHeight=i?Math.max(t.startIndex*t.rowHeight,0):0},handleData:function(){var e=this.reactData,t=this.internalData,i=e.scrollYLoad,n=e.afterVisibleList,t=t.scrollYStore;return e.optList=i?n.slice(t.startIndex,t.endIndex):n.slice(0),this.$nextTick()},updateYData:function(){this.handleData(),this.updateYSpace()},computeScrollLoad:function(){var o=this,r=o.reactData,s=o.internalData;return o.$nextTick().then(function(){var e,t=r.scrollYLoad,i=s.scrollYStore,n=o.$refs.refVirtualBody,a=o.computeSYOpts,l=0;(e=n?(e=a.sItem?n.querySelector(a.sItem):e)||n.children[0]:e)&&(l=e.offsetHeight),l=Math.max(20,l),i.rowHeight=l,t?(n=o.$refs.refVirtualWrapper,e=Math.max(8,n?Math.ceil(n.clientHeight/l):0),t=Math.max(0,Math.min(2,_xeUtils.default.toNumber(a.oSize))),i.offsetSize=t,i.visibleSize=e,i.endIndex=Math.max(i.startIndex,e+t,i.endIndex),o.updateYData()):o.updateYSpace()})},handleScrollToOption:function(e,t){var i,n=this,a=n.reactData,l=n.internalData,a=a.scrollYLoad,o=l.optFullValMaps,l=l.scrollYStore,o=o[e[n.computeValueField]];o&&(e=o.key,-1<(o=o._index))&&(i=n.$refs.refVirtualWrapper,n=n.$refs.refOptionPanel.querySelector("[optid='".concat(e,"']")),i)&&(n?(e=i.offsetHeight,t?n.offsetTop+n.offsetHeight-i.scrollTop>e&&(i.scrollTop=n.offsetTop+n.offsetHeight-e):(n.offsetTop+1<i.scrollTop||n.offsetTop+1>i.scrollTop+i.clientHeight)&&(i.scrollTop=n.offsetTop-1)):a&&(i.scrollTop=t?o*l.rowHeight-i.clientHeight+l.rowHeight:o*l.rowHeight))},scrollTo:function(e,t){var i=this,n=i.reactData,a=i.$refs.refVirtualWrapper;return a&&(_xeUtils.default.isNumber(e)&&(a.scrollLeft=e),_xeUtils.default.isNumber(t))&&(a.scrollTop=t),n.scrollYLoad?new Promise(function(e){setTimeout(function(){i.$nextTick(function(){e()})},50)}):i.$nextTick()},refreshScroll:function(){var e=this,t=e.internalData,i=t.lastScrollLeft,n=t.lastScrollTop;return e.clearScroll().then(function(){if(i||n)return t.lastScrollLeft=0,t.lastScrollTop=0,e.scrollTo(i,n)})},recalculate:function(){var e=this.$refs.refElem;return e&&e.clientWidth&&e.clientHeight?this.computeScrollLoad():Promise.resolve()},loadYData:function(e){var t=this.internalData.scrollYStore,i=t.startIndex,n=t.endIndex,a=t.visibleSize,l=t.offsetSize,e=e.target.scrollTop,e=Math.floor(e/t.rowHeight),o=Math.max(0,e-1-l),l=e+a+l;!(e<=i||n-a-1<=e)||i===o&&n===l||(t.startIndex=o,t.endIndex=l,this.updateYData())},isVMScrollProcess:function(){var e=this.internalData.lastScrollTime;return!!(e&&Date.now()<e+250)},scrollEvent:function(e){var t=this.reactData,i=this.internalData,n=e.target,a=n.scrollTop,n=n.scrollLeft,l=n!==i.lastScrollLeft,o=a!==i.lastScrollTop;i.lastScrollTop=a,i.lastScrollLeft=n,t.scrollYLoad&&this.loadYData(e),i.lastScrollTime=Date.now(),this.dispatchEvent("scroll",{scrollLeft:n,scrollTop:a,isX:l,isY:o},e)},loadData:function(e){var t,i=this,n=i,a=i.reactData,l=i.internalData,o=(i.cacheItemMap(e||[]),l.isLoaded),r=l.fullData,s=l.scrollYStore,c=i.computeDefaultOpts,u=i.computeSYOpts,p=i.computeValueField;return Object.assign(s,{startIndex:0,endIndex:1,visibleSize:0}),l.synchData=e||[],a.scrollYLoad=!!u.enabled&&-1<u.gt&&(0===u.gt||u.gt<=r.length),i.handleData(),o||(s=c.selectMode,0<e.length&&_xeUtils.default.eqNull(n.value)&&("first"!==s&&"last"!==s||(t=_xeUtils.default[s](e))&&i.$nextTick(function(){_xeUtils.default.eqNull(n.value)&&i.emitModel(t[p])}),l.isLoaded=!0)),i.computeScrollLoad().then(function(){i.refreshScroll()})},reloadData:function(e){return this.internalData.isLoaded=!1,this.clearScroll(),this.loadData(e)},clearScroll:function(){var e=this.internalData,t=this.$refs.refVirtualWrapper;return t&&(t.scrollTop=0,t.scrollLeft=0),e.lastScrollTop=0,e.lastScrollLeft=0,this.$nextTick()},hasOptGroupById:function(e){return!!this.internalData.optGroupKeyMaps[e]},renderOption:function(u,e,p){var f=this,t=f.$scopedSlots,d=f.optionKey,h=f.value,v=f.reactData.currentOption,m=f.computeLabelField,g=f.computeValueField,b=f.computeGroupLabelField,x=f.computeOptionOpts.useKey,_=t.option;return e.map(function(t,e){var i=t.slots,n=t.className,a=f.getOptId(t),l=t[g],o=f.hasOptGroupById(a),l=_xeUtils.default.isArray(h)?-1<h.indexOf(l):h===l,r=!o||isOptionVisible(t),s=f.checkOptionDisabled(l,t,p),i=i?i.default:null,c={option:t,group:null,$select:f};return r?u("div",{key:x||d?a:e,class:["vxe-select-option",n?_xeUtils.default.isFunction(n)?n(c):n:"",{"vxe-select-optgroup":o,"is--disabled":s,"is--selected":l,"is--hover":v&&f.getOptId(v)===a}],attrs:{optid:a},on:{mousedown:function(e){0===e.button&&e.stopPropagation()},click:function(e){s||o||f.changeOptionEvent(e,t)},mouseenter:function(){s||o||f.isVMScrollProcess()||f.setCurrentOption(t)}}},_?f.callSlot(_,c,u):i?f.callSlot(i,c,u):(0,_utils.getFuncText)(t[o?b:m])):(0,_ui.renderEmptyElement)(f)})},renderOpts:function(e){var t=this.reactData,i=t.optList;return t.searchLoading?[e("div",{class:"vxe-select--search-loading"},[e("i",{class:["vxe-select--search-icon",(0,_ui.getIcon)().SELECT_LOADED]}),e("span",{class:"vxe-select--search-text"},(0,_ui.getI18n)("vxe.select.loadingText"))])]:i.length?this.renderOption(e,i):[e("div",{class:"vxe-select--empty-placeholder"},this.emptyText||(0,_ui.getI18n)("vxe.select.emptyText"))]},renderVN:function(e){var t=this,i=t,n=t.$scopedSlots,a=t.reactData,l=i.className,o=i.popupClassName,r=i.loading,s=i.filterable,c=a.initialized,u=a.isActivated,p=a.isAniVisible,f=a.visiblePanel,d=a.bodyHeight,h=a.topSpaceHeight,v=t.computeSize,m=t.computeIsDisabled,g=t.computeSelectLabel,b=t.computeBtnTransfer,x=t.computeInpPlaceholder,_=n.default,O=n.header,S=n.footer,E=n.prefix;return t.computeFormReadonly?e("div",{ref:"refElem",class:["vxe-select--readonly",l]},[e("div",{class:"vxe-select-slots",ref:"hideOption"},_?t.callSlot(_,{},e):[]),e("span",{class:"vxe-select-label"},g)]):e("div",{ref:"refElem",class:["vxe-select",l?_xeUtils.default.isFunction(l)?l({$select:t}):l:"",_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(v),v),"is--visible",f),"is--disabled",m),"is--filter",s),"is--loading",r),"is--active",u)]},[e("div",{class:"vxe-select-slots",ref:"hideOption"},_?_.call(t,{}):[]),e(_input.default,{ref:"refInput",props:{clearable:i.clearable,placeholder:x,readonly:!0,disabled:m,type:"text",prefixIcon:i.prefixIcon,suffixIcon:r?(0,_ui.getIcon)().SELECT_LOADED:f?(0,_ui.getIcon)().SELECT_OPEN:(0,_ui.getIcon)().SELECT_CLOSE,value:g},on:{clear:t.clearEvent,click:t.clickEvent,focus:t.focusEvent,blur:t.blurEvent,"suffix-click":t.togglePanelEvent},scopedSlots:E?{prefix:function(){return E({})}}:{}}),e("div",{ref:"refOptionPanel",class:["vxe-table--ignore-clear vxe-select--panel",o?_xeUtils.default.isFunction(o)?o({$select:t}):o:"",_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(v),v),"is--transfer",b),"ani--leave",!r&&p),"ani--enter",!r&&f)],attrs:{placement:a.panelPlacement},style:a.panelStyle},c&&(f||p)?[e("div",{class:"vxe-select--panel-wrapper"},[s?e("div",{class:"vxe-select--panel-search"},[e(_input.default,{ref:"refInpSearch",class:"vxe-select-search--input",props:{value:a.searchValue,clearable:!0,disabled:!1,readonly:!1,placeholder:(0,_ui.getI18n)("vxe.select.search"),prefixIcon:(0,_ui.getIcon)().INPUT_SEARCH},on:{"model-value":t.modelSearchEvent,focus:t.focusSearchEvent,change:t.triggerSearchEvent,search:t.triggerSearchEvent}})]):(0,_ui.renderEmptyElement)(t),O?e("div",{class:"vxe-select--panel-header"},t.callSlot(O,{},e)):(0,_ui.renderEmptyElement)(t),e("div",{class:"vxe-select--panel-body"},[e("div",{ref:"refVirtualWrapper",class:"vxe-select-option--wrapper",on:{scroll:t.scrollEvent}},[e("div",{class:"vxe-select--y-space",style:{height:d?"".concat(d,"px"):""}}),e("div",{ref:"refVirtualBody",class:"vxe-select--body",style:{marginTop:h?"".concat(h,"px"):""}},t.renderOpts(e))])]),S?e("div",{class:"vxe-select--panel-footer"},t.callSlot(S,{},e)):(0,_ui.renderEmptyElement)(t)])]:[])])}},watch:{"reactData.staticOptions":function(e){this.loadData(e)},options:function(e){this.loadData(e)},optionGroups:function(e){this.loadData(e)}},mounted:function(){var i=this,n=i;i.$nextTick(function(){var e=n.options,t=n.optionGroups;t?i.loadData(t):e&&i.loadData(e)}),_ui.globalEvents.on(i,"mousewheel",i.handleGlobalMousewheelEvent),_ui.globalEvents.on(i,"mousedown",i.handleGlobalMousedownEvent),_ui.globalEvents.on(i,"keydown",i.handleGlobalKeydownEvent),_ui.globalEvents.on(i,"blur",i.handleGlobalBlurEvent)},beforeDestroy:function(){var e=this,t=e.$refs.refOptionPanel;t&&t.parentNode&&t.parentNode.removeChild(t),_ui.globalEvents.off(e,"mousewheel"),_ui.globalEvents.off(e,"mousedown"),_ui.globalEvents.off(e,"keydown"),_ui.globalEvents.off(e,"blur")},render:function(e){return this.renderVN(e)}});
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_input=_interopRequireDefault(require("../../input/src/input")),_vn=require("../../ui/src/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _defineProperty(e,t,i){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"==_typeof(e)?e:e+""}function _toPrimitive(e,t){if("object"!=_typeof(e)||!e)return e;var i=e[Symbol.toPrimitive];if(void 0===i)return("string"===t?String:Number)(e);i=i.call(e,t||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}function isOptionVisible(e){return!1!==e.visible}function getOptUniqueId(){return _xeUtils.default.uniqueId("opt_")}var _default2=exports.default=(0,_comp.defineVxeComponent)({name:"VxeSelect",mixins:[_ui.globalMixins.sizeMixin],model:{prop:"value",event:"modelValue"},props:{value:[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:function(){return(0,_ui.getConfig)().select.multiCharOverflow}},prefixIcon:String,allowCreate:{type:Boolean,default:function(){return(0,_ui.getConfig)().select.allowCreate}},placement:String,options:Array,optionProps:Object,optionGroups:Array,optionGroupProps:Object,optionConfig:Object,className:[String,Function],popupClassName:[String,Function],max:{type:[String,Number],default:null},size:{type:String,default:function(){return(0,_ui.getConfig)().select.size||(0,_ui.getConfig)().size}},filterable:Boolean,filterMethod:Function,remote:Boolean,remoteMethod:Function,emptyText:String,transfer:{type:Boolean,default:null},scrollY:Object,optionId:{type:String,default:function(){return(0,_ui.getConfig)().select.optionId}},optionKey:Boolean},inject:{$xeModal:{default:null},$xeDrawer:{default:null},$xeTable:{default:null},$xeForm:{default:null},formItemInfo:{from:"xeFormItemInfo",default:null}},provide:function(){return{$xeSelect:this}},data:function(){return{xID:_xeUtils.default.uniqueId(),reactData:{initialized:!1,scrollYLoad:!1,bodyHeight:0,topSpaceHeight:0,optList:[],afterVisibleList:[],staticOptions:[],reactFlag:0,currentOption:null,searchValue:"",searchLoading:!1,panelIndex:0,panelStyle:{},panelPlacement:null,triggerFocusPanel:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1},internalData:{synchData:[],fullData:[],optAddMaps:{},optGroupKeyMaps:{},optFullValMaps:{},remoteValMaps:{},lastScrollLeft:0,lastScrollTop:0,scrollYStore:{startIndex:0,endIndex:0,visibleSize:0,offsetSize:0,rowHeight:0},lastScrollTime:0,hpTimeout:void 0}}},computed:Object.assign(Object.assign({},{}),{computeFormReadonly:function(){var e=this.$xeForm,t=this.readonly;return null===t?!!e&&e.readonly:t},computeIsDisabled:function(){var e=this.$xeForm,t=this.disabled;return null===t?!!e&&e.disabled:t},computeBtnTransfer:function(){var e=this,t=e.$xeTable,i=e.$xeModal,n=e.$xeDrawer,a=e.$xeForm,e=e.transfer;if(null===e){var l=(0,_ui.getConfig)().select.transfer;if(_xeUtils.default.isBoolean(l))return l;if(t||i||n||a)return!0}return e},computeInpPlaceholder:function(){var e=this.placeholder;return(e=e||(0,_ui.getConfig)().select.placeholder)?(0,_utils.getFuncText)(e):(0,_ui.getI18n)("vxe.base.pleaseSelect")},computeDefaultOpts:function(){return Object.assign({},this.defaultConfig)},computePropsOpts:function(){return Object.assign({},this.optionProps)},computeGroupPropsOpts:function(){return Object.assign({},this.optionGroupProps)},computeLabelField:function(){return this.computePropsOpts.label||"label"},computeValueField:function(){return this.computePropsOpts.value||"value"},computeGroupLabelField:function(){return this.computeGroupPropsOpts.label||"label"},computeGroupOptionsField:function(){return this.computeGroupPropsOpts.options||"options"},computeIsMaximize:function(){var e=this.value,t=this.multiple,i=this.max;return!(!t||!i)&&(_xeUtils.default.isArray(e)?e.length:_xeUtils.default.eqNull(e)?0:1)>=_xeUtils.default.toNumber(i)},computeSYOpts:function(){return Object.assign({},(0,_ui.getConfig)().select.scrollY,this.scrollY)},computeOptionOpts:function(){return Object.assign({},(0,_ui.getConfig)().select.optionConfig,this.optionConfig)},computeIsGroup:function(){return this.reactData.fullGroupList.some(function(e){return e.options&&e.options.length})},computeMultiMaxCharNum:function(){return _xeUtils.default.toNumber(this.multiCharOverflow)},computeSelectLabel:function(){var t=this,e=t.value,i=t.remote,n=t.multiple,a=t.computeMultiMaxCharNum;return _xeUtils.default.eqNull(e)?"":(e=_xeUtils.default.isArray(e)?e:[e],(i?e.map(function(e){return t.getRemoteSelectLabel(e)}):e.map(function(e){e=t.getSelectLabel(e);return n&&0<a&&e.length>a?"".concat(e.substring(0,a),"..."):e})).join(", "))}}),methods:{dispatchEvent:function(e,t,i){this.$emit(e,(0,_ui.createEvent)(i,{$select:this},t))},emitModel:function(e){var t=this._events;t&&t.modelValue?this.$emit("modelValue",e):this.$emit("model-value",e)},isPanelVisible:function(){return this.reactData.visiblePanel},togglePanel:function(){return this.reactData.visiblePanel?this.hideOptionPanel():this.showOptionPanel(),this.$nextTick()},hidePanel:function(){return this.reactData.visiblePanel&&this.hideOptionPanel(),this.$nextTick()},showPanel:function(){return this.reactData.visiblePanel||this.showOptionPanel(),this.$nextTick()},focus:function(){var e=this.reactData,t=this.$refs.refInput;return e.isActivated=!0,t.blur(),this.$nextTick()},blur:function(){var e=this.reactData;return this.$refs.refInput.blur(),e.isActivated=!1,this.$nextTick()},callSlot:function(e,t,i){var n=this.$scopedSlots;return e&&(_xeUtils.default.isString(e)&&(e=n[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e.call(this,t,i)):[]},getOptKey:function(){return this.computeOptionOpts.keyField||this.optionId||"_X_OPTION_KEY"},getOptId:function(e){e=e[this.getOptKey()];return e?encodeURIComponent(e):""},getRemoteSelectLabel:function(e){var t=this.internalData.remoteValMaps,i=this.computeLabelField,t=t[e],t=t?t.item:null;return _xeUtils.default.toValueString(t?t[i]:e)},getSelectLabel:function(e){var t=this.reactData,i=this.internalData.optFullValMaps,n=this.computeLabelField,t=t.reactFlag?i[e]:null;return t?t.item[n]:_xeUtils.default.toValueString(e)},getOptkey:function(){return this.computeOptionOpts.keyField||this.optionId||"_X_OPTION_KEY"},getOptid:function(e){e=e[this.getOptkey()];return e?encodeURIComponent(e):""},handleOption:function(){var e=this,t=e.reactData,i=e.internalData,n=e.filterable,a=e.filterMethod,l=t.searchValue,o=i.fullData,r=i.optFullValMaps,s=e.computeLabelField,c=e.computeValueField,u="".concat(l||"").toLowerCase(),i=[];return(i=n&&a?o.filter(function(e){return isOptionVisible(e)&&a({group:null,option:e,searchValue:u})}):n?o.filter(function(e){return isOptionVisible(e)&&(!u||-1<"".concat(e[s]).toLowerCase().indexOf(u))}):o.filter(isOptionVisible)).forEach(function(e,t){e=r[e[c]];e&&(e._index=t)}),t.afterVisibleList=i,e.$nextTick()},refreshOption:function(){return this.handleOption(),this.updateYData(),this.$nextTick()},cacheItemMap:function(e){function t(e){u.push(e);var t=i.getOptId(e);t||(t=getOptUniqueId(),e[r]=t),c[e[o]]={key:t,item:e,_index:-1}}var i=this,n=i.reactData,a=i.internalData,l=i.computeGroupOptionsField,o=i.computeValueField,r=i.getOptKey(),s={},c={},u=[];e.forEach(function(e){t(e),e[l]&&(s[e[r]]=e)[l].forEach(t)}),a.fullData=u,a.optGroupKeyMaps=s,a.optFullValMaps=c,n.reactFlag++,i.handleOption()},setCurrentOption:function(e){var t=this.reactData;e&&(t.currentOption=e)},scrollToOption:function(n,a){var l=this;return l.$nextTick().then(function(){var e,t,i;n&&(e=l.$refs.refOptionWrapper,t=l.$refs.refOptionPanel.querySelector("[optid='".concat(l.getOptid(n),"']")),e)&&t&&(i=e.offsetHeight,a?t.offsetTop+t.offsetHeight-e.scrollTop>i&&(e.scrollTop=t.offsetTop+t.offsetHeight-i):(t.offsetTop+5<e.scrollTop||t.offsetTop+5>e.scrollTop+e.clientHeight)&&(e.scrollTop=t.offsetTop-5))})},updateZindex:function(){var e=this.reactData;e.panelIndex<(0,_utils.getLastZIndex)()&&(e.panelIndex=(0,_utils.nextZIndex)())},updateZIndex:function(){var e=this.reactData;e.panelIndex<(0,_utils.getLastZIndex)()&&(e.panelIndex=(0,_utils.nextZIndex)())},updatePlacement:function(){var f=this,d=f,h=f.reactData;return f.$nextTick().then(function(){var e,t,i,n,a,l,o,r=d.placement,s=h.panelIndex,c=f.$refs.refElem,u=f.$refs.refOptionPanel,p=f.computeBtnTransfer;if(u&&c)return e=c.offsetHeight,t=c.offsetWidth,i=u.offsetHeight,u=u.offsetWidth,s={zIndex:s},n=(c=(0,_dom.getAbsolutePos)(c)).boundingTop,a=c.visibleHeight,l=c.visibleWidth,o="bottom",p?(p=n+e,"top"===r?(o="top",p=n-i):r||(a<p+i+5&&(o="top",p=n-i),p<5&&(o="bottom",p=n+e)),l<(c=c.boundingLeft)+u+5&&(c-=c+u+5-l),c<5&&(c=5),Object.assign(s,{left:"".concat(c,"px"),top:"".concat(p,"px"),minWidth:"".concat(t,"px")})):"top"===r?(o="top",s.bottom="".concat(e,"px")):r||a<n+e+i&&5<n-e-i&&(o="top",s.bottom="".concat(e,"px")),h.panelStyle=s,h.panelPlacement=o,f.$nextTick()})},showOptionPanel:function(){var e=this,t=e.reactData,i=e.internalData,n=e.loading,a=e.filterable,l=i.hpTimeout;n||e.computeIsDisabled||(l&&(clearTimeout(l),i.hpTimeout=void 0),t.initialized||(t.initialized=!0,n=e.computeBtnTransfer,l=e.$refs.refOptionPanel,n&&l&&document.body.appendChild(l)),t.isActivated=!0,t.isAniVisible=!0,a&&(e.handleOption(),e.updateYData()),setTimeout(function(){t.visiblePanel=!0,e.handleFocusSearch(),e.recalculate().then(function(){return e.refreshScroll()})},10),setTimeout(function(){e.recalculate().then(function(){return e.refreshScroll()})},100),e.updateZIndex(),e.updatePlacement(),e.dispatchEvent("visible-change",{visible:!0},null))},hideOptionPanel:function(){var e=this.reactData,t=this.internalData;e.searchValue="",e.searchLoading=!1,e.visiblePanel=!1,t.hpTimeout=setTimeout(function(){e.isAniVisible=!1},350),this.dispatchEvent("visible-change",{visible:!1},null)},changeEvent:function(e,t){var i=this,n=i,a=i.$xeForm,l=i.formItemInfo;i.emitModel(t),t!==n.value&&(i.dispatchEvent("change",{value:t},e),a)&&l&&a.triggerItemEvent(e,l.itemConfig.field,t)},clearValueEvent:function(e,t){this.internalData.remoteValMaps={},this.changeEvent(e,t),this.dispatchEvent("clear",{value:t},e)},clearEvent:function(e,t){this.clearValueEvent(t,null),this.hideOptionPanel()},changeOptionEvent:function(e,t){var i=this,n=i.reactData,a=i.value,l=i.multiple,o=i.internalData.remoteValMaps,r=t[i.computeValueField],s=o[r];s?s.item=t:o[r]={key:i.getOptId(t),item:t,_index:-1},l?(s=[],o=_xeUtils.default.eqNull(a)?[]:_xeUtils.default.isArray(a)?a:[a],s=-1===_xeUtils.default.findIndexOf(o,function(e){return e===r})?o.concat([r]):o.filter(function(e){return e!==r}),i.changeEvent(e,s)):(i.changeEvent(e,r),i.hideOptionPanel()),n.reactFlag++},handleGlobalMousewheelEvent:function(e){var t=this,i=t.reactData.visiblePanel;t.computeIsDisabled||i&&(i=t.$refs.refOptionPanel,(0,_dom.getEventTargetNode)(e,i).flag?t.updatePlacement():t.hideOptionPanel())},handleGlobalMousedownEvent:function(e){var t,i,n=this,a=n.reactData,l=a.visiblePanel;n.computeIsDisabled||(t=n.$refs.refElem,i=n.$refs.refOptionPanel,a.isActivated=(0,_dom.getEventTargetNode)(e,t).flag||(0,_dom.getEventTargetNode)(e,i).flag,l&&!a.isActivated&&n.hideOptionPanel())},validOffsetOption:function(e){var t=e.disabled,e=this.getOptId(e);return!t&&!this.hasOptGroupById(e)},findOffsetOption:function(e,t){var i=this,n=i.reactData.afterVisibleList,a=i.internalData.optFullValMaps,l=i.computeValueField;if(!e)for(var o=0;o<n.length-1;o++){var r=n[o];if(i.validOffsetOption(r))return r}a=a[e[l]];if(a){e=a._index;if(-1<e)if(t)for(var s=e+1;s<=n.length-1;s++){var c=n[s];if(i.validOffsetOption(c))return c}else if(0<e)for(var u=e-1;0<=u;u--){var p=n[u];if(i.validOffsetOption(p))return p}}return null},handleGlobalKeydownEvent:function(e){var t,i,n,a,l,o,r,s=this,c=s.reactData,u=s.clearable,p=c.visiblePanel,f=c.currentOption;s.computeIsDisabled||(t=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.TAB),i=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ENTER),n=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ESCAPE),a=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_UP),l=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_DOWN),o=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.DELETE),r=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.SPACEBAR),t&&(c.isActivated=!1),p?n||t?s.hideOptionPanel():i?(e.preventDefault(),e.stopPropagation(),s.changeOptionEvent(e,f)):a||l?(e.preventDefault(),(p=s.findOffsetOption(f,l))&&(s.setCurrentOption(p),s.handleScrollToOption(p,l))):r&&e.preventDefault():(a||l||i||r)&&c.isActivated&&(e.preventDefault(),s.showOptionPanel()),c.isActivated&&o&&u&&s.clearValueEvent(e,null))},handleGlobalBlurEvent:function(){this.hideOptionPanel()},handleFocusSearch:function(){var t=this;t.filterable&&t.$nextTick(function(){var e=t.$refs.refInpSearch;e&&e.focus()})},focusEvent:function(e){var t=this.reactData;this.computeIsDisabled||t.visiblePanel||(t.triggerFocusPanel=!0,this.showOptionPanel(),setTimeout(function(){t.triggerFocusPanel=!1},500)),this.dispatchEvent("focus",{},e)},clickEvent:function(e){var t=this.reactData;this.togglePanelEvent(e),this.dispatchEvent("click",{triggerButton:!1,visible:t.visiblePanel},e)},blurEvent:function(e){this.reactData.isActivated=!1,this.dispatchEvent("blur",{},e)},suffixClickEvent:function(e){var t=this.reactData;this.togglePanelEvent(e),this.dispatchEvent("click",{triggerButton:!0,visible:t.visiblePanel},e)},modelSearchEvent:function(e){this.reactData.searchValue=e},focusSearchEvent:function(){this.reactData.isActivated=!0},handleSearchEvent:function(){var e=this,t=e.reactData,i=e.remote,n=e.remoteMethod,a=t.searchValue;i&&n?(t.searchLoading=!0,Promise.resolve(n({searchValue:a})).then(function(){return e.$nextTick()}).catch(function(){return e.$nextTick()}).finally(function(){t.searchLoading=!1,e.handleOption(),e.updateYData()})):(e.handleOption(),e.updateYData())},triggerSearchEvent:_xeUtils.default.debounce(function(){this.handleSearchEvent()},350,{trailing:!0}),togglePanelEvent:function(e){var t=this.reactData;e.$event.preventDefault(),t.triggerFocusPanel?t.triggerFocusPanel=!1:t.visiblePanel?this.hideOptionPanel():this.showOptionPanel()},checkOptionDisabled:function(e,t,i){return!!t.disabled||!(!i||!i.disabled)||!(!this.computeIsMaximize||e)},updateYSpace:function(){var e=this.reactData,t=this.internalData,i=e.scrollYLoad,t=t.scrollYStore;e.bodyHeight=i?e.afterVisibleList.length*t.rowHeight:0,e.topSpaceHeight=i?Math.max(t.startIndex*t.rowHeight,0):0},handleData:function(){var e=this,t=e.reactData,i=e.internalData,n=e.filterable,a=e.allowCreate,l=t.scrollYLoad,o=t.afterVisibleList,r=t.searchValue,s=i.optAddMaps,i=i.scrollYStore,c=e.computeLabelField,u=e.computeValueField,l=l?o.slice(i.startIndex,i.endIndex):o.slice(0);return n&&a&&r&&(l.some(function(e){return e[c]===r})||(i=s[r]||_defineProperty(_defineProperty(_defineProperty({},e.getOptKey(),r),c,r),u,r),s[r]=i,l.unshift(i))),t.optList=l,e.$nextTick()},updateYData:function(){this.handleData(),this.updateYSpace()},computeScrollLoad:function(){var o=this,r=o.reactData,s=o.internalData;return o.$nextTick().then(function(){var e,t=r.scrollYLoad,i=s.scrollYStore,n=o.$refs.refVirtualBody,a=o.computeSYOpts,l=0;(e=n?(e=a.sItem?n.querySelector(a.sItem):e)||n.children[0]:e)&&(l=e.offsetHeight),l=Math.max(20,l),i.rowHeight=l,t?(n=o.$refs.refVirtualWrapper,e=Math.max(8,n?Math.ceil(n.clientHeight/l):0),t=Math.max(0,Math.min(2,_xeUtils.default.toNumber(a.oSize))),i.offsetSize=t,i.visibleSize=e,i.endIndex=Math.max(i.startIndex,e+t,i.endIndex),o.updateYData()):o.updateYSpace()})},handleScrollToOption:function(e,t){var i,n=this,a=n.reactData,l=n.internalData,a=a.scrollYLoad,o=l.optFullValMaps,l=l.scrollYStore,o=o[e[n.computeValueField]];o&&(e=o.key,-1<(o=o._index))&&(i=n.$refs.refVirtualWrapper,n=n.$refs.refOptionPanel.querySelector("[optid='".concat(e,"']")),i)&&(n?(e=i.offsetHeight,t?n.offsetTop+n.offsetHeight-i.scrollTop>e&&(i.scrollTop=n.offsetTop+n.offsetHeight-e):(n.offsetTop+1<i.scrollTop||n.offsetTop+1>i.scrollTop+i.clientHeight)&&(i.scrollTop=n.offsetTop-1)):a&&(i.scrollTop=t?o*l.rowHeight-i.clientHeight+l.rowHeight:o*l.rowHeight))},scrollTo:function(e,t){var i=this,n=i.reactData,a=i.$refs.refVirtualWrapper;return a&&(_xeUtils.default.isNumber(e)&&(a.scrollLeft=e),_xeUtils.default.isNumber(t))&&(a.scrollTop=t),n.scrollYLoad?new Promise(function(e){setTimeout(function(){i.$nextTick(function(){e()})},50)}):i.$nextTick()},refreshScroll:function(){var e=this,t=e.internalData,i=t.lastScrollLeft,n=t.lastScrollTop;return e.clearScroll().then(function(){if(i||n)return t.lastScrollLeft=0,t.lastScrollTop=0,e.scrollTo(i,n)})},recalculate:function(){var e=this.$refs.refElem;return e&&e.clientWidth&&e.clientHeight?this.computeScrollLoad():Promise.resolve()},loadYData:function(e){var t=this.internalData.scrollYStore,i=t.startIndex,n=t.endIndex,a=t.visibleSize,l=t.offsetSize,e=e.target.scrollTop,e=Math.floor(e/t.rowHeight),o=Math.max(0,e-1-l),l=e+a+l;!(e<=i||n-a-1<=e)||i===o&&n===l||(t.startIndex=o,t.endIndex=l,this.updateYData())},isVMScrollProcess:function(){var e=this.internalData.lastScrollTime;return!!(e&&Date.now()<e+250)},scrollEvent:function(e){var t=this.reactData,i=this.internalData,n=e.target,a=n.scrollTop,n=n.scrollLeft,l=n!==i.lastScrollLeft,o=a!==i.lastScrollTop;i.lastScrollTop=a,i.lastScrollLeft=n,t.scrollYLoad&&this.loadYData(e),i.lastScrollTime=Date.now(),this.dispatchEvent("scroll",{scrollLeft:n,scrollTop:a,isX:l,isY:o},e)},loadData:function(e){var t,i=this,n=i,a=i.reactData,l=i.internalData,o=(i.cacheItemMap(e||[]),l.isLoaded),r=l.fullData,s=l.scrollYStore,c=i.computeDefaultOpts,u=i.computeSYOpts,p=i.computeValueField;return Object.assign(s,{startIndex:0,endIndex:1,visibleSize:0}),l.synchData=e||[],a.scrollYLoad=!!u.enabled&&-1<u.gt&&(0===u.gt||u.gt<=r.length),i.handleData(),o||(s=c.selectMode,0<e.length&&_xeUtils.default.eqNull(n.value)&&("first"!==s&&"last"!==s||(t=_xeUtils.default[s](e))&&i.$nextTick(function(){_xeUtils.default.eqNull(n.value)&&i.emitModel(t[p])}),l.isLoaded=!0)),i.computeScrollLoad().then(function(){i.refreshScroll()})},reloadData:function(e){return this.internalData.isLoaded=!1,this.clearScroll(),this.loadData(e)},clearScroll:function(){var e=this.internalData,t=this.$refs.refVirtualWrapper;return t&&(t.scrollTop=0,t.scrollLeft=0),e.lastScrollTop=0,e.lastScrollLeft=0,this.$nextTick()},hasOptGroupById:function(e){return!!this.internalData.optGroupKeyMaps[e]},renderOption:function(p,e,f){var d=this,t=d.$scopedSlots,h=d.allowCreate,v=d.optionKey,m=d.value,g=d.reactData.currentOption,b=d.internalData.optAddMaps,x=d.computeLabelField,_=d.computeValueField,O=d.computeGroupLabelField,E=d.computeOptionOpts.useKey,y=t.option;return e.map(function(t,e){var i=t.slots,n=t.className,a=d.getOptId(t),l=t[_],o=d.hasOptGroupById(a),r=!(!h||!b[a]),l=!r&&(_xeUtils.default.isArray(m)?-1<m.indexOf(l):m===l),s=r||!o||isOptionVisible(t),c=!r&&d.checkOptionDisabled(l,t,f),i=i?i.default:null,u={option:t,group:null,$select:d},i=y?d.callSlot(y,u,p):i?d.callSlot(i,u,p):(0,_utils.getFuncText)(t[o?O:x]);return s?p("div",{key:E||v?a:e,class:["vxe-select-option",n?_xeUtils.default.isFunction(n)?n(u):n:"",{"vxe-select-optgroup":o,"is--disabled":c,"is--selected":l,"is--add":r,"is--hover":g&&d.getOptId(g)===a}],attrs:{optid:a},on:{mousedown:function(e){0===e.button&&e.stopPropagation()},click:function(e){c||o||d.changeOptionEvent(e,t)},mouseenter:function(){c||o||d.isVMScrollProcess()||d.setCurrentOption(t)}}},h?[p("span",{key:1,class:"vxe-select-option--label"},i),r?p("span",{key:2,class:"vxe-select-option--add-icon"},[p("i",{class:(0,_ui.getIcon)().ADD_OPTION})]):(0,_ui.renderEmptyElement)(d)]:i):(0,_ui.renderEmptyElement)(d)})},renderOpts:function(e){var t=this.reactData,i=t.optList;return t.searchLoading?[e("div",{class:"vxe-select--search-loading"},[e("i",{class:["vxe-select--search-icon",(0,_ui.getIcon)().SELECT_LOADED]}),e("span",{class:"vxe-select--search-text"},(0,_ui.getI18n)("vxe.select.loadingText"))])]:i.length?this.renderOption(e,i):[e("div",{class:"vxe-select--empty-placeholder"},this.emptyText||(0,_ui.getI18n)("vxe.select.emptyText"))]},renderVN:function(e){var t=this,i=t,n=t.$scopedSlots,a=t.reactData,l=i.className,o=i.popupClassName,r=i.loading,s=i.filterable,c=a.initialized,u=a.isActivated,p=a.isAniVisible,f=a.visiblePanel,d=a.bodyHeight,h=a.topSpaceHeight,v=t.computeSize,m=t.computeIsDisabled,g=t.computeSelectLabel,b=t.computeBtnTransfer,x=t.computeInpPlaceholder,_=n.default,O=n.header,E=n.footer,y=n.prefix;return t.computeFormReadonly?e("div",{ref:"refElem",class:["vxe-select--readonly",l]},[e("div",{class:"vxe-select-slots",ref:"hideOption"},_?t.callSlot(_,{},e):[]),e("span",{class:"vxe-select-label"},g)]):e("div",{ref:"refElem",class:["vxe-select",l?_xeUtils.default.isFunction(l)?l({$select:t}):l:"",_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(v),v),"is--visible",f),"is--disabled",m),"is--filter",s),"is--loading",r),"is--active",u)]},[e("div",{class:"vxe-select-slots",ref:"hideOption"},_?_.call(t,{}):[]),e(_input.default,{ref:"refInput",props:{clearable:i.clearable,placeholder:x,readonly:!0,disabled:m,type:"text",prefixIcon:i.prefixIcon,suffixIcon:r?(0,_ui.getIcon)().SELECT_LOADED:f?(0,_ui.getIcon)().SELECT_OPEN:(0,_ui.getIcon)().SELECT_CLOSE,value:g},on:{clear:t.clearEvent,click:t.clickEvent,focus:t.focusEvent,blur:t.blurEvent,"suffix-click":t.suffixClickEvent},scopedSlots:y?{prefix:function(){return y({})}}:{}}),e("div",{ref:"refOptionPanel",class:["vxe-table--ignore-clear vxe-select--panel",o?_xeUtils.default.isFunction(o)?o({$select:t}):o:"",_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(v),v),"is--transfer",b),"ani--leave",!r&&p),"ani--enter",!r&&f)],attrs:{placement:a.panelPlacement},style:a.panelStyle},c&&(f||p)?[e("div",{class:"vxe-select--panel-wrapper"},[s?e("div",{class:"vxe-select--panel-search"},[e(_input.default,{ref:"refInpSearch",class:"vxe-select-search--input",props:{value:a.searchValue,clearable:!0,disabled:!1,readonly:!1,placeholder:(0,_ui.getI18n)("vxe.select.search"),prefixIcon:(0,_ui.getIcon)().INPUT_SEARCH},on:{"model-value":t.modelSearchEvent,focus:t.focusSearchEvent,change:t.triggerSearchEvent,search:t.triggerSearchEvent}})]):(0,_ui.renderEmptyElement)(t),O?e("div",{class:"vxe-select--panel-header"},t.callSlot(O,{},e)):(0,_ui.renderEmptyElement)(t),e("div",{class:"vxe-select--panel-body"},[e("div",{ref:"refVirtualWrapper",class:"vxe-select-option--wrapper",on:{scroll:t.scrollEvent}},[e("div",{class:"vxe-select--y-space",style:{height:d?"".concat(d,"px"):""}}),e("div",{ref:"refVirtualBody",class:"vxe-select--body",style:{marginTop:h?"".concat(h,"px"):""}},t.renderOpts(e))])]),E?e("div",{class:"vxe-select--panel-footer"},t.callSlot(E,{},e)):(0,_ui.renderEmptyElement)(t)])]:[])])}},watch:{"reactData.staticOptions":function(e){this.loadData(e)},options:function(e){this.loadData(e)},optionGroups:function(e){this.loadData(e)}},mounted:function(){var i=this,n=i;i.$nextTick(function(){var e=n.options,t=n.optionGroups;t?i.loadData(t):e&&i.loadData(e)}),_ui.globalEvents.on(i,"mousewheel",i.handleGlobalMousewheelEvent),_ui.globalEvents.on(i,"mousedown",i.handleGlobalMousedownEvent),_ui.globalEvents.on(i,"keydown",i.handleGlobalKeydownEvent),_ui.globalEvents.on(i,"blur",i.handleGlobalBlurEvent)},beforeDestroy:function(){var e=this,t=e.$refs.refOptionPanel;t&&t.parentNode&&t.parentNode.removeChild(t),_ui.globalEvents.off(e,"mousewheel"),_ui.globalEvents.off(e,"mousedown"),_ui.globalEvents.off(e,"keydown"),_ui.globalEvents.off(e,"blur")},render:function(e){return this.renderVN(e)}});
|
|
@@ -117,6 +117,7 @@
|
|
|
117
117
|
}
|
|
118
118
|
|
|
119
119
|
.vxe-select-option {
|
|
120
|
+
position: relative;
|
|
120
121
|
padding: 0 0.6em;
|
|
121
122
|
max-width: 600px;
|
|
122
123
|
white-space: nowrap;
|
|
@@ -129,6 +130,15 @@
|
|
|
129
130
|
user-select: none;
|
|
130
131
|
cursor: pointer;
|
|
131
132
|
}
|
|
133
|
+
.vxe-select-option.is--add {
|
|
134
|
+
padding-right: 2em;
|
|
135
|
+
}
|
|
136
|
+
.vxe-select-option.is--add:hover .vxe-select-option--add-icon {
|
|
137
|
+
color: var(--vxe-ui-font-primary-color);
|
|
138
|
+
}
|
|
139
|
+
.vxe-select-option.is--add .vxe-select-option--add-icon {
|
|
140
|
+
display: block;
|
|
141
|
+
}
|
|
132
142
|
.vxe-select-option.is--selected {
|
|
133
143
|
color: var(--vxe-ui-font-primary-color);
|
|
134
144
|
}
|
|
@@ -146,6 +156,13 @@
|
|
|
146
156
|
cursor: default;
|
|
147
157
|
}
|
|
148
158
|
|
|
159
|
+
.vxe-select-option--add-icon {
|
|
160
|
+
display: none;
|
|
161
|
+
position: absolute;
|
|
162
|
+
top: 0;
|
|
163
|
+
right: 0.6em;
|
|
164
|
+
}
|
|
165
|
+
|
|
149
166
|
.vxe-select--search-icon {
|
|
150
167
|
margin-right: 0.5em;
|
|
151
168
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.vxe-select{position:relative;display:inline-block;width:180px;color:var(--vxe-ui-font-color);text-align:left}.vxe-select>.vxe-input .vxe-input--inner{cursor:pointer}.vxe-select.is--disabled>.vxe-input .vxe-input--inner{cursor:no-drop}.vxe-select.is--loading>.vxe-input .vxe-input--inner{cursor:progress}.vxe-select>.vxe-input{width:100%}.vxe-select>.vxe-input .vxe-input--suffix-icon>i{display:inline-block;transition:transform .2s ease-in-out}.vxe-select.is--active:not(.is--filter)>.vxe-input{border-color:var(--vxe-ui-font-primary-color)}.vxe-select--readonly{color:var(--vxe-ui-font-color);display:inline-flex}.vxe-select-slots{display:none}.vxe-select--panel{display:none;position:absolute;left:0;padding:4px 0;color:var(--vxe-ui-font-color);text-align:left}.vxe-select--panel:not(.is--transfer){min-width:100%}.vxe-select--panel.is--transfer{position:fixed}.vxe-select--panel.ani--leave{display:block;opacity:0;transform:scaleY(.5);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transform-origin:center top;backface-visibility:hidden}.vxe-select--panel.ani--leave[placement=top]{transform-origin:center bottom}.vxe-select--panel.ani--enter{opacity:1;transform:scaleY(1)}.vxe-select--panel-search{display:block;padding:var(--vxe-ui-layout-padding-default)}.vxe-select--panel-search .vxe-select-search--input{width:100%}.vxe-select--panel-wrapper{position:relative;border-radius:var(--vxe-ui-base-border-radius);border:1px solid var(--vxe-ui-base-popup-border-color);box-shadow:var(--vxe-ui-base-popup-box-shadow);background-color:var(--vxe-ui-layout-background-color)}.vxe-select--panel-header{border-bottom:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-select--panel-footer{border-top:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-select--panel-footer,.vxe-select--panel-header{padding:4px 0}.vxe-select-option--wrapper{position:relative;overflow-x:hidden;overflow-y:auto}.vxe-select--y-space{width:0;float:left}.vxe-select--body,.vxe-select-option--wrapper{padding:0;margin:0;border:0;outline:0}.vxe-select-option--wrapper{max-height:18em}.vxe-select-option{padding:0 .6em;max-width:600px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.vxe-select-option.is--selected{color:var(--vxe-ui-font-primary-color)}.vxe-select-option:not(.is--disabled).is--hover{background-color:var(--vxe-ui-base-hover-background-color)}.vxe-select-option.is--disabled{color:var(--vxe-ui-font-disabled-color);cursor:no-drop}.vxe-select-optgroup{color:var(--vxe-ui-select-title-color);font-size:12px;cursor:default}.vxe-select--search-icon{margin-right:.5em}.vxe-select--empty-placeholder,.vxe-select--search-loading{padding:0 .6em;text-align:center;color:var(--vxe-ui-select-empty-color)}.vxe-select,.vxe-select--panel{font-size:var(--vxe-ui-font-size-default)}.vxe-select--panel.size--medium,.vxe-select.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-select--panel.size--small,.vxe-select.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-select--panel.size--mini,.vxe-select.size--mini{font-size:var(--vxe-ui-font-size-mini)}.vxe-select--panel .vxe-select-option{height:var(--vxe-ui-select-option-height-default)}.vxe-select--panel .vxe-select--empty-placeholder,.vxe-select--panel .vxe-select--search-loading,.vxe-select--panel .vxe-select-option{line-height:var(--vxe-ui-select-option-height-default)}.vxe-select--panel.size--medium .vxe-select-option{height:var(--vxe-ui-select-option-height-medium)}.vxe-select--panel.size--medium .vxe-select--empty-placeholder,.vxe-select--panel.size--medium .vxe-select--search-loading,.vxe-select--panel.size--medium .vxe-select-option{line-height:var(--vxe-ui-select-option-height-medium)}.vxe-select--panel.size--small .vxe-select-option{height:var(--vxe-ui-select-option-height-small)}.vxe-select--panel.size--small .vxe-select--empty-placeholder,.vxe-select--panel.size--small .vxe-select--search-loading,.vxe-select--panel.size--small .vxe-select-option{line-height:var(--vxe-ui-select-option-height-small)}.vxe-select--panel.size--mini .vxe-select-option{height:var(--vxe-ui-select-option-height-mini)}.vxe-select--panel.size--mini .vxe-select--empty-placeholder,.vxe-select--panel.size--mini .vxe-select--search-loading,.vxe-select--panel.size--mini .vxe-select-option{line-height:var(--vxe-ui-select-option-height-mini)}
|
|
1
|
+
.vxe-select{position:relative;display:inline-block;width:180px;color:var(--vxe-ui-font-color);text-align:left}.vxe-select>.vxe-input .vxe-input--inner{cursor:pointer}.vxe-select.is--disabled>.vxe-input .vxe-input--inner{cursor:no-drop}.vxe-select.is--loading>.vxe-input .vxe-input--inner{cursor:progress}.vxe-select>.vxe-input{width:100%}.vxe-select>.vxe-input .vxe-input--suffix-icon>i{display:inline-block;transition:transform .2s ease-in-out}.vxe-select.is--active:not(.is--filter)>.vxe-input{border-color:var(--vxe-ui-font-primary-color)}.vxe-select--readonly{color:var(--vxe-ui-font-color);display:inline-flex}.vxe-select-slots{display:none}.vxe-select--panel{display:none;position:absolute;left:0;padding:4px 0;color:var(--vxe-ui-font-color);text-align:left}.vxe-select--panel:not(.is--transfer){min-width:100%}.vxe-select--panel.is--transfer{position:fixed}.vxe-select--panel.ani--leave{display:block;opacity:0;transform:scaleY(.5);transition:transform .3s cubic-bezier(.23,1,.32,1),opacity .3s cubic-bezier(.23,1,.32,1);transform-origin:center top;backface-visibility:hidden}.vxe-select--panel.ani--leave[placement=top]{transform-origin:center bottom}.vxe-select--panel.ani--enter{opacity:1;transform:scaleY(1)}.vxe-select--panel-search{display:block;padding:var(--vxe-ui-layout-padding-default)}.vxe-select--panel-search .vxe-select-search--input{width:100%}.vxe-select--panel-wrapper{position:relative;border-radius:var(--vxe-ui-base-border-radius);border:1px solid var(--vxe-ui-base-popup-border-color);box-shadow:var(--vxe-ui-base-popup-box-shadow);background-color:var(--vxe-ui-layout-background-color)}.vxe-select--panel-header{border-bottom:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-select--panel-footer{border-top:1px solid var(--vxe-ui-base-popup-border-color)}.vxe-select--panel-footer,.vxe-select--panel-header{padding:4px 0}.vxe-select-option--wrapper{position:relative;overflow-x:hidden;overflow-y:auto}.vxe-select--y-space{width:0;float:left}.vxe-select--body,.vxe-select-option--wrapper{padding:0;margin:0;border:0;outline:0}.vxe-select-option--wrapper{max-height:18em}.vxe-select-option{position:relative;padding:0 .6em;max-width:600px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.vxe-select-option.is--add{padding-right:2em}.vxe-select-option.is--add:hover .vxe-select-option--add-icon{color:var(--vxe-ui-font-primary-color)}.vxe-select-option.is--add .vxe-select-option--add-icon{display:block}.vxe-select-option.is--selected{color:var(--vxe-ui-font-primary-color)}.vxe-select-option:not(.is--disabled).is--hover{background-color:var(--vxe-ui-base-hover-background-color)}.vxe-select-option.is--disabled{color:var(--vxe-ui-font-disabled-color);cursor:no-drop}.vxe-select-optgroup{color:var(--vxe-ui-select-title-color);font-size:12px;cursor:default}.vxe-select-option--add-icon{display:none;position:absolute;top:0;right:.6em}.vxe-select--search-icon{margin-right:.5em}.vxe-select--empty-placeholder,.vxe-select--search-loading{padding:0 .6em;text-align:center;color:var(--vxe-ui-select-empty-color)}.vxe-select,.vxe-select--panel{font-size:var(--vxe-ui-font-size-default)}.vxe-select--panel.size--medium,.vxe-select.size--medium{font-size:var(--vxe-ui-font-size-medium)}.vxe-select--panel.size--small,.vxe-select.size--small{font-size:var(--vxe-ui-font-size-small)}.vxe-select--panel.size--mini,.vxe-select.size--mini{font-size:var(--vxe-ui-font-size-mini)}.vxe-select--panel .vxe-select-option{height:var(--vxe-ui-select-option-height-default)}.vxe-select--panel .vxe-select--empty-placeholder,.vxe-select--panel .vxe-select--search-loading,.vxe-select--panel .vxe-select-option{line-height:var(--vxe-ui-select-option-height-default)}.vxe-select--panel.size--medium .vxe-select-option{height:var(--vxe-ui-select-option-height-medium)}.vxe-select--panel.size--medium .vxe-select--empty-placeholder,.vxe-select--panel.size--medium .vxe-select--search-loading,.vxe-select--panel.size--medium .vxe-select-option{line-height:var(--vxe-ui-select-option-height-medium)}.vxe-select--panel.size--small .vxe-select-option{height:var(--vxe-ui-select-option-height-small)}.vxe-select--panel.size--small .vxe-select--empty-placeholder,.vxe-select--panel.size--small .vxe-select--search-loading,.vxe-select--panel.size--small .vxe-select-option{line-height:var(--vxe-ui-select-option-height-small)}.vxe-select--panel.size--mini .vxe-select-option{height:var(--vxe-ui-select-option-height-mini)}.vxe-select--panel.size--mini .vxe-select--empty-placeholder,.vxe-select--panel.size--mini .vxe-select--search-loading,.vxe-select--panel.size--mini .vxe-select-option{line-height:var(--vxe-ui-select-option-height-mini)}
|