vxe-pc-ui 4.11.43 → 4.11.45
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/button/src/button.js +18 -6
- package/es/date-picker/src/date-picker.js +17 -5
- package/es/date-range-picker/src/date-range-picker.js +17 -5
- package/es/icon/style.css +1 -1
- package/es/icon-picker/src/icon-picker.js +36 -74
- package/es/pulldown/src/pulldown.js +26 -6
- package/es/select/src/select.js +55 -16
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table-select/src/table-select.js +17 -7
- package/es/tree-select/src/tree-select.js +21 -7
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/button/src/button.js +18 -9
- package/lib/button/src/button.min.js +1 -1
- package/lib/date-picker/src/date-picker.js +19 -7
- package/lib/date-picker/src/date-picker.min.js +1 -1
- package/lib/date-range-picker/src/date-range-picker.js +19 -7
- package/lib/date-range-picker/src/date-range-picker.min.js +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/icon-picker/src/icon-picker.js +39 -80
- package/lib/icon-picker/src/icon-picker.min.js +1 -1
- package/lib/index.umd.js +220 -157
- package/lib/index.umd.min.js +1 -1
- package/lib/pulldown/src/pulldown.js +26 -9
- package/lib/pulldown/src/pulldown.min.js +1 -1
- package/lib/select/src/select.js +57 -21
- package/lib/select/src/select.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table-select/src/table-select.js +18 -12
- package/lib/table-select/src/table-select.min.js +1 -1
- package/lib/tree-select/src/tree-select.js +22 -10
- package/lib/tree-select/src/tree-select.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +1 -1
- package/packages/button/src/button.ts +19 -6
- package/packages/date-picker/src/date-picker.ts +18 -5
- package/packages/date-range-picker/src/date-range-picker.ts +18 -5
- package/packages/icon-picker/src/icon-picker.ts +37 -71
- package/packages/pulldown/src/pulldown.ts +27 -6
- package/packages/select/src/select.ts +54 -16
- package/packages/table-select/src/table-select.ts +17 -7
- package/packages/tree-select/src/tree-select.ts +21 -7
- package/types/components/button.d.ts +18 -0
- package/types/components/date-picker.d.ts +8 -0
- package/types/components/date-range-picker.d.ts +8 -0
- package/types/components/icon-picker.d.ts +24 -0
- package/types/components/pulldown.d.ts +28 -0
- package/types/components/select.d.ts +70 -0
- package/types/components/table-select.d.ts +16 -1
- package/types/components/table.d.ts +2 -2
- package/types/components/tree-select.d.ts +20 -2
- package/types/components/upload.d.ts +1 -1
- /package/es/icon/{iconfont.1768192734102.ttf → iconfont.1768381374840.ttf} +0 -0
- /package/es/icon/{iconfont.1768192734102.woff → iconfont.1768381374840.woff} +0 -0
- /package/es/icon/{iconfont.1768192734102.woff2 → iconfont.1768381374840.woff2} +0 -0
- /package/es/{iconfont.1768192734102.ttf → iconfont.1768381374840.ttf} +0 -0
- /package/es/{iconfont.1768192734102.woff → iconfont.1768381374840.woff} +0 -0
- /package/es/{iconfont.1768192734102.woff2 → iconfont.1768381374840.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1768192734102.ttf → iconfont.1768381374840.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1768192734102.woff → iconfont.1768381374840.woff} +0 -0
- /package/lib/icon/style/{iconfont.1768192734102.woff2 → iconfont.1768381374840.woff2} +0 -0
- /package/lib/{iconfont.1768192734102.ttf → iconfont.1768381374840.ttf} +0 -0
- /package/lib/{iconfont.1768192734102.woff → iconfont.1768381374840.woff} +0 -0
- /package/lib/{iconfont.1768192734102.woff2 → iconfont.1768381374840.woff2} +0 -0
|
@@ -43,6 +43,10 @@ export default defineVxeComponent({
|
|
|
43
43
|
options: Array,
|
|
44
44
|
optionProps: Object,
|
|
45
45
|
lazyOptions: Array,
|
|
46
|
+
/**
|
|
47
|
+
* 已废弃,请使用 popupConfig.zIndex
|
|
48
|
+
* @deprecated
|
|
49
|
+
*/
|
|
46
50
|
zIndex: Number,
|
|
47
51
|
size: {
|
|
48
52
|
type: String,
|
|
@@ -120,8 +124,12 @@ export default defineVxeComponent({
|
|
|
120
124
|
});
|
|
121
125
|
const computeBtnTransfer = computed(() => {
|
|
122
126
|
const { transfer } = props;
|
|
127
|
+
const popupOpts = computePopupOpts.value;
|
|
128
|
+
if (XEUtils.isBoolean(popupOpts.transfer)) {
|
|
129
|
+
return popupOpts.transfer;
|
|
130
|
+
}
|
|
123
131
|
if (transfer === null) {
|
|
124
|
-
const globalTransfer = getConfig().
|
|
132
|
+
const globalTransfer = getConfig().tableSelect.transfer;
|
|
125
133
|
if (XEUtils.isBoolean(globalTransfer)) {
|
|
126
134
|
return globalTransfer;
|
|
127
135
|
}
|
|
@@ -361,9 +369,10 @@ export default defineVxeComponent({
|
|
|
361
369
|
updateModel(props.modelValue);
|
|
362
370
|
};
|
|
363
371
|
const updateZindex = () => {
|
|
364
|
-
const
|
|
365
|
-
|
|
366
|
-
|
|
372
|
+
const popupOpts = computePopupOpts.value;
|
|
373
|
+
const customZIndex = popupOpts.zIndex || props.zIndex;
|
|
374
|
+
if (customZIndex) {
|
|
375
|
+
reactData.panelIndex = XEUtils.toNumber(customZIndex);
|
|
367
376
|
}
|
|
368
377
|
else if (reactData.panelIndex < getLastZIndex()) {
|
|
369
378
|
reactData.panelIndex = nextZIndex();
|
|
@@ -375,9 +384,10 @@ export default defineVxeComponent({
|
|
|
375
384
|
const targetElem = refElem.value;
|
|
376
385
|
const panelElem = refOptionPanel.value;
|
|
377
386
|
const btnTransfer = computeBtnTransfer.value;
|
|
387
|
+
const popupOpts = computePopupOpts.value;
|
|
378
388
|
const handleStyle = () => {
|
|
379
389
|
const ppObj = updatePanelPlacement(targetElem, panelElem, {
|
|
380
|
-
placement,
|
|
390
|
+
placement: popupOpts.placement || placement,
|
|
381
391
|
teleportTo: btnTransfer
|
|
382
392
|
});
|
|
383
393
|
const panelStyle = Object.assign(ppObj.style, {
|
|
@@ -559,13 +569,13 @@ export default defineVxeComponent({
|
|
|
559
569
|
const btnTransfer = computeBtnTransfer.value;
|
|
560
570
|
const formReadonly = computeFormReadonly.value;
|
|
561
571
|
const popupOpts = computePopupOpts.value;
|
|
562
|
-
const { className: popupClassName } = popupOpts;
|
|
563
572
|
const selectGridOpts = computeSelectGridOpts.value;
|
|
564
573
|
const rowOpts = computeRowOpts.value;
|
|
565
574
|
const popupWrapperStyle = computePopupWrapperStyle.value;
|
|
566
575
|
const headerSlot = slots.header;
|
|
567
576
|
const footerSlot = slots.footer;
|
|
568
577
|
const prefixSlot = slots.prefix;
|
|
578
|
+
const ppClassName = popupOpts.className;
|
|
569
579
|
if (formReadonly) {
|
|
570
580
|
return h('div', {
|
|
571
581
|
ref: refElem,
|
|
@@ -612,7 +622,7 @@ export default defineVxeComponent({
|
|
|
612
622
|
}, [
|
|
613
623
|
h('div', {
|
|
614
624
|
ref: refOptionPanel,
|
|
615
|
-
class: ['vxe-table--ignore-clear vxe-table-select--panel',
|
|
625
|
+
class: ['vxe-table--ignore-clear vxe-table-select--panel', ppClassName ? (XEUtils.isFunction(ppClassName) ? ppClassName({ $tableSelect: $xeTableSelect }) : ppClassName) : '', {
|
|
616
626
|
[`size--${vSize}`]: vSize,
|
|
617
627
|
'is--transfer': btnTransfer,
|
|
618
628
|
'ani--leave': !loading && isAniVisible,
|
|
@@ -42,12 +42,20 @@ export default defineVxeComponent({
|
|
|
42
42
|
filterConfig: Object,
|
|
43
43
|
multiple: Boolean,
|
|
44
44
|
className: [String, Function],
|
|
45
|
+
/**
|
|
46
|
+
* 已废弃,请使用 popupConfig.className
|
|
47
|
+
* @deprecated
|
|
48
|
+
*/
|
|
45
49
|
popupClassName: [String, Function],
|
|
46
50
|
prefixIcon: String,
|
|
47
51
|
placement: String,
|
|
48
52
|
lazyOptions: Array,
|
|
49
53
|
options: Array,
|
|
50
54
|
optionProps: Object,
|
|
55
|
+
/**
|
|
56
|
+
* 已废弃,请使用 popupConfig.zIndex
|
|
57
|
+
* @deprecated
|
|
58
|
+
*/
|
|
51
59
|
zIndex: Number,
|
|
52
60
|
size: {
|
|
53
61
|
type: String,
|
|
@@ -152,8 +160,12 @@ export default defineVxeComponent({
|
|
|
152
160
|
});
|
|
153
161
|
const computeBtnTransfer = computed(() => {
|
|
154
162
|
const { transfer } = props;
|
|
163
|
+
const popupOpts = computePopupOpts.value;
|
|
164
|
+
if (XEUtils.isBoolean(popupOpts.transfer)) {
|
|
165
|
+
return popupOpts.transfer;
|
|
166
|
+
}
|
|
155
167
|
if (transfer === null) {
|
|
156
|
-
const globalTransfer = getConfig().
|
|
168
|
+
const globalTransfer = getConfig().treeSelect.transfer;
|
|
157
169
|
if (XEUtils.isBoolean(globalTransfer)) {
|
|
158
170
|
return globalTransfer;
|
|
159
171
|
}
|
|
@@ -335,9 +347,10 @@ export default defineVxeComponent({
|
|
|
335
347
|
internalData.fullNodeMaps = nodeMaps;
|
|
336
348
|
};
|
|
337
349
|
const updateZindex = () => {
|
|
338
|
-
const
|
|
339
|
-
|
|
340
|
-
|
|
350
|
+
const popupOpts = computePopupOpts.value;
|
|
351
|
+
const customZIndex = popupOpts.zIndex || props.zIndex;
|
|
352
|
+
if (customZIndex) {
|
|
353
|
+
reactData.panelIndex = XEUtils.toNumber(customZIndex);
|
|
341
354
|
}
|
|
342
355
|
else if (reactData.panelIndex < getLastZIndex()) {
|
|
343
356
|
reactData.panelIndex = nextZIndex();
|
|
@@ -349,9 +362,10 @@ export default defineVxeComponent({
|
|
|
349
362
|
const targetElem = refElem.value;
|
|
350
363
|
const panelElem = refOptionPanel.value;
|
|
351
364
|
const btnTransfer = computeBtnTransfer.value;
|
|
365
|
+
const popupOpts = computePopupOpts.value;
|
|
352
366
|
const handleStyle = () => {
|
|
353
367
|
const ppObj = updatePanelPlacement(targetElem, panelElem, {
|
|
354
|
-
placement,
|
|
368
|
+
placement: popupOpts.placement || placement,
|
|
355
369
|
teleportTo: btnTransfer
|
|
356
370
|
});
|
|
357
371
|
const panelStyle = Object.assign(ppObj.style, {
|
|
@@ -601,7 +615,7 @@ export default defineVxeComponent({
|
|
|
601
615
|
const footerSlot = slots.footer;
|
|
602
616
|
const prefixSlot = slots.prefix;
|
|
603
617
|
const popupOpts = computePopupOpts.value;
|
|
604
|
-
const
|
|
618
|
+
const ppClassName = popupOpts.className || props.popupClassName;
|
|
605
619
|
if (formReadonly) {
|
|
606
620
|
return h('div', {
|
|
607
621
|
ref: refElem,
|
|
@@ -678,7 +692,7 @@ export default defineVxeComponent({
|
|
|
678
692
|
}, [
|
|
679
693
|
h('div', {
|
|
680
694
|
ref: refOptionPanel,
|
|
681
|
-
class: ['vxe-table--ignore-clear vxe-tree-select--panel',
|
|
695
|
+
class: ['vxe-table--ignore-clear vxe-tree-select--panel', ppClassName ? (XEUtils.isFunction(ppClassName) ? ppClassName({ $treeSelect: $xeTreeSelect }) : ppClassName) : '', {
|
|
682
696
|
[`size--${vSize}`]: vSize,
|
|
683
697
|
'is--transfer': btnTransfer,
|
|
684
698
|
'ani--leave': !loading && isAniVisible,
|
package/es/ui/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { VxeUI, setConfig, setIcon } from '@vxe-ui/core';
|
|
2
2
|
import { dynamicApp } from '../dynamics';
|
|
3
3
|
import { warnLog } from './src/log';
|
|
4
|
-
export const version = "4.11.
|
|
4
|
+
export const version = "4.11.45";
|
|
5
5
|
VxeUI.uiVersion = version;
|
|
6
6
|
VxeUI.dynamicApp = dynamicApp;
|
|
7
7
|
export function config(options) {
|
package/es/ui/src/log.js
CHANGED
package/lib/button/src/button.js
CHANGED
|
@@ -108,6 +108,7 @@ const VxeButtonComponent = (0, _comp.defineVxeComponent)({
|
|
|
108
108
|
type: Boolean,
|
|
109
109
|
default: () => (0, _ui.getConfig)().button.destroyOnClose
|
|
110
110
|
},
|
|
111
|
+
popupConfig: Object,
|
|
111
112
|
/**
|
|
112
113
|
* 是否将弹框容器插入于 body 内
|
|
113
114
|
*/
|
|
@@ -167,6 +168,10 @@ const VxeButtonComponent = (0, _comp.defineVxeComponent)({
|
|
|
167
168
|
const {
|
|
168
169
|
transfer
|
|
169
170
|
} = props;
|
|
171
|
+
const popupOpts = computePopupOpts.value;
|
|
172
|
+
if (_xeUtils.default.isBoolean(popupOpts.transfer)) {
|
|
173
|
+
return popupOpts.transfer;
|
|
174
|
+
}
|
|
170
175
|
if (transfer === null) {
|
|
171
176
|
const globalTransfer = (0, _ui.getConfig)().button.transfer;
|
|
172
177
|
if (_xeUtils.default.isBoolean(globalTransfer)) {
|
|
@@ -266,6 +271,9 @@ const VxeButtonComponent = (0, _comp.defineVxeComponent)({
|
|
|
266
271
|
}
|
|
267
272
|
return [];
|
|
268
273
|
});
|
|
274
|
+
const computePopupOpts = (0, _vue.computed)(() => {
|
|
275
|
+
return Object.assign({}, (0, _ui.getConfig)().button.popupConfig, props.popupConfig);
|
|
276
|
+
});
|
|
269
277
|
const computePrefixTipOpts = (0, _vue.computed)(() => {
|
|
270
278
|
return Object.assign({}, (0, _ui.getConfig)().button.prefixTooltip, props.prefixTooltip);
|
|
271
279
|
});
|
|
@@ -273,11 +281,10 @@ const VxeButtonComponent = (0, _comp.defineVxeComponent)({
|
|
|
273
281
|
return Object.assign({}, (0, _ui.getConfig)().button.suffixTooltip, props.suffixTooltip);
|
|
274
282
|
});
|
|
275
283
|
const updateZindex = () => {
|
|
276
|
-
const
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
reactData.panelIndex = zIndex;
|
|
284
|
+
const popupOpts = computePopupOpts.value;
|
|
285
|
+
const customZIndex = popupOpts.zIndex || props.zIndex;
|
|
286
|
+
if (customZIndex) {
|
|
287
|
+
reactData.panelIndex = _xeUtils.default.toNumber(customZIndex);
|
|
281
288
|
} else if (reactData.panelIndex < (0, _utils.getLastZIndex)()) {
|
|
282
289
|
reactData.panelIndex = (0, _utils.nextZIndex)();
|
|
283
290
|
}
|
|
@@ -292,9 +299,10 @@ const VxeButtonComponent = (0, _comp.defineVxeComponent)({
|
|
|
292
299
|
const targetElem = refButton.value;
|
|
293
300
|
const panelElem = refBtnPanel.value;
|
|
294
301
|
const btnTransfer = computeBtnTransfer.value;
|
|
302
|
+
const popupOpts = computePopupOpts.value;
|
|
295
303
|
const handleStyle = () => {
|
|
296
304
|
const ppObj = (0, _dom.updatePanelPlacement)(targetElem, panelElem, {
|
|
297
|
-
placement,
|
|
305
|
+
placement: popupOpts.placement || placement,
|
|
298
306
|
teleportTo: btnTransfer
|
|
299
307
|
});
|
|
300
308
|
const panelStyle = Object.assign(ppObj.style, {
|
|
@@ -602,7 +610,6 @@ const VxeButtonComponent = (0, _comp.defineVxeComponent)({
|
|
|
602
610
|
const renderVN = () => {
|
|
603
611
|
const {
|
|
604
612
|
className,
|
|
605
|
-
popupClassName,
|
|
606
613
|
trigger,
|
|
607
614
|
title,
|
|
608
615
|
routerLink,
|
|
@@ -628,8 +635,10 @@ const VxeButtonComponent = (0, _comp.defineVxeComponent)({
|
|
|
628
635
|
const btnDisabled = computeBtnDisabled.value;
|
|
629
636
|
const permissionInfo = computePermissionInfo.value;
|
|
630
637
|
const downBtnList = computeDownBtnList.value;
|
|
638
|
+
const popupOpts = computePopupOpts.value;
|
|
631
639
|
const vSize = computeSize.value;
|
|
632
640
|
const dropdownsSlot = slots.dropdowns;
|
|
641
|
+
const ppClassName = popupOpts.className || props.popupClassName;
|
|
633
642
|
if (!permissionInfo.visible) {
|
|
634
643
|
return (0, _ui.renderEmptyElement)($xeButton);
|
|
635
644
|
}
|
|
@@ -703,9 +712,9 @@ const VxeButtonComponent = (0, _comp.defineVxeComponent)({
|
|
|
703
712
|
disabled: btnTransfer ? !initialized : true
|
|
704
713
|
}, [(0, _vue.h)('div', Object.assign({
|
|
705
714
|
ref: refBtnPanel,
|
|
706
|
-
class: ['vxe-button--dropdown-panel',
|
|
715
|
+
class: ['vxe-button--dropdown-panel', ppClassName ? _xeUtils.default.isFunction(ppClassName) ? ppClassName({
|
|
707
716
|
$button: $xeButton
|
|
708
|
-
}) :
|
|
717
|
+
}) : ppClassName : '', {
|
|
709
718
|
[`size--${vSize}`]: vSize,
|
|
710
719
|
'is--transfer': btnTransfer,
|
|
711
720
|
'ani--leave': isAniVisible,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_tooltip=_interopRequireDefault(require("../../tooltip"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const VxeButtonComponent=(0,_comp.defineVxeComponent)({name:"VxeButton",props:{type:String,mode:String,className:[String,Function],popupClassName:[String,Function],size:{type:String,default:()=>(0,_ui.getConfig)().button.size||(0,_ui.getConfig)().size},zIndex:Number,name:[String,Number],routerLink:Object,permissionCode:[String,Number],content:String,placement:String,status:String,title:String,shadow:Boolean,icon:String,iconRender:Object,prefixIcon:String,prefixRender:Object,suffixIcon:String,suffixRender:Object,round:Boolean,circle:Boolean,disabled:Boolean,loading:Boolean,trigger:{type:String,default:()=>(0,_ui.getConfig)().button.trigger},align:String,prefixTooltip:Object,suffixTooltip:Object,options:Array,showDropdownIcon:{type:Boolean,default:()=>(0,_ui.getConfig)().button.showDropdownIcon},destroyOnClose:{type:Boolean,default:()=>(0,_ui.getConfig)().button.destroyOnClose},transfer:{type:Boolean,default:null}},emits:["click","mouseenter","mouseleave","dropdown-click","dropdownClick","contextmenu"],setup(I,e){const{slots:N,emit:i}=e,n=(0,_vue.inject)("$xeModal",null),o=(0,_vue.inject)("$xeDrawer",null),u=(0,_vue.inject)("$xeTable",null),s=(0,_vue.inject)("$xeTree",null),a=(0,_vue.inject)("$xeForm",null),l=(0,_vue.inject)("$xeButtonGroup",null);var t=_xeUtils.default.uniqueId();const P=(0,_ui.useSize)(I)["computeSize"],S=(0,_ui.usePermission)(I)["computePermissionInfo"],B=(0,_vue.reactive)({initialized:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1,panelIndex:0,panelStyle:{},panelPlacement:""}),r={showTime:void 0,tooltipTimeout:void 0},j=(0,_vue.ref)(),z=(0,_vue.ref)(),$=(0,_vue.ref)(),c={refElem:j},V={xID:t,props:I,context:e,reactData:B,internalData:r,getRefMaps:()=>c};const E=(0,_vue.computed)(()=>{var e=I["transfer"];if(null===e){var t=(0,_ui.getConfig)().button.transfer;if(_xeUtils.default.isBoolean(t))return t;if(u||s||n||o||a)return!0}return e}),M=(0,_vue.computed)(()=>{var e=I["disabled"],t=S.value;return e||t.disabled}),U=(0,_vue.computed)(()=>{var e=I["type"];return!!e&&-1<["submit","reset","button"].indexOf(e)}),D=(0,_vue.computed)(()=>{var{type:e,mode:t}=I;return"text"===t||"text"===e||l&&"text"===l.props.mode?"text":"button"}),Z=(0,_vue.computed)(()=>{var e=I["status"];return e||(l?l.props.status:"")}),J=(0,_vue.computed)(()=>{var e=I["align"];return e||!!l&&l.props.align}),K=(0,_vue.computed)(()=>{var e=I["round"];return e||!!l&&l.props.round}),Q=(0,_vue.computed)(()=>{var e=I["circle"];return e||!!l&&l.props.circle}),X=(0,_vue.computed)(()=>{var e=I["options"];return e?e.filter(e=>{e=e.permissionCode;return!e||_ui.permission.checkVisible(e)}):[]}),_=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().button.prefixTooltip,I.prefixTooltip)),b=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().button.suffixTooltip,I.suffixTooltip)),p=()=>{var e=I["zIndex"];e?B.panelIndex=e:B.panelIndex<(0,_utils.getLastZIndex)()&&(B.panelIndex=(0,_utils.nextZIndex)())},v=()=>{const n=I["placement"],i=B["panelIndex"],o=z.value,u=$.value,s=E.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(o,u,{placement:n,teleportTo:s}),t=Object.assign(e.style,{zIndex:i});B.panelStyle=t,B.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},q=e=>{l&&l.handleClick({name:I.name},e),W("click",{$event:e},e)},ee=e=>{0===e.button&&e.stopPropagation()},te=e=>{var t=e.currentTarget;const n=$.value;var{flag:t,targetElem:i}=(0,_dom.getEventTargetNode)(e,t,"vxe-button");t&&(n&&(n.dataset.active="N"),B.visiblePanel=!1,setTimeout(()=>{n&&"Y"===n.dataset.active||(B.isAniVisible=!1)},350),W("dropdown-click",{name:i.getAttribute("name"),option:null},e))},A=()=>{const e=$.value;e&&(e.dataset.active="Y",B.isAniVisible=!0,setTimeout(()=>{"Y"===e.dataset.active&&(B.visiblePanel=!0,p(),v(),setTimeout(()=>{B.visiblePanel&&v()},50))},20))},ne=e=>{var t=I["loading"];M.value||t||(d(),R(e))},ie=e=>{G(),F(e)},R=e=>{W("mouseenter",{},e)},F=e=>{W("mouseleave",{},e)},L=e=>{W("contextmenu",{},e)},Y=e=>{var{loading:t,trigger:n}=I;M.value||t||("click"===n&&(B.visiblePanel?G:d)(),q(e))},d=()=>{var e=I["trigger"];const t=$.value;return t&&(t.dataset.active="Y",B.initialized||(B.initialized=!0),r.showTime=setTimeout(()=>{"Y"===t.dataset.active?A():B.isAniVisible=!1},"click"===e?50:250)),(0,_vue.nextTick)()},G=()=>{const e=$.value;return clearTimeout(r.showTime),e?(e.dataset.active="N",setTimeout(()=>{"Y"!==e.dataset.active&&(B.visiblePanel=!1,setTimeout(()=>{"Y"!==e.dataset.active&&(B.isAniVisible=!1)},350))},100)):(B.isAniVisible=!1,B.visiblePanel=!1),(0,_vue.nextTick)()},oe=()=>{G()},m=(e,t)=>(0,_vue.h)(_tooltip.default,{useHTML:e.useHTML,content:e.content,enterable:e.enterable,theme:e.theme},{default(){return(0,_vue.h)("span",{class:`vxe-button--item vxe-button--tooltip-${t}-icon`},[(0,_vue.h)("i",{class:e.icon||(0,_ui.getIcon)().BUTTON_TOOLTIP_ICON})])}}),H=()=>{var{content:e,suffixIcon:t,loading:n,prefixTooltip:i,suffixTooltip:o,suffixRender:u}=I,s=I.prefixIcon||I.icon,a=I.prefixRender||I.iconRender,l=_.value,r=b.value,c=N.prefix||N.icon,v=N.suffix,d=N.default,p=[];return i&&p.push(m(l,"prefix")),n?p.push((0,_vue.h)("i",{class:["vxe-button--item vxe-button--loading-icon",(0,_ui.getIcon)().BUTTON_LOADING]})):c?p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--custom-prefix-icon"},c({}))):a?(l=(i=_ui.renderer.get(a.name))?i.renderButtonPrefix:null,p.push((0,_vue.h)("span",{class:["vxe-button--item vxe-button--custom-prefix-icon"]},l?(0,_vn.getSlotVNs)(l(a,{$button:V})):[]))):s&&p.push((0,_vue.h)("i",{class:["vxe-button--item vxe-button--prefix-icon",s]})),d?p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--content"},d({}))):e&&p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--content"},(0,_utils.getFuncText)(e))),v?p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--custom-suffix-icon"},v({}))):u?(c=(n=_ui.renderer.get(u.name))?n.renderButtonSuffix:null,p.push((0,_vue.h)("span",{class:["vxe-button--item vxe-button--custom-suffix-icon"]},c?(0,_vn.getSlotVNs)(c(u,{$button:V})):[]))):t&&p.push((0,_vue.h)("i",{class:["vxe-button--item vxe-button--suffix-icon",t]})),o&&p.push(m(r,"suffix")),p},W=(e,t,n)=>{i(e,(0,_ui.createEvent)(n,{$button:V},t))},x=(t={dispatchEvent:W,openPanel:d,closePanel:G,focus(){var e=z.value;return e&&e.focus(),(0,_vue.nextTick)()},blur(){var e=z.value;return e&&e.blur(),(0,_vue.nextTick)()}},e=>{var t=$.value;B.visiblePanel&&!(0,_dom.getEventTargetNode)(e,t).flag&&G()}),f=e=>{var t,n=M.value,i=B["visiblePanel"];n||(n=j.value,t=$.value,B.isActivated=(0,_dom.getEventTargetNode)(e,n).flag||(0,_dom.getEventTargetNode)(e,t).flag,i&&!B.isActivated&&G())},g=()=>{var e=B["visiblePanel"];e&&v()};Object.assign(V,t);return V.renderVN=()=>{const{className:e,popupClassName:t,trigger:n,title:i,routerLink:o,type:u,destroyOnClose:s,name:a,loading:l,shadow:r,showDropdownIcon:c}=I;var{initialized:v,isAniVisible:d,visiblePanel:p}=B,m=U.value;const _=D.value;var b=Z.value;const x=K.value;var f=J.value;const g=Q.value;var h,T=E.value,w=M.value,C=S.value,y=X.value,k=P.value,O=N.dropdowns;return C.visible?O||y.length?(C={onContextmenu:L},h={},"hover"===n&&(C.onMouseenter=ne,C.onMouseleave=ie,h.onMouseenter=A,h.onMouseleave=oe),(0,_vue.h)("div",{ref:j,class:["vxe-button--dropdown",e?_xeUtils.default.isFunction(e)?e({$button:V}):e:"",{["size--"+k]:k,"is--active":p}]},[o?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),Object.assign({ref:z,class:["vxe-button","vxe-button--link","type--"+_,f?"align--"+f:"",e?_xeUtils.default.isFunction(e)?e({$button:V}):e:"",{["size--"+k]:k,["theme--"+b]:b,"is--round":x,"is--circle":g,"is--shadow":r,"is--disabled":w||l,"is--loading":l}],title:i,name:a,type:m?u:"button",disabled:w||l,to:o,onClick:Y},C),{default(){return H().concat(c?[(0,_vue.h)("i",{class:"vxe-button--dropdown-arrow "+(0,_ui.getIcon)().BUTTON_DROPDOWN})]:[])}}):(0,_vue.h)("button",Object.assign({ref:z,class:["vxe-button","type--"+_,f?"align--"+f:"",e?_xeUtils.default.isFunction(e)?e({$button:V}):e:"",{["size--"+k]:k,["theme--"+b]:b,"is--round":x,"is--circle":g,"is--shadow":r,"is--disabled":w||l,"is--loading":l}],title:i,name:a,type:m?u:"button",disabled:w||l,onClick:Y},C),H().concat(c?[(0,_vue.h)("i",{class:"vxe-button--dropdown-arrow "+(0,_ui.getIcon)().BUTTON_DROPDOWN})]:[])),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!T||!v},[(0,_vue.h)("div",Object.assign({ref:$,class:["vxe-button--dropdown-panel",t?_xeUtils.default.isFunction(t)?t({$button:V}):t:"",{["size--"+k]:k,"is--transfer":T,"ani--leave":d,"ani--enter":p}],placement:B.panelPlacement,style:B.panelStyle},h),v&&(p||d)?[O?(0,_vue.h)("div",{class:"vxe-button--dropdown-wrapper",onMousedown:ee,onClick:te},v&&(!s||p||d)?O({}):[]):(0,_vue.h)("div",{class:"vxe-button--dropdown-wrapper"},v&&(!s||p||d)?y.map((i,e)=>(0,_vue.h)(VxeButtonComponent,{key:e,type:i.type,mode:i.mode||_,className:i.className,name:i.name,routerLink:i.routerLink,permissionCode:i.permissionCode,title:i.title,content:i.content,status:i.status,icon:i.icon,round:_xeUtils.default.isBoolean(i.round)?i.round:"text"!==_&&x,circle:_xeUtils.default.isBoolean(i.circle)?i.circle:"text"!==_&&g,disabled:i.disabled,loading:i.loading,align:i.align,onClick(e){var t=e,n=i;t=e.$event,G(),W("dropdown-click",{name:n.name,option:n},t)}})):[])]:[])])])):o?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),{ref:z,class:["vxe-button","vxe-button--link","type--"+_,f?"align--"+f:"",e?_xeUtils.default.isFunction(e)?e({$button:V}):e:"",{["size--"+k]:k,["theme--"+b]:b,"is--round":x,"is--circle":g,"is--shadow":r,"is--disabled":w||l,"is--loading":l}],title:i,name:a,type:m?u:"button",disabled:w||l,to:o,onClick:q,onMouseenter:R,onMouseleave:F,onContextmenu:L},{default(){return H()}}):(0,_vue.h)("button",{ref:z,class:["vxe-button","type--"+_,f?"align--"+f:"",e?_xeUtils.default.isFunction(e)?e({$button:V}):e:"",{["size--"+k]:k,["theme--"+b]:b,"is--round":x,"is--circle":g,"is--shadow":r,"is--disabled":w||l,"is--loading":l}],title:i,name:a,type:m?u:"button",disabled:w||l,onClick:q,onMouseenter:R,onMouseleave:F,onContextmenu:L},H()):(0,_ui.renderEmptyElement)(V)},(0,_vue.onMounted)(()=>{"text"===I.type&&(0,_log.warnLog)("vxe.error.delProp",["[button] type=text","mode=text"]),_ui.globalEvents.on(V,"mousewheel",x),_ui.globalEvents.on(V,"mousedown",f),_ui.globalEvents.on(V,"resize",g)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(V,"mousewheel"),_ui.globalEvents.off(V,"mousedown"),_ui.globalEvents.off(V,"resize")}),V},render(){return this.renderVN()}});var _default=exports.default=VxeButtonComponent;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_tooltip=_interopRequireDefault(require("../../tooltip"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const VxeButtonComponent=(0,_comp.defineVxeComponent)({name:"VxeButton",props:{type:String,mode:String,className:[String,Function],popupClassName:[String,Function],size:{type:String,default:()=>(0,_ui.getConfig)().button.size||(0,_ui.getConfig)().size},zIndex:Number,name:[String,Number],routerLink:Object,permissionCode:[String,Number],content:String,placement:String,status:String,title:String,shadow:Boolean,icon:String,iconRender:Object,prefixIcon:String,prefixRender:Object,suffixIcon:String,suffixRender:Object,round:Boolean,circle:Boolean,disabled:Boolean,loading:Boolean,trigger:{type:String,default:()=>(0,_ui.getConfig)().button.trigger},align:String,prefixTooltip:Object,suffixTooltip:Object,options:Array,showDropdownIcon:{type:Boolean,default:()=>(0,_ui.getConfig)().button.showDropdownIcon},destroyOnClose:{type:Boolean,default:()=>(0,_ui.getConfig)().button.destroyOnClose},popupConfig:Object,transfer:{type:Boolean,default:null}},emits:["click","mouseenter","mouseleave","dropdown-click","dropdownClick","contextmenu"],setup(N,e){const{slots:I,emit:i}=e,n=(0,_vue.inject)("$xeModal",null),o=(0,_vue.inject)("$xeDrawer",null),u=(0,_vue.inject)("$xeTable",null),s=(0,_vue.inject)("$xeTree",null),a=(0,_vue.inject)("$xeForm",null),l=(0,_vue.inject)("$xeButtonGroup",null);var t=_xeUtils.default.uniqueId();const P=(0,_ui.useSize)(N)["computeSize"],S=(0,_ui.usePermission)(N)["computePermissionInfo"],B=(0,_vue.reactive)({initialized:!1,visiblePanel:!1,isAniVisible:!1,isActivated:!1,panelIndex:0,panelStyle:{},panelPlacement:""}),r={showTime:void 0,tooltipTimeout:void 0},j=(0,_vue.ref)(),z=(0,_vue.ref)(),U=(0,_vue.ref)(),c={refElem:j},$={xID:t,props:N,context:e,reactData:B,internalData:r,getRefMaps:()=>c};const V=(0,_vue.computed)(()=>{var e=N["transfer"],t=D.value;if(_xeUtils.default.isBoolean(t.transfer))return t.transfer;if(null===e){t=(0,_ui.getConfig)().button.transfer;if(_xeUtils.default.isBoolean(t))return t;if(u||s||n||o||a)return!0}return e}),E=(0,_vue.computed)(()=>{var e=N["disabled"],t=S.value;return e||t.disabled}),M=(0,_vue.computed)(()=>{var e=N["type"];return!!e&&-1<["submit","reset","button"].indexOf(e)}),Z=(0,_vue.computed)(()=>{var{type:e,mode:t}=N;return"text"===t||"text"===e||l&&"text"===l.props.mode?"text":"button"}),J=(0,_vue.computed)(()=>{var e=N["status"];return e||(l?l.props.status:"")}),K=(0,_vue.computed)(()=>{var e=N["align"];return e||!!l&&l.props.align}),Q=(0,_vue.computed)(()=>{var e=N["round"];return e||!!l&&l.props.round}),X=(0,_vue.computed)(()=>{var e=N["circle"];return e||!!l&&l.props.circle}),ee=(0,_vue.computed)(()=>{var e=N["options"];return e?e.filter(e=>{e=e.permissionCode;return!e||_ui.permission.checkVisible(e)}):[]}),D=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().button.popupConfig,N.popupConfig)),_=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().button.prefixTooltip,N.prefixTooltip)),b=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().button.suffixTooltip,N.suffixTooltip)),p=()=>{var e=D.value.zIndex||N.zIndex;e?B.panelIndex=_xeUtils.default.toNumber(e):B.panelIndex<(0,_utils.getLastZIndex)()&&(B.panelIndex=(0,_utils.nextZIndex)())},v=()=>{const n=N["placement"],i=B["panelIndex"],o=z.value,u=U.value,s=V.value,a=D.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(o,u,{placement:a.placement||n,teleportTo:s}),t=Object.assign(e.style,{zIndex:i});B.panelStyle=t,B.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},q=e=>{l&&l.handleClick({name:N.name},e),W("click",{$event:e},e)},te=e=>{0===e.button&&e.stopPropagation()},ne=e=>{var t=e.currentTarget;const n=U.value;var{flag:t,targetElem:i}=(0,_dom.getEventTargetNode)(e,t,"vxe-button");t&&(n&&(n.dataset.active="N"),B.visiblePanel=!1,setTimeout(()=>{n&&"Y"===n.dataset.active||(B.isAniVisible=!1)},350),W("dropdown-click",{name:i.getAttribute("name"),option:null},e))},A=()=>{const e=U.value;e&&(e.dataset.active="Y",B.isAniVisible=!0,setTimeout(()=>{"Y"===e.dataset.active&&(B.visiblePanel=!0,p(),v(),setTimeout(()=>{B.visiblePanel&&v()},50))},20))},ie=e=>{var t=N["loading"];E.value||t||(d(),R(e))},oe=e=>{G(),F(e)},R=e=>{W("mouseenter",{},e)},F=e=>{W("mouseleave",{},e)},L=e=>{W("contextmenu",{},e)},Y=e=>{var{loading:t,trigger:n}=N;E.value||t||("click"===n&&(B.visiblePanel?G:d)(),q(e))},d=()=>{var e=N["trigger"];const t=U.value;return t&&(t.dataset.active="Y",B.initialized||(B.initialized=!0),r.showTime=setTimeout(()=>{"Y"===t.dataset.active?A():B.isAniVisible=!1},"click"===e?50:250)),(0,_vue.nextTick)()},G=()=>{const e=U.value;return clearTimeout(r.showTime),e?(e.dataset.active="N",setTimeout(()=>{"Y"!==e.dataset.active&&(B.visiblePanel=!1,setTimeout(()=>{"Y"!==e.dataset.active&&(B.isAniVisible=!1)},350))},100)):(B.isAniVisible=!1,B.visiblePanel=!1),(0,_vue.nextTick)()},ue=()=>{G()},m=(e,t)=>(0,_vue.h)(_tooltip.default,{useHTML:e.useHTML,content:e.content,enterable:e.enterable,theme:e.theme},{default(){return(0,_vue.h)("span",{class:`vxe-button--item vxe-button--tooltip-${t}-icon`},[(0,_vue.h)("i",{class:e.icon||(0,_ui.getIcon)().BUTTON_TOOLTIP_ICON})])}}),H=()=>{var{content:e,suffixIcon:t,loading:n,prefixTooltip:i,suffixTooltip:o,suffixRender:u}=N,s=N.prefixIcon||N.icon,a=N.prefixRender||N.iconRender,l=_.value,r=b.value,c=I.prefix||I.icon,v=I.suffix,d=I.default,p=[];return i&&p.push(m(l,"prefix")),n?p.push((0,_vue.h)("i",{class:["vxe-button--item vxe-button--loading-icon",(0,_ui.getIcon)().BUTTON_LOADING]})):c?p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--custom-prefix-icon"},c({}))):a?(l=(i=_ui.renderer.get(a.name))?i.renderButtonPrefix:null,p.push((0,_vue.h)("span",{class:["vxe-button--item vxe-button--custom-prefix-icon"]},l?(0,_vn.getSlotVNs)(l(a,{$button:$})):[]))):s&&p.push((0,_vue.h)("i",{class:["vxe-button--item vxe-button--prefix-icon",s]})),d?p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--content"},d({}))):e&&p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--content"},(0,_utils.getFuncText)(e))),v?p.push((0,_vue.h)("span",{class:"vxe-button--item vxe-button--custom-suffix-icon"},v({}))):u?(c=(n=_ui.renderer.get(u.name))?n.renderButtonSuffix:null,p.push((0,_vue.h)("span",{class:["vxe-button--item vxe-button--custom-suffix-icon"]},c?(0,_vn.getSlotVNs)(c(u,{$button:$})):[]))):t&&p.push((0,_vue.h)("i",{class:["vxe-button--item vxe-button--suffix-icon",t]})),o&&p.push(m(r,"suffix")),p},W=(e,t,n)=>{i(e,(0,_ui.createEvent)(n,{$button:$},t))},x=(t={dispatchEvent:W,openPanel:d,closePanel:G,focus(){var e=z.value;return e&&e.focus(),(0,_vue.nextTick)()},blur(){var e=z.value;return e&&e.blur(),(0,_vue.nextTick)()}},e=>{var t=U.value;B.visiblePanel&&!(0,_dom.getEventTargetNode)(e,t).flag&&G()}),f=e=>{var t,n=E.value,i=B["visiblePanel"];n||(n=j.value,t=U.value,B.isActivated=(0,_dom.getEventTargetNode)(e,n).flag||(0,_dom.getEventTargetNode)(e,t).flag,i&&!B.isActivated&&G())},g=()=>{var e=B["visiblePanel"];e&&v()};Object.assign($,t);return $.renderVN=()=>{const{className:e,trigger:t,title:n,routerLink:i,type:o,destroyOnClose:u,name:s,loading:a,shadow:l,showDropdownIcon:r}=N;var{initialized:c,isAniVisible:v,visiblePanel:d}=B,p=M.value;const m=Z.value;var _=J.value;const b=Q.value;var x=K.value;const f=X.value;var g,h=V.value,T=E.value,C=S.value,w=ee.value,y=D.value,O=P.value,k=I.dropdowns,y=y.className||N.popupClassName;return C.visible?k||w.length?(C={onContextmenu:L},g={},"hover"===t&&(C.onMouseenter=ie,C.onMouseleave=oe,g.onMouseenter=A,g.onMouseleave=ue),(0,_vue.h)("div",{ref:j,class:["vxe-button--dropdown",e?_xeUtils.default.isFunction(e)?e({$button:$}):e:"",{["size--"+O]:O,"is--active":d}]},[i?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),Object.assign({ref:z,class:["vxe-button","vxe-button--link","type--"+m,x?"align--"+x:"",e?_xeUtils.default.isFunction(e)?e({$button:$}):e:"",{["size--"+O]:O,["theme--"+_]:_,"is--round":b,"is--circle":f,"is--shadow":l,"is--disabled":T||a,"is--loading":a}],title:n,name:s,type:p?o:"button",disabled:T||a,to:i,onClick:Y},C),{default(){return H().concat(r?[(0,_vue.h)("i",{class:"vxe-button--dropdown-arrow "+(0,_ui.getIcon)().BUTTON_DROPDOWN})]:[])}}):(0,_vue.h)("button",Object.assign({ref:z,class:["vxe-button","type--"+m,x?"align--"+x:"",e?_xeUtils.default.isFunction(e)?e({$button:$}):e:"",{["size--"+O]:O,["theme--"+_]:_,"is--round":b,"is--circle":f,"is--shadow":l,"is--disabled":T||a,"is--loading":a}],title:n,name:s,type:p?o:"button",disabled:T||a,onClick:Y},C),H().concat(r?[(0,_vue.h)("i",{class:"vxe-button--dropdown-arrow "+(0,_ui.getIcon)().BUTTON_DROPDOWN})]:[])),(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!h||!c},[(0,_vue.h)("div",Object.assign({ref:U,class:["vxe-button--dropdown-panel",y?_xeUtils.default.isFunction(y)?y({$button:$}):y:"",{["size--"+O]:O,"is--transfer":h,"ani--leave":v,"ani--enter":d}],placement:B.panelPlacement,style:B.panelStyle},g),c&&(d||v)?[k?(0,_vue.h)("div",{class:"vxe-button--dropdown-wrapper",onMousedown:te,onClick:ne},c&&(!u||d||v)?k({}):[]):(0,_vue.h)("div",{class:"vxe-button--dropdown-wrapper"},c&&(!u||d||v)?w.map((i,e)=>(0,_vue.h)(VxeButtonComponent,{key:e,type:i.type,mode:i.mode||m,className:i.className,name:i.name,routerLink:i.routerLink,permissionCode:i.permissionCode,title:i.title,content:i.content,status:i.status,icon:i.icon,round:_xeUtils.default.isBoolean(i.round)?i.round:"text"!==m&&b,circle:_xeUtils.default.isBoolean(i.circle)?i.circle:"text"!==m&&f,disabled:i.disabled,loading:i.loading,align:i.align,onClick(e){var t=e,n=i;t=e.$event,G(),W("dropdown-click",{name:n.name,option:n},t)}})):[])]:[])])])):i?(0,_vue.h)((0,_vue.resolveComponent)("router-link"),{ref:z,class:["vxe-button","vxe-button--link","type--"+m,x?"align--"+x:"",e?_xeUtils.default.isFunction(e)?e({$button:$}):e:"",{["size--"+O]:O,["theme--"+_]:_,"is--round":b,"is--circle":f,"is--shadow":l,"is--disabled":T||a,"is--loading":a}],title:n,name:s,type:p?o:"button",disabled:T||a,to:i,onClick:q,onMouseenter:R,onMouseleave:F,onContextmenu:L},{default(){return H()}}):(0,_vue.h)("button",{ref:z,class:["vxe-button","type--"+m,x?"align--"+x:"",e?_xeUtils.default.isFunction(e)?e({$button:$}):e:"",{["size--"+O]:O,["theme--"+_]:_,"is--round":b,"is--circle":f,"is--shadow":l,"is--disabled":T||a,"is--loading":a}],title:n,name:s,type:p?o:"button",disabled:T||a,onClick:q,onMouseenter:R,onMouseleave:F,onContextmenu:L},H()):(0,_ui.renderEmptyElement)($)},(0,_vue.onMounted)(()=>{"text"===N.type&&(0,_log.warnLog)("vxe.error.delProp",["[button] type=text","mode=text"]),_ui.globalEvents.on($,"mousewheel",x),_ui.globalEvents.on($,"mousedown",f),_ui.globalEvents.on($,"resize",g)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off($,"mousewheel"),_ui.globalEvents.off($,"mousedown"),_ui.globalEvents.off($,"resize")}),$},render(){return this.renderVN()}});var _default=exports.default=VxeButtonComponent;
|
|
@@ -115,6 +115,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
115
115
|
type: Boolean,
|
|
116
116
|
default: null
|
|
117
117
|
},
|
|
118
|
+
popupConfig: Object,
|
|
118
119
|
shortcutConfig: Object,
|
|
119
120
|
// 已废弃 startWeek,被 startDay 替换
|
|
120
121
|
startWeek: Number
|
|
@@ -169,6 +170,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
169
170
|
const {
|
|
170
171
|
transfer
|
|
171
172
|
} = props;
|
|
173
|
+
const popupOpts = computePopupOpts.value;
|
|
174
|
+
if (_xeUtils.default.isBoolean(popupOpts.transfer)) {
|
|
175
|
+
return popupOpts.transfer;
|
|
176
|
+
}
|
|
172
177
|
if (transfer === null) {
|
|
173
178
|
const globalTransfer = (0, _ui.getConfig)().datePicker.transfer;
|
|
174
179
|
if (_xeUtils.default.isBoolean(globalTransfer)) {
|
|
@@ -245,6 +250,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
245
250
|
} = props;
|
|
246
251
|
return immediate;
|
|
247
252
|
});
|
|
253
|
+
const computePopupOpts = (0, _vue.computed)(() => {
|
|
254
|
+
return Object.assign({}, (0, _ui.getConfig)().datePicker.popupConfig, props.popupConfig);
|
|
255
|
+
});
|
|
248
256
|
const computeShortcutOpts = (0, _vue.computed)(() => {
|
|
249
257
|
return Object.assign({}, (0, _ui.getConfig)().datePicker.shortcutConfig, props.shortcutConfig);
|
|
250
258
|
});
|
|
@@ -583,11 +591,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
583
591
|
};
|
|
584
592
|
// 弹出面板
|
|
585
593
|
const updateZindex = () => {
|
|
586
|
-
const
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
reactData.panelIndex = zIndex;
|
|
594
|
+
const popupOpts = computePopupOpts.value;
|
|
595
|
+
const customZIndex = popupOpts.zIndex || props.zIndex;
|
|
596
|
+
if (customZIndex) {
|
|
597
|
+
reactData.panelIndex = _xeUtils.default.toNumber(customZIndex);
|
|
591
598
|
} else if (reactData.panelIndex < (0, _utils.getLastZIndex)()) {
|
|
592
599
|
reactData.panelIndex = (0, _utils.nextZIndex)();
|
|
593
600
|
}
|
|
@@ -602,9 +609,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
602
609
|
const targetElem = refInputTarget.value;
|
|
603
610
|
const panelElem = refInputPanel.value;
|
|
604
611
|
const btnTransfer = computeBtnTransfer.value;
|
|
612
|
+
const popupOpts = computePopupOpts.value;
|
|
605
613
|
const handleStyle = () => {
|
|
606
614
|
const ppObj = (0, _dom.updatePanelPlacement)(targetElem, panelElem, {
|
|
607
|
-
placement,
|
|
615
|
+
placement: popupOpts.placement || placement,
|
|
608
616
|
teleportTo: btnTransfer
|
|
609
617
|
});
|
|
610
618
|
const panelStyle = Object.assign(ppObj.style, {
|
|
@@ -793,6 +801,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
793
801
|
const isClearable = computeIsClearable.value;
|
|
794
802
|
const isDateTimeType = computeIsDateTimeType.value;
|
|
795
803
|
const shortcutList = computeShortcutList.value;
|
|
804
|
+
const popupOpts = computePopupOpts.value;
|
|
796
805
|
const {
|
|
797
806
|
position
|
|
798
807
|
} = shortcutOpts;
|
|
@@ -802,6 +811,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
802
811
|
const bottomSlot = slots.bottom;
|
|
803
812
|
const leftSlot = slots.left;
|
|
804
813
|
const rightSlot = slots.right;
|
|
814
|
+
const ppClassName = popupOpts.className;
|
|
805
815
|
const hasShortcutBtn = shortcutList.length > 0;
|
|
806
816
|
const showConfirmBtn = showConfirmButton === null ? isDateTimeType || multiple : showConfirmButton;
|
|
807
817
|
const showClearBtn = showClearButton === null ? isClearable && showConfirmBtn && type !== 'time' : showClearButton;
|
|
@@ -810,7 +820,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
810
820
|
disabled: btnTransfer ? !initialized : true
|
|
811
821
|
}, [(0, _vue.h)('div', {
|
|
812
822
|
ref: refInputPanel,
|
|
813
|
-
class: ['vxe-table--ignore-clear vxe-date-picker--panel', `type--${type}`, {
|
|
823
|
+
class: ['vxe-table--ignore-clear vxe-date-picker--panel', `type--${type}`, ppClassName ? _xeUtils.default.isFunction(ppClassName) ? ppClassName({
|
|
824
|
+
$datePicker: $xeDatePicker
|
|
825
|
+
}) : ppClassName : '', {
|
|
814
826
|
[`size--${vSize}`]: vSize,
|
|
815
827
|
'is--transfer': btnTransfer,
|
|
816
828
|
'ani--leave': isAniVisible,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn"),_util=require("../../date-panel/src/util"),_log=require("../../ui/src/log"),_datePanel=_interopRequireDefault(require("../../date-panel/src/date-panel")),_button=_interopRequireDefault(require("../../button/src/button")),_buttonGroup=_interopRequireDefault(require("../../button/src/button-group"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeDatePicker",props:{modelValue:[String,Number,Date],immediate:{type:Boolean,default:!0},name:String,type:{type:String,default:"date"},clearable:{type:Boolean,default:()=>(0,_ui.getConfig)().datePicker.clearable},readonly:{type:Boolean,default:null},disabled:{type:Boolean,default:null},placeholder:String,autoComplete:{type:String,default:"off"},form:String,className:String,zIndex:Number,size:{type:String,default:()=>(0,_ui.getConfig)().datePicker.size||(0,_ui.getConfig)().size},multiple:Boolean,limitCount:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePicker.limitCount},startDate:{type:[String,Number,Date],default:()=>(0,_ui.getConfig)().datePicker.startDate},endDate:{type:[String,Number,Date],default:()=>(0,_ui.getConfig)().datePicker.endDate},defaultDate:[String,Number,Date],defaultTime:[String,Number,Date],minDate:[String,Number,Date],maxDate:[String,Number,Date],startDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePicker.startDay},labelFormat:String,valueFormat:String,timeFormat:String,editable:{type:Boolean,default:!0},festivalMethod:{type:Function,default:()=>(0,_ui.getConfig)().datePicker.festivalMethod},disabledMethod:{type:Function,default:()=>(0,_ui.getConfig)().datePicker.disabledMethod},selectDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePicker.selectDay},showClearButton:{type:Boolean,default:()=>(0,_ui.getConfig)().datePicker.showClearButton},showConfirmButton:{type:Boolean,default:()=>(0,_ui.getConfig)().datePicker.showConfirmButton},autoClose:{type:Boolean,default:()=>(0,_ui.getConfig)().datePicker.autoClose},prefixIcon:String,suffixIcon:String,placement:String,transfer:{type:Boolean,default:null},shortcutConfig:Object,startWeek:Number},emits:["update:modelValue","input","change","keydown","keyup","click","focus","blur","clear","confirm","prefix-click","suffix-click","date-prev","date-today","date-next","shortcut-click"],setup(k,e){const{slots:C,emit:n}=e,d=(0,_vue.inject)("$xeModal",null),g=(0,_vue.inject)("$xeDrawer",null),b=(0,_vue.inject)("$xeTable",null),o=(0,_vue.inject)("$xeForm",null),v=(0,_vue.inject)("xeFormItemInfo",null);var t=_xeUtils.default.uniqueId();const D=(0,_ui.useSize)(k)["computeSize"],E=(0,_vue.reactive)({initialized:!1,panelIndex:0,visiblePanel:!1,isAniVisible:!1,panelStyle:{},panelPlacement:"",isActivated:!1,inputValue:"",inputLabel:""}),a={hpTimeout:void 0},h=(0,_vue.ref)(),y=(0,_vue.ref)(),P=(0,_vue.ref)(),V=(0,_vue.ref)(),w=(0,_vue.ref)(),L={refElem:h,refInput:y},S={xID:t,props:k,context:e,reactData:E,internalData:a,getRefMaps:()=>L},T=(0,_vue.computed)(()=>{var e=k["transfer"];if(null===e){var t=(0,_ui.getConfig)().datePicker.transfer;if(_xeUtils.default.isBoolean(t))return t;if(b||d||g||o)return!0}return e}),x=(0,_vue.computed)(()=>{var e=k["readonly"];return null===e?!!o&&o.props.readonly:e}),I=(0,_vue.computed)(()=>{var e=k["disabled"];return null===e?!!o&&o.props.disabled:e}),N=(0,_vue.computed)(()=>{var e=k["type"];return"time"===e||"datetime"===e}),l=(0,_vue.computed)(()=>{return N.value||-1<["date","week","month","quarter","year"].indexOf(k.type)}),A=(0,_vue.computed)(()=>k.clearable),j=(0,_vue.computed)(()=>{var{type:e,editable:t,multiple:a}=k;return x.value||a||!t||"week"===e||"quarter"===e}),U=(0,_vue.computed)(()=>{var e=k["placeholder"];return(e=e||(0,_ui.getConfig)().datePicker.placeholder)?(0,_utils.getFuncText)(e):(0,_ui.getI18n)("vxe.base.pleaseSelect")}),i=(0,_vue.computed)(()=>{var e=k["immediate"];return e}),F=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().datePicker.shortcutConfig,k.shortcutConfig)),B=(0,_vue.computed)(()=>{var e=F.value["options"];return e?e.map((e,t)=>Object.assign({name:""+(e.name||e.code||t)},e)):[]}),$=(0,_vue.computed)(()=>{var e=k["labelFormat"];return e||(0,_ui.getI18n)("vxe.input.date.labelFormat."+k.type)}),c=(0,_vue.computed)(()=>{var{type:e,valueFormat:t}=k;return(0,_util.handleValueFormat)(e,t)}),p=(0,_vue.computed)(()=>{var e=k["startDay"];return _xeUtils.default.toNumber(e)}),q=(0,_vue.computed)(()=>{const{type:t,multiple:e}=k;var a=E["inputValue"];const l=$.value,i=c.value,u=p.value;return(a?e?a.split(","):[a]:[]).map(e=>{return(0,_util.parseDateObj)(e,t,{valueFormat:i,labelFormat:l,firstDay:u}).label}).join(", ")}),u=()=>{var e=k["modelValue"];let t="";e&&(t=_xeUtils.default.isNumber(e)&&/^[0-9]{11,15}$/.test(""+e)?new Date(e):e),E.inputValue=t},r=e=>{var t=E["inputValue"];f(e.type,{value:t},e)},m=(e,t)=>{var a,{type:l,modelValue:i,valueFormat:u}=k,r=c.value;E.inputValue=e,(0,_util.hasTimestampValueType)(u)?(a=(a=(0,_util.parseDateValue)(e,l,{valueFormat:r}))?a.getTime():null,n("update:modelValue",a),i!==a&&(f("change",{value:a},t),o)&&v&&o.triggerItemEvent(t,v.itemConfig.field,a)):(0,_util.hasDateValueType)(u)?(a=(0,_util.parseDateValue)(e,l,{valueFormat:r}),n("update:modelValue",a),(i&&a?_xeUtils.default.toStringDate(i).getTime()!==a.getTime():i!==a)&&(f("change",{value:a},t),o)&&v&&o.triggerItemEvent(t,v.itemConfig.field,a)):(n("update:modelValue",e),_xeUtils.default.toValueString(i)!==e&&(f("change",{value:e},t),o)&&v&&o.triggerItemEvent(t,v.itemConfig.field,e))},O=e=>{var t=e.target.value;E.inputLabel=t,f("input",{value:t},e)},R=e=>{i.value||r(e)},K=e=>{E.isActivated=!0,l.value&&re(e),r(e)},G=e=>{var t;I.value||(t=E["inputValue"],f("prefix-click",{value:t},e))},_=()=>new Promise(e=>{E.visiblePanel=!1,a.hpTimeout=setTimeout(()=>{E.isAniVisible=!1,e()},350)}),z=(e,t)=>{l.value&&_(),m("",e),f("clear",{value:t},e)},Y=e=>{var t;I.value||(t=E["inputValue"],f("suffix-click",{value:t},e))},Z=e=>{var t=w.value,a=E["inputValue"];i.value||m(a,e),E.visiblePanel||(E.isActivated=!1,t&&t.checkValue(E.inputLabel)),f("blur",{value:a},e),o&&v&&o.triggerItemEvent(e,v.itemConfig.field,a)},W=e=>{r(e)},H=e=>{r(e)},J=e=>{var t=w.value;t&&t.confirmByEvent(e),_()},Q=e=>{var{multiple:t,autoClose:a}=k,{value:e,$event:l}=e,i=N.value;m(e,l),t||i||a&&_()},X=e=>{f("confirm",e,e.$event)},ee=e=>{var t=w.value,{visiblePanel:a,isActivated:l}=E,i=h.value,u=V.value;!I.value&&l&&(E.isActivated=(0,_dom.getEventTargetNode)(e,i).flag||(0,_dom.getEventTargetNode)(e,u).flag,E.isActivated||a&&(_(),t)&&t.checkValue(E.inputLabel))},te=e=>{var t,a=E["visiblePanel"];I.value||(t=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.TAB),e=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ESCAPE),t&&(E.isActivated=!1),a&&(e||t)&&_())},ae=e=>{var t=E["visiblePanel"];I.value||t&&(t=V.value,((0,_dom.getEventTargetNode)(e,t).flag?s:_)())},le=()=>{var e=w.value,{isActivated:t,visiblePanel:a}=E;a&&_(),t&&(E.isActivated=!1),(a||t)&&(e&&e.checkValue(E.inputLabel),a=y.value)&&a.blur()},ie=()=>{var e=E["visiblePanel"];e&&s()},s=()=>{const a=k["placement"],l=E["panelIndex"],i=y.value,u=P.value,r=T.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(i,u,{placement:a,teleportTo:r}),t=Object.assign(e.style,{zIndex:l});E.panelStyle=t,E.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},ue=()=>{var e=E["visiblePanel"];return(I.value||e?(0,_vue.nextTick):(E.initialized||(E.initialized=!0),a.hpTimeout&&(clearTimeout(a.hpTimeout),a.hpTimeout=void 0),E.isActivated=!0,E.isAniVisible=!0,setTimeout(()=>{E.visiblePanel=!0},10),(e=k.zIndex)?E.panelIndex=e:E.panelIndex<(0,_utils.getLastZIndex)()&&(E.panelIndex=(0,_utils.nextZIndex)()),s))()},re=e=>{x.value||(e.preventDefault(),ue())},ne=e=>{r(e)},oe=({option:e,$event:t})=>{var a=k["type"],l=E["inputValue"],i=F.value,u=i["autoClose"],{code:r,clickMethod:n}=e,o=l,v={$datePicker:S,option:e,value:o,code:r};if(!n&&r){l=_ui.commands.get(r),e=l?l.datePickerCommandMethod:null;if(e)e(v);else{var s=c.value,d=p.value;switch(r){case"now":case"prev":case"next":case"minus":case"plus":o=(0,_util.getDateByCode)(r,o,a,{valueFormat:s,firstDay:d}).value;v.value=o,m(o,t);break;default:(0,_log.errLog)("vxe.error.notCommands",["[date-picker] "+r])}}}else{l=n||i.clickMethod;l&&l(v)}u&&_(),f("shortcut-click",v,t)},f=(e,t,a)=>{n(e,(0,_ui.createEvent)(a,{$datePicker:S},t))};t={dispatchEvent:f,setModelValue(e){E.inputValue=e,n("update:modelValue",e)},setModelValueByEvent(e,t){m(t||"",e)},focus(){var e=y.value;return E.isActivated=!0,e.focus(),(0,_vue.nextTick)()},blur(){return y.value.blur(),(E.isActivated=!1,_vue.nextTick)()},select(){return y.value.select(),(E.isActivated=!1,_vue.nextTick)()},showPanel:ue,hidePanel:_,updatePlacement:s};Object.assign(S,t);const M=(e,t)=>{var a=F.value,{position:l,align:i,mode:u}=a,r=B.value;return(0,_utils.isEnableConf)(a)&&r.length&&(l||"left")===e?(0,_vue.h)("div",{class:`vxe-date-picker--layout-${e}-wrapper`},[(0,_vue.h)(_buttonGroup.default,{options:r,mode:u,align:i,vertical:t,onClick:oe})]):(0,_ui.renderEmptyElement)(S)},ve=()=>(0,_vue.h)("div",{class:"vxe-date-picker--control-icon",onClick:re},[(0,_vue.h)("i",{class:["vxe-date-picker--date-picker-icon",(0,_ui.getIcon)().DATE_PICKER_DATE]})]);return(0,_vue.watch)(q,e=>{E.inputLabel=e}),(0,_vue.watch)(()=>k.modelValue,()=>{u()}),(0,_vue.nextTick)(()=>{_ui.globalEvents.on(S,"mousewheel",ae),_ui.globalEvents.on(S,"mousedown",ee),_ui.globalEvents.on(S,"keydown",te),_ui.globalEvents.on(S,"blur",le),_ui.globalEvents.on(S,"resize",ie)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(S,"mousewheel"),_ui.globalEvents.off(S,"mousedown"),_ui.globalEvents.off(S,"blur"),_ui.globalEvents.off(S,"resize")}),u(),(0,_vue.provide)("$xeDatePicker",S),S.renderVN=()=>{var e,t,a,l,i,u,r,{className:n,type:o,name:v,autoComplete:s}=k,{inputValue:d,inputLabel:c,visiblePanel:p,isActivated:m}=E,_=D.value,f=I.value,g=x.value,b=q.value;return g?(0,_vue.h)("div",{ref:h,class:["vxe-date-picker--readonly","type--"+o,n]},b):(g=j.value,b=U.value,e=A.value,a=k.prefixIcon,t=(t=C.prefix)||a?(0,_vue.h)("div",{class:"vxe-date-picker--prefix",onClick:G},[(0,_vue.h)("div",{class:"vxe-date-picker--prefix-icon"},t?(0,_vn.getSlotVNs)(t({})):[(0,_vue.h)("i",{class:a})])]):null,a=k.suffixIcon,l=E.inputValue,i=C.suffix,u=I.value,r=A.value,u=(0,_vue.h)("div",{class:["vxe-date-picker--suffix",{"is--clear":r&&!u&&!(""===l||_xeUtils.default.eqNull(l))}]},[r?(0,_vue.h)("div",{class:"vxe-date-picker--clear-icon",onClick:z},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().INPUT_CLEAR})]):(0,_ui.renderEmptyElement)(S),ve(),i||a?(0,_vue.h)("div",{class:"vxe-date-picker--suffix-icon",onClick:Y},i?(0,_vn.getSlotVNs)(i({})):[(0,_vue.h)("i",{class:a})]):(0,_ui.renderEmptyElement)(S)]),(0,_vue.h)("div",{ref:h,class:["vxe-date-picker","type--"+o,n,{["size--"+_]:_,"is--prefix":!!t,"is--suffix":!!u,"is--visible":p,"is--disabled":f,"is--active":m,"show--clear":e&&!f&&!(""===d||_xeUtils.default.eqNull(d))}],spellcheck:!1},[t||(0,_ui.renderEmptyElement)(S),(0,_vue.h)("div",{class:"vxe-date-picker--wrapper"},[(0,_vue.h)("input",{ref:y,class:"vxe-date-picker--inner",value:c,name:v,type:"text",placeholder:b,readonly:g,disabled:f,autocomplete:s,onKeydown:W,onKeyup:H,onClick:ne,onInput:O,onChange:R,onFocus:K,onBlur:Z})]),u||(0,_ui.renderEmptyElement)(S),(()=>{var{type:e,multiple:t,showClearButton:a,showConfirmButton:l}=k,{initialized:i,isAniVisible:u,visiblePanel:r,panelPlacement:n,panelStyle:o,inputValue:v}=E,s=D.value,d=T.value,c=F.value,p=A.value,m=N.value,_=B.value,c=c["position"],f=C.header,g=C.footer,b=C.top,h=C.bottom,y=C.left,x=C.right,_=0<_.length,m=null===l?m||t:l,t=null===a?p&&m&&"time"!==e:a;return(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!d||!i},[(0,_vue.h)("div",{ref:P,class:["vxe-table--ignore-clear vxe-date-picker--panel","type--"+e,{["size--"+s]:s,"is--transfer":d,"ani--leave":u,"ani--enter":r,"show--top":!!(b||f||_&&("top"===c||"header"===c)),"show--bottom":!!(h||g||_&&("bottom"===c||"footer"===c)),"show--left":!!(y||_&&"left"===c),"show--right":!!(x||_&&"right"===c)}],placement:n,style:o},i&&(r||u)?[(0,_vue.h)("div",{ref:V,class:["vxe-date-picker--layout-all-wrapper","type--"+e,{["size--"+s]:s}]},[b?(0,_vue.h)("div",{class:"vxe-date-picker--layout-top-wrapper"},b({})):M("top"),(0,_vue.h)("div",{class:"vxe-date-picker--layout-body-layout-wrapper"},[y?(0,_vue.h)("div",{class:"vxe-date-picker--layout-left-wrapper"},y({})):M("left",!0),(0,_vue.h)("div",{class:"vxe-date-picker--layout-body-content-wrapper"},[f?(0,_vue.h)("div",{class:"vxe-date-picker--layout-header-wrapper"},f({})):M("header"),(0,_vue.h)("div",{class:"vxe-date-picker--layout-body-wrapper"},[(0,_vue.h)(_datePanel.default,{ref:w,modelValue:E.inputValue,type:k.type,className:k.className,multiple:k.multiple,limitCount:k.limitCount,startDate:k.startDate,endDate:k.endDate,defaultDate:k.defaultDate,defaultTime:k.defaultTime,minDate:k.minDate,maxDate:k.maxDate,startDay:k.startDay,labelFormat:k.labelFormat,valueFormat:k.valueFormat,timeFormat:k.timeFormat,festivalMethod:k.festivalMethod,disabledMethod:k.disabledMethod,selectDay:k.selectDay,onChange:Q,onConfirm:X})]),(0,_vue.h)("div",{class:"vxe-date-picker--layout-footer-wrapper"},[(0,_vue.h)("div",{class:"vxe-date-picker--layout-footer-custom"},g?g({}):[M("footer")]),t||m?(0,_vue.h)("div",{class:"vxe-date-picker--layout-footer-btns"},[t?(0,_vue.h)(_button.default,{size:"mini",disabled:""===v||_xeUtils.default.eqNull(v),content:(0,_ui.getI18n)("vxe.button.clear"),onClick:z}):(0,_ui.renderEmptyElement)(S),m?(0,_vue.h)(_button.default,{size:"mini",status:"primary",content:(0,_ui.getI18n)("vxe.button.confirm"),onClick:J}):(0,_ui.renderEmptyElement)(S)]):(0,_ui.renderEmptyElement)(S)])]),x?(0,_vue.h)("div",{class:"vxe-date-picker--layout-right-wrapper"},x({})):M("right",!0)]),h?(0,_vue.h)("div",{class:"vxe-date-picker--layout-bottom-wrapper"},h({})):M("bottom")])]:[])])})()]))},S},render(){return this.renderVN()}});
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn"),_util=require("../../date-panel/src/util"),_log=require("../../ui/src/log"),_datePanel=_interopRequireDefault(require("../../date-panel/src/date-panel")),_button=_interopRequireDefault(require("../../button/src/button")),_buttonGroup=_interopRequireDefault(require("../../button/src/button-group"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeDatePicker",props:{modelValue:[String,Number,Date],immediate:{type:Boolean,default:!0},name:String,type:{type:String,default:"date"},clearable:{type:Boolean,default:()=>(0,_ui.getConfig)().datePicker.clearable},readonly:{type:Boolean,default:null},disabled:{type:Boolean,default:null},placeholder:String,autoComplete:{type:String,default:"off"},form:String,className:String,zIndex:Number,size:{type:String,default:()=>(0,_ui.getConfig)().datePicker.size||(0,_ui.getConfig)().size},multiple:Boolean,limitCount:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePicker.limitCount},startDate:{type:[String,Number,Date],default:()=>(0,_ui.getConfig)().datePicker.startDate},endDate:{type:[String,Number,Date],default:()=>(0,_ui.getConfig)().datePicker.endDate},defaultDate:[String,Number,Date],defaultTime:[String,Number,Date],minDate:[String,Number,Date],maxDate:[String,Number,Date],startDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePicker.startDay},labelFormat:String,valueFormat:String,timeFormat:String,editable:{type:Boolean,default:!0},festivalMethod:{type:Function,default:()=>(0,_ui.getConfig)().datePicker.festivalMethod},disabledMethod:{type:Function,default:()=>(0,_ui.getConfig)().datePicker.disabledMethod},selectDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePicker.selectDay},showClearButton:{type:Boolean,default:()=>(0,_ui.getConfig)().datePicker.showClearButton},showConfirmButton:{type:Boolean,default:()=>(0,_ui.getConfig)().datePicker.showConfirmButton},autoClose:{type:Boolean,default:()=>(0,_ui.getConfig)().datePicker.autoClose},prefixIcon:String,suffixIcon:String,placement:String,transfer:{type:Boolean,default:null},popupConfig:Object,shortcutConfig:Object,startWeek:Number},emits:["update:modelValue","input","change","keydown","keyup","click","focus","blur","clear","confirm","prefix-click","suffix-click","date-prev","date-today","date-next","shortcut-click"],setup(C,e){const{slots:D,emit:n}=e,d=(0,_vue.inject)("$xeModal",null),g=(0,_vue.inject)("$xeDrawer",null),b=(0,_vue.inject)("$xeTable",null),o=(0,_vue.inject)("$xeForm",null),v=(0,_vue.inject)("xeFormItemInfo",null);var t=_xeUtils.default.uniqueId();const E=(0,_ui.useSize)(C)["computeSize"],P=(0,_vue.reactive)({initialized:!1,panelIndex:0,visiblePanel:!1,isAniVisible:!1,panelStyle:{},panelPlacement:"",isActivated:!1,inputValue:"",inputLabel:""}),a={hpTimeout:void 0},h=(0,_vue.ref)(),y=(0,_vue.ref)(),V=(0,_vue.ref)(),w=(0,_vue.ref)(),S=(0,_vue.ref)(),j={refElem:h,refInput:y},T={xID:t,props:C,context:e,reactData:P,internalData:a,getRefMaps:()=>j},I=(0,_vue.computed)(()=>{var e=C["transfer"],t=A.value;if(_xeUtils.default.isBoolean(t.transfer))return t.transfer;if(null===e){t=(0,_ui.getConfig)().datePicker.transfer;if(_xeUtils.default.isBoolean(t))return t;if(b||d||g||o)return!0}return e}),x=(0,_vue.computed)(()=>{var e=C["readonly"];return null===e?!!o&&o.props.readonly:e}),k=(0,_vue.computed)(()=>{var e=C["disabled"];return null===e?!!o&&o.props.disabled:e}),N=(0,_vue.computed)(()=>{var e=C["type"];return"time"===e||"datetime"===e}),l=(0,_vue.computed)(()=>{return N.value||-1<["date","week","month","quarter","year"].indexOf(C.type)}),F=(0,_vue.computed)(()=>C.clearable),U=(0,_vue.computed)(()=>{var{type:e,editable:t,multiple:a}=C;return x.value||a||!t||"week"===e||"quarter"===e}),L=(0,_vue.computed)(()=>{var e=C["placeholder"];return(e=e||(0,_ui.getConfig)().datePicker.placeholder)?(0,_utils.getFuncText)(e):(0,_ui.getI18n)("vxe.base.pleaseSelect")}),i=(0,_vue.computed)(()=>{var e=C["immediate"];return e}),A=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().datePicker.popupConfig,C.popupConfig)),B=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().datePicker.shortcutConfig,C.shortcutConfig)),q=(0,_vue.computed)(()=>{var e=B.value["options"];return e?e.map((e,t)=>Object.assign({name:""+(e.name||e.code||t)},e)):[]}),$=(0,_vue.computed)(()=>{var e=C["labelFormat"];return e||(0,_ui.getI18n)("vxe.input.date.labelFormat."+C.type)}),c=(0,_vue.computed)(()=>{var{type:e,valueFormat:t}=C;return(0,_util.handleValueFormat)(e,t)}),p=(0,_vue.computed)(()=>{var e=C["startDay"];return _xeUtils.default.toNumber(e)}),z=(0,_vue.computed)(()=>{const{type:t,multiple:e}=C;var a=P["inputValue"];const l=$.value,i=c.value,u=p.value;return(a?e?a.split(","):[a]:[]).map(e=>{return(0,_util.parseDateObj)(e,t,{valueFormat:i,labelFormat:l,firstDay:u}).label}).join(", ")}),u=()=>{var e=C["modelValue"];let t="";e&&(t=_xeUtils.default.isNumber(e)&&/^[0-9]{11,15}$/.test(""+e)?new Date(e):e),P.inputValue=t},r=e=>{var t=P["inputValue"];_(e.type,{value:t},e)},m=(e,t)=>{var a,{type:l,modelValue:i,valueFormat:u}=C,r=c.value;P.inputValue=e,(0,_util.hasTimestampValueType)(u)?(a=(a=(0,_util.parseDateValue)(e,l,{valueFormat:r}))?a.getTime():null,n("update:modelValue",a),i!==a&&(_("change",{value:a},t),o)&&v&&o.triggerItemEvent(t,v.itemConfig.field,a)):(0,_util.hasDateValueType)(u)?(a=(0,_util.parseDateValue)(e,l,{valueFormat:r}),n("update:modelValue",a),(i&&a?_xeUtils.default.toStringDate(i).getTime()!==a.getTime():i!==a)&&(_("change",{value:a},t),o)&&v&&o.triggerItemEvent(t,v.itemConfig.field,a)):(n("update:modelValue",e),_xeUtils.default.toValueString(i)!==e&&(_("change",{value:e},t),o)&&v&&o.triggerItemEvent(t,v.itemConfig.field,e))},O=e=>{var t=e.target.value;P.inputLabel=t,_("input",{value:t},e)},R=e=>{i.value||r(e)},K=e=>{P.isActivated=!0,l.value&&ne(e),r(e)},G=e=>{var t;k.value||(t=P["inputValue"],_("prefix-click",{value:t},e))},f=()=>new Promise(e=>{P.visiblePanel=!1,a.hpTimeout=setTimeout(()=>{P.isAniVisible=!1,e()},350)}),Y=(e,t)=>{l.value&&f(),m("",e),_("clear",{value:t},e)},Z=e=>{var t;k.value||(t=P["inputValue"],_("suffix-click",{value:t},e))},W=e=>{var t=S.value,a=P["inputValue"];i.value||m(a,e),P.visiblePanel||(P.isActivated=!1,t&&t.checkValue(P.inputLabel)),_("blur",{value:a},e),o&&v&&o.triggerItemEvent(e,v.itemConfig.field,a)},H=e=>{r(e)},J=e=>{r(e)},Q=e=>{var t=S.value;t&&t.confirmByEvent(e),f()},X=e=>{var{multiple:t,autoClose:a}=C,{value:e,$event:l}=e,i=N.value;m(e,l),t||i||a&&f()},ee=e=>{_("confirm",e,e.$event)},te=e=>{var t=S.value,{visiblePanel:a,isActivated:l}=P,i=h.value,u=w.value;!k.value&&l&&(P.isActivated=(0,_dom.getEventTargetNode)(e,i).flag||(0,_dom.getEventTargetNode)(e,u).flag,P.isActivated||a&&(f(),t)&&t.checkValue(P.inputLabel))},ae=e=>{var t,a=P["visiblePanel"];k.value||(t=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.TAB),e=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ESCAPE),t&&(P.isActivated=!1),a&&(e||t)&&f())},le=e=>{var t=P["visiblePanel"];k.value||t&&(t=w.value,((0,_dom.getEventTargetNode)(e,t).flag?s:f)())},ie=()=>{var e=S.value,{isActivated:t,visiblePanel:a}=P;a&&f(),t&&(P.isActivated=!1),(a||t)&&(e&&e.checkValue(P.inputLabel),a=y.value)&&a.blur()},ue=()=>{var e=P["visiblePanel"];e&&s()},s=()=>{const a=C["placement"],l=P["panelIndex"],i=y.value,u=V.value,r=I.value,n=A.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(i,u,{placement:n.placement||a,teleportTo:r}),t=Object.assign(e.style,{zIndex:l});P.panelStyle=t,P.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},re=()=>{var e=P["visiblePanel"];return(k.value||e?(0,_vue.nextTick):(P.initialized||(P.initialized=!0),a.hpTimeout&&(clearTimeout(a.hpTimeout),a.hpTimeout=void 0),P.isActivated=!0,P.isAniVisible=!0,setTimeout(()=>{P.visiblePanel=!0},10),(e=A.value.zIndex||C.zIndex)?P.panelIndex=_xeUtils.default.toNumber(e):P.panelIndex<(0,_utils.getLastZIndex)()&&(P.panelIndex=(0,_utils.nextZIndex)()),s))()},ne=e=>{x.value||(e.preventDefault(),re())},oe=e=>{r(e)},ve=({option:e,$event:t})=>{var a=C["type"],l=P["inputValue"],i=B.value,u=i["autoClose"],{code:r,clickMethod:n}=e,o=l,v={$datePicker:T,option:e,value:o,code:r};if(!n&&r){l=_ui.commands.get(r),e=l?l.datePickerCommandMethod:null;if(e)e(v);else{var s=c.value,d=p.value;switch(r){case"now":case"prev":case"next":case"minus":case"plus":o=(0,_util.getDateByCode)(r,o,a,{valueFormat:s,firstDay:d}).value;v.value=o,m(o,t);break;default:(0,_log.errLog)("vxe.error.notCommands",["[date-picker] "+r])}}}else{l=n||i.clickMethod;l&&l(v)}u&&f(),_("shortcut-click",v,t)},_=(e,t,a)=>{n(e,(0,_ui.createEvent)(a,{$datePicker:T},t))};t={dispatchEvent:_,setModelValue(e){P.inputValue=e,n("update:modelValue",e)},setModelValueByEvent(e,t){m(t||"",e)},focus(){var e=y.value;return P.isActivated=!0,e.focus(),(0,_vue.nextTick)()},blur(){return y.value.blur(),(P.isActivated=!1,_vue.nextTick)()},select(){return y.value.select(),(P.isActivated=!1,_vue.nextTick)()},showPanel:re,hidePanel:f,updatePlacement:s};Object.assign(T,t);const M=(e,t)=>{var a=B.value,{position:l,align:i,mode:u}=a,r=q.value;return(0,_utils.isEnableConf)(a)&&r.length&&(l||"left")===e?(0,_vue.h)("div",{class:`vxe-date-picker--layout-${e}-wrapper`},[(0,_vue.h)(_buttonGroup.default,{options:r,mode:u,align:i,vertical:t,onClick:ve})]):(0,_ui.renderEmptyElement)(T)},se=()=>(0,_vue.h)("div",{class:"vxe-date-picker--control-icon",onClick:ne},[(0,_vue.h)("i",{class:["vxe-date-picker--date-picker-icon",(0,_ui.getIcon)().DATE_PICKER_DATE]})]);return(0,_vue.watch)(z,e=>{P.inputLabel=e}),(0,_vue.watch)(()=>C.modelValue,()=>{u()}),(0,_vue.nextTick)(()=>{_ui.globalEvents.on(T,"mousewheel",le),_ui.globalEvents.on(T,"mousedown",te),_ui.globalEvents.on(T,"keydown",ae),_ui.globalEvents.on(T,"blur",ie),_ui.globalEvents.on(T,"resize",ue)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(T,"mousewheel"),_ui.globalEvents.off(T,"mousedown"),_ui.globalEvents.off(T,"blur"),_ui.globalEvents.off(T,"resize")}),u(),(0,_vue.provide)("$xeDatePicker",T),T.renderVN=()=>{var e,t,a,l,i,u,r,{className:n,type:o,name:v,autoComplete:s}=C,{inputValue:d,inputLabel:c,visiblePanel:p,isActivated:m}=P,f=E.value,_=k.value,g=x.value,b=z.value;return g?(0,_vue.h)("div",{ref:h,class:["vxe-date-picker--readonly","type--"+o,n]},b):(g=U.value,b=L.value,e=F.value,a=C.prefixIcon,t=(t=D.prefix)||a?(0,_vue.h)("div",{class:"vxe-date-picker--prefix",onClick:G},[(0,_vue.h)("div",{class:"vxe-date-picker--prefix-icon"},t?(0,_vn.getSlotVNs)(t({})):[(0,_vue.h)("i",{class:a})])]):null,a=C.suffixIcon,l=P.inputValue,i=D.suffix,u=k.value,r=F.value,u=(0,_vue.h)("div",{class:["vxe-date-picker--suffix",{"is--clear":r&&!u&&!(""===l||_xeUtils.default.eqNull(l))}]},[r?(0,_vue.h)("div",{class:"vxe-date-picker--clear-icon",onClick:Y},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().INPUT_CLEAR})]):(0,_ui.renderEmptyElement)(T),se(),i||a?(0,_vue.h)("div",{class:"vxe-date-picker--suffix-icon",onClick:Z},i?(0,_vn.getSlotVNs)(i({})):[(0,_vue.h)("i",{class:a})]):(0,_ui.renderEmptyElement)(T)]),(0,_vue.h)("div",{ref:h,class:["vxe-date-picker","type--"+o,n,{["size--"+f]:f,"is--prefix":!!t,"is--suffix":!!u,"is--visible":p,"is--disabled":_,"is--active":m,"show--clear":e&&!_&&!(""===d||_xeUtils.default.eqNull(d))}],spellcheck:!1},[t||(0,_ui.renderEmptyElement)(T),(0,_vue.h)("div",{class:"vxe-date-picker--wrapper"},[(0,_vue.h)("input",{ref:y,class:"vxe-date-picker--inner",value:c,name:v,type:"text",placeholder:b,readonly:g,disabled:_,autocomplete:s,onKeydown:H,onKeyup:J,onClick:oe,onInput:O,onChange:R,onFocus:K,onBlur:W})]),u||(0,_ui.renderEmptyElement)(T),(()=>{var{type:e,multiple:t,showClearButton:a,showConfirmButton:l}=C,{initialized:i,isAniVisible:u,visiblePanel:r,panelPlacement:n,panelStyle:o,inputValue:v}=P,s=E.value,d=I.value,c=B.value,p=F.value,m=N.value,f=q.value,_=A.value,c=c["position"],g=D.header,b=D.footer,h=D.top,y=D.bottom,x=D.left,k=D.right,_=_.className,f=0<f.length,m=null===l?m||t:l,t=null===a?p&&m&&"time"!==e:a;return(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!d||!i},[(0,_vue.h)("div",{ref:V,class:["vxe-table--ignore-clear vxe-date-picker--panel","type--"+e,_?_xeUtils.default.isFunction(_)?_({$datePicker:T}):_:"",{["size--"+s]:s,"is--transfer":d,"ani--leave":u,"ani--enter":r,"show--top":!!(h||g||f&&("top"===c||"header"===c)),"show--bottom":!!(y||b||f&&("bottom"===c||"footer"===c)),"show--left":!!(x||f&&"left"===c),"show--right":!!(k||f&&"right"===c)}],placement:n,style:o},i&&(r||u)?[(0,_vue.h)("div",{ref:w,class:["vxe-date-picker--layout-all-wrapper","type--"+e,{["size--"+s]:s}]},[h?(0,_vue.h)("div",{class:"vxe-date-picker--layout-top-wrapper"},h({})):M("top"),(0,_vue.h)("div",{class:"vxe-date-picker--layout-body-layout-wrapper"},[x?(0,_vue.h)("div",{class:"vxe-date-picker--layout-left-wrapper"},x({})):M("left",!0),(0,_vue.h)("div",{class:"vxe-date-picker--layout-body-content-wrapper"},[g?(0,_vue.h)("div",{class:"vxe-date-picker--layout-header-wrapper"},g({})):M("header"),(0,_vue.h)("div",{class:"vxe-date-picker--layout-body-wrapper"},[(0,_vue.h)(_datePanel.default,{ref:S,modelValue:P.inputValue,type:C.type,className:C.className,multiple:C.multiple,limitCount:C.limitCount,startDate:C.startDate,endDate:C.endDate,defaultDate:C.defaultDate,defaultTime:C.defaultTime,minDate:C.minDate,maxDate:C.maxDate,startDay:C.startDay,labelFormat:C.labelFormat,valueFormat:C.valueFormat,timeFormat:C.timeFormat,festivalMethod:C.festivalMethod,disabledMethod:C.disabledMethod,selectDay:C.selectDay,onChange:X,onConfirm:ee})]),(0,_vue.h)("div",{class:"vxe-date-picker--layout-footer-wrapper"},[(0,_vue.h)("div",{class:"vxe-date-picker--layout-footer-custom"},b?b({}):[M("footer")]),t||m?(0,_vue.h)("div",{class:"vxe-date-picker--layout-footer-btns"},[t?(0,_vue.h)(_button.default,{size:"mini",disabled:""===v||_xeUtils.default.eqNull(v),content:(0,_ui.getI18n)("vxe.button.clear"),onClick:Y}):(0,_ui.renderEmptyElement)(T),m?(0,_vue.h)(_button.default,{size:"mini",status:"primary",content:(0,_ui.getI18n)("vxe.button.confirm"),onClick:Q}):(0,_ui.renderEmptyElement)(T)]):(0,_ui.renderEmptyElement)(T)])]),k?(0,_vue.h)("div",{class:"vxe-date-picker--layout-right-wrapper"},k({})):M("right",!0)]),y?(0,_vue.h)("div",{class:"vxe-date-picker--layout-bottom-wrapper"},y({})):M("bottom")])]:[])])})()]))},T},render(){return this.renderVN()}});
|
|
@@ -116,6 +116,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
116
116
|
type: Boolean,
|
|
117
117
|
default: null
|
|
118
118
|
},
|
|
119
|
+
popupConfig: Object,
|
|
119
120
|
shortcutConfig: Object
|
|
120
121
|
},
|
|
121
122
|
emits: ['update:modelValue', 'update:startValue', 'update:endValue', 'input', 'change', 'keydown', 'keyup', 'click', 'focus', 'blur', 'clear', 'confirm', 'prefix-click', 'suffix-click', 'date-prev', 'date-today', 'date-next', 'shortcut-click'],
|
|
@@ -171,6 +172,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
171
172
|
const {
|
|
172
173
|
transfer
|
|
173
174
|
} = props;
|
|
175
|
+
const popupOpts = computePopupOpts.value;
|
|
176
|
+
if (_xeUtils.default.isBoolean(popupOpts.transfer)) {
|
|
177
|
+
return popupOpts.transfer;
|
|
178
|
+
}
|
|
174
179
|
if (transfer === null) {
|
|
175
180
|
const globalTransfer = (0, _ui.getConfig)().dateRangePicker.transfer;
|
|
176
181
|
if (_xeUtils.default.isBoolean(globalTransfer)) {
|
|
@@ -274,6 +279,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
274
279
|
} = props;
|
|
275
280
|
return immediate;
|
|
276
281
|
});
|
|
282
|
+
const computePopupOpts = (0, _vue.computed)(() => {
|
|
283
|
+
return Object.assign({}, (0, _ui.getConfig)().dateRangePicker.popupConfig, props.popupConfig);
|
|
284
|
+
});
|
|
277
285
|
const computeShortcutOpts = (0, _vue.computed)(() => {
|
|
278
286
|
return Object.assign({}, (0, _ui.getConfig)().dateRangePicker.shortcutConfig, props.shortcutConfig);
|
|
279
287
|
});
|
|
@@ -771,11 +779,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
771
779
|
};
|
|
772
780
|
// 弹出面板
|
|
773
781
|
const updateZindex = () => {
|
|
774
|
-
const
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
reactData.panelIndex = zIndex;
|
|
782
|
+
const popupOpts = computePopupOpts.value;
|
|
783
|
+
const customZIndex = popupOpts.zIndex || props.zIndex;
|
|
784
|
+
if (customZIndex) {
|
|
785
|
+
reactData.panelIndex = _xeUtils.default.toNumber(customZIndex);
|
|
779
786
|
} else if (reactData.panelIndex < (0, _utils.getLastZIndex)()) {
|
|
780
787
|
reactData.panelIndex = (0, _utils.nextZIndex)();
|
|
781
788
|
}
|
|
@@ -790,9 +797,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
790
797
|
const targetElem = refInputTarget.value;
|
|
791
798
|
const panelElem = refInputPanel.value;
|
|
792
799
|
const btnTransfer = computeBtnTransfer.value;
|
|
800
|
+
const popupOpts = computePopupOpts.value;
|
|
793
801
|
const handleStyle = () => {
|
|
794
802
|
const ppObj = (0, _dom.updatePanelPlacement)(targetElem, panelElem, {
|
|
795
|
-
placement,
|
|
803
|
+
placement: popupOpts.placement || placement,
|
|
796
804
|
teleportTo: btnTransfer
|
|
797
805
|
});
|
|
798
806
|
const panelStyle = Object.assign(ppObj.style, {
|
|
@@ -996,6 +1004,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
996
1004
|
const isDateTimeType = computeIsDateTimeType.value;
|
|
997
1005
|
const defaultDates = computeDefaultDates.value;
|
|
998
1006
|
const defaultTimes = computeDefaultTimes.value;
|
|
1007
|
+
const popupOpts = computePopupOpts.value;
|
|
999
1008
|
const {
|
|
1000
1009
|
startLabel,
|
|
1001
1010
|
endLabel
|
|
@@ -1009,6 +1018,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1009
1018
|
const bottomSlot = slots.bottom;
|
|
1010
1019
|
const leftSlot = slots.left;
|
|
1011
1020
|
const rightSlot = slots.right;
|
|
1021
|
+
const ppClassName = popupOpts.className;
|
|
1012
1022
|
const [sdDate, edDate] = defaultDates;
|
|
1013
1023
|
const [sdTime, edTime] = defaultTimes;
|
|
1014
1024
|
const hasShortcutBtn = shortcutList.length > 0;
|
|
@@ -1019,7 +1029,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1019
1029
|
disabled: btnTransfer ? !initialized : true
|
|
1020
1030
|
}, [(0, _vue.h)('div', {
|
|
1021
1031
|
ref: refInputPanel,
|
|
1022
|
-
class: ['vxe-table--ignore-clear vxe-date-range-picker--panel', `type--${type}`, {
|
|
1032
|
+
class: ['vxe-table--ignore-clear vxe-date-range-picker--panel', `type--${type}`, ppClassName ? _xeUtils.default.isFunction(ppClassName) ? ppClassName({
|
|
1033
|
+
$dateRangePicker: $xeDateRangePicker
|
|
1034
|
+
}) : ppClassName : '', {
|
|
1023
1035
|
[`size--${vSize}`]: vSize,
|
|
1024
1036
|
'is--transfer': btnTransfer,
|
|
1025
1037
|
'ani--leave': isAniVisible,
|