vxe-table 4.2.8 → 4.3.0-beta.2
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/button/src/button.js +14 -14
- package/es/button/style.css +1 -58
- package/es/checkbox/src/checkbox.js +7 -4
- package/es/checkbox/style.css +37 -58
- package/es/edit/src/hook.js +29 -13
- package/es/export/src/export-panel.js +10 -20
- package/es/export/src/hook.js +45 -45
- package/es/export/src/import-panel.js +2 -2
- package/es/export/src/util.js +7 -7
- package/es/export/style.css +27 -82
- package/es/filter/src/hook.js +5 -5
- package/es/filter/src/panel.js +9 -17
- package/es/filter/style.css +27 -79
- package/es/footer/src/footer.js +15 -15
- package/es/form/src/form-config-item.js +8 -7
- package/es/form/src/form-item.js +8 -7
- package/es/form/src/form.js +8 -6
- package/es/form/style.css +0 -3
- package/es/grid/src/grid.js +18 -13
- package/es/grid/style.css +1 -1
- package/es/header/src/header.js +18 -18
- package/es/header/style.css +0 -95
- package/es/icon/style.css +379 -0
- package/es/input/src/input.js +26 -26
- package/es/input/style.css +13 -4
- package/es/keyboard/src/hook.js +7 -7
- package/es/list/src/list.js +5 -5
- package/es/loading/src/loading.js +1 -1
- package/es/menu/src/hooks.js +9 -9
- package/es/menu/src/panel.js +2 -2
- package/es/modal/src/modal.js +52 -51
- package/es/modal/style.css +2 -3
- package/es/pager/src/pager.js +3 -3
- package/es/pager/style.css +4 -2
- package/es/pulldown/src/pulldown.js +7 -7
- package/es/radio/src/button.js +1 -1
- package/es/radio/src/radio.js +5 -4
- package/es/radio/style.css +32 -55
- package/es/select/src/select.js +13 -12
- package/es/select/style.css +1 -0
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/switch/src/switch.js +1 -1
- package/es/table/src/body.js +38 -34
- package/es/table/src/cell.js +16 -28
- package/es/table/src/columnInfo.js +4 -4
- package/es/table/src/table.js +65 -60
- package/es/table/src/util.js +2 -2
- package/es/table/style.css +160 -139
- package/es/textarea/src/textarea.js +5 -5
- package/es/toolbar/src/toolbar.js +17 -24
- package/es/toolbar/style.css +28 -80
- package/es/tools/dom.js +2 -2
- package/es/tools/log.js +1 -1
- package/es/tools/vn.js +7 -0
- package/es/tooltip/src/tooltip.js +22 -10
- package/es/v-x-e-table/index.js +1 -1
- package/es/v-x-e-table/src/conf.js +43 -38
- package/es/v-x-e-table/src/interceptor.js +1 -1
- package/es/v-x-e-table/src/renderer.js +19 -15
- package/es/v-x-e-table/style.css +405 -2
- package/lib/button/src/button.js +10 -10
- package/lib/button/src/button.min.js +1 -1
- package/lib/button/style/style.css +1 -58
- package/lib/button/style/style.min.css +1 -1
- package/lib/checkbox/src/checkbox.js +5 -3
- package/lib/checkbox/src/checkbox.min.js +1 -1
- package/lib/checkbox/style/style.css +37 -58
- package/lib/checkbox/style/style.min.css +1 -1
- package/lib/edit/src/hook.js +14 -13
- package/lib/edit/src/hook.min.js +1 -1
- package/lib/export/src/export-panel.js +11 -17
- package/lib/export/src/export-panel.min.js +1 -1
- package/lib/export/src/hook.js +50 -50
- package/lib/export/src/hook.min.js +1 -1
- package/lib/export/src/import-panel.js +3 -3
- package/lib/export/src/import-panel.min.js +1 -1
- package/lib/export/src/util.js +4 -4
- package/lib/export/src/util.min.js +1 -1
- package/lib/export/style/style.css +27 -82
- package/lib/export/style/style.min.css +1 -1
- package/lib/filter/src/hook.js +5 -5
- package/lib/filter/src/hook.min.js +1 -1
- package/lib/filter/src/panel.js +11 -15
- package/lib/filter/src/panel.min.js +1 -1
- package/lib/filter/style/style.css +27 -79
- package/lib/filter/style/style.min.css +1 -1
- package/lib/footer/src/footer.js +14 -14
- package/lib/footer/src/footer.min.js +1 -1
- package/lib/form/src/form-config-item.js +9 -7
- package/lib/form/src/form-config-item.min.js +1 -1
- package/lib/form/src/form-item.js +9 -7
- package/lib/form/src/form-item.min.js +1 -1
- package/lib/form/src/form.js +9 -6
- package/lib/form/src/form.min.js +1 -1
- package/lib/form/style/style.css +0 -3
- package/lib/form/style/style.min.css +1 -1
- package/lib/grid/src/grid.js +17 -13
- package/lib/grid/src/grid.min.js +1 -1
- package/lib/grid/style/style.css +1 -1
- package/lib/grid/style/style.min.css +1 -1
- package/lib/header/src/header.js +17 -17
- package/lib/header/src/header.min.js +1 -1
- package/lib/header/style/style.css +0 -95
- package/lib/header/style/style.min.css +0 -1
- package/lib/icon/style/style.css +379 -0
- package/lib/icon/style/style.min.css +1 -1
- package/lib/index.umd.js +163 -159
- package/lib/index.umd.min.js +1 -1
- package/lib/input/src/input.js +23 -23
- package/lib/input/src/input.min.js +1 -1
- package/lib/input/style/style.css +13 -4
- package/lib/input/style/style.min.css +1 -1
- package/lib/keyboard/src/hook.js +7 -7
- package/lib/keyboard/src/hook.min.js +1 -1
- package/lib/list/src/list.js +5 -5
- package/lib/list/src/list.min.js +1 -1
- package/lib/loading/src/loading.js +1 -1
- package/lib/loading/src/loading.min.js +1 -1
- package/lib/menu/src/hooks.js +9 -9
- package/lib/menu/src/hooks.min.js +1 -1
- package/lib/menu/src/panel.js +2 -2
- package/lib/menu/src/panel.min.js +1 -1
- package/lib/modal/src/modal.js +55 -53
- package/lib/modal/src/modal.min.js +1 -1
- package/lib/modal/style/style.css +2 -3
- package/lib/modal/style/style.min.css +1 -1
- package/lib/pager/src/pager.js +2 -2
- package/lib/pager/src/pager.min.js +1 -1
- package/lib/pager/style/style.css +4 -2
- package/lib/pager/style/style.min.css +1 -1
- package/lib/pulldown/src/pulldown.js +7 -7
- package/lib/pulldown/src/pulldown.min.js +1 -1
- package/lib/radio/src/button.js +1 -1
- package/lib/radio/src/button.min.js +1 -1
- package/lib/radio/src/radio.js +4 -4
- package/lib/radio/src/radio.min.js +1 -1
- package/lib/radio/style/style.css +32 -55
- package/lib/radio/style/style.min.css +1 -1
- package/lib/select/src/select.js +14 -12
- package/lib/select/src/select.min.js +1 -1
- package/lib/select/style/style.css +1 -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/switch/src/switch.js +1 -1
- package/lib/switch/src/switch.min.js +1 -1
- package/lib/table/src/body.js +36 -34
- package/lib/table/src/body.min.js +1 -1
- package/lib/table/src/cell.js +21 -29
- package/lib/table/src/cell.min.js +1 -1
- package/lib/table/src/columnInfo.js +4 -4
- package/lib/table/src/columnInfo.min.js +1 -1
- package/lib/table/src/table.js +65 -61
- package/lib/table/src/table.min.js +1 -1
- package/lib/table/src/util.js +2 -2
- package/lib/table/src/util.min.js +1 -1
- package/lib/table/style/style.css +160 -139
- package/lib/table/style/style.min.css +1 -1
- package/lib/textarea/src/textarea.js +6 -6
- package/lib/textarea/src/textarea.min.js +1 -1
- package/lib/toolbar/src/toolbar.js +20 -22
- package/lib/toolbar/src/toolbar.min.js +1 -1
- package/lib/toolbar/style/style.css +28 -80
- package/lib/toolbar/style/style.min.css +1 -1
- package/lib/tools/dom.js +2 -2
- package/lib/tools/dom.min.js +1 -1
- package/lib/tools/log.js +1 -1
- package/lib/tools/log.min.js +1 -1
- package/lib/tools/vn.js +13 -0
- package/lib/tools/vn.min.js +1 -1
- package/lib/tooltip/src/tooltip.js +22 -8
- package/lib/tooltip/src/tooltip.min.js +1 -1
- package/lib/v-x-e-table/index.js +1 -1
- package/lib/v-x-e-table/index.min.js +1 -1
- package/lib/v-x-e-table/src/conf.js +43 -38
- package/lib/v-x-e-table/src/conf.min.js +1 -1
- package/lib/v-x-e-table/src/interceptor.js +1 -1
- package/lib/v-x-e-table/src/interceptor.min.js +1 -1
- package/lib/v-x-e-table/src/renderer.js +18 -16
- package/lib/v-x-e-table/src/renderer.min.js +1 -1
- package/lib/v-x-e-table/style/style.css +405 -2
- package/lib/v-x-e-table/style/style.min.css +1 -1
- package/package.json +6 -6
- package/packages/checkbox/src/checkbox.ts +7 -4
- package/packages/edit/src/hook.ts +18 -6
- package/packages/export/src/export-panel.ts +9 -19
- package/packages/filter/src/panel.ts +8 -16
- package/packages/form/src/form-config-item.ts +4 -3
- package/packages/form/src/form-item.ts +4 -3
- package/packages/form/src/form.ts +6 -4
- package/packages/grid/src/grid.ts +2 -1
- package/packages/input/src/input.ts +3 -3
- package/packages/modal/src/modal.ts +5 -4
- package/packages/radio/src/radio.ts +4 -3
- package/packages/select/src/select.ts +2 -1
- package/packages/table/src/cell.ts +18 -35
- package/packages/table/src/table.ts +11 -10
- package/packages/toolbar/src/toolbar.ts +14 -21
- package/packages/tools/vn.ts +10 -0
- package/packages/tooltip/src/tooltip.ts +8 -4
- package/packages/v-x-e-table/src/conf.ts +43 -38
- package/styles/base/checked.scss +44 -148
- package/styles/button.scss +1 -43
- package/styles/checkbox.scss +6 -65
- package/styles/export.scss +2 -9
- package/styles/filter.scss +2 -6
- package/styles/form.scss +0 -3
- package/styles/header.scss +0 -134
- package/styles/icon.scss +509 -713
- package/styles/input.scss +8 -0
- package/styles/modal.scss +0 -1
- package/styles/old-icon.scss +713 -0
- package/styles/pager.scss +2 -0
- package/styles/radio.scss +9 -77
- package/styles/select.scss +1 -0
- package/styles/table.scss +144 -21
- package/styles/toolbar.scss +2 -6
- package/styles/variable.scss +5 -5
- package/types/all.d.ts +6 -0
- package/types/column.d.ts +11 -11
- package/types/component.d.ts +3 -1
- package/types/form-item.d.ts +1 -0
- package/types/form.d.ts +6 -2
- package/types/grid.d.ts +4 -4
- package/types/table.d.ts +2 -2
- package/types/v-x-e-table/renderer.d.ts +3 -2
package/lib/select/src/select.js
CHANGED
|
@@ -21,6 +21,8 @@ var _event = require("../../tools/event");
|
|
|
21
21
|
|
|
22
22
|
var _input = _interopRequireDefault(require("../../input/src/input"));
|
|
23
23
|
|
|
24
|
+
var _vn = require("../../tools/vn");
|
|
25
|
+
|
|
24
26
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
25
27
|
|
|
26
28
|
function isOptionVisible(option) {
|
|
@@ -169,7 +171,7 @@ var _default2 = (0, _vue.defineComponent)({
|
|
|
169
171
|
}
|
|
170
172
|
|
|
171
173
|
if (_xeUtils.default.isFunction(slotFunc)) {
|
|
172
|
-
return slotFunc(params);
|
|
174
|
+
return (0, _vn.getSlotVNs)(slotFunc(params));
|
|
173
175
|
}
|
|
174
176
|
}
|
|
175
177
|
|
|
@@ -238,7 +240,7 @@ var _default2 = (0, _vue.defineComponent)({
|
|
|
238
240
|
var label = getSelectLabel(val);
|
|
239
241
|
|
|
240
242
|
if (multiMaxCharNum > 0 && label.length > multiMaxCharNum) {
|
|
241
|
-
return label.substring(0, multiMaxCharNum)
|
|
243
|
+
return "".concat(label.substring(0, multiMaxCharNum), "...");
|
|
242
244
|
}
|
|
243
245
|
|
|
244
246
|
return label;
|
|
@@ -287,7 +289,7 @@ var _default2 = (0, _vue.defineComponent)({
|
|
|
287
289
|
});
|
|
288
290
|
} else if (filterable) {
|
|
289
291
|
reactData.visibleGroupList = fullGroupList.filter(function (group) {
|
|
290
|
-
return isOptionVisible(group) && (!searchValue ||
|
|
292
|
+
return isOptionVisible(group) && (!searchValue || "".concat(group[groupLabelField]).indexOf(searchValue) > -1);
|
|
291
293
|
});
|
|
292
294
|
} else {
|
|
293
295
|
reactData.visibleGroupList = fullGroupList.filter(isOptionVisible);
|
|
@@ -303,7 +305,7 @@ var _default2 = (0, _vue.defineComponent)({
|
|
|
303
305
|
});
|
|
304
306
|
} else if (filterable) {
|
|
305
307
|
reactData.visibleOptionList = fullOptionList.filter(function (option) {
|
|
306
|
-
return isOptionVisible(option) && (!searchValue ||
|
|
308
|
+
return isOptionVisible(option) && (!searchValue || "".concat(option[labelField]).indexOf(searchValue) > -1);
|
|
307
309
|
});
|
|
308
310
|
} else {
|
|
309
311
|
reactData.visibleOptionList = fullOptionList.filter(isOptionVisible);
|
|
@@ -354,7 +356,7 @@ var _default2 = (0, _vue.defineComponent)({
|
|
|
354
356
|
if (option) {
|
|
355
357
|
var optWrapperElem = refOptionWrapper.value;
|
|
356
358
|
var panelElem = refOptionPanel.value;
|
|
357
|
-
var optElem = panelElem.querySelector("[optid='"
|
|
359
|
+
var optElem = panelElem.querySelector("[optid='".concat(getOptid(option), "']"));
|
|
358
360
|
|
|
359
361
|
if (optWrapperElem && optElem) {
|
|
360
362
|
var wrapperHeight = optWrapperElem.offsetHeight;
|
|
@@ -438,21 +440,21 @@ var _default2 = (0, _vue.defineComponent)({
|
|
|
438
440
|
}
|
|
439
441
|
|
|
440
442
|
Object.assign(panelStyle, {
|
|
441
|
-
left: left
|
|
442
|
-
top: top_1
|
|
443
|
-
minWidth: targetWidth
|
|
443
|
+
left: "".concat(left, "px"),
|
|
444
|
+
top: "".concat(top_1, "px"),
|
|
445
|
+
minWidth: "".concat(targetWidth, "px")
|
|
444
446
|
});
|
|
445
447
|
} else {
|
|
446
448
|
if (placement === 'top') {
|
|
447
449
|
panelPlacement = 'top';
|
|
448
|
-
panelStyle.bottom = targetHeight
|
|
450
|
+
panelStyle.bottom = "".concat(targetHeight, "px");
|
|
449
451
|
} else if (!placement) {
|
|
450
452
|
// 如果下面不够放,则向上
|
|
451
453
|
if (boundingTop + targetHeight + panelHeight > visibleHeight) {
|
|
452
454
|
// 如果上面不够放,则向下(优先)
|
|
453
455
|
if (boundingTop - targetHeight - panelHeight > marginSize) {
|
|
454
456
|
panelPlacement = 'top';
|
|
455
|
-
panelStyle.bottom = targetHeight
|
|
457
|
+
panelStyle.bottom = "".concat(targetHeight, "px");
|
|
456
458
|
}
|
|
457
459
|
}
|
|
458
460
|
}
|
|
@@ -1094,7 +1096,7 @@ var _default2 = (0, _vue.defineComponent)({
|
|
|
1094
1096
|
ref: refElem,
|
|
1095
1097
|
class: ['vxe-select', className ? _xeUtils.default.isFunction(className) ? className({
|
|
1096
1098
|
$select: $xeselect
|
|
1097
|
-
}) : className : '', (_a = {}, _a["size--"
|
|
1099
|
+
}) : className : '', (_a = {}, _a["size--".concat(vSize)] = vSize, _a['is--visivle'] = visiblePanel, _a['is--disabled'] = disabled, _a['is--filter'] = filterable, _a['is--loading'] = loading, _a['is--active'] = isActivated, _a)]
|
|
1098
1100
|
}, [(0, _vue.h)('div', {
|
|
1099
1101
|
class: 'vxe-select-slots',
|
|
1100
1102
|
ref: 'hideOption'
|
|
@@ -1122,7 +1124,7 @@ var _default2 = (0, _vue.defineComponent)({
|
|
|
1122
1124
|
disabled: transfer ? !inited : true
|
|
1123
1125
|
}, [(0, _vue.h)('div', {
|
|
1124
1126
|
ref: refOptionPanel,
|
|
1125
|
-
class: ['vxe-table--ignore-clear vxe-select--panel', (_b = {}, _b["size--"
|
|
1127
|
+
class: ['vxe-table--ignore-clear vxe-select--panel', (_b = {}, _b["size--".concat(vSize)] = vSize, _b['is--transfer'] = transfer, _b['animat--leave'] = !loading && reactData.animatVisible, _b['animat--enter'] = !loading && visiblePanel, _b)],
|
|
1126
1128
|
placement: reactData.panelPlacement,
|
|
1127
1129
|
style: reactData.panelStyle
|
|
1128
1130
|
}, inited ? [filterable ? (0, _vue.h)('div', {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_size=require("../../hooks/size"),_dom=require("../../tools/dom"),_utils=require("../../tools/utils"),_event=require("../../tools/event"),_input=_interopRequireDefault(require("../../input/src/input"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function isOptionVisible(e){return!1!==e.visible}function getOptUniqueId(){return _xeUtils.default.uniqueId("opt_")}var _default2=(0,_vue.defineComponent)({name:"VxeSelect",props:{modelValue:null,clearable:Boolean,placeholder:String,loading:Boolean,disabled:Boolean,multiple:Boolean,multiCharOverflow:{type:[Number,String],default:function(){return _conf.default.select.multiCharOverflow}},prefixIcon:String,placement:String,options:Array,optionProps:Object,optionGroups:Array,optionGroupProps:Object,optionConfig:Object,className:[String,Function],size:{type:String,default:function(){return _conf.default.select.size||_conf.default.size}},filterable:Boolean,filterMethod:Function,remote:Boolean,remoteMethod:Function,emptyText:String,optionId:{type:String,default:function(){return _conf.default.select.optionId}},optionKey:Boolean,transfer:{type:Boolean,default:function(){return _conf.default.select.transfer}}},emits:["update:modelValue","change","clear"],setup:function(h,e){function m(e,t){return e&&(_xeUtils.default.isString(e)&&(e=L[e]||null),_xeUtils.default.isFunction(e))?e(t):[]}function v(t){var e=A.fullOptionList,n=A.fullGroupList,i=Y.value,o=$.value;if(i)for(var l=0;l<n.length;l++){var u=n[l];if(u.options)for(var r=0;r<u.options.length;r++){var a=u.options[r];if(t===a[o])return a}}return e.find(function(e){return t===e[o]})}function o(t){var e=A.remoteValueList,n=F.value,e=(e=e.find(function(e){return t===e.key}))?e.result:null;return _xeUtils.default.toValueString(e?e[n]:t)}function l(e){var t=F.value,n=v(e);return _xeUtils.default.toValueString(n?n[t]:e)}function u(){var e=h.filterable,t=h.filterMethod,n=A.fullOptionList,i=A.fullGroupList,o=A.searchValue,l=Y.value,u=B.value,r=F.value;return l?A.visibleGroupList=e&&t?i.filter(function(e){return isOptionVisible(e)&&t({group:e,option:null,searchValue:o})}):e?i.filter(function(e){return isOptionVisible(e)&&(!o||-1<(""+e[u]).indexOf(o))}):i.filter(isOptionVisible):A.visibleOptionList=e&&t?n.filter(function(e){return isOptionVisible(e)&&t({group:null,option:e,searchValue:o})}):e?n.filter(function(e){return isOptionVisible(e)&&(!o||-1<(""+e[r]).indexOf(o))}):n.filter(isOptionVisible),(0,_vue.nextTick)()}function n(){function t(e){X(e)||(e[o]=getOptUniqueId())}var e=A.fullOptionList,n=A.fullGroupList,i=z.value,o=Z();n.length?n.forEach(function(e){t(e),e[i]&&e[i].forEach(t)}):e.length&&e.forEach(t),u()}function x(e){var t=$.value;e&&(A.currentOption=e,A.currentValue=e[t])}function p(i,o){return(0,_vue.nextTick)().then(function(){var e,t,n;i&&(e=K.value,t=w.value.querySelector("[optid='"+X(i)+"']"),e&&t&&(n=e.offsetHeight,o?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)))})}function i(){return(0,_vue.nextTick)().then(function(){var e=h.transfer,t=h.placement,n=A.panelIndex,i=N.value,o=w.value;if(o&&i){var l=i.offsetHeight,u=i.offsetWidth,r=o.offsetHeight,a=o.offsetWidth,s={zIndex:n},f=(0,_dom.getAbsolutePos)(i),c=f.boundingTop,o=f.boundingLeft,n=f.visibleHeight,i=f.visibleWidth,f="bottom";return e?(e=c+l,"top"===t?(f="top",e=c-r):t||(n<e+r+5&&(f="top",e=c-r),e<5&&(f="bottom",e=c+l)),i<(o=o)+a+5&&(o-=o+a+5-i),o<5&&(o=5),Object.assign(s,{left:o+"px",top:e+"px",minWidth:u+"px"})):"top"===t?(f="top",s.bottom=l+"px"):t||n<c+l+r&&5<c-l-r&&(f="top",s.bottom=l+"px"),A.panelStyle=s,A.panelPlacement=f,(0,_vue.nextTick)()}})}function c(e,t){te(t,null),Q()}function g(e,t,n){var i=h.modelValue,o=h.multiple,l=A.remoteValueList;o?(o=void 0,o=i?-1===i.indexOf(t)?i.concat([t]):i.filter(function(e){return e!==t}):[t],(i=l.find(function(e){return e.key===t}))?i.result=n:l.push({key:t,result:n}),ee(e,o)):(A.remoteValueList=[{key:t,result:n}],ee(e,t),Q())}function t(e){var t=h.disabled,n=A.visiblePanel;t||n&&(n=w.value,((0,_dom.getEventTargetNode)(e,n).flag?i:Q)())}function r(e){var t,n=h.disabled,i=A.visiblePanel;n||(t=N.value,n=w.value,A.isActivated=(0,_dom.getEventTargetNode)(e,t).flag||(0,_dom.getEventTargetNode)(e,n).flag,i&&!A.isActivated&&Q())}function a(e){var t,n,i,o,l,u,r=h.clearable,a=h.disabled,s=A.visiblePanel,f=A.currentValue,c=A.currentOption;a||(u=(0,_event.hasEventKey)(e,_event.EVENT_KEYS.TAB),t=(0,_event.hasEventKey)(e,_event.EVENT_KEYS.ENTER),n=(0,_event.hasEventKey)(e,_event.EVENT_KEYS.ESCAPE),i=(0,_event.hasEventKey)(e,_event.EVENT_KEYS.ARROW_UP),o=(0,_event.hasEventKey)(e,_event.EVENT_KEYS.ARROW_DOWN),l=(0,_event.hasEventKey)(e,_event.EVENT_KEYS.DELETE),a=(0,_event.hasEventKey)(e,_event.EVENT_KEYS.SPACEBAR),u&&(A.isActivated=!1),s?n||u?Q():t?(e.preventDefault(),e.stopPropagation(),g(e,f,c)):i||o?(e.preventDefault(),c=(u=function(e,t){var n,i,o,l,u=A.visibleOptionList,r=A.visibleGroupList,a=Y.value,s=$.value,f=z.value;if(a)for(var c=0;c<r.length;c++){var v=r[c],p=v[f],d=v.disabled;if(p)for(var _=0;_<p.length;_++){var b=isOptionVisible(m=p[_]),h=d||m.disabled;if(n||h||(n=m),l&&b&&!h&&(o=m,!t))return{offsetOption:o};if(e===m[s]){if(l=m,t)return{offsetOption:i}}else b&&!h&&(i=m)}}else for(_=0;_<u.length;_++){var m,h=(m=u[_]).disabled;if(n||h||(n=m),l&&!h&&(o=m,!t))return{offsetOption:o};if(e===m[s]){if(l=m,t)return{offsetOption:i}}else h||(i=m)}return{firstOption:n}}(f,i)).firstOption,(u=u.offsetOption)||v(f)||(u=c),x(u),p(u,o)):a&&e.preventDefault():(i||o||t||a)&&A.isActivated&&(e.preventDefault(),J()),A.isActivated&&l&&r&&te(e,null))}function s(){Q()}function f(){h.filterable&&(0,_vue.nextTick)(function(){var e=C.value;e&&e.focus()})}function d(){h.disabled||(A.isActivated=!0)}function _(){A.isActivated=!1}function b(e){A.searchValue=e}function E(){A.isActivated=!0}function O(e){e=e.$event,(0,_event.hasEventKey)(e,_event.EVENT_KEYS.ENTER)&&(e.preventDefault(),e.stopPropagation())}function V(e){e.$event.preventDefault(),(A.visiblePanel?Q:J)()}var T,L=e.slots,y=e.emit,P=(0,_vue.inject)("$xeform",null),S=(0,_vue.inject)("$xeformiteminfo",null),G=_xeUtils.default.uniqueId(),k=(0,_size.useSize)(h),A=(0,_vue.reactive)({inited:!1,staticOptions:[],fullGroupList:[],fullOptionList:[],visibleGroupList:[],visibleOptionList:[],remoteValueList:[],panelIndex:0,panelStyle:{},panelPlacement:null,currentOption:null,currentValue:null,visiblePanel:!1,animatVisible:!1,isActivated:!1,searchValue:"",searchLoading:!1}),N=(0,_vue.ref)(),I=(0,_vue.ref)(),C=(0,_vue.ref)(),K=(0,_vue.ref)(),w=(0,_vue.ref)(),U={refElem:N},D={xID:G,props:h,context:e,reactData:A,getRefMaps:function(){return U}},q={},R=(0,_vue.computed)(function(){return h.optionProps||{}}),j=(0,_vue.computed)(function(){return h.optionGroupProps||{}}),F=(0,_vue.computed)(function(){return R.value.label||"label"}),$=(0,_vue.computed)(function(){return R.value.value||"value"}),B=(0,_vue.computed)(function(){return j.value.label||"label"}),z=(0,_vue.computed)(function(){return j.value.options||"options"}),M=(0,_vue.computed)(function(){return Object.assign({},_conf.default.select.optionConfig,h.optionConfig)}),Y=(0,_vue.computed)(function(){return A.fullGroupList.some(function(e){return e.options&&e.options.length})}),H=(0,_vue.computed)(function(){return _xeUtils.default.toNumber(h.multiCharOverflow)}),W=(0,_vue.computed)(function(){var e=h.modelValue,t=h.multiple,n=h.remote,i=H.value;if(e&&t){t=_xeUtils.default.isArray(e)?e:[e];return n?t.map(o).join(", "):t.map(function(e){e=l(e);return 0<i&&e.length>i?e.substring(0,i)+"...":e}).join(", ")}return(n?o:l)(e)}),Z=function(){return M.value.keyField||h.optionId||"_X_OPTION_KEY"},X=function(e){e=e[Z()];return e?encodeURIComponent(e):""},J=function(){var e=h.loading,t=h.disabled,n=h.filterable;e||t||(clearTimeout(T),A.inited||(A.inited=!0),A.isActivated=!0,A.animatVisible=!0,n&&u(),setTimeout(function(){var e=h.modelValue,t=h.multiple,e=v(t&&e?e[0]:e);A.visiblePanel=!0,e&&(x(e),p(e)),f()},10),A.panelIndex<(0,_utils.getLastZIndex)()&&(A.panelIndex=(0,_utils.nextZIndex)()),i())},Q=function(){A.searchValue="",A.searchLoading=!1,A.visiblePanel=!1,T=window.setTimeout(function(){A.animatVisible=!1},350)},ee=function(e,t){t!==h.modelValue&&(y("update:modelValue",t),q.dispatchEvent("change",{value:t},e),P&&S&&P.triggerItemEvent(e,S.itemConfig.field,t))},te=function(e,t){A.remoteValueList=[],ee(e,t),q.dispatchEvent("clear",{value:t},e)},ne=_xeUtils.default.debounce(function(){var e=h.remote,t=h.remoteMethod,n=A.searchValue;e&&t?(A.searchLoading=!0,Promise.resolve(t({searchValue:n})).then(function(){return(0,_vue.nextTick)()}).catch(function(){return(0,_vue.nextTick)()}).finally(function(){A.searchLoading=!1,u()})):u()},350,{trailing:!0}),ie=function(e,a){var s=h.optionKey,f=h.modelValue,c=h.multiple,v=A.currentValue,t=M.value,p=F.value,d=$.value,_=Y.value,b=t.useKey;return e.map(function(t,e){var n=t.slots,i=t.className,o=!_||isOptionVisible(t),l=a&&a.disabled||t.disabled,u=t[d],r=X(t),n=n?n.default:null;return o?(0,_vue.h)("div",{key:b||s?r:e,class:["vxe-select-option",i?_xeUtils.default.isFunction(i)?i({option:t,$select:D}):i:"",{"is--disabled":l,"is--selected":c?f&&-1<f.indexOf(u):f===u,"is--hover":v===u}],optid:r,onMousedown:function(e){0===e.button&&e.stopPropagation()},onClick:function(e){l||g(e,u,t)},onMouseenter:function(){l||x(t)}},n?m(n,{option:t,$select:D}):(0,_utils.formatText)((0,_utils.getFuncText)(t[p]))):null})},oe=function(){var u=h.optionKey,e=A.visibleGroupList,t=M.value,r=B.value,a=z.value,s=t.useKey;return e.map(function(e,t){var n=e.slots,i=e.className,o=X(e),l=e.disabled,n=n?n.default:null;return(0,_vue.h)("div",{key:s||u?o:t,class:["vxe-optgroup",i?_xeUtils.default.isFunction(i)?i({option:e,$select:D}):i:"",{"is--disabled":l}],optid:o},[(0,_vue.h)("div",{class:"vxe-optgroup--title"},n?m(n,{option:e,$select:D}):(0,_utils.getFuncText)(e[r])),(0,_vue.h)("div",{class:"vxe-optgroup--wrapper"},ie(e[a]||[],e))])})},q={dispatchEvent:function(e,t,n){y(e,Object.assign({$select:D,$event:n},t))},isPanelVisible:function(){return A.visiblePanel},togglePanel:function(){return(A.visiblePanel?Q:J)(),(0,_vue.nextTick)()},hidePanel:function(){return A.visiblePanel&&Q(),(0,_vue.nextTick)()},showPanel:function(){return A.visiblePanel||J(),(0,_vue.nextTick)()},refreshOption:u,focus:function(){var e=I.value;return A.isActivated=!0,e.blur(),(0,_vue.nextTick)()},blur:function(){return I.value.blur(),(A.isActivated=!1,_vue.nextTick)()}};Object.assign(D,q),(0,_vue.watch)(function(){return A.staticOptions},function(e){e.some(function(e){return e.options&&e.options.length})?(A.fullOptionList=[],A.fullGroupList=e):(A.fullGroupList=[],A.fullOptionList=e||[]),n()}),(0,_vue.watch)(function(){return h.options},function(e){A.fullGroupList=[],A.fullOptionList=e||[],n()}),(0,_vue.watch)(function(){return h.optionGroups},function(e){A.fullOptionList=[],A.fullGroupList=e||[],n()}),(0,_vue.onMounted)(function(){(0,_vue.nextTick)(function(){var e=h.options,t=h.optionGroups;t?A.fullGroupList=t:e&&(A.fullOptionList=e),n()}),_event.GlobalEvent.on(D,"mousewheel",t),_event.GlobalEvent.on(D,"mousedown",r),_event.GlobalEvent.on(D,"keydown",a),_event.GlobalEvent.on(D,"blur",s)}),(0,_vue.onUnmounted)(function(){_event.GlobalEvent.off(D,"mousewheel"),_event.GlobalEvent.off(D,"mousedown"),_event.GlobalEvent.off(D,"keydown"),_event.GlobalEvent.off(D,"blur")});return D.renderVN=function(){var e=h.className,t=h.transfer,n=h.disabled,i=h.loading,o=h.filterable,l=A.inited,u=A.isActivated,r=A.visiblePanel,a=k.value,s=W.value,f=L.prefix;return(0,_vue.h)("div",{ref:N,class:["vxe-select",e?_xeUtils.default.isFunction(e)?e({$select:D}):e:"",((e={})["size--"+a]=a,e["is--visivle"]=r,e["is--disabled"]=n,e["is--filter"]=o,e["is--loading"]=i,e["is--active"]=u,e)]},[(0,_vue.h)("div",{class:"vxe-select-slots",ref:"hideOption"},L.default?L.default({}):[]),(0,_vue.h)(_input.default,{ref:I,clearable:h.clearable,placeholder:h.placeholder,readonly:!0,disabled:n,type:"text",prefixIcon:h.prefixIcon,suffixIcon:i?_conf.default.icon.SELECT_LOADED:r?_conf.default.icon.SELECT_OPEN:_conf.default.icon.SELECT_CLOSE,modelValue:s,onClear:c,onClick:V,onFocus:d,onBlur:_,onSuffixClick:V},f?{prefix:function(){return f({})}}:{}),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!t||!l},[(0,_vue.h)("div",{ref:w,class:["vxe-table--ignore-clear vxe-select--panel",((s={})["size--"+a]=a,s["is--transfer"]=t,s["animat--leave"]=!i&&A.animatVisible,s["animat--enter"]=!i&&r,s)],placement:A.panelPlacement,style:A.panelStyle},l?[o?(0,_vue.h)("div",{class:"vxe-select-filter--wrapper"},[(0,_vue.h)(_input.default,{ref:C,class:"vxe-select-filter--input",modelValue:A.searchValue,clearable:!0,placeholder:_conf.default.i18n("vxe.select.search"),prefixIcon:_conf.default.icon.INPUT_SEARCH,"onUpdate:modelValue":b,onFocus:E,onKeydown:O,onChange:ne,onSearch:ne})]):(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{ref:K,class:"vxe-select-option--wrapper"},function(){var e=A.visibleGroupList,t=A.visibleOptionList,n=A.searchLoading,i=Y.value;if(n)return[(0,_vue.h)("div",{class:"vxe-select--search-loading"},[(0,_vue.h)("i",{class:["vxe-select--search-icon",_conf.default.icon.SELECT_LOADED]}),(0,_vue.h)("span",{class:"vxe-select--search-text"},_conf.default.i18n("vxe.select.loadingText"))])];if(i){if(e.length)return oe()}else if(t.length)return ie(t);return[(0,_vue.h)("div",{class:"vxe-select--empty-placeholder"},h.emptyText||_conf.default.i18n("vxe.select.emptyText"))]}())]:[])])])},(0,_vue.provide)("$xeselect",D),D},render:function(){return this.renderVN()}});exports.default=_default2;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_conf=_interopRequireDefault(require("../../v-x-e-table/src/conf")),_size=require("../../hooks/size"),_dom=require("../../tools/dom"),_utils=require("../../tools/utils"),_event=require("../../tools/event"),_input=_interopRequireDefault(require("../../input/src/input")),_vn=require("../../tools/vn");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function isOptionVisible(e){return!1!==e.visible}function getOptUniqueId(){return _xeUtils.default.uniqueId("opt_")}var _default2=(0,_vue.defineComponent)({name:"VxeSelect",props:{modelValue:null,clearable:Boolean,placeholder:String,loading:Boolean,disabled:Boolean,multiple:Boolean,multiCharOverflow:{type:[Number,String],default:function(){return _conf.default.select.multiCharOverflow}},prefixIcon:String,placement:String,options:Array,optionProps:Object,optionGroups:Array,optionGroupProps:Object,optionConfig:Object,className:[String,Function],size:{type:String,default:function(){return _conf.default.select.size||_conf.default.size}},filterable:Boolean,filterMethod:Function,remote:Boolean,remoteMethod:Function,emptyText:String,optionId:{type:String,default:function(){return _conf.default.select.optionId}},optionKey:Boolean,transfer:{type:Boolean,default:function(){return _conf.default.select.transfer}}},emits:["update:modelValue","change","clear"],setup:function(h,e){function m(e,t){return e&&(_xeUtils.default.isString(e)&&(e=L[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[]}function v(t){var e=k.fullOptionList,n=k.fullGroupList,i=Y.value,o=$.value;if(i)for(var l=0;l<n.length;l++){var u=n[l];if(u.options)for(var r=0;r<u.options.length;r++){var a=u.options[r];if(t===a[o])return a}}return e.find(function(e){return t===e[o]})}function o(t){var e=k.remoteValueList,n=F.value,e=(e=e.find(function(e){return t===e.key}))?e.result:null;return _xeUtils.default.toValueString(e?e[n]:t)}function l(e){var t=F.value,n=v(e);return _xeUtils.default.toValueString(n?n[t]:e)}function u(){var e=h.filterable,t=h.filterMethod,n=k.fullOptionList,i=k.fullGroupList,o=k.searchValue,l=Y.value,u=B.value,r=F.value;return l?k.visibleGroupList=e&&t?i.filter(function(e){return isOptionVisible(e)&&t({group:e,option:null,searchValue:o})}):e?i.filter(function(e){return isOptionVisible(e)&&(!o||-1<"".concat(e[u]).indexOf(o))}):i.filter(isOptionVisible):k.visibleOptionList=e&&t?n.filter(function(e){return isOptionVisible(e)&&t({group:null,option:e,searchValue:o})}):e?n.filter(function(e){return isOptionVisible(e)&&(!o||-1<"".concat(e[r]).indexOf(o))}):n.filter(isOptionVisible),(0,_vue.nextTick)()}function n(){function t(e){X(e)||(e[o]=getOptUniqueId())}var e=k.fullOptionList,n=k.fullGroupList,i=z.value,o=Z();n.length?n.forEach(function(e){t(e),e[i]&&e[i].forEach(t)}):e.length&&e.forEach(t),u()}function x(e){var t=$.value;e&&(k.currentOption=e,k.currentValue=e[t])}function p(i,o){return(0,_vue.nextTick)().then(function(){var e,t,n;i&&(e=K.value,t=w.value.querySelector("[optid='".concat(X(i),"']")),e&&t&&(n=e.offsetHeight,o?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)))})}function i(){return(0,_vue.nextTick)().then(function(){var e=h.transfer,t=h.placement,n=k.panelIndex,i=A.value,o=w.value;if(o&&i){var l=i.offsetHeight,u=i.offsetWidth,r=o.offsetHeight,a=o.offsetWidth,s={zIndex:n},c=(0,_dom.getAbsolutePos)(i),f=c.boundingTop,o=c.boundingLeft,n=c.visibleHeight,i=c.visibleWidth,c="bottom";return e?(e=f+l,"top"===t?(c="top",e=f-r):t||(n<e+r+5&&(c="top",e=f-r),e<5&&(c="bottom",e=f+l)),i<(o=o)+a+5&&(o-=o+a+5-i),o<5&&(o=5),Object.assign(s,{left:"".concat(o,"px"),top:"".concat(e,"px"),minWidth:"".concat(u,"px")})):"top"===t?(c="top",s.bottom="".concat(l,"px")):t||n<f+l+r&&5<f-l-r&&(c="top",s.bottom="".concat(l,"px")),k.panelStyle=s,k.panelPlacement=c,(0,_vue.nextTick)()}})}function f(e,t){te(t,null),Q()}function g(e,t,n){var i=h.modelValue,o=h.multiple,l=k.remoteValueList;o?(o=void 0,o=i?-1===i.indexOf(t)?i.concat([t]):i.filter(function(e){return e!==t}):[t],(i=l.find(function(e){return e.key===t}))?i.result=n:l.push({key:t,result:n}),ee(e,o)):(k.remoteValueList=[{key:t,result:n}],ee(e,t),Q())}function t(e){var t=h.disabled,n=k.visiblePanel;t||n&&(n=w.value,((0,_dom.getEventTargetNode)(e,n).flag?i:Q)())}function r(e){var t,n=h.disabled,i=k.visiblePanel;n||(t=A.value,n=w.value,k.isActivated=(0,_dom.getEventTargetNode)(e,t).flag||(0,_dom.getEventTargetNode)(e,n).flag,i&&!k.isActivated&&Q())}function a(e){var t,n,i,o,l,u,r=h.clearable,a=h.disabled,s=k.visiblePanel,c=k.currentValue,f=k.currentOption;a||(u=(0,_event.hasEventKey)(e,_event.EVENT_KEYS.TAB),t=(0,_event.hasEventKey)(e,_event.EVENT_KEYS.ENTER),n=(0,_event.hasEventKey)(e,_event.EVENT_KEYS.ESCAPE),i=(0,_event.hasEventKey)(e,_event.EVENT_KEYS.ARROW_UP),o=(0,_event.hasEventKey)(e,_event.EVENT_KEYS.ARROW_DOWN),l=(0,_event.hasEventKey)(e,_event.EVENT_KEYS.DELETE),a=(0,_event.hasEventKey)(e,_event.EVENT_KEYS.SPACEBAR),u&&(k.isActivated=!1),s?n||u?Q():t?(e.preventDefault(),e.stopPropagation(),g(e,c,f)):i||o?(e.preventDefault(),f=(u=function(e,t){var n,i,o,l,u=k.visibleOptionList,r=k.visibleGroupList,a=Y.value,s=$.value,c=z.value;if(a)for(var f=0;f<r.length;f++){var v=r[f],p=v[c],d=v.disabled;if(p)for(var _=0;_<p.length;_++){var b=isOptionVisible(m=p[_]),h=d||m.disabled;if(n||h||(n=m),l&&b&&!h&&(o=m,!t))return{offsetOption:o};if(e===m[s]){if(l=m,t)return{offsetOption:i}}else b&&!h&&(i=m)}}else for(_=0;_<u.length;_++){var m,h=(m=u[_]).disabled;if(n||h||(n=m),l&&!h&&(o=m,!t))return{offsetOption:o};if(e===m[s]){if(l=m,t)return{offsetOption:i}}else h||(i=m)}return{firstOption:n}}(c,i)).firstOption,(u=u.offsetOption)||v(c)||(u=f),x(u),p(u,o)):a&&e.preventDefault():(i||o||t||a)&&k.isActivated&&(e.preventDefault(),J()),k.isActivated&&l&&r&&te(e,null))}function s(){Q()}function c(){h.filterable&&(0,_vue.nextTick)(function(){var e=C.value;e&&e.focus()})}function d(){h.disabled||(k.isActivated=!0)}function _(){k.isActivated=!1}function b(e){k.searchValue=e}function E(){k.isActivated=!0}function O(e){e=e.$event,(0,_event.hasEventKey)(e,_event.EVENT_KEYS.ENTER)&&(e.preventDefault(),e.stopPropagation())}function V(e){e.$event.preventDefault(),(k.visiblePanel?Q:J)()}var T,L=e.slots,y=e.emit,S=(0,_vue.inject)("$xeform",null),P=(0,_vue.inject)("$xeformiteminfo",null),G=_xeUtils.default.uniqueId(),N=(0,_size.useSize)(h),k=(0,_vue.reactive)({inited:!1,staticOptions:[],fullGroupList:[],fullOptionList:[],visibleGroupList:[],visibleOptionList:[],remoteValueList:[],panelIndex:0,panelStyle:{},panelPlacement:null,currentOption:null,currentValue:null,visiblePanel:!1,animatVisible:!1,isActivated:!1,searchValue:"",searchLoading:!1}),A=(0,_vue.ref)(),I=(0,_vue.ref)(),C=(0,_vue.ref)(),K=(0,_vue.ref)(),w=(0,_vue.ref)(),U={refElem:A},q={xID:G,props:h,context:e,reactData:k,getRefMaps:function(){return U}},D={},R=(0,_vue.computed)(function(){return h.optionProps||{}}),j=(0,_vue.computed)(function(){return h.optionGroupProps||{}}),F=(0,_vue.computed)(function(){return R.value.label||"label"}),$=(0,_vue.computed)(function(){return R.value.value||"value"}),B=(0,_vue.computed)(function(){return j.value.label||"label"}),z=(0,_vue.computed)(function(){return j.value.options||"options"}),M=(0,_vue.computed)(function(){return Object.assign({},_conf.default.select.optionConfig,h.optionConfig)}),Y=(0,_vue.computed)(function(){return k.fullGroupList.some(function(e){return e.options&&e.options.length})}),H=(0,_vue.computed)(function(){return _xeUtils.default.toNumber(h.multiCharOverflow)}),W=(0,_vue.computed)(function(){var e=h.modelValue,t=h.multiple,n=h.remote,i=H.value;if(e&&t){t=_xeUtils.default.isArray(e)?e:[e];return n?t.map(o).join(", "):t.map(function(e){e=l(e);return 0<i&&e.length>i?"".concat(e.substring(0,i),"..."):e}).join(", ")}return(n?o:l)(e)}),Z=function(){return M.value.keyField||h.optionId||"_X_OPTION_KEY"},X=function(e){e=e[Z()];return e?encodeURIComponent(e):""},J=function(){var e=h.loading,t=h.disabled,n=h.filterable;e||t||(clearTimeout(T),k.inited||(k.inited=!0),k.isActivated=!0,k.animatVisible=!0,n&&u(),setTimeout(function(){var e=h.modelValue,t=h.multiple,e=v(t&&e?e[0]:e);k.visiblePanel=!0,e&&(x(e),p(e)),c()},10),k.panelIndex<(0,_utils.getLastZIndex)()&&(k.panelIndex=(0,_utils.nextZIndex)()),i())},Q=function(){k.searchValue="",k.searchLoading=!1,k.visiblePanel=!1,T=window.setTimeout(function(){k.animatVisible=!1},350)},ee=function(e,t){t!==h.modelValue&&(y("update:modelValue",t),D.dispatchEvent("change",{value:t},e),S&&P&&S.triggerItemEvent(e,P.itemConfig.field,t))},te=function(e,t){k.remoteValueList=[],ee(e,t),D.dispatchEvent("clear",{value:t},e)},ne=_xeUtils.default.debounce(function(){var e=h.remote,t=h.remoteMethod,n=k.searchValue;e&&t?(k.searchLoading=!0,Promise.resolve(t({searchValue:n})).then(function(){return(0,_vue.nextTick)()}).catch(function(){return(0,_vue.nextTick)()}).finally(function(){k.searchLoading=!1,u()})):u()},350,{trailing:!0}),ie=function(e,a){var s=h.optionKey,c=h.modelValue,f=h.multiple,v=k.currentValue,t=M.value,p=F.value,d=$.value,_=Y.value,b=t.useKey;return e.map(function(t,e){var n=t.slots,i=t.className,o=!_||isOptionVisible(t),l=a&&a.disabled||t.disabled,u=t[d],r=X(t),n=n?n.default:null;return o?(0,_vue.h)("div",{key:b||s?r:e,class:["vxe-select-option",i?_xeUtils.default.isFunction(i)?i({option:t,$select:q}):i:"",{"is--disabled":l,"is--selected":f?c&&-1<c.indexOf(u):c===u,"is--hover":v===u}],optid:r,onMousedown:function(e){0===e.button&&e.stopPropagation()},onClick:function(e){l||g(e,u,t)},onMouseenter:function(){l||x(t)}},n?m(n,{option:t,$select:q}):(0,_utils.formatText)((0,_utils.getFuncText)(t[p]))):null})},oe=function(){var u=h.optionKey,e=k.visibleGroupList,t=M.value,r=B.value,a=z.value,s=t.useKey;return e.map(function(e,t){var n=e.slots,i=e.className,o=X(e),l=e.disabled,n=n?n.default:null;return(0,_vue.h)("div",{key:s||u?o:t,class:["vxe-optgroup",i?_xeUtils.default.isFunction(i)?i({option:e,$select:q}):i:"",{"is--disabled":l}],optid:o},[(0,_vue.h)("div",{class:"vxe-optgroup--title"},n?m(n,{option:e,$select:q}):(0,_utils.getFuncText)(e[r])),(0,_vue.h)("div",{class:"vxe-optgroup--wrapper"},ie(e[a]||[],e))])})},D={dispatchEvent:function(e,t,n){y(e,Object.assign({$select:q,$event:n},t))},isPanelVisible:function(){return k.visiblePanel},togglePanel:function(){return(k.visiblePanel?Q:J)(),(0,_vue.nextTick)()},hidePanel:function(){return k.visiblePanel&&Q(),(0,_vue.nextTick)()},showPanel:function(){return k.visiblePanel||J(),(0,_vue.nextTick)()},refreshOption:u,focus:function(){var e=I.value;return k.isActivated=!0,e.blur(),(0,_vue.nextTick)()},blur:function(){return I.value.blur(),(k.isActivated=!1,_vue.nextTick)()}};Object.assign(q,D),(0,_vue.watch)(function(){return k.staticOptions},function(e){e.some(function(e){return e.options&&e.options.length})?(k.fullOptionList=[],k.fullGroupList=e):(k.fullGroupList=[],k.fullOptionList=e||[]),n()}),(0,_vue.watch)(function(){return h.options},function(e){k.fullGroupList=[],k.fullOptionList=e||[],n()}),(0,_vue.watch)(function(){return h.optionGroups},function(e){k.fullOptionList=[],k.fullGroupList=e||[],n()}),(0,_vue.onMounted)(function(){(0,_vue.nextTick)(function(){var e=h.options,t=h.optionGroups;t?k.fullGroupList=t:e&&(k.fullOptionList=e),n()}),_event.GlobalEvent.on(q,"mousewheel",t),_event.GlobalEvent.on(q,"mousedown",r),_event.GlobalEvent.on(q,"keydown",a),_event.GlobalEvent.on(q,"blur",s)}),(0,_vue.onUnmounted)(function(){_event.GlobalEvent.off(q,"mousewheel"),_event.GlobalEvent.off(q,"mousedown"),_event.GlobalEvent.off(q,"keydown"),_event.GlobalEvent.off(q,"blur")});return q.renderVN=function(){var e=h.className,t=h.transfer,n=h.disabled,i=h.loading,o=h.filterable,l=k.inited,u=k.isActivated,r=k.visiblePanel,a=N.value,s=W.value,c=L.prefix;return(0,_vue.h)("div",{ref:A,class:["vxe-select",e?_xeUtils.default.isFunction(e)?e({$select:q}):e:"",((e={})["size--".concat(a)]=a,e["is--visivle"]=r,e["is--disabled"]=n,e["is--filter"]=o,e["is--loading"]=i,e["is--active"]=u,e)]},[(0,_vue.h)("div",{class:"vxe-select-slots",ref:"hideOption"},L.default?L.default({}):[]),(0,_vue.h)(_input.default,{ref:I,clearable:h.clearable,placeholder:h.placeholder,readonly:!0,disabled:n,type:"text",prefixIcon:h.prefixIcon,suffixIcon:i?_conf.default.icon.SELECT_LOADED:r?_conf.default.icon.SELECT_OPEN:_conf.default.icon.SELECT_CLOSE,modelValue:s,onClear:f,onClick:V,onFocus:d,onBlur:_,onSuffixClick:V},c?{prefix:function(){return c({})}}:{}),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!t||!l},[(0,_vue.h)("div",{ref:w,class:["vxe-table--ignore-clear vxe-select--panel",((s={})["size--".concat(a)]=a,s["is--transfer"]=t,s["animat--leave"]=!i&&k.animatVisible,s["animat--enter"]=!i&&r,s)],placement:k.panelPlacement,style:k.panelStyle},l?[o?(0,_vue.h)("div",{class:"vxe-select-filter--wrapper"},[(0,_vue.h)(_input.default,{ref:C,class:"vxe-select-filter--input",modelValue:k.searchValue,clearable:!0,placeholder:_conf.default.i18n("vxe.select.search"),prefixIcon:_conf.default.icon.INPUT_SEARCH,"onUpdate:modelValue":b,onFocus:E,onKeydown:O,onChange:ne,onSearch:ne})]):(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{ref:K,class:"vxe-select-option--wrapper"},function(){var e=k.visibleGroupList,t=k.visibleOptionList,n=k.searchLoading,i=Y.value;if(n)return[(0,_vue.h)("div",{class:"vxe-select--search-loading"},[(0,_vue.h)("i",{class:["vxe-select--search-icon",_conf.default.icon.SELECT_LOADED]}),(0,_vue.h)("span",{class:"vxe-select--search-text"},_conf.default.i18n("vxe.select.loadingText"))])];if(i){if(e.length)return oe()}else if(t.length)return ie(t);return[(0,_vue.h)("div",{class:"vxe-select--empty-placeholder"},h.emptyText||_conf.default.i18n("vxe.select.emptyText"))]}())]:[])])])},(0,_vue.provide)("$xeselect",q),q},render:function(){return this.renderVN()}});exports.default=_default2;
|
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
.vxe-select > .vxe-input {
|
|
39
39
|
width: 100%; }
|
|
40
40
|
.vxe-select > .vxe-input .vxe-input--suffix-icon {
|
|
41
|
+
display: inline-block;
|
|
41
42
|
transition: transform 0.2s ease-in-out; }
|
|
42
43
|
.vxe-select.is--active:not(.is--filter) > .vxe-input .vxe-input--inner {
|
|
43
44
|
border: 1px solid #409eff; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.vxe-select{position:relative;display:inline-block;width:180px;color:#606266;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{transition:transform .2s ease-in-out}.vxe-select.is--active:not(.is--filter)>.vxe-input .vxe-input--inner{border:1px solid #409eff}.vxe-select-slots{display:none}.vxe-select--panel{display:none;position:absolute;left:0;padding:4px 0;color:#606266;text-align:left}.vxe-select--panel:not(.is--transfer){min-width:100%}.vxe-select--panel.is--transfer{position:fixed}.vxe-select--panel.animat--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;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-style:preserve-3d}.vxe-select--panel.animat--leave[placement=top]{transform-origin:center bottom}.vxe-select--panel.animat--enter{opacity:1;transform:scaleY(1)}.vxe-select-filter--wrapper{display:block}.vxe-select-filter--wrapper .vxe-select-filter--input{width:100%}.vxe-select-option--wrapper{position:relative;overflow-x:hidden;overflow-y:auto;padding:4px 0;max-height:200px;border-radius:4px;border:1px solid #dadce0;box-shadow:0 0 6px 2px rgba(0,0,0,.1);background-color:#fff}.vxe-optgroup .vxe-optgroup--title{padding:0 6px;color:#909399;font-size:12px}.vxe-optgroup--wrapper .vxe-select-option{padding:0 20px}.vxe-select-option{padding:0 .6em;max-width:600px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vxe-select-option.is--selected{font-weight:700;color:#409eff}.vxe-select-option:not(.is--disabled){cursor:pointer}.vxe-select-option:not(.is--disabled).is--hover{background-color:#f5f7fa}.vxe-select-option.is--disabled{color:#bfbfbf;cursor:no-drop}.vxe-select--search-icon{margin-right:.5em}.vxe-select--empty-placeholder,.vxe-select--search-loading{padding:0 .6em;text-align:center;color:#c0c4cc}.vxe-select,.vxe-select--panel{font-size:14px}.vxe-select--panel.size--medium,.vxe-select.size--medium{font-size:14px}.vxe-select--panel.size--small,.vxe-select.size--small{font-size:13px}.vxe-select--panel.size--mini,.vxe-select.size--mini{font-size:12px}.vxe-select--panel .vxe-optgroup--title,.vxe-select--panel .vxe-select-option{height:30px}.vxe-select--panel .vxe-optgroup--title,.vxe-select--panel .vxe-select--empty-placeholder,.vxe-select--panel .vxe-select--search-loading,.vxe-select--panel .vxe-select-option{line-height:30px}.vxe-select--panel.size--medium .vxe-optgroup--title,.vxe-select--panel.size--medium .vxe-select-option{height:28px}.vxe-select--panel.size--medium .vxe-optgroup--title,.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:28px}.vxe-select--panel.size--small .vxe-optgroup--title,.vxe-select--panel.size--small .vxe-select-option{height:26px}.vxe-select--panel.size--small .vxe-optgroup--title,.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:26px}.vxe-select--panel.size--mini .vxe-optgroup--title,.vxe-select--panel.size--mini .vxe-select-option{height:24px}.vxe-select--panel.size--mini .vxe-optgroup--title,.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:24px}
|
|
1
|
+
.vxe-select{position:relative;display:inline-block;width:180px;color:#606266;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{display:inline-block;transition:transform .2s ease-in-out}.vxe-select.is--active:not(.is--filter)>.vxe-input .vxe-input--inner{border:1px solid #409eff}.vxe-select-slots{display:none}.vxe-select--panel{display:none;position:absolute;left:0;padding:4px 0;color:#606266;text-align:left}.vxe-select--panel:not(.is--transfer){min-width:100%}.vxe-select--panel.is--transfer{position:fixed}.vxe-select--panel.animat--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;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-style:preserve-3d}.vxe-select--panel.animat--leave[placement=top]{transform-origin:center bottom}.vxe-select--panel.animat--enter{opacity:1;transform:scaleY(1)}.vxe-select-filter--wrapper{display:block}.vxe-select-filter--wrapper .vxe-select-filter--input{width:100%}.vxe-select-option--wrapper{position:relative;overflow-x:hidden;overflow-y:auto;padding:4px 0;max-height:200px;border-radius:4px;border:1px solid #dadce0;box-shadow:0 0 6px 2px rgba(0,0,0,.1);background-color:#fff}.vxe-optgroup .vxe-optgroup--title{padding:0 6px;color:#909399;font-size:12px}.vxe-optgroup--wrapper .vxe-select-option{padding:0 20px}.vxe-select-option{padding:0 .6em;max-width:600px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vxe-select-option.is--selected{font-weight:700;color:#409eff}.vxe-select-option:not(.is--disabled){cursor:pointer}.vxe-select-option:not(.is--disabled).is--hover{background-color:#f5f7fa}.vxe-select-option.is--disabled{color:#bfbfbf;cursor:no-drop}.vxe-select--search-icon{margin-right:.5em}.vxe-select--empty-placeholder,.vxe-select--search-loading{padding:0 .6em;text-align:center;color:#c0c4cc}.vxe-select,.vxe-select--panel{font-size:14px}.vxe-select--panel.size--medium,.vxe-select.size--medium{font-size:14px}.vxe-select--panel.size--small,.vxe-select.size--small{font-size:13px}.vxe-select--panel.size--mini,.vxe-select.size--mini{font-size:12px}.vxe-select--panel .vxe-optgroup--title,.vxe-select--panel .vxe-select-option{height:30px}.vxe-select--panel .vxe-optgroup--title,.vxe-select--panel .vxe-select--empty-placeholder,.vxe-select--panel .vxe-select--search-loading,.vxe-select--panel .vxe-select-option{line-height:30px}.vxe-select--panel.size--medium .vxe-optgroup--title,.vxe-select--panel.size--medium .vxe-select-option{height:28px}.vxe-select--panel.size--medium .vxe-optgroup--title,.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:28px}.vxe-select--panel.size--small .vxe-optgroup--title,.vxe-select--panel.size--small .vxe-select-option{height:26px}.vxe-select--panel.size--small .vxe-optgroup--title,.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:26px}.vxe-select--panel.size--mini .vxe-optgroup--title,.vxe-select--panel.size--mini .vxe-select-option{height:24px}.vxe-select--panel.size--mini .vxe-optgroup--title,.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:24px}
|