vxe-pc-ui 3.7.4 → 3.7.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/icon/style.css +1 -1
- package/es/language/ar-EG.js +19 -1
- package/es/language/de-DE.js +19 -1
- package/es/language/en-US.js +20 -2
- package/es/language/es-ES.js +19 -1
- package/es/language/fr-FR.js +19 -1
- package/es/language/hu-HU.js +19 -1
- package/es/language/hy-AM.js +18 -0
- package/es/language/id-ID.js +19 -1
- package/es/language/it-IT.js +19 -1
- package/es/language/ja-JP.js +19 -1
- package/es/language/ko-KR.js +19 -1
- package/es/language/ms-MY.js +19 -1
- package/es/language/nb-NO.js +19 -1
- package/es/language/pt-BR.js +19 -1
- package/es/language/ru-RU.js +19 -1
- package/es/language/th-TH.js +19 -1
- package/es/language/ug-CN.js +19 -1
- package/es/language/uk-UA.js +19 -1
- package/es/language/uz-UZ.js +19 -1
- package/es/language/vi-VN.js +19 -1
- package/es/language/zh-CHT.js +19 -1
- package/es/language/zh-CN.js +18 -0
- package/es/list/src/list.js +1 -1
- package/es/select/src/select.js +138 -41
- package/es/select/style.css +21 -0
- package/es/select/style.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/tree/src/tree.js +1160 -601
- package/es/tree/src/util.js +31 -0
- package/es/tree/style.css +23 -26
- package/es/tree/style.min.css +1 -1
- package/es/tree-select/src/tree-select.js +258 -24
- package/es/tree-select/style.css +36 -1
- package/es/tree-select/style.min.css +1 -1
- package/es/ui/index.js +20 -4
- package/es/ui/src/dom.js +9 -0
- package/es/ui/src/log.js +1 -1
- package/es/vxe-select/style.css +21 -0
- package/es/vxe-select/style.min.css +1 -1
- package/es/vxe-tree/style.css +23 -26
- package/es/vxe-tree/style.min.css +1 -1
- package/es/vxe-tree-select/style.css +36 -1
- package/es/vxe-tree-select/style.min.css +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/index.umd.js +1541 -532
- package/lib/index.umd.min.js +1 -1
- package/lib/language/ar-EG.js +19 -1
- package/lib/language/ar-EG.min.js +1 -1
- package/lib/language/ar-EG.umd.js +19 -1
- package/lib/language/de-DE.js +19 -1
- package/lib/language/de-DE.min.js +1 -1
- package/lib/language/de-DE.umd.js +19 -1
- package/lib/language/en-US.js +20 -2
- package/lib/language/en-US.min.js +1 -1
- package/lib/language/en-US.umd.js +20 -2
- package/lib/language/es-ES.js +19 -1
- package/lib/language/es-ES.min.js +1 -1
- package/lib/language/es-ES.umd.js +19 -1
- package/lib/language/fr-FR.js +19 -1
- package/lib/language/fr-FR.min.js +1 -1
- package/lib/language/fr-FR.umd.js +19 -1
- package/lib/language/hu-HU.js +19 -1
- package/lib/language/hu-HU.min.js +1 -1
- package/lib/language/hu-HU.umd.js +19 -1
- package/lib/language/hy-AM.js +18 -0
- package/lib/language/hy-AM.min.js +1 -1
- package/lib/language/hy-AM.umd.js +18 -0
- package/lib/language/id-ID.js +19 -1
- package/lib/language/id-ID.min.js +1 -1
- package/lib/language/id-ID.umd.js +19 -1
- package/lib/language/it-IT.js +19 -1
- package/lib/language/it-IT.min.js +1 -1
- package/lib/language/it-IT.umd.js +19 -1
- package/lib/language/ja-JP.js +19 -1
- package/lib/language/ja-JP.min.js +1 -1
- package/lib/language/ja-JP.umd.js +19 -1
- package/lib/language/ko-KR.js +19 -1
- package/lib/language/ko-KR.min.js +1 -1
- package/lib/language/ko-KR.umd.js +19 -1
- package/lib/language/ms-MY.js +19 -1
- package/lib/language/ms-MY.min.js +1 -1
- package/lib/language/ms-MY.umd.js +19 -1
- package/lib/language/nb-NO.js +19 -1
- package/lib/language/nb-NO.min.js +1 -1
- package/lib/language/nb-NO.umd.js +19 -1
- package/lib/language/pt-BR.js +19 -1
- package/lib/language/pt-BR.min.js +1 -1
- package/lib/language/pt-BR.umd.js +19 -1
- package/lib/language/ru-RU.js +19 -1
- package/lib/language/ru-RU.min.js +1 -1
- package/lib/language/ru-RU.umd.js +19 -1
- package/lib/language/th-TH.js +19 -1
- package/lib/language/th-TH.min.js +1 -1
- package/lib/language/th-TH.umd.js +19 -1
- package/lib/language/ug-CN.js +19 -1
- package/lib/language/ug-CN.min.js +1 -1
- package/lib/language/ug-CN.umd.js +19 -1
- package/lib/language/uk-UA.js +19 -1
- package/lib/language/uk-UA.min.js +1 -1
- package/lib/language/uk-UA.umd.js +19 -1
- package/lib/language/uz-UZ.js +19 -1
- package/lib/language/uz-UZ.min.js +1 -1
- package/lib/language/uz-UZ.umd.js +19 -1
- package/lib/language/vi-VN.js +19 -1
- package/lib/language/vi-VN.min.js +1 -1
- package/lib/language/vi-VN.umd.js +19 -1
- package/lib/language/zh-CHT.js +19 -1
- package/lib/language/zh-CHT.min.js +1 -1
- package/lib/language/zh-CHT.umd.js +19 -1
- package/lib/language/zh-CN.js +18 -0
- package/lib/language/zh-CN.min.js +1 -1
- package/lib/language/zh-CN.umd.js +18 -0
- package/lib/list/src/list.js +1 -1
- package/lib/list/src/list.min.js +1 -1
- package/lib/select/src/select.js +145 -45
- package/lib/select/src/select.min.js +1 -1
- package/lib/select/style/style.css +21 -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/tree/src/tree.js +1223 -626
- package/lib/tree/src/tree.min.js +1 -1
- package/lib/tree/src/util.js +37 -0
- package/lib/tree/src/util.min.js +1 -0
- package/lib/tree/style/style.css +23 -26
- package/lib/tree/style/style.min.css +1 -1
- package/lib/tree-select/src/tree-select.js +265 -26
- package/lib/tree-select/src/tree-select.min.js +1 -1
- package/lib/tree-select/style/style.css +36 -1
- package/lib/tree-select/style/style.min.css +1 -1
- package/lib/ui/index.js +20 -4
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/dom.js +10 -0
- package/lib/ui/src/dom.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 +21 -0
- package/lib/vxe-select/style/style.min.css +1 -1
- package/lib/vxe-tree/style/style.css +23 -26
- package/lib/vxe-tree/style/style.min.css +1 -1
- package/lib/vxe-tree-select/style/style.css +36 -1
- package/lib/vxe-tree-select/style/style.min.css +1 -1
- package/package.json +1 -1
- package/packages/language/ar-EG.ts +19 -1
- package/packages/language/de-DE.ts +19 -1
- package/packages/language/en-US.ts +20 -2
- package/packages/language/es-ES.ts +19 -1
- package/packages/language/fr-FR.ts +19 -1
- package/packages/language/hu-HU.ts +19 -1
- package/packages/language/hy-AM.ts +18 -0
- package/packages/language/id-ID.ts +19 -1
- package/packages/language/it-IT.ts +19 -1
- package/packages/language/ja-JP.ts +19 -1
- package/packages/language/ko-KR.ts +19 -1
- package/packages/language/ms-MY.ts +19 -1
- package/packages/language/nb-NO.ts +19 -1
- package/packages/language/pt-BR.ts +19 -1
- package/packages/language/ru-RU.ts +19 -1
- package/packages/language/th-TH.ts +19 -1
- package/packages/language/ug-CN.ts +19 -1
- package/packages/language/uk-UA.ts +19 -1
- package/packages/language/uz-UZ.ts +19 -1
- package/packages/language/vi-VN.ts +19 -1
- package/packages/language/zh-CHT.ts +19 -1
- package/packages/language/zh-CN.ts +18 -0
- package/packages/list/src/list.ts +1 -1
- package/packages/select/src/select.ts +144 -44
- package/packages/tree/src/tree.ts +1206 -626
- package/packages/tree/src/util.ts +34 -0
- package/packages/tree-select/src/tree-select.ts +272 -26
- package/packages/ui/index.ts +19 -3
- package/packages/ui/src/dom.ts +10 -0
- package/styles/components/select.scss +19 -0
- package/styles/components/tree-select.scss +36 -1
- package/styles/components/tree.scss +28 -31
- package/types/components/button.d.ts +11 -1
- package/types/components/grid.d.ts +5 -0
- package/types/components/icon-picker.d.ts +11 -1
- package/types/components/input.d.ts +2 -2
- package/types/components/select.d.ts +29 -40
- package/types/components/table.d.ts +2 -4
- package/types/components/tree-select.d.ts +72 -12
- package/types/components/tree.d.ts +129 -8
- /package/es/icon/{iconfont.1752133985860.ttf → iconfont.1752416451473.ttf} +0 -0
- /package/es/icon/{iconfont.1752133985860.woff → iconfont.1752416451473.woff} +0 -0
- /package/es/icon/{iconfont.1752133985860.woff2 → iconfont.1752416451473.woff2} +0 -0
- /package/es/{iconfont.1752133985860.ttf → iconfont.1752416451473.ttf} +0 -0
- /package/es/{iconfont.1752133985860.woff → iconfont.1752416451473.woff} +0 -0
- /package/es/{iconfont.1752133985860.woff2 → iconfont.1752416451473.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1752133985860.ttf → iconfont.1752416451473.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1752133985860.woff → iconfont.1752416451473.woff} +0 -0
- /package/lib/icon/style/{iconfont.1752133985860.woff2 → iconfont.1752416451473.woff2} +0 -0
- /package/lib/{iconfont.1752133985860.ttf → iconfont.1752416451473.ttf} +0 -0
- /package/lib/{iconfont.1752133985860.woff → iconfont.1752416451473.woff} +0 -0
- /package/lib/{iconfont.1752133985860.woff2 → iconfont.1752416451473.woff2} +0 -0
package/lib/select/src/select.js
CHANGED
|
@@ -9,8 +9,9 @@ var _xeUtils = _interopRequireDefault(require("xe-utils"));
|
|
|
9
9
|
var _ui = require("../../ui");
|
|
10
10
|
var _dom = require("../../ui/src/dom");
|
|
11
11
|
var _utils = require("../../ui/src/utils");
|
|
12
|
-
var _input = _interopRequireDefault(require("../../input/src/input"));
|
|
13
12
|
var _vn = require("../../ui/src/vn");
|
|
13
|
+
var _input = _interopRequireDefault(require("../../input/src/input"));
|
|
14
|
+
var _button = _interopRequireDefault(require("../../button/src/button"));
|
|
14
15
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
15
16
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
16
17
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
@@ -78,24 +79,51 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
78
79
|
filterable: Boolean,
|
|
79
80
|
filterMethod: Function,
|
|
80
81
|
remote: Boolean,
|
|
81
|
-
// 已废弃,被 remote-config.queryMethod 替换
|
|
82
|
-
remoteMethod: Function,
|
|
83
82
|
remoteConfig: Object,
|
|
84
83
|
emptyText: String,
|
|
84
|
+
showTotalButoon: {
|
|
85
|
+
type: Boolean,
|
|
86
|
+
default: function _default() {
|
|
87
|
+
return (0, _ui.getConfig)().select.showTotalButoon;
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
showCheckedButoon: {
|
|
91
|
+
type: Boolean,
|
|
92
|
+
default: function _default() {
|
|
93
|
+
return (0, _ui.getConfig)().select.showCheckedButoon;
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
showClearButton: {
|
|
97
|
+
type: Boolean,
|
|
98
|
+
default: function _default() {
|
|
99
|
+
return (0, _ui.getConfig)().select.showClearButton;
|
|
100
|
+
}
|
|
101
|
+
},
|
|
85
102
|
transfer: {
|
|
86
103
|
type: Boolean,
|
|
87
104
|
default: null
|
|
88
105
|
},
|
|
89
106
|
virtualYConfig: Object,
|
|
90
107
|
scrollY: Object,
|
|
91
|
-
|
|
108
|
+
/**
|
|
109
|
+
* 已废弃,被 remote-config.queryMethod 替换
|
|
110
|
+
* @deprecated
|
|
111
|
+
*/
|
|
112
|
+
remoteMethod: Function,
|
|
113
|
+
/**
|
|
114
|
+
* 已废弃,被 option-config.keyField 替换
|
|
115
|
+
* @deprecated
|
|
116
|
+
*/
|
|
92
117
|
optionId: {
|
|
93
118
|
type: String,
|
|
94
119
|
default: function _default() {
|
|
95
120
|
return (0, _ui.getConfig)().select.optionId;
|
|
96
121
|
}
|
|
97
122
|
},
|
|
98
|
-
|
|
123
|
+
/**
|
|
124
|
+
* 已废弃,被 option-config.useKey 替换
|
|
125
|
+
* @deprecated
|
|
126
|
+
*/
|
|
99
127
|
optionKey: Boolean
|
|
100
128
|
},
|
|
101
129
|
inject: {
|
|
@@ -130,7 +158,6 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
130
158
|
bodyHeight: 0,
|
|
131
159
|
topSpaceHeight: 0,
|
|
132
160
|
optList: [],
|
|
133
|
-
afterVisibleList: [],
|
|
134
161
|
staticOptions: [],
|
|
135
162
|
reactFlag: 1,
|
|
136
163
|
currentOption: null,
|
|
@@ -147,6 +174,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
147
174
|
var internalData = {
|
|
148
175
|
synchData: [],
|
|
149
176
|
fullData: [],
|
|
177
|
+
afterVisibleList: [],
|
|
150
178
|
optAddMaps: {},
|
|
151
179
|
optGroupKeyMaps: {},
|
|
152
180
|
optFullValMaps: {},
|
|
@@ -266,15 +294,10 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
266
294
|
computeIsMaximize: function computeIsMaximize() {
|
|
267
295
|
var $xeSelect = this;
|
|
268
296
|
var props = $xeSelect;
|
|
269
|
-
var
|
|
270
|
-
|
|
271
|
-
max = props.max;
|
|
272
|
-
if (multiple && max) {
|
|
273
|
-
return (_xeUtils.default.isArray(value) ? value.length : _xeUtils.default.eqNull(value) ? 0 : 1) >= _xeUtils.default.toNumber(max);
|
|
274
|
-
}
|
|
275
|
-
return false;
|
|
297
|
+
var modelValue = props.value;
|
|
298
|
+
return $xeSelect.checkMaxLimit(modelValue);
|
|
276
299
|
},
|
|
277
|
-
|
|
300
|
+
computeVirtualYOpts: function computeVirtualYOpts() {
|
|
278
301
|
var $xeSelect = this;
|
|
279
302
|
var props = $xeSelect;
|
|
280
303
|
return Object.assign({}, (0, _ui.getConfig)().select.virtualYConfig || (0, _ui.getConfig)().select.scrollY, props.virtualYConfig || props.scrollY);
|
|
@@ -382,15 +405,19 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
382
405
|
var $xeSelect = this;
|
|
383
406
|
var reactData = $xeSelect.reactData;
|
|
384
407
|
var $input = $xeSelect.$refs.refInput;
|
|
408
|
+
if ($input) {
|
|
409
|
+
$input.blur();
|
|
410
|
+
}
|
|
385
411
|
reactData.isActivated = true;
|
|
386
|
-
$input.blur();
|
|
387
412
|
return $xeSelect.$nextTick();
|
|
388
413
|
},
|
|
389
414
|
blur: function blur() {
|
|
390
415
|
var $xeSelect = this;
|
|
391
416
|
var reactData = $xeSelect.reactData;
|
|
392
417
|
var $input = $xeSelect.$refs.refInput;
|
|
393
|
-
$input
|
|
418
|
+
if ($input) {
|
|
419
|
+
$input.blur();
|
|
420
|
+
}
|
|
394
421
|
reactData.isActivated = false;
|
|
395
422
|
return $xeSelect.$nextTick();
|
|
396
423
|
},
|
|
@@ -418,6 +445,16 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
418
445
|
var optid = option[$xeSelect.getOptKey()];
|
|
419
446
|
return optid ? encodeURIComponent(optid) : '';
|
|
420
447
|
},
|
|
448
|
+
checkMaxLimit: function checkMaxLimit(selectVals) {
|
|
449
|
+
var $xeSelect = this;
|
|
450
|
+
var props = $xeSelect;
|
|
451
|
+
var multiple = props.multiple,
|
|
452
|
+
max = props.max;
|
|
453
|
+
if (multiple && max) {
|
|
454
|
+
return (_xeUtils.default.isArray(selectVals) ? selectVals.length : _xeUtils.default.eqNull(selectVals) ? 0 : 1) >= _xeUtils.default.toNumber(max);
|
|
455
|
+
}
|
|
456
|
+
return false;
|
|
457
|
+
},
|
|
421
458
|
getRemoteSelectLabel: function getRemoteSelectLabel(value) {
|
|
422
459
|
var $xeSelect = this;
|
|
423
460
|
var internalData = $xeSelect.internalData;
|
|
@@ -489,7 +526,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
489
526
|
cacheItem._index = index;
|
|
490
527
|
}
|
|
491
528
|
});
|
|
492
|
-
|
|
529
|
+
internalData.afterVisibleList = avList;
|
|
493
530
|
return $xeSelect.$nextTick();
|
|
494
531
|
},
|
|
495
532
|
refreshOption: function refreshOption() {
|
|
@@ -632,7 +669,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
632
669
|
reactData.isAniVisible = true;
|
|
633
670
|
if (filterable) {
|
|
634
671
|
if (remote && remoteOpts.enabled && remoteOpts.autoLoad && !fullData.length) {
|
|
635
|
-
$xeSelect.
|
|
672
|
+
$xeSelect.handleSearchEvent();
|
|
636
673
|
} else {
|
|
637
674
|
$xeSelect.handleOption();
|
|
638
675
|
$xeSelect.updateYData();
|
|
@@ -702,6 +739,46 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
702
739
|
$xeSelect.clearValueEvent($event, null);
|
|
703
740
|
$xeSelect.hideOptionPanel();
|
|
704
741
|
},
|
|
742
|
+
allCheckedPanelEvent: function allCheckedPanelEvent(params) {
|
|
743
|
+
var $xeSelect = this;
|
|
744
|
+
var props = $xeSelect;
|
|
745
|
+
var reactData = $xeSelect.reactData;
|
|
746
|
+
var $event = params.$event;
|
|
747
|
+
var modelValue = props.value,
|
|
748
|
+
multiple = props.multiple;
|
|
749
|
+
var optList = reactData.optList;
|
|
750
|
+
var valueField = $xeSelect.computeValueField;
|
|
751
|
+
if (multiple) {
|
|
752
|
+
var multipleValue = _xeUtils.default.eqNull(modelValue) ? [] : _xeUtils.default.isArray(modelValue) ? modelValue : [modelValue];
|
|
753
|
+
var _loop = function _loop() {
|
|
754
|
+
var option = optList[i];
|
|
755
|
+
var selectValue = option[valueField];
|
|
756
|
+
// 检测是否超过最大可选数量
|
|
757
|
+
if ($xeSelect.checkMaxLimit(multipleValue)) {
|
|
758
|
+
return 1; // break
|
|
759
|
+
}
|
|
760
|
+
if (!multipleValue.some(function (val) {
|
|
761
|
+
return val === selectValue;
|
|
762
|
+
})) {
|
|
763
|
+
multipleValue.push(selectValue);
|
|
764
|
+
}
|
|
765
|
+
};
|
|
766
|
+
for (var i = 0; i < optList.length; i++) {
|
|
767
|
+
if (_loop()) break;
|
|
768
|
+
}
|
|
769
|
+
$xeSelect.changeEvent($event, multipleValue);
|
|
770
|
+
$xeSelect.dispatchEvent('all-change', {
|
|
771
|
+
value: multipleValue
|
|
772
|
+
}, $event);
|
|
773
|
+
$xeSelect.hideOptionPanel();
|
|
774
|
+
}
|
|
775
|
+
},
|
|
776
|
+
clearCheckedPanelEvent: function clearCheckedPanelEvent(params) {
|
|
777
|
+
var $xeSelect = this;
|
|
778
|
+
var $event = params.$event;
|
|
779
|
+
$xeSelect.clearValueEvent($event, null);
|
|
780
|
+
$xeSelect.hideOptionPanel();
|
|
781
|
+
},
|
|
705
782
|
changeOptionEvent: function changeOptionEvent(evnt, option) {
|
|
706
783
|
var $xeSelect = this;
|
|
707
784
|
var props = $xeSelect;
|
|
@@ -790,10 +867,10 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
790
867
|
var reactData = $xeSelect.reactData;
|
|
791
868
|
var internalData = $xeSelect.internalData;
|
|
792
869
|
var allowCreate = props.allowCreate;
|
|
793
|
-
var
|
|
794
|
-
optList = reactData.optList;
|
|
870
|
+
var optList = reactData.optList;
|
|
795
871
|
var optFullValMaps = internalData.optFullValMaps,
|
|
796
|
-
optAddMaps = internalData.optAddMaps
|
|
872
|
+
optAddMaps = internalData.optAddMaps,
|
|
873
|
+
afterVisibleList = internalData.afterVisibleList;
|
|
797
874
|
var valueField = $xeSelect.computeValueField;
|
|
798
875
|
var fullList = afterVisibleList;
|
|
799
876
|
var offsetAddIndex = 0;
|
|
@@ -1025,14 +1102,11 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1025
1102
|
}
|
|
1026
1103
|
}
|
|
1027
1104
|
},
|
|
1028
|
-
checkOptionDisabled: function checkOptionDisabled(isSelected, option
|
|
1105
|
+
checkOptionDisabled: function checkOptionDisabled(isSelected, option) {
|
|
1029
1106
|
var $xeSelect = this;
|
|
1030
1107
|
if (option.disabled) {
|
|
1031
1108
|
return true;
|
|
1032
1109
|
}
|
|
1033
|
-
if (group && group.disabled) {
|
|
1034
|
-
return true;
|
|
1035
|
-
}
|
|
1036
1110
|
var isMaximize = $xeSelect.computeIsMaximize;
|
|
1037
1111
|
if (isMaximize && !isSelected) {
|
|
1038
1112
|
return true;
|
|
@@ -1043,9 +1117,9 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1043
1117
|
var $xeSelect = this;
|
|
1044
1118
|
var reactData = $xeSelect.reactData;
|
|
1045
1119
|
var internalData = $xeSelect.internalData;
|
|
1046
|
-
var scrollYLoad = reactData.scrollYLoad
|
|
1047
|
-
|
|
1048
|
-
|
|
1120
|
+
var scrollYLoad = reactData.scrollYLoad;
|
|
1121
|
+
var scrollYStore = internalData.scrollYStore,
|
|
1122
|
+
afterVisibleList = internalData.afterVisibleList;
|
|
1049
1123
|
reactData.bodyHeight = scrollYLoad ? afterVisibleList.length * scrollYStore.rowHeight : 0;
|
|
1050
1124
|
reactData.topSpaceHeight = scrollYLoad ? Math.max(scrollYStore.startIndex * scrollYStore.rowHeight, 0) : 0;
|
|
1051
1125
|
},
|
|
@@ -1057,10 +1131,10 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1057
1131
|
var filterable = props.filterable,
|
|
1058
1132
|
allowCreate = props.allowCreate;
|
|
1059
1133
|
var scrollYLoad = reactData.scrollYLoad,
|
|
1060
|
-
afterVisibleList = reactData.afterVisibleList,
|
|
1061
1134
|
searchValue = reactData.searchValue;
|
|
1062
1135
|
var optAddMaps = internalData.optAddMaps,
|
|
1063
|
-
scrollYStore = internalData.scrollYStore
|
|
1136
|
+
scrollYStore = internalData.scrollYStore,
|
|
1137
|
+
afterVisibleList = internalData.afterVisibleList;
|
|
1064
1138
|
var labelField = $xeSelect.computeLabelField;
|
|
1065
1139
|
var valueField = $xeSelect.computeValueField;
|
|
1066
1140
|
var restList = scrollYLoad ? afterVisibleList.slice(scrollYStore.startIndex, scrollYStore.endIndex) : afterVisibleList.slice(0);
|
|
@@ -1089,13 +1163,10 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1089
1163
|
var scrollYLoad = reactData.scrollYLoad;
|
|
1090
1164
|
var scrollYStore = internalData.scrollYStore;
|
|
1091
1165
|
var virtualBodyElem = $xeSelect.$refs.refVirtualBody;
|
|
1092
|
-
var
|
|
1166
|
+
var virtualYOpts = $xeSelect.computeVirtualYOpts;
|
|
1093
1167
|
var rowHeight = 0;
|
|
1094
1168
|
var firstItemElem;
|
|
1095
1169
|
if (virtualBodyElem) {
|
|
1096
|
-
if (sYOpts.sItem) {
|
|
1097
|
-
firstItemElem = virtualBodyElem.querySelector(sYOpts.sItem);
|
|
1098
|
-
}
|
|
1099
1170
|
if (!firstItemElem) {
|
|
1100
1171
|
firstItemElem = virtualBodyElem.children[0];
|
|
1101
1172
|
}
|
|
@@ -1109,7 +1180,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1109
1180
|
if (scrollYLoad) {
|
|
1110
1181
|
var scrollBodyElem = $xeSelect.$refs.refVirtualWrapper;
|
|
1111
1182
|
var visibleYSize = Math.max(8, scrollBodyElem ? Math.ceil(scrollBodyElem.clientHeight / rowHeight) : 0);
|
|
1112
|
-
var offsetYSize = Math.max(0, Math.min(2, _xeUtils.default.toNumber(
|
|
1183
|
+
var offsetYSize = Math.max(0, Math.min(2, _xeUtils.default.toNumber(virtualYOpts.oSize)));
|
|
1113
1184
|
scrollYStore.offsetSize = offsetYSize;
|
|
1114
1185
|
scrollYStore.visibleSize = visibleYSize;
|
|
1115
1186
|
scrollYStore.endIndex = Math.max(scrollYStore.startIndex, visibleYSize + offsetYSize, scrollYStore.endIndex);
|
|
@@ -1284,7 +1355,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1284
1355
|
fullData = internalData.fullData,
|
|
1285
1356
|
scrollYStore = internalData.scrollYStore;
|
|
1286
1357
|
var defaultOpts = $xeSelect.computeDefaultOpts;
|
|
1287
|
-
var
|
|
1358
|
+
var virtualYOpts = $xeSelect.computeVirtualYOpts;
|
|
1288
1359
|
var valueField = $xeSelect.computeValueField;
|
|
1289
1360
|
Object.assign(scrollYStore, {
|
|
1290
1361
|
startIndex: 0,
|
|
@@ -1293,7 +1364,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1293
1364
|
});
|
|
1294
1365
|
internalData.synchData = datas || [];
|
|
1295
1366
|
// 如果gt为0,则总是启用
|
|
1296
|
-
reactData.scrollYLoad = !!
|
|
1367
|
+
reactData.scrollYLoad = !!virtualYOpts.enabled && virtualYOpts.gt > -1 && (virtualYOpts.gt === 0 || virtualYOpts.gt <= fullData.length);
|
|
1297
1368
|
$xeSelect.handleData();
|
|
1298
1369
|
if (!isLoaded) {
|
|
1299
1370
|
var selectMode = defaultOpts.selectMode;
|
|
@@ -1343,7 +1414,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1343
1414
|
//
|
|
1344
1415
|
// Render
|
|
1345
1416
|
//
|
|
1346
|
-
renderOption: function renderOption(h, list
|
|
1417
|
+
renderOption: function renderOption(h, list) {
|
|
1347
1418
|
var $xeSelect = this;
|
|
1348
1419
|
var props = $xeSelect;
|
|
1349
1420
|
var slots = $xeSelect.$scopedSlots;
|
|
@@ -1369,11 +1440,11 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1369
1440
|
var isAdd = !!(allowCreate && optAddMaps[optid]);
|
|
1370
1441
|
var isSelected = !isAdd && (_xeUtils.default.isArray(value) ? value.indexOf(optionValue) > -1 : value === optionValue);
|
|
1371
1442
|
var isVisible = isAdd || !isOptGroup || isOptionVisible(option);
|
|
1372
|
-
var isDisabled = !isAdd && $xeSelect.checkOptionDisabled(isSelected, option
|
|
1443
|
+
var isDisabled = !isAdd && $xeSelect.checkOptionDisabled(isSelected, option);
|
|
1373
1444
|
var defaultSlot = slots ? slots.default : null;
|
|
1374
1445
|
var optParams = {
|
|
1375
1446
|
option: option,
|
|
1376
|
-
group: null,
|
|
1447
|
+
group: isOptGroup ? option : null,
|
|
1377
1448
|
$select: $xeSelect
|
|
1378
1449
|
};
|
|
1379
1450
|
var optLabel = '';
|
|
@@ -1455,13 +1526,19 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1455
1526
|
var props = $xeSelect;
|
|
1456
1527
|
var slots = $xeSelect.$scopedSlots;
|
|
1457
1528
|
var reactData = $xeSelect.reactData;
|
|
1458
|
-
var
|
|
1529
|
+
var modelValue = props.value,
|
|
1530
|
+
className = props.className,
|
|
1459
1531
|
popupClassName = props.popupClassName,
|
|
1532
|
+
multiple = props.multiple,
|
|
1460
1533
|
loading = props.loading,
|
|
1461
|
-
filterable = props.filterable
|
|
1534
|
+
filterable = props.filterable,
|
|
1535
|
+
showTotalButoon = props.showTotalButoon,
|
|
1536
|
+
showCheckedButoon = props.showCheckedButoon,
|
|
1537
|
+
showClearButton = props.showClearButton;
|
|
1462
1538
|
var initialized = reactData.initialized,
|
|
1463
1539
|
isActivated = reactData.isActivated,
|
|
1464
1540
|
isAniVisible = reactData.isAniVisible,
|
|
1541
|
+
optList = reactData.optList,
|
|
1465
1542
|
visiblePanel = reactData.visiblePanel,
|
|
1466
1543
|
bodyHeight = reactData.bodyHeight,
|
|
1467
1544
|
topSpaceHeight = reactData.topSpaceHeight;
|
|
@@ -1486,6 +1563,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1486
1563
|
class: 'vxe-select-label'
|
|
1487
1564
|
}, selectLabel)]);
|
|
1488
1565
|
}
|
|
1566
|
+
var selectVals = _xeUtils.default.eqNull(modelValue) ? [] : _xeUtils.default.isArray(modelValue) ? modelValue : [modelValue];
|
|
1489
1567
|
return h('div', {
|
|
1490
1568
|
ref: 'refElem',
|
|
1491
1569
|
class: ['vxe-select', className ? _xeUtils.default.isFunction(className) ? className({
|
|
@@ -1550,9 +1628,31 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1550
1628
|
change: $xeSelect.triggerSearchEvent,
|
|
1551
1629
|
search: $xeSelect.triggerSearchEvent
|
|
1552
1630
|
}
|
|
1553
|
-
})]) : (0, _ui.renderEmptyElement)($xeSelect), headerSlot ? h('div', {
|
|
1631
|
+
})]) : (0, _ui.renderEmptyElement)($xeSelect), showTotalButoon || showCheckedButoon && multiple || showClearButton || headerSlot ? h('div', {
|
|
1554
1632
|
class: 'vxe-select--panel-header'
|
|
1555
|
-
}, $xeSelect.callSlot(headerSlot, {}, h)
|
|
1633
|
+
}, headerSlot ? $xeSelect.callSlot(headerSlot, {}, h) : [h('div', {
|
|
1634
|
+
class: 'vxe-tree-select--header-button'
|
|
1635
|
+
}, [showTotalButoon ? h('div', {
|
|
1636
|
+
class: 'vxe-tree-select--header-total'
|
|
1637
|
+
}, (0, _ui.getI18n)('vxe.select.total', [selectVals.length, optList.length])) : (0, _ui.renderEmptyElement)($xeSelect), h('div', {
|
|
1638
|
+
class: 'vxe-tree-select--header-btns'
|
|
1639
|
+
}, [showCheckedButoon && multiple ? h(_button.default, {
|
|
1640
|
+
props: {
|
|
1641
|
+
content: (0, _ui.getI18n)('vxe.select.allChecked'),
|
|
1642
|
+
mode: 'text'
|
|
1643
|
+
},
|
|
1644
|
+
on: {
|
|
1645
|
+
click: $xeSelect.allCheckedPanelEvent
|
|
1646
|
+
}
|
|
1647
|
+
}) : (0, _ui.renderEmptyElement)($xeSelect), showClearButton ? h(_button.default, {
|
|
1648
|
+
props: {
|
|
1649
|
+
content: (0, _ui.getI18n)('vxe.select.clear'),
|
|
1650
|
+
mode: 'text'
|
|
1651
|
+
},
|
|
1652
|
+
on: {
|
|
1653
|
+
click: $xeSelect.clearCheckedPanelEvent
|
|
1654
|
+
}
|
|
1655
|
+
}) : (0, _ui.renderEmptyElement)($xeSelect)])])]) : (0, _ui.renderEmptyElement)($xeSelect), h('div', {
|
|
1556
1656
|
class: 'vxe-select--panel-body'
|
|
1557
1657
|
}, [h('div', {
|
|
1558
1658
|
ref: 'refVirtualWrapper',
|
|
@@ -1569,7 +1669,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
1569
1669
|
ref: 'refVirtualBody',
|
|
1570
1670
|
class: 'vxe-select--body',
|
|
1571
1671
|
style: {
|
|
1572
|
-
|
|
1672
|
+
transform: "translateY(".concat(topSpaceHeight, "px)")
|
|
1573
1673
|
}
|
|
1574
1674
|
}, $xeSelect.renderOpts(h))])]), footerSlot ? h('div', {
|
|
1575
1675
|
class: 'vxe-select--panel-footer'
|
|
@@ -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,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,remoteConfig:Object,emptyText:String,transfer:{type:Boolean,default:null},virtualYConfig:Object,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:1,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,l=e.$xeForm,e=e.transfer;if(null===e){var a=(0,_ui.getConfig)().select.transfer;if(_xeUtils.default.isBoolean(a))return a;if(t||i||n||l)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.virtualYConfig||(0,_ui.getConfig)().select.scrollY,this.virtualYConfig||this.scrollY)},computeRemoteOpts:function(){return Object.assign({},(0,_ui.getConfig)().select.remoteConfig,this.remoteConfig)},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.reactData,i=t.value,n=t.remote,l=t.multiple,e=e.reactFlag,a=t.computeMultiMaxCharNum;return _xeUtils.default.eqNull(i)?"":(i=_xeUtils.default.isArray(i)?i:[i],(n&&e?i.map(function(e){return t.getRemoteSelectLabel(e)}):i.map(function(e){e=t.getSelectLabel(e);return l&&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,i=t.remoteValMaps,n=this.computeLabelField,i=i[e]||t.optFullValMaps[e],t=i?i.item:null;return _xeUtils.default.toValueString(t?t[n]: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 t=this,e=t.reactData,i=t.internalData,n=t.value,l=t.filterable,a=t.filterMethod,o=e.searchValue,r=i.fullData,s=i.optFullValMaps,c=t.computeLabelField,u=t.computeValueField,p="".concat(o||"").toLowerCase(),i=[];return(i=l&&a?r.filter(function(e){return isOptionVisible(e)&&a({$select:t,group:null,option:e,searchValue:o,value:n})}):l?r.filter(function(e){return isOptionVisible(e)&&(!p||-1<"".concat(e[c]).toLowerCase().indexOf(p))}):r.filter(isOptionVisible)).forEach(function(e,t){e=s[e[u]];e&&(e._index=t)}),e.afterVisibleList=i,t.$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,l=i.internalData,a=i.computeGroupOptionsField,o=i.computeValueField,r=i.getOptKey(),s={},c={},u=[];e.forEach(function(e){t(e),e[a]&&(s[e[r]]=e)[a].forEach(t)}),l.fullData=u,l.optGroupKeyMaps=s,l.optFullValMaps=c,n.reactFlag++,i.handleOption()},setCurrentOption:function(e){var t=this.reactData;e&&(t.currentOption=e)},scrollToOption:function(n,l){var a=this;return a.$nextTick().then(function(){var e,t,i;n&&(e=a.$refs.refOptionWrapper,t=a.$refs.refOptionPanel.querySelector("[optid='".concat(a.getOptid(n),"']")),e)&&t&&(i=e.offsetHeight,l?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(){function e(){var e=(0,_dom.updatePanelPlacement)(a,o,{placement:n,teleportTo:r}),t=Object.assign(e.style,{zIndex:l});i.panelStyle=t,i.panelPlacement=e.placement}var t=this,i=t.reactData,n=t.placement,l=i.panelIndex,a=t.$refs.refElem,o=t.$refs.refOptionPanel,r=t.computeBtnTransfer;return e(),t.$nextTick().then(e)},showOptionPanel:function(){var e=this,t=e.reactData,i=e.internalData,n=e.loading,l=e.filterable,a=e.remote,o=i.fullData,r=i.hpTimeout,s=e.computeRemoteOpts;n||e.computeIsDisabled||(r&&(clearTimeout(r),i.hpTimeout=void 0),t.initialized||(t.initialized=!0,n=e.computeBtnTransfer,r=e.$refs.refOptionPanel,n&&r&&document.body.appendChild(r)),t.isActivated=!0,t.isAniVisible=!0,l&&(a&&s.enabled&&s.autoLoad&&!o.length?e.triggerSearchEvent():(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,l=i.$xeForm,a=i.formItemInfo;i.emitModel(t),t!==n.value&&(i.dispatchEvent("change",{value:t},e),l)&&a&&l.triggerItemEvent(e,a.itemConfig.field,t)},clearValueEvent:function(e,t){this.internalData.remoteValMaps={},this.changeEvent(e,t),this.dispatchEvent("clear",{value:t},e)},clearEvent:function(e){e=e.$event;this.clearValueEvent(e,null),this.hideOptionPanel()},changeOptionEvent:function(e,t){var i=this,n=i.reactData,l=i.value,a=i.multiple,o=i.internalData.remoteValMaps,r=t[i.computeValueField],s=o[r];n.visiblePanel&&(s?s.item=t:o[r]={key:i.getOptId(t),item:t,_index:-1},a?(s=[],o=_xeUtils.default.eqNull(l)?[]:_xeUtils.default.isArray(l)?l:[l],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,l=n.reactData,a=l.visiblePanel;n.computeIsDisabled||(t=n.$refs.refElem,i=n.$refs.refOptionPanel,l.isActivated=(0,_dom.getEventTargetNode)(e,t).flag||(0,_dom.getEventTargetNode)(e,i).flag,a&&!l.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,l=i.internalData,a=i.allowCreate,o=n.afterVisibleList,n=n.optList,r=l.optFullValMaps,l=l.optAddMaps,s=i.computeValueField,c=o,o=0;if(a&&n.length&&(a=n[0],l[n=i.getOptId(a)])&&(o=1,c=[l[n]].concat(c)),!e)if(t)for(var u=0;u<c.length;u++){var p=c[u];if(i.validOffsetOption(p))return p}else for(var f=c.length-1;0<=f;f--){var d=c[f];if(i.validOffsetOption(d))return d}a=0,l=e?r[e[s]]:null;if(-1<(a=l?l._index+o:a))if(t)for(var h=a+1;h<=c.length-1;h++){var v=c[h];if(i.validOffsetOption(v))return v}else if(0<a)for(var m=a-1;0<=m;m--){var g=c[m];if(i.validOffsetOption(g))return g}return null},handleGlobalKeydownEvent:function(e){var t,i,n,l,a,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),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),r=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.SPACEBAR),t&&(c.isActivated=!1),p?n||t?s.hideOptionPanel():i?f&&(e.preventDefault(),e.stopPropagation(),s.changeOptionEvent(e,f)):l||a?(e.preventDefault(),(p=(p=s.findOffsetOption(f,a))||s.findOffsetOption(null,a))&&(s.setCurrentOption(p),s.handleScrollToOption(p,a))):r&&e.preventDefault():(l||a||i||r)&&c.isActivated&&(e.preventDefault(),s.showOptionPanel()),c.isActivated&&o&&u&&s.clearValueEvent(e,null))},handleGlobalBlurEvent:function(){this.hideOptionPanel()},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.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.value,n=t.searchValue,l=e.computeRemoteOpts,a=l.queryMethod||e.remoteMethod;e.remote&&a&&l.enabled?(t.searchLoading=!0,Promise.resolve(a({$select:e,searchValue:n,value:i})).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,l=e.allowCreate,a=t.scrollYLoad,o=t.afterVisibleList,r=t.searchValue,s=i.optAddMaps,i=i.scrollYStore,c=e.computeLabelField,u=e.computeValueField,a=a?o.slice(i.startIndex,i.endIndex):o.slice(0);return n&&l&&r&&(a.some(function(e){return e[c]===r})||(i=s[r]||_defineProperty(_defineProperty(_defineProperty({},e.getOptKey(),r),c,r),u,r),s[r]=i,a.unshift(i))),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,i=s.scrollYStore,n=o.$refs.refVirtualBody,l=o.computeSYOpts,a=0;(e=n?(e=l.sItem?n.querySelector(l.sItem):e)||n.children[0]:e)&&(a=e.offsetHeight),a=Math.max(20,a),i.rowHeight=a,t?(n=o.$refs.refVirtualWrapper,e=Math.max(8,n?Math.ceil(n.clientHeight/a):0),t=Math.max(0,Math.min(2,_xeUtils.default.toNumber(l.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,l=n.reactData,a=n.internalData,l=l.scrollYLoad,o=a.optFullValMaps,a=a.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):n.offsetTop+1<i.scrollTop||n.offsetTop+1>i.scrollTop+i.clientHeight?i.scrollTop=n.offsetTop-1:n.offsetTop+n.offsetHeight-i.scrollTop>e&&(i.scrollTop=n.offsetTop+n.offsetHeight-e)):l&&(i.scrollTop=t?o*a.rowHeight-i.clientHeight+a.rowHeight:o*a.rowHeight))},scrollTo:function(e,t){var i=this,n=i.reactData,l=i.$refs.refVirtualWrapper;return l&&(_xeUtils.default.isNumber(e)&&(l.scrollLeft=e),_xeUtils.default.isNumber(t))&&(l.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,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<=i||n-l-1<=e)||i===o&&n===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,i=this.internalData,n=e.target,l=n.scrollTop,n=n.scrollLeft,a=n!==i.lastScrollLeft,o=l!==i.lastScrollTop;i.lastScrollTop=l,i.lastScrollLeft=n,t.scrollYLoad&&this.loadYData(e),i.lastScrollTime=Date.now(),this.dispatchEvent("scroll",{scrollLeft:n,scrollTop:l,isX:a,isY:o},e)},loadData:function(e){var t,i=this,n=i,l=i.reactData,a=i.internalData,o=(i.cacheItemMap(e||[]),a.isLoaded),r=a.fullData,s=a.scrollYStore,c=i.computeDefaultOpts,u=i.computeSYOpts,p=i.computeValueField;return Object.assign(s,{startIndex:0,endIndex:1,visibleSize:0}),a.synchData=e||[],l.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])}),a.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(d,e,h){var v=this,t=v.$scopedSlots,m=v.allowCreate,g=v.optionKey,b=v.value,x=v.reactData.currentOption,_=v.internalData.optAddMaps,O=v.computeLabelField,E=v.computeValueField,y=v.computeGroupLabelField,S=v.computeOptionOpts.useKey,D=t.option;return e.map(function(t,e){var i=t.slots,n=t.className,l=v.getOptId(t),a=t[E],o=v.hasOptGroupById(l),r=!(!m||!_[l]),a=!r&&(_xeUtils.default.isArray(b)?-1<b.indexOf(a):b===a),s=r||!o||isOptionVisible(t),c=!r&&v.checkOptionDisabled(a,t,h),i=i?i.default:null,u={option:t,group:null,$select:v},p="",f=[],f=D?v.callSlot(D,u,d):i?v.callSlot(i,u,d):p=(0,_utils.getFuncText)(t[o?y:O]);return s?d("div",{key:S||g?l:e,class:["vxe-select-option",n?_xeUtils.default.isFunction(n)?n(u):n:"",{"vxe-select-optgroup":o,"is--disabled":c,"is--selected":a,"is--add":r,"is--hover":x&&v.getOptId(x)===l}],attrs:{optid:l,title:p||null},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?[d("span",{key:1,class:"vxe-select-option--label"},f),r?d("span",{key:2,class:"vxe-select-option--add-icon"},[d("i",{class:(0,_ui.getIcon)().SELECT_ADD_OPTION})]):(0,_ui.renderEmptyElement)(v)]:f):(0,_ui.renderEmptyElement)(v)})},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,l=t.reactData,a=i.className,o=i.popupClassName,r=i.loading,s=i.filterable,c=l.initialized,u=l.isActivated,p=l.isAniVisible,f=l.visiblePanel,d=l.bodyHeight,h=l.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",a]},[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",a?_xeUtils.default.isFunction(a)?a({$select:t}):a:"",_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,autoFocus:!1,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:l.panelPlacement},style:l.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:l.searchValue,title:g,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),_ui.globalEvents.on(i,"resize",i.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")},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"),_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_")}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,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},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:{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}}},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,e=e.transfer;if(null===e){var a=(0,_ui.getConfig)().select.transfer;if(_xeUtils.default.isBoolean(a))return a;if(t||n||i||l)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;return this.checkMaxLimit(e)},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)},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.reactData,n=t.value,i=t.remote,l=t.multiple,e=e.reactFlag,a=t.computeMultiMaxCharNum;return _xeUtils.default.eqNull(n)?"":(n=_xeUtils.default.isArray(n)?n:[n],(i&&e?n.map(function(e){return t.getRemoteSelectLabel(e)}):n.map(function(e){e=t.getSelectLabel(e);return l&&0<a&&e.length>a?"".concat(e.substring(0,a),"..."):e})).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)},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)&&(_xeUtils.default.isArray(e)?e.length:_xeUtils.default.eqNull(e)?0:1)>=_xeUtils.default.toNumber(n)},getRemoteSelectLabel:function(e){var t=this.internalData,n=t.remoteValMaps,i=this.computeLabelField,n=n[e]||t.optFullValMaps[e],t=n?n.item:null;return _xeUtils.default.toValueString(t?t[i]:e)},getSelectLabel:function(e){var t=this.reactData,n=this.internalData.optFullValMaps,i=this.computeLabelField,t=t.reactFlag?n[e]:null;return t?t.item[i]:_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 t=this,e=t.reactData,n=t.internalData,i=t.value,l=t.filterable,a=t.filterMethod,o=e.searchValue,e=n.fullData,r=n.optFullValMaps,s=t.computeLabelField,u=t.computeValueField,c="".concat(o||"").toLowerCase(),p=[];return(p=l&&a?e.filter(function(e){return isOptionVisible(e)&&a({$select:t,group:null,option:e,searchValue:o,value:i})}):l?e.filter(function(e){return isOptionVisible(e)&&(!c||-1<"".concat(e[s]).toLowerCase().indexOf(c))}):e.filter(isOptionVisible)).forEach(function(e,t){e=r[e[u]];e&&(e._index=t)}),n.afterVisibleList=p,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;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:i,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;return e(),t.$nextTick().then(e)},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;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?e.handleSearchEvent():(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 n=this,i=n,l=n.$xeForm,a=n.formItemInfo;n.emitModel(t),t!==i.value&&(n.dispatchEvent("change",{value:t},e),l)&&a&&l.triggerItemEvent(e,a.itemConfig.field,t)},clearValueEvent:function(e,t){this.internalData.remoteValMaps={},this.changeEvent(e,t),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.value,l=t.optList,a=n.computeValueField;if(n.multiple){for(var o=_xeUtils.default.eqNull(i)?[]:_xeUtils.default.isArray(i)?i:[i],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),n.dispatchEvent("all-change",{value:o},e),n.hideOptionPanel()}},clearCheckedPanelEvent:function(e){e=e.$event;this.clearValueEvent(e,null),this.hideOptionPanel()},changeOptionEvent:function(e,t){var n=this,i=n.reactData,l=n.value,a=n.multiple,o=n.internalData.remoteValMaps,r=t[n.computeValueField],s=o[r];i.visiblePanel&&(s?s.item=t:o[r]={key:n.getOptId(t),item:t,_index:-1},a?(s=[],o=_xeUtils.default.eqNull(l)?[]:_xeUtils.default.isArray(l)?l:[l],s=-1===_xeUtils.default.findIndexOf(o,function(e){return e===r})?o.concat([r]):o.filter(function(e){return e!==r}),n.changeEvent(e,s)):(n.changeEvent(e,r),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;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&&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,s=this,u=s.reactData,c=s.clearable,p=u.visiblePanel,f=u.currentOption;s.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),r=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.SPACEBAR),t&&(u.isActivated=!1),p?i||t?s.hideOptionPanel():n?f&&(e.preventDefault(),e.stopPropagation(),s.changeOptionEvent(e,f)):l||a?(e.preventDefault(),(p=(p=s.findOffsetOption(f,a))||s.findOffsetOption(null,a))&&(s.setCurrentOption(p),s.handleScrollToOption(p,a))):r&&e.preventDefault():(l||a||n||r)&&u.isActivated&&(e.preventDefault(),s.showOptionPanel()),u.isActivated&&o&&c&&s.clearValueEvent(e,null))},handleGlobalBlurEvent:function(){this.hideOptionPanel()},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.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,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=this,l=i.reactData,a=i.internalData,l=l.scrollYLoad,o=a.optFullValMaps,a=a.scrollYStore,o=o[e[i.computeValueField]];o&&(e=o.key,-1<(o=o._index))&&(n=i.$refs.refVirtualWrapper,i=i.$refs.refOptionPanel.querySelector("[optid='".concat(e,"']")),n)&&(i?(e=n.offsetHeight,t?i.offsetTop+i.offsetHeight-n.scrollTop>e?n.scrollTop=i.offsetTop+i.offsetHeight-e:(i.offsetTop+1<n.scrollTop||i.offsetTop+1>n.scrollTop+n.clientHeight)&&(n.scrollTop=i.offsetTop-1):i.offsetTop+1<n.scrollTop||i.offsetTop+1>n.scrollTop+n.clientHeight?n.scrollTop=i.offsetTop-1:i.offsetTop+i.offsetHeight-n.scrollTop>e&&(n.scrollTop=i.offsetTop+i.offsetHeight-e)):l&&(n.scrollTop=t?o*a.rowHeight-n.clientHeight+a.rowHeight:o*a.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||[]),a.isLoaded),r=a.fullData,s=a.scrollYStore,u=n.computeDefaultOpts,c=n.computeVirtualYOpts,p=n.computeValueField;return Object.assign(s,{startIndex:0,endIndex:1,visibleSize:0}),a.synchData=e||[],l.scrollYLoad=!!c.enabled&&-1<c.gt&&(0===c.gt||c.gt<=r.length),n.handleData(),o||(s=u.selectMode,0<e.length&&_xeUtils.default.eqNull(i.value)&&("first"!==s&&"last"!==s||(t=_xeUtils.default[s](e))&&n.$nextTick(function(){_xeUtils.default.eqNull(i.value)&&n.emitModel(t[p])}),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(d,e){var h=this,t=h.$scopedSlots,v=h.allowCreate,m=h.optionKey,g=h.value,b=h.reactData.currentOption,_=h.internalData.optAddMaps,x=h.computeLabelField,O=h.computeValueField,E=h.computeGroupLabelField,y=h.computeOptionOpts.useKey,D=t.option;return e.map(function(t,e){var n=t.slots,i=t.className,l=h.getOptId(t),a=t[O],o=h.hasOptGroupById(l),r=!(!v||!_[l]),a=!r&&(_xeUtils.default.isArray(g)?-1<g.indexOf(a):g===a),s=r||!o||isOptionVisible(t),u=!r&&h.checkOptionDisabled(a,t),n=n?n.default:null,c={option:t,group:o?t:null,$select:h},p="",f=[],f=D?h.callSlot(D,c,d):n?h.callSlot(n,c,d):p=(0,_utils.getFuncText)(t[o?E:x]);return s?d("div",{key:y||m?l:e,class:["vxe-select-option",i?_xeUtils.default.isFunction(i)?i(c):i:"",{"vxe-select-optgroup":o,"is--disabled":u,"is--selected":a,"is--add":r,"is--hover":b&&h.getOptId(b)===l}],attrs:{optid:l,title:p||null},on:{mousedown:function(e){0===e.button&&e.stopPropagation()},click:function(e){u||o||h.changeOptionEvent(e,t)},mouseenter:function(){u||o||h.isVMScrollProcess()||h.setCurrentOption(t)}}},v?[d("span",{key:1,class:"vxe-select-option--label"},f),r?d("span",{key:2,class:"vxe-select-option--add-icon"},[d("i",{class:(0,_ui.getIcon)().SELECT_ADD_OPTION})]):(0,_ui.renderEmptyElement)(h)]:f):(0,_ui.renderEmptyElement)(h)})},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=this,n=t,i=t.$scopedSlots,l=t.reactData,a=n.value,o=n.className,r=n.popupClassName,s=n.multiple,u=n.loading,c=n.filterable,p=n.showTotalButoon,f=n.showCheckedButoon,d=n.showClearButton,h=l.initialized,v=l.isActivated,m=l.isAniVisible,g=l.optList,b=l.visiblePanel,_=l.bodyHeight,x=l.topSpaceHeight,O=t.computeSize,E=t.computeIsDisabled,y=t.computeSelectLabel,D=t.computeBtnTransfer,S=t.computeInpPlaceholder,T=i.default,P=i.header,I=i.footer,L=i.prefix;return t.computeFormReadonly?e("div",{ref:"refElem",class:["vxe-select--readonly",o]},[e("div",{class:"vxe-select-slots",ref:"hideOption"},T?t.callSlot(T,{},e):[]),e("span",{class:"vxe-select-label"},y)]):(i=_xeUtils.default.eqNull(a)?[]:_xeUtils.default.isArray(a)?a:[a],e("div",{ref:"refElem",class:["vxe-select",o?_xeUtils.default.isFunction(o)?o({$select:t}):o:"",_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(O),O),"is--visible",b),"is--disabled",E),"is--filter",c),"is--loading",u),"is--active",v)]},[e("div",{class:"vxe-select-slots",ref:"hideOption"},T?T.call(t,{}):[]),e(_input.default,{ref:"refInput",props:{clearable:n.clearable,placeholder:S,readonly:!0,disabled:E,type:"text",prefixIcon:n.prefixIcon,suffixIcon:u?(0,_ui.getIcon)().SELECT_LOADED:b?(0,_ui.getIcon)().SELECT_OPEN:(0,_ui.getIcon)().SELECT_CLOSE,autoFocus:!1,value:y},on:{clear:t.clearEvent,click:t.clickEvent,focus:t.focusEvent,blur:t.blurEvent,"suffix-click":t.suffixClickEvent},scopedSlots:L?{prefix:function(){return L({})}}:{}}),e("div",{ref:"refOptionPanel",class:["vxe-table--ignore-clear vxe-select--panel",r?_xeUtils.default.isFunction(r)?r({$select:t}):r:"",_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(O),O),"is--transfer",D),"ani--leave",!u&&m),"ani--enter",!u&&b)],attrs:{placement:l.panelPlacement},style:l.panelStyle},h&&(b||m)?[e("div",{class:"vxe-select--panel-wrapper"},[c?e("div",{class:"vxe-select--panel-search"},[e(_input.default,{ref:"refInpSearch",class:"vxe-select-search--input",props:{value:l.searchValue,title:y,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),p||f&&s||d||P?e("div",{class:"vxe-select--panel-header"},P?t.callSlot(P,{},e):[e("div",{class:"vxe-tree-select--header-button"},[p?e("div",{class:"vxe-tree-select--header-total"},(0,_ui.getI18n)("vxe.select.total",[i.length,g.length])):(0,_ui.renderEmptyElement)(t),e("div",{class:"vxe-tree-select--header-btns"},[f&&s?e(_button.default,{props:{content:(0,_ui.getI18n)("vxe.select.allChecked"),mode:"text"},on:{click:t.allCheckedPanelEvent}}):(0,_ui.renderEmptyElement)(t),d?e(_button.default,{props:{content:(0,_ui.getI18n)("vxe.select.clear"),mode:"text"},on:{click:t.clearCheckedPanelEvent}}):(0,_ui.renderEmptyElement)(t)])])]):(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:_?"".concat(_,"px"):""}}),e("div",{ref:"refVirtualBody",class:"vxe-select--body",style:{transform:"translateY(".concat(x,"px)")}},t.renderOpts(e))])]),I?e("div",{class:"vxe-select--panel-footer"},t.callSlot(I,{},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 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")},render:function(e){return this.renderVN(e)}});
|
|
@@ -96,6 +96,27 @@
|
|
|
96
96
|
background-color: var(--vxe-ui-layout-background-color);
|
|
97
97
|
}
|
|
98
98
|
|
|
99
|
+
.vxe-select--header-button {
|
|
100
|
+
display: flex;
|
|
101
|
+
flex-direction: row;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.vxe-select--header-total {
|
|
105
|
+
display: flex;
|
|
106
|
+
flex-direction: row;
|
|
107
|
+
align-items: center;
|
|
108
|
+
justify-content: center;
|
|
109
|
+
flex-shrink: 0;
|
|
110
|
+
padding-left: 0.8em;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.vxe-select--header-btns {
|
|
114
|
+
display: flex;
|
|
115
|
+
flex-direction: row;
|
|
116
|
+
flex-grow: 1;
|
|
117
|
+
justify-content: right;
|
|
118
|
+
}
|
|
119
|
+
|
|
99
120
|
.vxe-select--panel-header {
|
|
100
121
|
border-bottom: 1px solid var(--vxe-ui-base-popup-border-color);
|
|
101
122
|
}
|
|
@@ -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.ani--enter>div::after{display:none}.vxe-select--panel>div::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.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)}
|
|
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.ani--enter>div::after{display:none}.vxe-select--panel>div::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.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--header-button{display:flex;flex-direction:row}.vxe-select--header-total{display:flex;flex-direction:row;align-items:center;justify-content:center;flex-shrink:0;padding-left:.8em}.vxe-select--header-btns{display:flex;flex-direction:row;flex-grow:1;justify-content:right}.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)}
|