vxe-pc-ui 3.14.17 → 3.14.18
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/language/ar-EG.js +4 -2
- package/es/language/de-DE.js +4 -2
- package/es/language/en-US.js +4 -2
- package/es/language/es-ES.js +4 -2
- package/es/language/fr-FR.js +4 -2
- package/es/language/hu-HU.js +4 -2
- package/es/language/hy-AM.js +4 -2
- package/es/language/id-ID.js +4 -2
- package/es/language/it-IT.js +4 -2
- package/es/language/ja-JP.js +4 -2
- package/es/language/ko-KR.js +4 -2
- package/es/language/ms-MY.js +4 -2
- package/es/language/nb-NO.js +4 -2
- package/es/language/pt-BR.js +4 -2
- package/es/language/ru-RU.js +4 -2
- package/es/language/th-TH.js +4 -2
- package/es/language/ug-CN.js +4 -2
- package/es/language/uk-UA.js +4 -2
- package/es/language/uz-UZ.js +4 -2
- package/es/language/vi-VN.js +4 -2
- package/es/language/zh-CHT.js +4 -2
- package/es/language/zh-CN.js +4 -2
- package/es/select/src/select.js +192 -48
- package/es/select/style.css +120 -12
- package/es/select/style.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/tree-select/src/tree-select.js +63 -20
- package/es/tree-select/style.css +5 -0
- package/es/tree-select/style.min.css +1 -1
- package/es/ui/index.js +10 -2
- package/es/ui/src/log.js +1 -1
- package/es/vxe-select/style.css +120 -12
- package/es/vxe-select/style.min.css +1 -1
- package/es/vxe-tree-select/style.css +5 -0
- package/es/vxe-tree-select/style.min.css +1 -1
- package/lib/index.umd.js +278 -69
- package/lib/index.umd.min.js +1 -1
- package/lib/language/ar-EG.js +4 -2
- package/lib/language/ar-EG.min.js +1 -1
- package/lib/language/ar-EG.umd.js +4 -2
- package/lib/language/de-DE.js +4 -2
- package/lib/language/de-DE.min.js +1 -1
- package/lib/language/de-DE.umd.js +4 -2
- package/lib/language/en-US.js +4 -2
- package/lib/language/en-US.min.js +1 -1
- package/lib/language/en-US.umd.js +4 -2
- package/lib/language/es-ES.js +4 -2
- package/lib/language/es-ES.min.js +1 -1
- package/lib/language/es-ES.umd.js +4 -2
- package/lib/language/fr-FR.js +4 -2
- package/lib/language/fr-FR.min.js +1 -1
- package/lib/language/fr-FR.umd.js +4 -2
- package/lib/language/hu-HU.js +4 -2
- package/lib/language/hu-HU.min.js +1 -1
- package/lib/language/hu-HU.umd.js +4 -2
- package/lib/language/hy-AM.js +4 -2
- package/lib/language/hy-AM.min.js +1 -1
- package/lib/language/hy-AM.umd.js +4 -2
- package/lib/language/id-ID.js +4 -2
- package/lib/language/id-ID.min.js +1 -1
- package/lib/language/id-ID.umd.js +4 -2
- package/lib/language/it-IT.js +4 -2
- package/lib/language/it-IT.min.js +1 -1
- package/lib/language/it-IT.umd.js +4 -2
- package/lib/language/ja-JP.js +4 -2
- package/lib/language/ja-JP.min.js +1 -1
- package/lib/language/ja-JP.umd.js +4 -2
- package/lib/language/ko-KR.js +4 -2
- package/lib/language/ko-KR.min.js +1 -1
- package/lib/language/ko-KR.umd.js +4 -2
- package/lib/language/ms-MY.js +4 -2
- package/lib/language/ms-MY.min.js +1 -1
- package/lib/language/ms-MY.umd.js +4 -2
- package/lib/language/nb-NO.js +4 -2
- package/lib/language/nb-NO.min.js +1 -1
- package/lib/language/nb-NO.umd.js +4 -2
- package/lib/language/pt-BR.js +4 -2
- package/lib/language/pt-BR.min.js +1 -1
- package/lib/language/pt-BR.umd.js +4 -2
- package/lib/language/ru-RU.js +4 -2
- package/lib/language/ru-RU.min.js +1 -1
- package/lib/language/ru-RU.umd.js +4 -2
- package/lib/language/th-TH.js +4 -2
- package/lib/language/th-TH.min.js +1 -1
- package/lib/language/th-TH.umd.js +4 -2
- package/lib/language/ug-CN.js +4 -2
- package/lib/language/ug-CN.min.js +1 -1
- package/lib/language/ug-CN.umd.js +4 -2
- package/lib/language/uk-UA.js +4 -2
- package/lib/language/uk-UA.min.js +1 -1
- package/lib/language/uk-UA.umd.js +4 -2
- package/lib/language/uz-UZ.js +4 -2
- package/lib/language/uz-UZ.min.js +1 -1
- package/lib/language/uz-UZ.umd.js +4 -2
- package/lib/language/vi-VN.js +4 -2
- package/lib/language/vi-VN.min.js +1 -1
- package/lib/language/vi-VN.umd.js +4 -2
- package/lib/language/zh-CHT.js +4 -2
- package/lib/language/zh-CHT.min.js +1 -1
- package/lib/language/zh-CHT.umd.js +4 -2
- package/lib/language/zh-CN.js +4 -2
- package/lib/language/zh-CN.min.js +1 -1
- package/lib/language/zh-CN.umd.js +4 -2
- package/lib/select/src/select.js +192 -44
- package/lib/select/src/select.min.js +1 -1
- package/lib/select/style/style.css +120 -12
- package/lib/select/style/style.min.css +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/tree-select/src/tree-select.js +71 -20
- package/lib/tree-select/src/tree-select.min.js +1 -1
- package/lib/tree-select/style/style.css +5 -0
- package/lib/tree-select/style/style.min.css +1 -1
- package/lib/ui/index.js +10 -2
- 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 +120 -12
- package/lib/vxe-select/style/style.min.css +1 -1
- package/lib/vxe-tree-select/style/style.css +5 -0
- package/lib/vxe-tree-select/style/style.min.css +1 -1
- package/package.json +1 -1
- package/packages/language/ar-EG.ts +4 -2
- package/packages/language/de-DE.ts +4 -2
- package/packages/language/en-US.ts +4 -2
- package/packages/language/es-ES.ts +4 -2
- package/packages/language/fr-FR.ts +4 -2
- package/packages/language/hu-HU.ts +4 -2
- package/packages/language/hy-AM.ts +4 -2
- package/packages/language/id-ID.ts +4 -2
- package/packages/language/it-IT.ts +4 -2
- package/packages/language/ja-JP.ts +4 -2
- package/packages/language/ko-KR.ts +4 -2
- package/packages/language/ms-MY.ts +4 -2
- package/packages/language/nb-NO.ts +4 -2
- package/packages/language/pt-BR.ts +4 -2
- package/packages/language/ru-RU.ts +4 -2
- package/packages/language/th-TH.ts +4 -2
- package/packages/language/ug-CN.ts +4 -2
- package/packages/language/uk-UA.ts +4 -2
- package/packages/language/uz-UZ.ts +4 -2
- package/packages/language/vi-VN.ts +4 -2
- package/packages/language/zh-CHT.ts +4 -2
- package/packages/language/zh-CN.ts +4 -2
- package/packages/select/src/select.ts +210 -49
- package/packages/tree-select/src/tree-select.ts +65 -21
- package/packages/ui/index.ts +9 -1
- package/styles/components/select.scss +39 -12
- package/styles/components/tree-select.scss +4 -0
- package/styles/theme/dark.scss +3 -0
- package/styles/theme/light.scss +3 -0
- package/styles/variable.scss +3 -0
- package/types/components/select.d.ts +20 -0
- package/types/components/tree-select.d.ts +22 -1
- /package/es/icon/{iconfont.1779331536287.ttf → iconfont.1779433512609.ttf} +0 -0
- /package/es/icon/{iconfont.1779331536287.woff → iconfont.1779433512609.woff} +0 -0
- /package/es/icon/{iconfont.1779331536287.woff2 → iconfont.1779433512609.woff2} +0 -0
- /package/es/{iconfont.1779331536287.ttf → iconfont.1779433512609.ttf} +0 -0
- /package/es/{iconfont.1779331536287.woff → iconfont.1779433512609.woff} +0 -0
- /package/es/{iconfont.1779331536287.woff2 → iconfont.1779433512609.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1779331536287.ttf → iconfont.1779433512609.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1779331536287.woff → iconfont.1779433512609.woff} +0 -0
- /package/lib/icon/style/{iconfont.1779331536287.woff2 → iconfont.1779433512609.woff2} +0 -0
- /package/lib/{iconfont.1779331536287.ttf → iconfont.1779433512609.ttf} +0 -0
- /package/lib/{iconfont.1779331536287.woff → iconfont.1779433512609.woff} +0 -0
- /package/lib/{iconfont.1779331536287.woff2 → iconfont.1779433512609.woff2} +0 -0
package/lib/select/src/select.js
CHANGED
|
@@ -99,6 +99,20 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
99
99
|
type: [String, Number],
|
|
100
100
|
default: null
|
|
101
101
|
},
|
|
102
|
+
showRadio: {
|
|
103
|
+
type: Boolean,
|
|
104
|
+
default: function _default() {
|
|
105
|
+
return (0, _ui.getConfig)().select.showRadio;
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
radioConfig: Object,
|
|
109
|
+
showCheckbox: {
|
|
110
|
+
type: Boolean,
|
|
111
|
+
default: function _default() {
|
|
112
|
+
return (0, _ui.getConfig)().select.showCheckedButoon;
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
checkboxConfig: Object,
|
|
102
116
|
/**
|
|
103
117
|
* 已废弃,请使用 popupConfig.zIndex
|
|
104
118
|
* @deprecated
|
|
@@ -120,6 +134,24 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
120
134
|
remote: Boolean,
|
|
121
135
|
remoteConfig: Object,
|
|
122
136
|
emptyText: String,
|
|
137
|
+
checkedClosable: {
|
|
138
|
+
type: Boolean,
|
|
139
|
+
default: function _default() {
|
|
140
|
+
return (0, _ui.getConfig)().select.checkedClosable;
|
|
141
|
+
}
|
|
142
|
+
},
|
|
143
|
+
clearClosable: {
|
|
144
|
+
type: Boolean,
|
|
145
|
+
default: function _default() {
|
|
146
|
+
return (0, _ui.getConfig)().select.clearClosable;
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
showCloseButton: {
|
|
150
|
+
type: Boolean,
|
|
151
|
+
default: function _default() {
|
|
152
|
+
return (0, _ui.getConfig)().select.showCloseButton;
|
|
153
|
+
}
|
|
154
|
+
},
|
|
123
155
|
showTotalButoon: {
|
|
124
156
|
type: Boolean,
|
|
125
157
|
default: function _default() {
|
|
@@ -346,6 +378,16 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
346
378
|
var props = $xeSelect;
|
|
347
379
|
return Object.assign({}, (0, _ui.getConfig)().select.optionConfig, props.optionConfig);
|
|
348
380
|
},
|
|
381
|
+
computeRadioOpts: function computeRadioOpts() {
|
|
382
|
+
var $xeSelect = this;
|
|
383
|
+
var props = $xeSelect;
|
|
384
|
+
return Object.assign({}, (0, _ui.getConfig)().select.radioConfig, props.radioConfig);
|
|
385
|
+
},
|
|
386
|
+
computeCheckboxOpts: function computeCheckboxOpts() {
|
|
387
|
+
var $xeSelect = this;
|
|
388
|
+
var props = $xeSelect;
|
|
389
|
+
return Object.assign({}, (0, _ui.getConfig)().select.checkboxConfig, props.checkboxConfig);
|
|
390
|
+
},
|
|
349
391
|
computeIsGroup: function computeIsGroup() {
|
|
350
392
|
var $xeSelect = this;
|
|
351
393
|
var reactData = $xeSelect.reactData;
|
|
@@ -846,7 +888,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
846
888
|
}, null);
|
|
847
889
|
}
|
|
848
890
|
},
|
|
849
|
-
hideOptionPanel: function hideOptionPanel() {
|
|
891
|
+
hideOptionPanel: function hideOptionPanel(evnt) {
|
|
850
892
|
var $xeSelect = this;
|
|
851
893
|
var props = $xeSelect;
|
|
852
894
|
var reactData = $xeSelect.reactData;
|
|
@@ -873,7 +915,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
873
915
|
}, 350);
|
|
874
916
|
$xeSelect.dispatchEvent('visible-change', {
|
|
875
917
|
visible: false
|
|
876
|
-
}, null);
|
|
918
|
+
}, evnt || null);
|
|
877
919
|
},
|
|
878
920
|
changeEvent: function changeEvent(evnt, selectValue, option) {
|
|
879
921
|
var $xeSelect = this;
|
|
@@ -905,14 +947,16 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
905
947
|
var $xeSelect = this;
|
|
906
948
|
var $event = params.$event;
|
|
907
949
|
$xeSelect.clearValueEvent($event, null);
|
|
908
|
-
$xeSelect.hideOptionPanel();
|
|
950
|
+
$xeSelect.hideOptionPanel($event);
|
|
909
951
|
},
|
|
910
952
|
allCheckedPanelEvent: function allCheckedPanelEvent(params) {
|
|
911
953
|
var $xeSelect = this;
|
|
912
954
|
var props = $xeSelect;
|
|
913
955
|
var reactData = $xeSelect.reactData;
|
|
914
956
|
var $event = params.$event;
|
|
915
|
-
var multiple = props.multiple
|
|
957
|
+
var multiple = props.multiple,
|
|
958
|
+
max = props.max,
|
|
959
|
+
checkedClosable = props.checkedClosable;
|
|
916
960
|
var optList = reactData.optList;
|
|
917
961
|
var valueField = $xeSelect.computeValueField;
|
|
918
962
|
if (multiple) {
|
|
@@ -923,6 +967,12 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
923
967
|
var selectValue = option[valueField];
|
|
924
968
|
// 检测是否超过最大可选数量
|
|
925
969
|
if ($xeSelect.checkMaxLimit(currVlas)) {
|
|
970
|
+
if (_ui.VxeUI) {
|
|
971
|
+
_ui.VxeUI.modal.message({
|
|
972
|
+
content: (0, _ui.getI18n)('vxe.select.overSizeErr', [max]),
|
|
973
|
+
status: 'warning'
|
|
974
|
+
});
|
|
975
|
+
}
|
|
926
976
|
return 1; // break
|
|
927
977
|
}
|
|
928
978
|
if (!currVlas.some(function (val) {
|
|
@@ -935,6 +985,9 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
935
985
|
if (_loop()) break;
|
|
936
986
|
}
|
|
937
987
|
$xeSelect.changeEvent($event, currVlas, optList[0]);
|
|
988
|
+
if (checkedClosable) {
|
|
989
|
+
$xeSelect.hideOptionPanel($event);
|
|
990
|
+
}
|
|
938
991
|
$xeSelect.dispatchEvent('all-change', {
|
|
939
992
|
value: currVlas
|
|
940
993
|
}, $event);
|
|
@@ -942,9 +995,18 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
942
995
|
},
|
|
943
996
|
clearCheckedPanelEvent: function clearCheckedPanelEvent(params) {
|
|
944
997
|
var $xeSelect = this;
|
|
998
|
+
var props = $xeSelect;
|
|
999
|
+
var clearClosable = props.clearClosable;
|
|
945
1000
|
var $event = params.$event;
|
|
946
1001
|
$xeSelect.clearValueEvent($event, null);
|
|
947
|
-
|
|
1002
|
+
if (clearClosable) {
|
|
1003
|
+
$xeSelect.hideOptionPanel($event);
|
|
1004
|
+
}
|
|
1005
|
+
},
|
|
1006
|
+
closePanelEvent: function closePanelEvent(params) {
|
|
1007
|
+
var $xeSelect = this;
|
|
1008
|
+
var $event = params.$event;
|
|
1009
|
+
$xeSelect.hideOptionPanel($event);
|
|
948
1010
|
},
|
|
949
1011
|
changeOptionEvent: function changeOptionEvent(evnt, option) {
|
|
950
1012
|
var $xeSelect = this;
|
|
@@ -984,7 +1046,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
984
1046
|
$xeSelect.changeEvent(evnt, multipleValue, option);
|
|
985
1047
|
} else {
|
|
986
1048
|
$xeSelect.changeEvent(evnt, selectValue, option);
|
|
987
|
-
$xeSelect.hideOptionPanel();
|
|
1049
|
+
$xeSelect.hideOptionPanel(evnt);
|
|
988
1050
|
}
|
|
989
1051
|
reactData.reactFlag++;
|
|
990
1052
|
},
|
|
@@ -999,7 +1061,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
999
1061
|
if ((0, _dom.getEventTargetNode)(evnt, panelElem).flag) {
|
|
1000
1062
|
$xeSelect.updatePlacement();
|
|
1001
1063
|
} else {
|
|
1002
|
-
$xeSelect.hideOptionPanel();
|
|
1064
|
+
$xeSelect.hideOptionPanel(evnt);
|
|
1003
1065
|
}
|
|
1004
1066
|
}
|
|
1005
1067
|
}
|
|
@@ -1017,7 +1079,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1017
1079
|
reactData.isActivated = (0, _dom.getEventTargetNode)(evnt, el).flag || (0, _dom.getEventTargetNode)(evnt, panelElem).flag;
|
|
1018
1080
|
if (visiblePanel && !reactData.isActivated) {
|
|
1019
1081
|
if (trigger !== 'manual') {
|
|
1020
|
-
$xeSelect.hideOptionPanel();
|
|
1082
|
+
$xeSelect.hideOptionPanel(evnt);
|
|
1021
1083
|
}
|
|
1022
1084
|
}
|
|
1023
1085
|
}
|
|
@@ -1118,7 +1180,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1118
1180
|
if (visiblePanel) {
|
|
1119
1181
|
if (isEsc || isTab) {
|
|
1120
1182
|
if (trigger !== 'manual') {
|
|
1121
|
-
$xeSelect.hideOptionPanel();
|
|
1183
|
+
$xeSelect.hideOptionPanel(evnt);
|
|
1122
1184
|
}
|
|
1123
1185
|
} else if (isEnter) {
|
|
1124
1186
|
if (currentOption) {
|
|
@@ -1149,7 +1211,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1149
1211
|
}
|
|
1150
1212
|
}
|
|
1151
1213
|
},
|
|
1152
|
-
handleGlobalBlurEvent: function handleGlobalBlurEvent() {
|
|
1214
|
+
handleGlobalBlurEvent: function handleGlobalBlurEvent(evnt) {
|
|
1153
1215
|
var $xeSelect = this;
|
|
1154
1216
|
var reactData = $xeSelect.reactData;
|
|
1155
1217
|
var visiblePanel = reactData.visiblePanel,
|
|
@@ -1158,7 +1220,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1158
1220
|
var trigger = popupOpts.trigger;
|
|
1159
1221
|
if (visiblePanel) {
|
|
1160
1222
|
if (trigger !== 'manual') {
|
|
1161
|
-
$xeSelect.hideOptionPanel();
|
|
1223
|
+
$xeSelect.hideOptionPanel(evnt);
|
|
1162
1224
|
}
|
|
1163
1225
|
}
|
|
1164
1226
|
if (isActivated) {
|
|
@@ -1296,7 +1358,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1296
1358
|
reactData.triggerFocusPanel = false;
|
|
1297
1359
|
} else {
|
|
1298
1360
|
if (reactData.visiblePanel) {
|
|
1299
|
-
$xeSelect.hideOptionPanel();
|
|
1361
|
+
$xeSelect.hideOptionPanel($event);
|
|
1300
1362
|
} else {
|
|
1301
1363
|
$xeSelect.showOptionPanel();
|
|
1302
1364
|
}
|
|
@@ -1623,6 +1685,60 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1623
1685
|
//
|
|
1624
1686
|
// Render
|
|
1625
1687
|
//
|
|
1688
|
+
renderRadio: function renderRadio(h, option, isOptGroup, isChecked, isDisabled) {
|
|
1689
|
+
var $xeSelect = this;
|
|
1690
|
+
var radioOpts = $xeSelect.computeRadioOpts;
|
|
1691
|
+
var showIcon = radioOpts.showIcon,
|
|
1692
|
+
trigger = radioOpts.trigger;
|
|
1693
|
+
if (isOptGroup || showIcon === false) {
|
|
1694
|
+
return (0, _ui.renderEmptyElement)($xeSelect);
|
|
1695
|
+
}
|
|
1696
|
+
var ons = {};
|
|
1697
|
+
if (!trigger || trigger === 'default') {
|
|
1698
|
+
ons.click = function (evnt) {
|
|
1699
|
+
if (!isDisabled && !isOptGroup) {
|
|
1700
|
+
$xeSelect.changeOptionEvent(evnt, option);
|
|
1701
|
+
}
|
|
1702
|
+
};
|
|
1703
|
+
}
|
|
1704
|
+
return h('div', {
|
|
1705
|
+
key: 2,
|
|
1706
|
+
class: ['vxe-select-option--radio', {
|
|
1707
|
+
'is--checked': isChecked,
|
|
1708
|
+
'is--disabled': isDisabled
|
|
1709
|
+
}],
|
|
1710
|
+
on: ons
|
|
1711
|
+
}, [h('span', {
|
|
1712
|
+
class: ['vxe-radio--icon', isChecked ? (0, _ui.getIcon)().RADIO_CHECKED : (0, _ui.getIcon)().RADIO_UNCHECKED]
|
|
1713
|
+
})]);
|
|
1714
|
+
},
|
|
1715
|
+
renderCheckbox: function renderCheckbox(h, option, isOptGroup, isChecked, isDisabled) {
|
|
1716
|
+
var $xeSelect = this;
|
|
1717
|
+
var checkboxOpts = $xeSelect.computeCheckboxOpts;
|
|
1718
|
+
var showIcon = checkboxOpts.showIcon,
|
|
1719
|
+
trigger = checkboxOpts.trigger;
|
|
1720
|
+
if (isOptGroup || showIcon === false) {
|
|
1721
|
+
return (0, _ui.renderEmptyElement)($xeSelect);
|
|
1722
|
+
}
|
|
1723
|
+
var ons = {};
|
|
1724
|
+
if (!trigger || trigger === 'default') {
|
|
1725
|
+
ons.click = function (evnt) {
|
|
1726
|
+
if (!isDisabled && !isOptGroup) {
|
|
1727
|
+
$xeSelect.changeOptionEvent(evnt, option);
|
|
1728
|
+
}
|
|
1729
|
+
};
|
|
1730
|
+
}
|
|
1731
|
+
return h('div', {
|
|
1732
|
+
key: 3,
|
|
1733
|
+
class: ['vxe-select-option--checkbox', {
|
|
1734
|
+
'is--checked': isChecked,
|
|
1735
|
+
'is--disabled': isDisabled
|
|
1736
|
+
}],
|
|
1737
|
+
on: ons
|
|
1738
|
+
}, [h('span', {
|
|
1739
|
+
class: ['vxe-checkbox--icon', isChecked ? (0, _ui.getIcon)().CHECKBOX_CHECKED : (0, _ui.getIcon)().CHECKBOX_UNCHECKED]
|
|
1740
|
+
})]);
|
|
1741
|
+
},
|
|
1626
1742
|
renderOption: function renderOption(h, list) {
|
|
1627
1743
|
var $xeSelect = this;
|
|
1628
1744
|
var props = $xeSelect;
|
|
@@ -1630,7 +1746,10 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1630
1746
|
var reactData = $xeSelect.reactData;
|
|
1631
1747
|
var internalData = $xeSelect.internalData;
|
|
1632
1748
|
var allowCreate = props.allowCreate,
|
|
1633
|
-
optionKey = props.optionKey
|
|
1749
|
+
optionKey = props.optionKey,
|
|
1750
|
+
multiple = props.multiple,
|
|
1751
|
+
showRadio = props.showRadio,
|
|
1752
|
+
showCheckbox = props.showCheckbox;
|
|
1634
1753
|
var currentOption = reactData.currentOption;
|
|
1635
1754
|
var optAddMaps = internalData.optAddMaps;
|
|
1636
1755
|
var optionOpts = $xeSelect.computeOptionOpts;
|
|
@@ -1638,9 +1757,13 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1638
1757
|
var valueField = $xeSelect.computeValueField;
|
|
1639
1758
|
var groupLabelField = $xeSelect.computeGroupLabelField;
|
|
1640
1759
|
var selectVals = $xeSelect.computeSelectVals;
|
|
1760
|
+
var radioOpts = $xeSelect.computeRadioOpts;
|
|
1761
|
+
var checkboxOpts = $xeSelect.computeCheckboxOpts;
|
|
1641
1762
|
var useKey = optionOpts.useKey,
|
|
1642
1763
|
height = optionOpts.height;
|
|
1643
1764
|
var optionSlot = slots.option;
|
|
1765
|
+
var isCheckboxMode = showCheckbox && multiple;
|
|
1766
|
+
var isRadioMode = showRadio && !multiple;
|
|
1644
1767
|
return list.map(function (option, cIndex) {
|
|
1645
1768
|
var slots = option.slots,
|
|
1646
1769
|
className = option.className;
|
|
@@ -1652,6 +1775,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1652
1775
|
var isVisible = isAdd || !isOptGroup || isOptionVisible(option);
|
|
1653
1776
|
var isDisabled = !isAdd && $xeSelect.checkOptionDisabled(isSelected, option);
|
|
1654
1777
|
var defaultSlot = slots ? slots.default : null;
|
|
1778
|
+
var optSlot = defaultSlot || optionSlot;
|
|
1655
1779
|
var optParams = {
|
|
1656
1780
|
option: option,
|
|
1657
1781
|
group: isOptGroup ? option : null,
|
|
@@ -1659,13 +1783,41 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1659
1783
|
};
|
|
1660
1784
|
var optLabel = '';
|
|
1661
1785
|
var optVNs = [];
|
|
1662
|
-
if (
|
|
1663
|
-
optVNs
|
|
1664
|
-
} else if (
|
|
1665
|
-
optVNs
|
|
1786
|
+
if (isCheckboxMode) {
|
|
1787
|
+
optVNs.push($xeSelect.renderCheckbox(h, option, isOptGroup, isSelected, isDisabled));
|
|
1788
|
+
} else if (isRadioMode) {
|
|
1789
|
+
optVNs.push($xeSelect.renderRadio(h, option, isOptGroup, isSelected, isDisabled));
|
|
1790
|
+
}
|
|
1791
|
+
var otlbVNs = [];
|
|
1792
|
+
if (optSlot) {
|
|
1793
|
+
otlbVNs = $xeSelect.callSlot(optSlot, optParams, h);
|
|
1666
1794
|
} else {
|
|
1667
1795
|
optLabel = (0, _utils.getFuncText)(option[isOptGroup ? groupLabelField : labelField] || optionValue);
|
|
1668
|
-
|
|
1796
|
+
otlbVNs = [optLabel];
|
|
1797
|
+
}
|
|
1798
|
+
optVNs.push(h('div', {
|
|
1799
|
+
key: 1,
|
|
1800
|
+
class: 'vxe-select-option--label'
|
|
1801
|
+
}, otlbVNs));
|
|
1802
|
+
var ons = {
|
|
1803
|
+
mousedown: function mousedown(evnt) {
|
|
1804
|
+
var isLeftBtn = evnt.button === 0;
|
|
1805
|
+
if (isLeftBtn) {
|
|
1806
|
+
evnt.stopPropagation();
|
|
1807
|
+
}
|
|
1808
|
+
},
|
|
1809
|
+
mouseenter: function mouseenter() {
|
|
1810
|
+
if (!isDisabled && !isOptGroup && !$xeSelect.isVMScrollProcess()) {
|
|
1811
|
+
$xeSelect.setCurrentOption(option);
|
|
1812
|
+
}
|
|
1813
|
+
}
|
|
1814
|
+
};
|
|
1815
|
+
if (isCheckboxMode ? checkboxOpts.trigger === 'option' : isRadioMode ? radioOpts.trigger === 'option' : true) {
|
|
1816
|
+
ons.click = function (evnt) {
|
|
1817
|
+
if (!isDisabled && !isOptGroup) {
|
|
1818
|
+
$xeSelect.changeOptionEvent(evnt, option);
|
|
1819
|
+
}
|
|
1820
|
+
};
|
|
1669
1821
|
}
|
|
1670
1822
|
return isVisible ? h('div', {
|
|
1671
1823
|
key: useKey || optionKey ? optid : cIndex,
|
|
@@ -1683,27 +1835,10 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1683
1835
|
style: height ? {
|
|
1684
1836
|
height: (0, _dom.toCssUnit)(height)
|
|
1685
1837
|
} : undefined,
|
|
1686
|
-
on:
|
|
1687
|
-
mousedown: function mousedown(evnt) {
|
|
1688
|
-
var isLeftBtn = evnt.button === 0;
|
|
1689
|
-
if (isLeftBtn) {
|
|
1690
|
-
evnt.stopPropagation();
|
|
1691
|
-
}
|
|
1692
|
-
},
|
|
1693
|
-
click: function click(evnt) {
|
|
1694
|
-
if (!isDisabled && !isOptGroup) {
|
|
1695
|
-
$xeSelect.changeOptionEvent(evnt, option);
|
|
1696
|
-
}
|
|
1697
|
-
},
|
|
1698
|
-
mouseenter: function mouseenter() {
|
|
1699
|
-
if (!isDisabled && !isOptGroup && !$xeSelect.isVMScrollProcess()) {
|
|
1700
|
-
$xeSelect.setCurrentOption(option);
|
|
1701
|
-
}
|
|
1702
|
-
}
|
|
1703
|
-
}
|
|
1838
|
+
on: ons
|
|
1704
1839
|
}, allowCreate ? [h('span', {
|
|
1705
1840
|
key: 1,
|
|
1706
|
-
class: 'vxe-select-option--label'
|
|
1841
|
+
class: 'vxe-select-option--add-label'
|
|
1707
1842
|
}, optVNs), isAdd ? h('span', {
|
|
1708
1843
|
key: 2,
|
|
1709
1844
|
class: 'vxe-select-option--add-icon'
|
|
@@ -1745,7 +1880,8 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1745
1880
|
filterable = props.filterable,
|
|
1746
1881
|
showTotalButoon = props.showTotalButoon,
|
|
1747
1882
|
showCheckedButoon = props.showCheckedButoon,
|
|
1748
|
-
showClearButton = props.showClearButton
|
|
1883
|
+
showClearButton = props.showClearButton,
|
|
1884
|
+
showCloseButton = props.showCloseButton;
|
|
1749
1885
|
var initialized = reactData.initialized,
|
|
1750
1886
|
isActivated = reactData.isActivated,
|
|
1751
1887
|
isAniVisible = reactData.isAniVisible,
|
|
@@ -1848,13 +1984,11 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1848
1984
|
change: $xeSelect.triggerSearchEvent,
|
|
1849
1985
|
search: $xeSelect.triggerSearchEvent
|
|
1850
1986
|
}
|
|
1851
|
-
})]) : (0, _ui.renderEmptyElement)($xeSelect),
|
|
1987
|
+
})]) : (0, _ui.renderEmptyElement)($xeSelect), showCheckedButoon && multiple || showClearButton || headerSlot ? h('div', {
|
|
1852
1988
|
class: 'vxe-select--panel-header'
|
|
1853
1989
|
}, headerSlot ? $xeSelect.callSlot(headerSlot, {}, h) : [h('div', {
|
|
1854
1990
|
class: 'vxe-tree-select--header-button'
|
|
1855
|
-
}, [
|
|
1856
|
-
class: 'vxe-tree-select--header-total'
|
|
1857
|
-
}, (0, _ui.getI18n)('vxe.select.total', [selectVals.length, optList.length])) : (0, _ui.renderEmptyElement)($xeSelect), h('div', {
|
|
1991
|
+
}, [h('div', {
|
|
1858
1992
|
class: 'vxe-tree-select--header-btns'
|
|
1859
1993
|
}, [showCheckedButoon && multiple ? h(_button.default, {
|
|
1860
1994
|
props: {
|
|
@@ -1891,9 +2025,23 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1891
2025
|
style: {
|
|
1892
2026
|
transform: "translateY(".concat(topSpaceHeight, "px)")
|
|
1893
2027
|
}
|
|
1894
|
-
}, $xeSelect.renderOpts(h))])]), footerSlot ? h('div', {
|
|
2028
|
+
}, $xeSelect.renderOpts(h))])]), footerSlot || showTotalButoon || showCloseButton && multiple ? h('div', {
|
|
1895
2029
|
class: 'vxe-select--panel-footer'
|
|
1896
|
-
}, $xeSelect.callSlot(footerSlot, {}, h)
|
|
2030
|
+
}, footerSlot ? $xeSelect.callSlot(footerSlot, {}, h) : [h('div', {
|
|
2031
|
+
class: 'vxe-select--footer-button'
|
|
2032
|
+
}, [showTotalButoon ? h('div', {
|
|
2033
|
+
class: 'vxe-select--total-btns'
|
|
2034
|
+
}, (0, _ui.getI18n)('vxe.select.total', [selectVals.length, optList.length])) : (0, _ui.renderEmptyElement)($xeSelect), showCloseButton && multiple ? h('div', {
|
|
2035
|
+
class: 'vxe-select--oper-btns'
|
|
2036
|
+
}, [h(_button.default, {
|
|
2037
|
+
props: {
|
|
2038
|
+
content: (0, _ui.getI18n)('vxe.select.close'),
|
|
2039
|
+
mode: 'text'
|
|
2040
|
+
},
|
|
2041
|
+
on: {
|
|
2042
|
+
click: $xeSelect.closePanelEvent
|
|
2043
|
+
}
|
|
2044
|
+
})]) : (0, _ui.renderEmptyElement)($xeSelect)])]) : (0, _ui.renderEmptyElement)($xeSelect)])] : [])]);
|
|
1897
2045
|
}
|
|
1898
2046
|
},
|
|
1899
2047
|
watch: {
|
|
@@ -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"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_input=_interopRequireDefault(require("../../input/src/input")),_button=_interopRequireDefault(require("../../button/src/button"));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,n){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,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 n=e[Symbol.toPrimitive];if(void 0===n)return("string"===t?String:Number)(e);n=n.call(e,t||"default");if("object"!=_typeof(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}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 _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,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:function(){return(0,_ui.getConfig)().select.size||(0,_ui.getConfig)().size}},filterable:Boolean,filterMethod:Function,filterConfig:Object,remote:Boolean,remoteConfig:Object,emptyText:String,showTotalButoon:{type:Boolean,default:function(){return(0,_ui.getConfig)().select.showTotalButoon}},showCheckedButoon:{type:Boolean,default:function(){return(0,_ui.getConfig)().select.showCheckedButoon}},showClearButton:{type:Boolean,default:function(){return(0,_ui.getConfig)().select.showClearButton}},transfer:{type:Boolean,default:null},popupConfig:Object,virtualYConfig:Object,scrollY:Object,remoteMethod:Function,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:[],staticOptions:[],reactFlag:1,currentOption:null,searchValue:"",searchLoading:!1,panelIndex:0,panelStyle:{},panelPlacement:null,triggerFocusPanel:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1},internalData:createInternalData()}},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,n=e.$xeModal,i=e.$xeDrawer,l=e.$xeForm,a=e.transfer,e=e.computePopupOpts;if(_xeUtils.default.isBoolean(e.transfer))return e.transfer;if(null===a){e=(0,_ui.getConfig)().select.transfer;if(_xeUtils.default.isBoolean(e))return e;if(t||n||i||l)return!0}return a},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.computeSelectVals;return this.checkMaxLimit(e)},computePopupOpts:function(){return Object.assign({},(0,_ui.getConfig)().select.popupConfig,this.popupConfig)},computeVirtualYOpts:function(){return Object.assign({},(0,_ui.getConfig)().select.virtualYConfig||(0,_ui.getConfig)().select.scrollY,this.virtualYConfig||this.scrollY)},computeRemoteOpts:function(){return Object.assign({},(0,_ui.getConfig)().select.remoteConfig,this.remoteConfig)},computeFilterOpts:function(){return Object.assign({},(0,_ui.getConfig)().select.filterConfig,this.filterConfig)},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)},computePopupWrapperStyle:function(){var e=this.computePopupOpts,t=e.height,e=e.width,n={};return e&&(n.width=(0,_dom.toCssUnit)(e)),t&&(n.height=(0,_dom.toCssUnit)(t),n.maxHeight=(0,_dom.toCssUnit)(t)),n},computeSelectVals:function(){var e=this.value,t=this.multiple,n=[];return _xeUtils.default.isArray(e)?n=e:t?(0,_utils.eqEmptyValue)(e)||(n=-1<"".concat(e).indexOf(",")?"".concat(e).split(","):[e]):n=null==e?[]:[e],n},computeFullLabel:function(){var t=this,e=t.reactData,n=t.remote,e=e.reactFlag,i=t.computeSelectVals;return(n&&e?i.map(function(e){return t.getRemoteSelectLabel(e)}):i.map(function(e){return t.getSelectLabel(e)})).join(", ")},computeSelectLabel:function(){var t=this,e=t.reactData,n=t.remote,i=t.multiple,e=e.reactFlag,l=t.computeMultiMaxCharNum,a=t.computeSelectVals;return n&&e?a.map(function(e){return t.getRemoteSelectLabel(e)}).join(", "):(n=a.map(function(e){return t.getSelectLabel(e)}),i&&0<l&&n.length>l?"".concat(n.slice(0,l),"..."):n.join(", "))}}),methods:{dispatchEvent:function(e,t,n){this.$emit(e,(0,_ui.createEvent)(n,{$select:this},t))},emitModel:function(e){var t=this._events;t&&t.modelValue?this.$emit("modelValue",e):this.$emit("model-value",e)},emitDefaultValue:function(e){this.emitModel(e),this.dispatchEvent("default-change",{value:e},null)},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 t&&t.blur(),e.isActivated=!0,this.$nextTick()},blur:function(){var e=this.reactData,t=this.$refs.refInput;return t&&t.blur(),e.isActivated=!1,this.$nextTick()},callSlot:function(e,t,n){var i=this.$scopedSlots;return e&&(_xeUtils.default.isString(e)&&(e=i[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e.call(this,t,n)):[]},getOptKey:function(){return this.computeOptionOpts.keyField||this.optionId||"_X_OPTION_KEY"},getOptId:function(e){e=e[this.getOptKey()];return e?encodeURIComponent(e):""},checkMaxLimit:function(e){var t=this.multiple,n=this.max;return!(!t||!n)&&e.length>=_xeUtils.default.toNumber(n)},getRemoteSelectLabel:function(t){var e=this.internalData,n=this.lazyOptions,i=e.remoteValMaps,l=this.computeValueField,a=this.computeLabelField,i=i[t]||e.optFullValMaps[t],e=i?i.item:null;if(e)return _xeUtils.default.toValueString(e[a]);if(n){i=n.find(function(e){return e[l]===t});if(i)return i[a]}return t},getSelectLabel:function(t){var e=this,n=e.reactData,i=e.lazyOptions,l=e.internalData.optFullValMaps,a=e.computeValueField,e=e.computeLabelField,n=n.reactFlag?l[t]:null;if(n)return n.item[e];if(i){l=i.find(function(e){return e[a]===t});if(l)return l[e]}return t},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 t=this,e=t.reactData,n=t.internalData,i=t.remote,l=t.value,a=t.filterable,o=e.searchValue,e=n.fullData,r=n.optFullValMaps,s=t.computeLabelField,u=t.computeValueField,c=t.computeFilterOpts.filterMethod||t.filterMethod,p="".concat(o||"").toLowerCase(),f=[];return(f=i?e.filter(isOptionVisible):a&&c?e.filter(function(e){return isOptionVisible(e)&&c({$select:t,group:null,option:e,searchValue:o,value:l})}):a?e.filter(function(e){return isOptionVisible(e)&&(!p||-1<"".concat(e[s]||e[u]).toLowerCase().indexOf(p))}):e.filter(isOptionVisible)).forEach(function(e,t){e=r[e[u]];e&&(e._index=t)}),n.afterVisibleList=f,t.$nextTick()},refreshOption:function(){return this.handleOption(),this.updateYData(),this.$nextTick()},cacheItemMap:function(e){function t(e){c.push(e);var t=n.getOptId(e);t||(t=getOptUniqueId(),e[r]=t),u[e[o]]={key:t,item:e,_index:-1}}var n=this,i=n.reactData,l=n.internalData,a=n.computeGroupOptionsField,o=n.computeValueField,r=n.getOptKey(),s={},u={},c=[];e.forEach(function(e){t(e),e[a]&&(s[e[r]]=e)[a].forEach(t)}),l.fullData=c,l.optGroupKeyMaps=s,l.optFullValMaps=u,i.reactFlag++,n.handleOption()},setCurrentOption:function(e){var t=this.reactData;e&&(t.currentOption=e)},scrollToOption:function(i,l){var a=this;return a.$nextTick().then(function(){var e,t,n;i&&(e=a.$refs.refOptionWrapper,t=a.$refs.refOptionPanel.querySelector("[optid='".concat(a.getOptid(i),"']")),e)&&t&&(n=e.offsetHeight,l?t.offsetTop+t.offsetHeight-e.scrollTop>n&&(e.scrollTop=t.offsetTop+t.offsetHeight-n):(t.offsetTop+5<e.scrollTop||t.offsetTop+5>e.scrollTop+e.clientHeight)&&(e.scrollTop=t.offsetTop-5))})},updateZindex:function(){var e=this.reactData,t=this.computePopupOpts.zIndex||this.zIndex;t?e.panelIndex=_xeUtils.default.toNumber(t):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(){function e(){var e=(0,_dom.updatePanelPlacement)(a,o,{placement:s.placement||i,defaultPlacement:s.defaultPlacement,teleportTo:r}),t=Object.assign(e.style,{zIndex:l});n.panelStyle=t,n.panelPlacement=e.placement}var t=this,n=t.reactData,i=t.placement,l=n.panelIndex,a=t.$refs.refElem,o=t.$refs.refOptionPanel,r=t.computeBtnTransfer,s=t.computePopupOpts;return e(),t.$nextTick().then(e)},handleScrollSelect:function(){var l=this,a=l.reactData,o=l.internalData;l.$nextTick(function(){var e=a.isAniVisible,t=a.visiblePanel,n=o.optFullValMaps,i=l.computeSelectVals;i.length&&e&&t&&(e=a.reactFlag?n["".concat(i[0])]:null)&&(a.currentOption=e.item,l.handleScrollToOption(e.item))})},showOptionPanel:function(){var e=this,t=e.reactData,n=e.internalData,i=e.loading,l=e.filterable,a=e.remote,o=n.fullData,r=n.hpTimeout,s=e.computeRemoteOpts,u=e.computeSelectVals;i||e.computeIsDisabled||(r&&(clearTimeout(r),n.hpTimeout=void 0),t.initialized||(t.initialized=!0,i=e.computeBtnTransfer,r=e.$refs.refOptionPanel,i&&r&&document.body.appendChild(r)),t.isActivated=!0,t.isAniVisible=!0,l&&(a&&s.enabled&&(s.autoLoad&&!o.length||o.length&&s.clearOnClose)?e.handleSearchEvent():(e.handleOption(),e.updateYData())),setTimeout(function(){t.visiblePanel=!0,e.handleFocusSearch(),e.recalculate().then(function(){u&&u.length?e.handleScrollSelect():e.refreshScroll()}),e.updatePlacement()},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,t=e.reactData,n=e.internalData,i=e.filterable,l=e.computeFilterOpts;e.remote?e.computeRemoteOpts.clearOnClose&&(t.searchValue=""):i&&!l.clearOnClose||(t.searchValue=""),t.searchLoading=!1,t.visiblePanel=!1,n.hpTimeout=setTimeout(function(){t.isAniVisible=!1},350),e.dispatchEvent("visible-change",{visible:!1},null)},changeEvent:function(e,t,n){var i=this,l=i,a=i.$xeForm,o=i.formItemInfo;i.emitModel(t),t!==l.value&&(i.dispatchEvent("change",{value:t,option:n},e),a)&&o&&a.triggerItemEvent(e,o.itemConfig.field,t)},clearValueEvent:function(e,t){this.internalData.remoteValMaps={},this.changeEvent(e,t,null),this.dispatchEvent("clear",{value:t},e)},clearEvent:function(e){e=e.$event;this.clearValueEvent(e,null),this.hideOptionPanel()},allCheckedPanelEvent:function(e){var n=this,t=n.reactData,e=e.$event,i=n.multiple,l=t.optList,a=n.computeValueField;if(i){for(var o=n.computeSelectVals.slice(0),r=0;r<l.length&&!(()=>{var t=l[r][a];if(n.checkMaxLimit(o))return 1;o.some(function(e){return e===t})||o.push(t)})();r++);n.changeEvent(e,o,l[0]),n.dispatchEvent("all-change",{value:o},e)}},clearCheckedPanelEvent:function(e){e=e.$event;this.clearValueEvent(e,null),this.hideOptionPanel()},changeOptionEvent:function(e,t){var n=this,i=n.reactData,l=n.multiple,a=n.internalData.remoteValMaps,o=t[n.computeValueField],r=a[o];i.visiblePanel&&(r?r.item=t:a[o]={key:n.getOptId(t),item:t,_index:-1},l?(r=[],a=n.computeSelectVals,r=-1===_xeUtils.default.findIndexOf(a,function(e){return e===o})?a.concat([o]):a.filter(function(e){return e!==o}),n.changeEvent(e,r,t)):(n.changeEvent(e,o,t),n.hideOptionPanel()),i.reactFlag++)},handleGlobalMousewheelEvent:function(e){var t=this,n=t.reactData.visiblePanel;t.computeIsDisabled||n&&(n=t.$refs.refOptionPanel,(0,_dom.getEventTargetNode)(e,n).flag?t.updatePlacement():t.hideOptionPanel())},handleGlobalMousedownEvent:function(e){var t,n,i=this,l=i.reactData,a=l.visiblePanel,o=i.computePopupOpts.trigger;i.computeIsDisabled||(t=i.$refs.refElem,n=i.$refs.refOptionPanel,l.isActivated=(0,_dom.getEventTargetNode)(e,t).flag||(0,_dom.getEventTargetNode)(e,n).flag,a&&!l.isActivated&&"manual"!==o&&i.hideOptionPanel())},validOffsetOption:function(e){var t=e.disabled,e=this.getOptId(e);return!t&&!this.hasOptGroupById(e)},findOffsetOption:function(e,t){var n=this,i=n.reactData,l=n.internalData,a=n.allowCreate,i=i.optList,o=l.optFullValMaps,r=l.optAddMaps,s=n.computeValueField,u=l.afterVisibleList,l=0;if(a&&i.length&&(a=i[0],r[i=n.getOptId(a)])&&(l=1,u=[r[i]].concat(u)),!e)if(t)for(var c=0;c<u.length;c++){var p=u[c];if(n.validOffsetOption(p))return p}else for(var f=u.length-1;0<=f;f--){var d=u[f];if(n.validOffsetOption(d))return d}a=0,r=e?o[e[s]]:null;if(-1<(a=r?r._index+l:a))if(t)for(var h=a+1;h<=u.length-1;h++){var v=u[h];if(n.validOffsetOption(v))return v}else if(0<a)for(var m=a-1;0<=m;m--){var g=u[m];if(n.validOffsetOption(g))return g}return null},handleGlobalKeydownEvent:function(e){var t,n,i,l,a,o,r=this,s=r.reactData,u=r.clearable,c=s.visiblePanel,p=s.currentOption,f=r.computePopupOpts.trigger;r.computeIsDisabled||(t=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.TAB),n=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ENTER),i=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ESCAPE),l=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_UP),a=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_DOWN),o=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.DELETE),t&&(s.isActivated=!1),c?i||t?"manual"!==f&&r.hideOptionPanel():n?p&&(e.preventDefault(),e.stopPropagation(),r.changeOptionEvent(e,p)):(l||a)&&(e.preventDefault(),c=(c=r.findOffsetOption(p,a))||r.findOffsetOption(null,a))&&(r.setCurrentOption(c),r.handleScrollToOption(c,a)):(l||a||n)&&s.isActivated&&(e.preventDefault(),r.showOptionPanel()),s.isActivated&&o&&u&&r.clearValueEvent(e,null))},handleGlobalBlurEvent:function(){var e=this.reactData,t=e.visiblePanel,n=e.isActivated,i=this.computePopupOpts.trigger;t&&"manual"!==i&&this.hideOptionPanel(),n&&(e.isActivated=!1),(t||n)&&(i=this.$refs.refInput)&&i.blur()},handleGlobalResizeEvent:function(){this.reactData.visiblePanel&&this.updatePlacement()},handleFocusSearch:function(){var t=this;t.filterable&&t.$nextTick(function(){var e=t.$refs.refInpSearch;e&&e.focus()})},focusEvent:function(e){var t=this,n=t.reactData,i=t.computePopupOpts.trigger;t.computeIsDisabled||n.visiblePanel||i&&"default"!==i||(n.triggerFocusPanel=!0,t.showOptionPanel(),setTimeout(function(){n.triggerFocusPanel=!1},500)),t.dispatchEvent("focus",{},e)},clickEvent:function(e){var t=this.reactData,n=this.computePopupOpts.trigger;n&&"default"!==n||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,n=this.computePopupOpts.trigger;n&&"default"!==n&&"icon"!==n||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,n=e.value,i=t.searchValue,l=e.computeRemoteOpts,a=l.queryMethod||e.remoteMethod;e.remote&&a&&l.enabled?(t.searchLoading=!0,Promise.resolve(a({$select:e,searchValue:i,value:n})).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){return!!t.disabled||!(!this.computeIsMaximize||e)},updateYSpace:function(){var e=this.reactData,t=this.internalData,n=e.scrollYLoad,i=t.scrollYStore;e.bodyHeight=n?t.afterVisibleList.length*i.rowHeight:0,e.topSpaceHeight=n?Math.max(i.startIndex*i.rowHeight,0):0},handleData:function(){var e=this,t=e.reactData,n=e.internalData,i=e.filterable,l=e.allowCreate,a=t.scrollYLoad,o=t.searchValue,r=n.optAddMaps,s=n.scrollYStore,n=n.afterVisibleList,u=e.computeLabelField,c=e.computeValueField,a=a?n.slice(s.startIndex,s.endIndex):n.slice(0);return i&&l&&o&&(a.some(function(e){return e[u]===o})||(s=r[o]||_defineProperty(_defineProperty(_defineProperty({},e.getOptKey(),o),u,o),c,o),r[o]=s,a.unshift(s))),t.optList=a,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,n=s.scrollYStore,i=o.$refs.refVirtualBody,l=o.computeVirtualYOpts,a=0;(e=i?e||i.children[0]:e)&&(a=e.offsetHeight),a=Math.max(20,a),n.rowHeight=a,t?(i=o.$refs.refVirtualWrapper,e=Math.max(8,i?Math.ceil(i.clientHeight/a):0),t=Math.max(0,Math.min(2,_xeUtils.default.toNumber(l.oSize))),n.offsetSize=t,n.visibleSize=e,n.endIndex=Math.max(n.startIndex,e+t,n.endIndex),o.updateYData()):o.updateYSpace()})},handleScrollToOption:function(e,t){var n,i,l=this.internalData,a=l.optFullValMaps,l=l.scrollYStore,a=a[e[this.computeValueField]];a&&(e=a.key,-1<(a=a._index))&&(n=this.$refs.refVirtualWrapper,e=this.$refs.refOptionPanel.querySelector("[optid='".concat(e,"']")),n)&&(e?(i=n.offsetHeight,t?Math.ceil(e.offsetTop+e.offsetHeight-n.scrollTop)>=i?n.scrollTop=e.offsetTop+e.offsetHeight-i:(e.offsetTop+1<n.scrollTop||e.offsetTop+1>n.scrollTop+n.clientHeight)&&(n.scrollTop=e.offsetTop-1):e.offsetTop+1<n.scrollTop||e.offsetTop+1>n.scrollTop+n.clientHeight?n.scrollTop=e.offsetTop-1:e.offsetTop+e.offsetHeight-n.scrollTop>i&&(n.scrollTop=e.offsetTop+e.offsetHeight-i)):n.scrollTop=t?a*l.rowHeight-n.clientHeight+l.rowHeight:a*l.rowHeight)},scrollTo:function(e,t){var n=this,i=n.reactData,l=n.$refs.refVirtualWrapper;return l&&(_xeUtils.default.isNumber(e)&&(l.scrollLeft=e),_xeUtils.default.isNumber(t))&&(l.scrollTop=t),i.scrollYLoad?new Promise(function(e){setTimeout(function(){n.$nextTick(function(){e()})},50)}):n.$nextTick()},refreshScroll:function(){var e=this,t=e.internalData,n=t.lastScrollLeft,i=t.lastScrollTop;return e.clearScroll().then(function(){if(n||i)return t.lastScrollLeft=0,t.lastScrollTop=0,e.scrollTo(n,i)})},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,n=t.startIndex,i=t.endIndex,l=t.visibleSize,a=t.offsetSize,e=e.target.scrollTop,e=Math.floor(e/t.rowHeight),o=Math.max(0,e-1-a),a=e+l+a;!(e<=n||i-l-1<=e)||n===o&&i===a||(t.startIndex=o,t.endIndex=a,this.updateYData())},isVMScrollProcess:function(){var e=this.internalData.lastScrollTime;return!!(e&&Date.now()<e+250)},scrollEvent:function(e){var t=this.reactData,n=this.internalData,i=e.target,l=i.scrollTop,i=i.scrollLeft,a=i!==n.lastScrollLeft,o=l!==n.lastScrollTop;n.lastScrollTop=l,n.lastScrollLeft=i,t.scrollYLoad&&this.loadYData(e),n.lastScrollTime=Date.now(),this.dispatchEvent("scroll",{scrollLeft:i,scrollTop:l,isX:a,isY:o},e)},loadData:function(e){var t,n=this,i=n,l=n.reactData,a=n.internalData,o=(n.cacheItemMap(e||[]),i.multiple),r=a.isLoaded,s=a.fullData,u=a.scrollYStore,c=n.computeDefaultOpts,p=n.computeVirtualYOpts,f=n.computeValueField;return Object.assign(u,{startIndex:0,endIndex:1,visibleSize:0}),a.synchData=e||[],l.scrollYLoad=!!p.enabled&&-1<p.gt&&(0===p.gt||p.gt<=s.length),n.handleData(),r||(u=c.selectMode,0<e.length&&_xeUtils.default.eqNull(i.value)&&("all"===u?o?n.$nextTick(function(){n.emitDefaultValue(e.map(function(e){return e[f]}))}):(0,_log.errLog)("vxe.error.notConflictProp",["default-config.selectMode=all","multiple=true"]):"first"!==u&&"last"!==u||(t=_xeUtils.default[u](e))&&n.$nextTick(function(){_xeUtils.default.eqNull(i.value)&&n.emitDefaultValue(t[f])}),a.isLoaded=!0)),n.computeScrollLoad().then(function(){n.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(h,e){var v=this,t=v.$scopedSlots,m=v.allowCreate,g=v.optionKey,b=v.reactData.currentOption,O=v.internalData.optAddMaps,n=v.computeOptionOpts,x=v.computeLabelField,_=v.computeValueField,E=v.computeGroupLabelField,y=v.computeSelectVals,S=n.useKey,D=n.height,P=t.option;return e.map(function(t,e){var n=t.slots,i=t.className,l=v.getOptId(t),a=t[_],o=v.hasOptGroupById(l),r=!(!m||!O[l]),s=!r&&-1<y.indexOf(a),u=r||!o||isOptionVisible(t),c=!r&&v.checkOptionDisabled(s,t),n=n?n.default:null,p={option:t,group:o?t:null,$select:v},f="",d=[],d=P?v.callSlot(P,p,h):n?v.callSlot(n,p,h):f=(0,_utils.getFuncText)(t[o?E:x]||a);return u?h("div",{key:S||g?l:e,class:["vxe-select-option",i?_xeUtils.default.isFunction(i)?i(p):i:"",{"vxe-select-optgroup":o,"is--disabled":c,"is--selected":s,"is--add":r,"is--hover":b&&v.getOptId(b)===l}],attrs:{optid:l,title:f||null},style:D?{height:(0,_dom.toCssUnit)(D)}:void 0,on:{mousedown:function(e){0===e.button&&e.stopPropagation()},click:function(e){c||o||v.changeOptionEvent(e,t)},mouseenter:function(){c||o||v.isVMScrollProcess()||v.setCurrentOption(t)}}},m?[h("span",{key:1,class:"vxe-select-option--label"},d),r?h("span",{key:2,class:"vxe-select-option--add-icon"},[h("i",{class:(0,_ui.getIcon)().SELECT_ADD_OPTION})]):(0,_ui.renderEmptyElement)(v)]:d):(0,_ui.renderEmptyElement)(v)})},renderOpts:function(e){var t=this.reactData,n=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"))])]:n.length?this.renderOption(e,n):[e("div",{class:"vxe-select--empty-placeholder"},this.emptyText||(0,_ui.getI18n)("vxe.select.emptyText"))]},renderVN:function(e){var t,n=this,i=n,l=n.$scopedSlots,a=n.reactData,o=i.className,r=i.multiple,s=i.loading,u=i.filterable,c=i.showTotalButoon,p=i.showCheckedButoon,f=i.showClearButton,d=a.initialized,h=a.isActivated,v=a.isAniVisible,m=a.optList,g=a.visiblePanel,b=a.bodyHeight,O=a.topSpaceHeight,x=n.computeSize,_=n.computeIsDisabled,E=n.computeSelectLabel,y=n.computeFullLabel,S=n.computeBtnTransfer,D=n.computeInpPlaceholder,P=n.computePopupWrapperStyle,T=l.default,I=l.header,V=l.footer,L=l.prefix,l=n.computePopupOpts.className||i.popupClassName;return n.computeFormReadonly?e("div",{ref:"refElem",class:["vxe-select--readonly",o]},[e("div",{class:"vxe-select-slots",ref:"hideOption"},T?n.callSlot(T,{},e):[]),e("span",{class:"vxe-select-label",attrs:{fullLabel:y}},E)]):(t=n.computeSelectVals,e("div",{ref:"refElem",class:["vxe-select",o?_xeUtils.default.isFunction(o)?o({$select:n}):o:"",_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(x),x),"is--visible",g),"is--disabled",_),"is--filter",u),"is--loading",s),"is--active",h)]},[e("div",{class:"vxe-select-slots",ref:"hideOption"},T?T.call(n,{}):[]),e(_input.default,{ref:"refInput",props:{clearable:i.clearable,placeholder:D,editable:!1,disabled:_,type:"text",prefixIcon:i.prefixIcon,suffixIcon:s?(0,_ui.getIcon)().SELECT_LOADED:g?(0,_ui.getIcon)().SELECT_OPEN:(0,_ui.getIcon)().SELECT_CLOSE,autoFocus:!1,title:y,value:E},on:{clear:n.clearEvent,click:n.clickEvent,focus:n.focusEvent,blur:n.blurEvent,"suffix-click":n.suffixClickEvent},scopedSlots:L?{prefix:function(){return L({})}}:{}}),e("div",{ref:"refOptionPanel",class:["vxe-table--ignore-clear vxe-select--panel",l?_xeUtils.default.isFunction(l)?l({$select:n}):l:"",_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(x),x),"is--transfer",S),"ani--leave",!s&&v),"ani--enter",!s&&g)],attrs:{placement:a.panelPlacement},style:a.panelStyle},d&&(g||v)?[e("div",{class:"vxe-select--panel-wrapper",style:P},[u?e("div",{class:"vxe-select--panel-search"},[e(_input.default,{ref:"refInpSearch",class:"vxe-select-search--input",props:{value:a.searchValue,type:"text",clearable:!0,disabled:!1,readonly:!1,placeholder:(0,_ui.getI18n)("vxe.select.search"),prefixIcon:(0,_ui.getIcon)().INPUT_SEARCH},on:{"model-value":n.modelSearchEvent,focus:n.focusSearchEvent,change:n.triggerSearchEvent,search:n.triggerSearchEvent}})]):(0,_ui.renderEmptyElement)(n),c||p&&r||f||I?e("div",{class:"vxe-select--panel-header"},I?n.callSlot(I,{},e):[e("div",{class:"vxe-tree-select--header-button"},[c?e("div",{class:"vxe-tree-select--header-total"},(0,_ui.getI18n)("vxe.select.total",[t.length,m.length])):(0,_ui.renderEmptyElement)(n),e("div",{class:"vxe-tree-select--header-btns"},[p&&r?e(_button.default,{props:{content:(0,_ui.getI18n)("vxe.select.allChecked"),mode:"text"},on:{click:n.allCheckedPanelEvent}}):(0,_ui.renderEmptyElement)(n),f?e(_button.default,{props:{content:(0,_ui.getI18n)("vxe.select.clear"),mode:"text"},on:{click:n.clearCheckedPanelEvent}}):(0,_ui.renderEmptyElement)(n)])])]):(0,_ui.renderEmptyElement)(n),e("div",{class:"vxe-select--panel-body"},[e("div",{ref:"refVirtualWrapper",class:"vxe-select-option--wrapper",on:{scroll:n.scrollEvent}},[e("div",{class:"vxe-select--y-space",style:{height:b?"".concat(b,"px"):""}}),e("div",{ref:"refVirtualBody",class:"vxe-select--body",style:{transform:"translateY(".concat(O,"px)")}},n.renderOpts(e))])]),V?e("div",{class:"vxe-select--panel-footer"},n.callSlot(V,{},e)):(0,_ui.renderEmptyElement)(n)])]:[])]))}},watch:{"reactData.staticOptions":function(e){this.loadData(e)},options:function(e){this.loadData(e)},optionGroups:function(e){this.loadData(e)}},mounted:function(){var n=this,i=n;n.$nextTick(function(){var e=i.options,t=i.optionGroups;t?n.loadData(t):e&&n.loadData(e)}),_ui.globalEvents.on(n,"mousewheel",n.handleGlobalMousewheelEvent),_ui.globalEvents.on(n,"mousedown",n.handleGlobalMousedownEvent),_ui.globalEvents.on(n,"keydown",n.handleGlobalKeydownEvent),_ui.globalEvents.on(n,"blur",n.handleGlobalBlurEvent),_ui.globalEvents.on(n,"resize",n.handleGlobalResizeEvent)},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"),_ui.globalEvents.off(e,"resize")},destroyed:function(){var e=this.internalData;_xeUtils.default.assign(e,createInternalData())},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"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_input=_interopRequireDefault(require("../../input/src/input")),_button=_interopRequireDefault(require("../../button/src/button"));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,n){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,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 n=e[Symbol.toPrimitive];if(void 0===n)return("string"===t?String:Number)(e);n=n.call(e,t||"default");if("object"!=_typeof(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}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 _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,lazyOptions:Array,options:Array,optionProps:Object,optionGroups:Array,optionGroupProps:Object,optionConfig:Object,className:[String,Function],popupClassName:[String,Function],max:{type:[String,Number],default:null},showRadio:{type:Boolean,default:function(){return(0,_ui.getConfig)().select.showRadio}},radioConfig:Object,showCheckbox:{type:Boolean,default:function(){return(0,_ui.getConfig)().select.showCheckedButoon}},checkboxConfig:Object,zIndex:Number,size:{type:String,default:function(){return(0,_ui.getConfig)().select.size||(0,_ui.getConfig)().size}},filterable:Boolean,filterMethod:Function,filterConfig:Object,remote:Boolean,remoteConfig:Object,emptyText:String,checkedClosable:{type:Boolean,default:function(){return(0,_ui.getConfig)().select.checkedClosable}},clearClosable:{type:Boolean,default:function(){return(0,_ui.getConfig)().select.clearClosable}},showCloseButton:{type:Boolean,default:function(){return(0,_ui.getConfig)().select.showCloseButton}},showTotalButoon:{type:Boolean,default:function(){return(0,_ui.getConfig)().select.showTotalButoon}},showCheckedButoon:{type:Boolean,default:function(){return(0,_ui.getConfig)().select.showCheckedButoon}},showClearButton:{type:Boolean,default:function(){return(0,_ui.getConfig)().select.showClearButton}},transfer:{type:Boolean,default:null},popupConfig:Object,virtualYConfig:Object,scrollY:Object,remoteMethod:Function,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:[],staticOptions:[],reactFlag:1,currentOption:null,searchValue:"",searchLoading:!1,panelIndex:0,panelStyle:{},panelPlacement:null,triggerFocusPanel:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1},internalData:createInternalData()}},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,n=e.$xeModal,i=e.$xeDrawer,l=e.$xeForm,o=e.transfer,e=e.computePopupOpts;if(_xeUtils.default.isBoolean(e.transfer))return e.transfer;if(null===o){e=(0,_ui.getConfig)().select.transfer;if(_xeUtils.default.isBoolean(e))return e;if(t||n||i||l)return!0}return o},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.computeSelectVals;return this.checkMaxLimit(e)},computePopupOpts:function(){return Object.assign({},(0,_ui.getConfig)().select.popupConfig,this.popupConfig)},computeVirtualYOpts:function(){return Object.assign({},(0,_ui.getConfig)().select.virtualYConfig||(0,_ui.getConfig)().select.scrollY,this.virtualYConfig||this.scrollY)},computeRemoteOpts:function(){return Object.assign({},(0,_ui.getConfig)().select.remoteConfig,this.remoteConfig)},computeFilterOpts:function(){return Object.assign({},(0,_ui.getConfig)().select.filterConfig,this.filterConfig)},computeOptionOpts:function(){return Object.assign({},(0,_ui.getConfig)().select.optionConfig,this.optionConfig)},computeRadioOpts:function(){return Object.assign({},(0,_ui.getConfig)().select.radioConfig,this.radioConfig)},computeCheckboxOpts:function(){return Object.assign({},(0,_ui.getConfig)().select.checkboxConfig,this.checkboxConfig)},computeIsGroup:function(){return this.reactData.fullGroupList.some(function(e){return e.options&&e.options.length})},computeMultiMaxCharNum:function(){return _xeUtils.default.toNumber(this.multiCharOverflow)},computePopupWrapperStyle:function(){var e=this.computePopupOpts,t=e.height,e=e.width,n={};return e&&(n.width=(0,_dom.toCssUnit)(e)),t&&(n.height=(0,_dom.toCssUnit)(t),n.maxHeight=(0,_dom.toCssUnit)(t)),n},computeSelectVals:function(){var e=this.value,t=this.multiple,n=[];return _xeUtils.default.isArray(e)?n=e:t?(0,_utils.eqEmptyValue)(e)||(n=-1<"".concat(e).indexOf(",")?"".concat(e).split(","):[e]):n=null==e?[]:[e],n},computeFullLabel:function(){var t=this,e=t.reactData,n=t.remote,e=e.reactFlag,i=t.computeSelectVals;return(n&&e?i.map(function(e){return t.getRemoteSelectLabel(e)}):i.map(function(e){return t.getSelectLabel(e)})).join(", ")},computeSelectLabel:function(){var t=this,e=t.reactData,n=t.remote,i=t.multiple,e=e.reactFlag,l=t.computeMultiMaxCharNum,o=t.computeSelectVals;return n&&e?o.map(function(e){return t.getRemoteSelectLabel(e)}).join(", "):(n=o.map(function(e){return t.getSelectLabel(e)}),i&&0<l&&n.length>l?"".concat(n.slice(0,l),"..."):n.join(", "))}}),methods:{dispatchEvent:function(e,t,n){this.$emit(e,(0,_ui.createEvent)(n,{$select:this},t))},emitModel:function(e){var t=this._events;t&&t.modelValue?this.$emit("modelValue",e):this.$emit("model-value",e)},emitDefaultValue:function(e){this.emitModel(e),this.dispatchEvent("default-change",{value:e},null)},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 t&&t.blur(),e.isActivated=!0,this.$nextTick()},blur:function(){var e=this.reactData,t=this.$refs.refInput;return t&&t.blur(),e.isActivated=!1,this.$nextTick()},callSlot:function(e,t,n){var i=this.$scopedSlots;return e&&(_xeUtils.default.isString(e)&&(e=i[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e.call(this,t,n)):[]},getOptKey:function(){return this.computeOptionOpts.keyField||this.optionId||"_X_OPTION_KEY"},getOptId:function(e){e=e[this.getOptKey()];return e?encodeURIComponent(e):""},checkMaxLimit:function(e){var t=this.multiple,n=this.max;return!(!t||!n)&&e.length>=_xeUtils.default.toNumber(n)},getRemoteSelectLabel:function(t){var e=this.internalData,n=this.lazyOptions,i=e.remoteValMaps,l=this.computeValueField,o=this.computeLabelField,i=i[t]||e.optFullValMaps[t],e=i?i.item:null;if(e)return _xeUtils.default.toValueString(e[o]);if(n){i=n.find(function(e){return e[l]===t});if(i)return i[o]}return t},getSelectLabel:function(t){var e=this,n=e.reactData,i=e.lazyOptions,l=e.internalData.optFullValMaps,o=e.computeValueField,e=e.computeLabelField,n=n.reactFlag?l[t]:null;if(n)return n.item[e];if(i){l=i.find(function(e){return e[o]===t});if(l)return l[e]}return t},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 t=this,e=t.reactData,n=t.internalData,i=t.remote,l=t.value,o=t.filterable,a=e.searchValue,e=n.fullData,r=n.optFullValMaps,s=t.computeLabelField,c=t.computeValueField,u=t.computeFilterOpts.filterMethod||t.filterMethod,p="".concat(a||"").toLowerCase(),f=[];return(f=i?e.filter(isOptionVisible):o&&u?e.filter(function(e){return isOptionVisible(e)&&u({$select:t,group:null,option:e,searchValue:a,value:l})}):o?e.filter(function(e){return isOptionVisible(e)&&(!p||-1<"".concat(e[s]||e[c]).toLowerCase().indexOf(p))}):e.filter(isOptionVisible)).forEach(function(e,t){e=r[e[c]];e&&(e._index=t)}),n.afterVisibleList=f,t.$nextTick()},refreshOption:function(){return this.handleOption(),this.updateYData(),this.$nextTick()},cacheItemMap:function(e){function t(e){u.push(e);var t=n.getOptId(e);t||(t=getOptUniqueId(),e[r]=t),c[e[a]]={key:t,item:e,_index:-1}}var n=this,i=n.reactData,l=n.internalData,o=n.computeGroupOptionsField,a=n.computeValueField,r=n.getOptKey(),s={},c={},u=[];e.forEach(function(e){t(e),e[o]&&(s[e[r]]=e)[o].forEach(t)}),l.fullData=u,l.optGroupKeyMaps=s,l.optFullValMaps=c,i.reactFlag++,n.handleOption()},setCurrentOption:function(e){var t=this.reactData;e&&(t.currentOption=e)},scrollToOption:function(i,l){var o=this;return o.$nextTick().then(function(){var e,t,n;i&&(e=o.$refs.refOptionWrapper,t=o.$refs.refOptionPanel.querySelector("[optid='".concat(o.getOptid(i),"']")),e)&&t&&(n=e.offsetHeight,l?t.offsetTop+t.offsetHeight-e.scrollTop>n&&(e.scrollTop=t.offsetTop+t.offsetHeight-n):(t.offsetTop+5<e.scrollTop||t.offsetTop+5>e.scrollTop+e.clientHeight)&&(e.scrollTop=t.offsetTop-5))})},updateZindex:function(){var e=this.reactData,t=this.computePopupOpts.zIndex||this.zIndex;t?e.panelIndex=_xeUtils.default.toNumber(t):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(){function e(){var e=(0,_dom.updatePanelPlacement)(o,a,{placement:s.placement||i,defaultPlacement:s.defaultPlacement,teleportTo:r}),t=Object.assign(e.style,{zIndex:l});n.panelStyle=t,n.panelPlacement=e.placement}var t=this,n=t.reactData,i=t.placement,l=n.panelIndex,o=t.$refs.refElem,a=t.$refs.refOptionPanel,r=t.computeBtnTransfer,s=t.computePopupOpts;return e(),t.$nextTick().then(e)},handleScrollSelect:function(){var l=this,o=l.reactData,a=l.internalData;l.$nextTick(function(){var e=o.isAniVisible,t=o.visiblePanel,n=a.optFullValMaps,i=l.computeSelectVals;i.length&&e&&t&&(e=o.reactFlag?n["".concat(i[0])]:null)&&(o.currentOption=e.item,l.handleScrollToOption(e.item))})},showOptionPanel:function(){var e=this,t=e.reactData,n=e.internalData,i=e.loading,l=e.filterable,o=e.remote,a=n.fullData,r=n.hpTimeout,s=e.computeRemoteOpts,c=e.computeSelectVals;i||e.computeIsDisabled||(r&&(clearTimeout(r),n.hpTimeout=void 0),t.initialized||(t.initialized=!0,i=e.computeBtnTransfer,r=e.$refs.refOptionPanel,i&&r&&document.body.appendChild(r)),t.isActivated=!0,t.isAniVisible=!0,l&&(o&&s.enabled&&(s.autoLoad&&!a.length||a.length&&s.clearOnClose)?e.handleSearchEvent():(e.handleOption(),e.updateYData())),setTimeout(function(){t.visiblePanel=!0,e.handleFocusSearch(),e.recalculate().then(function(){c&&c.length?e.handleScrollSelect():e.refreshScroll()}),e.updatePlacement()},10),setTimeout(function(){e.recalculate().then(function(){return e.refreshScroll()})},100),e.updateZIndex(),e.updatePlacement(),e.dispatchEvent("visible-change",{visible:!0},null))},hideOptionPanel:function(e){var t=this,n=t.reactData,i=t.internalData,l=t.filterable,o=t.computeFilterOpts;t.remote?t.computeRemoteOpts.clearOnClose&&(n.searchValue=""):l&&!o.clearOnClose||(n.searchValue=""),n.searchLoading=!1,n.visiblePanel=!1,i.hpTimeout=setTimeout(function(){n.isAniVisible=!1},350),t.dispatchEvent("visible-change",{visible:!1},e||null)},changeEvent:function(e,t,n){var i=this,l=i,o=i.$xeForm,a=i.formItemInfo;i.emitModel(t),t!==l.value&&(i.dispatchEvent("change",{value:t,option:n},e),o)&&a&&o.triggerItemEvent(e,a.itemConfig.field,t)},clearValueEvent:function(e,t){this.internalData.remoteValMaps={},this.changeEvent(e,t,null),this.dispatchEvent("clear",{value:t},e)},clearEvent:function(e){e=e.$event;this.clearValueEvent(e,null),this.hideOptionPanel(e)},allCheckedPanelEvent:function(e){var n=this,t=n.reactData,e=e.$event,i=n.multiple,l=n.max,o=n.checkedClosable,a=t.optList,r=n.computeValueField;if(i){for(var s=n.computeSelectVals.slice(0),c=0;c<a.length&&!(()=>{var t=a[c][r];if(n.checkMaxLimit(s))return _ui.VxeUI&&_ui.VxeUI.modal.message({content:(0,_ui.getI18n)("vxe.select.overSizeErr",[l]),status:"warning"}),1;s.some(function(e){return e===t})||s.push(t)})();c++);n.changeEvent(e,s,a[0]),o&&n.hideOptionPanel(e),n.dispatchEvent("all-change",{value:s},e)}},clearCheckedPanelEvent:function(e){var t=this.clearClosable,e=e.$event;this.clearValueEvent(e,null),t&&this.hideOptionPanel(e)},closePanelEvent:function(e){e=e.$event;this.hideOptionPanel(e)},changeOptionEvent:function(e,t){var n=this,i=n.reactData,l=n.multiple,o=n.internalData.remoteValMaps,a=t[n.computeValueField],r=o[a];i.visiblePanel&&(r?r.item=t:o[a]={key:n.getOptId(t),item:t,_index:-1},l?(r=[],o=n.computeSelectVals,r=-1===_xeUtils.default.findIndexOf(o,function(e){return e===a})?o.concat([a]):o.filter(function(e){return e!==a}),n.changeEvent(e,r,t)):(n.changeEvent(e,a,t),n.hideOptionPanel(e)),i.reactFlag++)},handleGlobalMousewheelEvent:function(e){var t=this,n=t.reactData.visiblePanel;t.computeIsDisabled||n&&(n=t.$refs.refOptionPanel,(0,_dom.getEventTargetNode)(e,n).flag?t.updatePlacement():t.hideOptionPanel(e))},handleGlobalMousedownEvent:function(e){var t,n,i=this,l=i.reactData,o=l.visiblePanel,a=i.computePopupOpts.trigger;i.computeIsDisabled||(t=i.$refs.refElem,n=i.$refs.refOptionPanel,l.isActivated=(0,_dom.getEventTargetNode)(e,t).flag||(0,_dom.getEventTargetNode)(e,n).flag,o&&!l.isActivated&&"manual"!==a&&i.hideOptionPanel(e))},validOffsetOption:function(e){var t=e.disabled,e=this.getOptId(e);return!t&&!this.hasOptGroupById(e)},findOffsetOption:function(e,t){var n=this,i=n.reactData,l=n.internalData,o=n.allowCreate,i=i.optList,a=l.optFullValMaps,r=l.optAddMaps,s=n.computeValueField,c=l.afterVisibleList,l=0;if(o&&i.length&&(o=i[0],r[i=n.getOptId(o)])&&(l=1,c=[r[i]].concat(c)),!e)if(t)for(var u=0;u<c.length;u++){var p=c[u];if(n.validOffsetOption(p))return p}else for(var f=c.length-1;0<=f;f--){var d=c[f];if(n.validOffsetOption(d))return d}o=0,r=e?a[e[s]]:null;if(-1<(o=r?r._index+l:o))if(t)for(var h=o+1;h<=c.length-1;h++){var v=c[h];if(n.validOffsetOption(v))return v}else if(0<o)for(var m=o-1;0<=m;m--){var g=c[m];if(n.validOffsetOption(g))return g}return null},handleGlobalKeydownEvent:function(e){var t,n,i,l,o,a,r=this,s=r.reactData,c=r.clearable,u=s.visiblePanel,p=s.currentOption,f=r.computePopupOpts.trigger;r.computeIsDisabled||(t=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.TAB),n=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ENTER),i=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ESCAPE),l=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_UP),o=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_DOWN),a=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.DELETE),t&&(s.isActivated=!1),u?i||t?"manual"!==f&&r.hideOptionPanel(e):n?p&&(e.preventDefault(),e.stopPropagation(),r.changeOptionEvent(e,p)):(l||o)&&(e.preventDefault(),u=(u=r.findOffsetOption(p,o))||r.findOffsetOption(null,o))&&(r.setCurrentOption(u),r.handleScrollToOption(u,o)):(l||o||n)&&s.isActivated&&(e.preventDefault(),r.showOptionPanel()),s.isActivated&&a&&c&&r.clearValueEvent(e,null))},handleGlobalBlurEvent:function(e){var t=this.reactData,n=t.visiblePanel,i=t.isActivated,l=this.computePopupOpts.trigger;n&&"manual"!==l&&this.hideOptionPanel(e),i&&(t.isActivated=!1),(n||i)&&(l=this.$refs.refInput)&&l.blur()},handleGlobalResizeEvent:function(){this.reactData.visiblePanel&&this.updatePlacement()},handleFocusSearch:function(){var t=this;t.filterable&&t.$nextTick(function(){var e=t.$refs.refInpSearch;e&&e.focus()})},focusEvent:function(e){var t=this,n=t.reactData,i=t.computePopupOpts.trigger;t.computeIsDisabled||n.visiblePanel||i&&"default"!==i||(n.triggerFocusPanel=!0,t.showOptionPanel(),setTimeout(function(){n.triggerFocusPanel=!1},500)),t.dispatchEvent("focus",{},e)},clickEvent:function(e){var t=this.reactData,n=this.computePopupOpts.trigger;n&&"default"!==n||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,n=this.computePopupOpts.trigger;n&&"default"!==n&&"icon"!==n||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,n=e.value,i=t.searchValue,l=e.computeRemoteOpts,o=l.queryMethod||e.remoteMethod;e.remote&&o&&l.enabled?(t.searchLoading=!0,Promise.resolve(o({$select:e,searchValue:i,value:n})).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=e.$event;e.preventDefault(),t.triggerFocusPanel?t.triggerFocusPanel=!1:t.visiblePanel?this.hideOptionPanel(e):this.showOptionPanel()},checkOptionDisabled:function(e,t){return!!t.disabled||!(!this.computeIsMaximize||e)},updateYSpace:function(){var e=this.reactData,t=this.internalData,n=e.scrollYLoad,i=t.scrollYStore;e.bodyHeight=n?t.afterVisibleList.length*i.rowHeight:0,e.topSpaceHeight=n?Math.max(i.startIndex*i.rowHeight,0):0},handleData:function(){var e=this,t=e.reactData,n=e.internalData,i=e.filterable,l=e.allowCreate,o=t.scrollYLoad,a=t.searchValue,r=n.optAddMaps,s=n.scrollYStore,n=n.afterVisibleList,c=e.computeLabelField,u=e.computeValueField,o=o?n.slice(s.startIndex,s.endIndex):n.slice(0);return i&&l&&a&&(o.some(function(e){return e[c]===a})||(s=r[a]||_defineProperty(_defineProperty(_defineProperty({},e.getOptKey(),a),c,a),u,a),r[a]=s,o.unshift(s))),t.optList=o,e.$nextTick()},updateYData:function(){this.handleData(),this.updateYSpace()},computeScrollLoad:function(){var a=this,r=a.reactData,s=a.internalData;return a.$nextTick().then(function(){var e,t=r.scrollYLoad,n=s.scrollYStore,i=a.$refs.refVirtualBody,l=a.computeVirtualYOpts,o=0;(e=i?e||i.children[0]:e)&&(o=e.offsetHeight),o=Math.max(20,o),n.rowHeight=o,t?(i=a.$refs.refVirtualWrapper,e=Math.max(8,i?Math.ceil(i.clientHeight/o):0),t=Math.max(0,Math.min(2,_xeUtils.default.toNumber(l.oSize))),n.offsetSize=t,n.visibleSize=e,n.endIndex=Math.max(n.startIndex,e+t,n.endIndex),a.updateYData()):a.updateYSpace()})},handleScrollToOption:function(e,t){var n,i,l=this.internalData,o=l.optFullValMaps,l=l.scrollYStore,o=o[e[this.computeValueField]];o&&(e=o.key,-1<(o=o._index))&&(n=this.$refs.refVirtualWrapper,e=this.$refs.refOptionPanel.querySelector("[optid='".concat(e,"']")),n)&&(e?(i=n.offsetHeight,t?Math.ceil(e.offsetTop+e.offsetHeight-n.scrollTop)>=i?n.scrollTop=e.offsetTop+e.offsetHeight-i:(e.offsetTop+1<n.scrollTop||e.offsetTop+1>n.scrollTop+n.clientHeight)&&(n.scrollTop=e.offsetTop-1):e.offsetTop+1<n.scrollTop||e.offsetTop+1>n.scrollTop+n.clientHeight?n.scrollTop=e.offsetTop-1:e.offsetTop+e.offsetHeight-n.scrollTop>i&&(n.scrollTop=e.offsetTop+e.offsetHeight-i)):n.scrollTop=t?o*l.rowHeight-n.clientHeight+l.rowHeight:o*l.rowHeight)},scrollTo:function(e,t){var n=this,i=n.reactData,l=n.$refs.refVirtualWrapper;return l&&(_xeUtils.default.isNumber(e)&&(l.scrollLeft=e),_xeUtils.default.isNumber(t))&&(l.scrollTop=t),i.scrollYLoad?new Promise(function(e){setTimeout(function(){n.$nextTick(function(){e()})},50)}):n.$nextTick()},refreshScroll:function(){var e=this,t=e.internalData,n=t.lastScrollLeft,i=t.lastScrollTop;return e.clearScroll().then(function(){if(n||i)return t.lastScrollLeft=0,t.lastScrollTop=0,e.scrollTo(n,i)})},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,n=t.startIndex,i=t.endIndex,l=t.visibleSize,o=t.offsetSize,e=e.target.scrollTop,e=Math.floor(e/t.rowHeight),a=Math.max(0,e-1-o),o=e+l+o;!(e<=n||i-l-1<=e)||n===a&&i===o||(t.startIndex=a,t.endIndex=o,this.updateYData())},isVMScrollProcess:function(){var e=this.internalData.lastScrollTime;return!!(e&&Date.now()<e+250)},scrollEvent:function(e){var t=this.reactData,n=this.internalData,i=e.target,l=i.scrollTop,i=i.scrollLeft,o=i!==n.lastScrollLeft,a=l!==n.lastScrollTop;n.lastScrollTop=l,n.lastScrollLeft=i,t.scrollYLoad&&this.loadYData(e),n.lastScrollTime=Date.now(),this.dispatchEvent("scroll",{scrollLeft:i,scrollTop:l,isX:o,isY:a},e)},loadData:function(e){var t,n=this,i=n,l=n.reactData,o=n.internalData,a=(n.cacheItemMap(e||[]),i.multiple),r=o.isLoaded,s=o.fullData,c=o.scrollYStore,u=n.computeDefaultOpts,p=n.computeVirtualYOpts,f=n.computeValueField;return Object.assign(c,{startIndex:0,endIndex:1,visibleSize:0}),o.synchData=e||[],l.scrollYLoad=!!p.enabled&&-1<p.gt&&(0===p.gt||p.gt<=s.length),n.handleData(),r||(c=u.selectMode,0<e.length&&_xeUtils.default.eqNull(i.value)&&("all"===c?a?n.$nextTick(function(){n.emitDefaultValue(e.map(function(e){return e[f]}))}):(0,_log.errLog)("vxe.error.notConflictProp",["default-config.selectMode=all","multiple=true"]):"first"!==c&&"last"!==c||(t=_xeUtils.default[c](e))&&n.$nextTick(function(){_xeUtils.default.eqNull(i.value)&&n.emitDefaultValue(t[f])}),o.isLoaded=!0)),n.computeScrollLoad().then(function(){n.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]},renderRadio:function(e,t,n,i,l){var o=this,a=o.computeRadioOpts,r=a.showIcon,a=a.trigger;return n||!1===r?(0,_ui.renderEmptyElement)(o):(r={},a&&"default"!==a||(r.click=function(e){l||n||o.changeOptionEvent(e,t)}),e("div",{key:2,class:["vxe-select-option--radio",{"is--checked":i,"is--disabled":l}],on:r},[e("span",{class:["vxe-radio--icon",i?(0,_ui.getIcon)().RADIO_CHECKED:(0,_ui.getIcon)().RADIO_UNCHECKED]})]))},renderCheckbox:function(e,t,n,i,l){var o=this,a=o.computeCheckboxOpts,r=a.showIcon,a=a.trigger;return n||!1===r?(0,_ui.renderEmptyElement)(o):(r={},a&&"default"!==a||(r.click=function(e){l||n||o.changeOptionEvent(e,t)}),e("div",{key:3,class:["vxe-select-option--checkbox",{"is--checked":i,"is--disabled":l}],on:r},[e("span",{class:["vxe-checkbox--icon",i?(0,_ui.getIcon)().CHECKBOX_CHECKED:(0,_ui.getIcon)().CHECKBOX_UNCHECKED]})]))},renderOption:function(v,e){var m=this,t=m.$scopedSlots,g=m.allowCreate,b=m.optionKey,n=m.multiple,O=m.reactData.currentOption,x=m.internalData.optAddMaps,i=m.computeOptionOpts,_=m.computeLabelField,E=m.computeValueField,y=m.computeGroupLabelField,D=m.computeSelectVals,S=m.computeRadioOpts,P=m.computeCheckboxOpts,C=i.useKey,T=i.height,I=t.option,V=m.showCheckbox&&n,L=m.showRadio&&!n;return e.map(function(t,e){var n=t.slots,i=t.className,l=m.getOptId(t),o=t[E],a=m.hasOptGroupById(l),r=!(!g||!x[l]),s=!r&&-1<D.indexOf(o),c=r||!a||isOptionVisible(t),u=!r&&m.checkOptionDisabled(s,t),n=(n?n.default:null)||I,p={option:t,group:a?t:null,$select:m},f="",d=[],h=(V?d.push(m.renderCheckbox(v,t,a,s,u)):L&&d.push(m.renderRadio(v,t,a,s,u)),[]),h=n?m.callSlot(n,p,v):[f=(0,_utils.getFuncText)(t[a?y:_]||o)],n=(d.push(v("div",{key:1,class:"vxe-select-option--label"},h)),{mousedown:function(e){0===e.button&&e.stopPropagation()},mouseenter:function(){u||a||m.isVMScrollProcess()||m.setCurrentOption(t)}});return(V?"option"!==P.trigger:L&&"option"!==S.trigger)||(n.click=function(e){u||a||m.changeOptionEvent(e,t)}),c?v("div",{key:C||b?l:e,class:["vxe-select-option",i?_xeUtils.default.isFunction(i)?i(p):i:"",{"vxe-select-optgroup":a,"is--disabled":u,"is--selected":s,"is--add":r,"is--hover":O&&m.getOptId(O)===l}],attrs:{optid:l,title:f||null},style:T?{height:(0,_dom.toCssUnit)(T)}:void 0,on:n},g?[v("span",{key:1,class:"vxe-select-option--add-label"},d),r?v("span",{key:2,class:"vxe-select-option--add-icon"},[v("i",{class:(0,_ui.getIcon)().SELECT_ADD_OPTION})]):(0,_ui.renderEmptyElement)(m)]:d):(0,_ui.renderEmptyElement)(m)})},renderOpts:function(e){var t=this.reactData,n=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"))])]:n.length?this.renderOption(e,n):[e("div",{class:"vxe-select--empty-placeholder"},this.emptyText||(0,_ui.getI18n)("vxe.select.emptyText"))]},renderVN:function(e){var t,n=this,i=n,l=n.$scopedSlots,o=n.reactData,a=i.className,r=i.multiple,s=i.loading,c=i.filterable,u=i.showTotalButoon,p=i.showCheckedButoon,f=i.showClearButton,d=i.showCloseButton,h=o.initialized,v=o.isActivated,m=o.isAniVisible,g=o.optList,b=o.visiblePanel,O=o.bodyHeight,x=o.topSpaceHeight,_=n.computeSize,E=n.computeIsDisabled,y=n.computeSelectLabel,D=n.computeFullLabel,S=n.computeBtnTransfer,P=n.computeInpPlaceholder,C=n.computePopupWrapperStyle,T=l.default,I=l.header,V=l.footer,L=l.prefix,l=n.computePopupOpts.className||i.popupClassName;return n.computeFormReadonly?e("div",{ref:"refElem",class:["vxe-select--readonly",a]},[e("div",{class:"vxe-select-slots",ref:"hideOption"},T?n.callSlot(T,{},e):[]),e("span",{class:"vxe-select-label",attrs:{fullLabel:D}},y)]):(t=n.computeSelectVals,e("div",{ref:"refElem",class:["vxe-select",a?_xeUtils.default.isFunction(a)?a({$select:n}):a:"",_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(_),_),"is--visible",b),"is--disabled",E),"is--filter",c),"is--loading",s),"is--active",v)]},[e("div",{class:"vxe-select-slots",ref:"hideOption"},T?T.call(n,{}):[]),e(_input.default,{ref:"refInput",props:{clearable:i.clearable,placeholder:P,editable:!1,disabled:E,type:"text",prefixIcon:i.prefixIcon,suffixIcon:s?(0,_ui.getIcon)().SELECT_LOADED:b?(0,_ui.getIcon)().SELECT_OPEN:(0,_ui.getIcon)().SELECT_CLOSE,autoFocus:!1,title:D,value:y},on:{clear:n.clearEvent,click:n.clickEvent,focus:n.focusEvent,blur:n.blurEvent,"suffix-click":n.suffixClickEvent},scopedSlots:L?{prefix:function(){return L({})}}:{}}),e("div",{ref:"refOptionPanel",class:["vxe-table--ignore-clear vxe-select--panel",l?_xeUtils.default.isFunction(l)?l({$select:n}):l:"",_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(_),_),"is--transfer",S),"ani--leave",!s&&m),"ani--enter",!s&&b)],attrs:{placement:o.panelPlacement},style:o.panelStyle},h&&(b||m)?[e("div",{class:"vxe-select--panel-wrapper",style:C},[c?e("div",{class:"vxe-select--panel-search"},[e(_input.default,{ref:"refInpSearch",class:"vxe-select-search--input",props:{value:o.searchValue,type:"text",clearable:!0,disabled:!1,readonly:!1,placeholder:(0,_ui.getI18n)("vxe.select.search"),prefixIcon:(0,_ui.getIcon)().INPUT_SEARCH},on:{"model-value":n.modelSearchEvent,focus:n.focusSearchEvent,change:n.triggerSearchEvent,search:n.triggerSearchEvent}})]):(0,_ui.renderEmptyElement)(n),p&&r||f||I?e("div",{class:"vxe-select--panel-header"},I?n.callSlot(I,{},e):[e("div",{class:"vxe-tree-select--header-button"},[e("div",{class:"vxe-tree-select--header-btns"},[p&&r?e(_button.default,{props:{content:(0,_ui.getI18n)("vxe.select.allChecked"),mode:"text"},on:{click:n.allCheckedPanelEvent}}):(0,_ui.renderEmptyElement)(n),f?e(_button.default,{props:{content:(0,_ui.getI18n)("vxe.select.clear"),mode:"text"},on:{click:n.clearCheckedPanelEvent}}):(0,_ui.renderEmptyElement)(n)])])]):(0,_ui.renderEmptyElement)(n),e("div",{class:"vxe-select--panel-body"},[e("div",{ref:"refVirtualWrapper",class:"vxe-select-option--wrapper",on:{scroll:n.scrollEvent}},[e("div",{class:"vxe-select--y-space",style:{height:O?"".concat(O,"px"):""}}),e("div",{ref:"refVirtualBody",class:"vxe-select--body",style:{transform:"translateY(".concat(x,"px)")}},n.renderOpts(e))])]),V||u||d&&r?e("div",{class:"vxe-select--panel-footer"},V?n.callSlot(V,{},e):[e("div",{class:"vxe-select--footer-button"},[u?e("div",{class:"vxe-select--total-btns"},(0,_ui.getI18n)("vxe.select.total",[t.length,g.length])):(0,_ui.renderEmptyElement)(n),d&&r?e("div",{class:"vxe-select--oper-btns"},[e(_button.default,{props:{content:(0,_ui.getI18n)("vxe.select.close"),mode:"text"},on:{click:n.closePanelEvent}})]):(0,_ui.renderEmptyElement)(n)])]):(0,_ui.renderEmptyElement)(n)])]:[])]))}},watch:{"reactData.staticOptions":function(e){this.loadData(e)},options:function(e){this.loadData(e)},optionGroups:function(e){this.loadData(e)}},mounted:function(){var n=this,i=n;n.$nextTick(function(){var e=i.options,t=i.optionGroups;t?n.loadData(t):e&&n.loadData(e)}),_ui.globalEvents.on(n,"mousewheel",n.handleGlobalMousewheelEvent),_ui.globalEvents.on(n,"mousedown",n.handleGlobalMousedownEvent),_ui.globalEvents.on(n,"keydown",n.handleGlobalKeydownEvent),_ui.globalEvents.on(n,"blur",n.handleGlobalBlurEvent),_ui.globalEvents.on(n,"resize",n.handleGlobalResizeEvent)},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"),_ui.globalEvents.off(e,"resize")},destroyed:function(){var e=this.internalData;_xeUtils.default.assign(e,createInternalData())},render:function(e){return this.renderVN(e)}});
|