vxe-pc-ui 4.6.7 → 4.6.9
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/alert/src/alert.js +5 -5
- package/es/anchor/src/anchor-link.js +3 -2
- package/es/anchor/src/anchor.js +3 -3
- package/es/breadcrumb/src/breadcrumb-item.js +3 -2
- package/es/button/src/button-group.js +3 -3
- package/es/button/src/button.js +5 -4
- package/es/card/src/card.js +7 -7
- package/es/carousel/src/carousel.js +3 -3
- package/es/countdown/src/countdown.js +4 -4
- package/es/form/src/form-group.js +5 -3
- package/es/form/src/form-item.js +6 -4
- package/es/form-design/src/default-setting-form.js +1 -1
- package/es/form-design/src/form-view.js +6 -6
- package/es/icon/style.css +1 -1
- package/es/icon-picker/src/icon-picker.js +4 -4
- package/es/image/src/group.js +3 -1
- package/es/image/src/image.js +3 -1
- package/es/image/src/preview.js +33 -19
- package/es/image/src/util.js +1 -0
- package/es/list-design/src/list-view.js +3 -3
- package/es/loading/src/loading.js +3 -3
- package/es/menu/src/menu.js +9 -9
- package/es/modal/src/modal.js +14 -14
- package/es/password-input/src/password-input.js +7 -7
- package/es/print/src/print.js +6 -6
- package/es/pulldown/src/pulldown.js +4 -4
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/switch/src/switch.js +4 -4
- package/es/tabs/src/tabs.js +9 -9
- package/es/tag/src/tag.js +3 -3
- package/es/tip/src/tip.js +5 -5
- package/es/tree/src/tree.js +7 -7
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/upload/src/upload.js +26 -26
- package/lib/alert/src/alert.js +3 -3
- package/lib/alert/src/alert.min.js +1 -1
- package/lib/anchor/src/anchor-link.js +2 -1
- package/lib/anchor/src/anchor-link.min.js +1 -1
- package/lib/anchor/src/anchor.js +3 -3
- package/lib/anchor/src/anchor.min.js +1 -1
- package/lib/breadcrumb/src/breadcrumb-item.js +2 -1
- package/lib/breadcrumb/src/breadcrumb-item.min.js +1 -1
- package/lib/button/src/button-group.js +6 -6
- package/lib/button/src/button-group.min.js +1 -1
- package/lib/button/src/button.js +2 -2
- package/lib/button/src/button.min.js +1 -1
- package/lib/card/src/card.js +4 -4
- package/lib/card/src/card.min.js +1 -1
- package/lib/carousel/src/carousel.js +1 -1
- package/lib/carousel/src/carousel.min.js +1 -1
- package/lib/countdown/src/countdown.js +2 -2
- package/lib/countdown/src/countdown.min.js +1 -1
- package/lib/form/src/form-group.js +3 -1
- package/lib/form/src/form-group.min.js +1 -1
- package/lib/form/src/form-item.js +4 -2
- package/lib/form/src/form-item.min.js +1 -1
- package/lib/form-design/src/default-setting-form.js +12 -12
- package/lib/form-design/src/default-setting-form.min.js +1 -1
- package/lib/form-design/src/form-view.js +4 -4
- package/lib/form-design/src/form-view.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 +2 -2
- package/lib/icon-picker/src/icon-picker.min.js +1 -1
- package/lib/image/src/group.js +3 -0
- package/lib/image/src/group.min.js +1 -1
- package/lib/image/src/image.js +3 -0
- package/lib/image/src/image.min.js +1 -1
- package/lib/image/src/preview.js +20 -8
- package/lib/image/src/preview.min.js +1 -1
- package/lib/image/src/util.js +1 -0
- package/lib/image/src/util.min.js +1 -1
- package/lib/index.umd.js +129 -104
- package/lib/index.umd.min.js +1 -1
- package/lib/list-design/src/list-view.js +1 -1
- package/lib/list-design/src/list-view.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/menu.js +6 -6
- package/lib/menu/src/menu.min.js +1 -1
- package/lib/modal/src/modal.js +10 -10
- package/lib/modal/src/modal.min.js +1 -1
- package/lib/password-input/src/password-input.js +4 -4
- package/lib/password-input/src/password-input.min.js +1 -1
- package/lib/print/src/print.js +4 -4
- package/lib/print/src/print.min.js +1 -1
- package/lib/pulldown/src/pulldown.js +2 -2
- package/lib/pulldown/src/pulldown.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/switch/src/switch.js +2 -2
- package/lib/switch/src/switch.min.js +1 -1
- package/lib/tabs/src/tabs.js +8 -8
- package/lib/tabs/src/tabs.min.js +1 -1
- package/lib/tag/src/tag.js +1 -1
- package/lib/tag/src/tag.min.js +1 -1
- package/lib/tip/src/tip.js +3 -3
- package/lib/tip/src/tip.min.js +1 -1
- package/lib/tree/src/tree.js +5 -5
- package/lib/tree/src/tree.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/lib/upload/src/upload.js +22 -22
- package/lib/upload/src/upload.min.js +1 -1
- package/package.json +1 -1
- package/packages/alert/src/alert.ts +5 -5
- package/packages/anchor/src/anchor-link.ts +3 -2
- package/packages/anchor/src/anchor.ts +3 -3
- package/packages/breadcrumb/src/breadcrumb-item.ts +3 -2
- package/packages/button/src/button-group.ts +3 -3
- package/packages/button/src/button.ts +5 -4
- package/packages/card/src/card.ts +7 -7
- package/packages/carousel/src/carousel.ts +3 -3
- package/packages/countdown/src/countdown.ts +4 -4
- package/packages/form/src/form-group.ts +7 -3
- package/packages/form/src/form-item.ts +7 -4
- package/packages/form-design/src/default-setting-form.ts +1 -1
- package/packages/form-design/src/form-view.ts +6 -6
- package/packages/icon-picker/src/icon-picker.ts +4 -4
- package/packages/image/src/group.ts +3 -1
- package/packages/image/src/image.ts +3 -1
- package/packages/image/src/preview.ts +37 -22
- package/packages/image/src/util.ts +1 -0
- package/packages/list-design/src/list-view.ts +3 -3
- package/packages/loading/src/loading.ts +3 -3
- package/packages/menu/src/menu.ts +9 -9
- package/packages/modal/src/modal.ts +14 -14
- package/packages/password-input/src/password-input.ts +7 -7
- package/packages/print/src/print.ts +6 -6
- package/packages/pulldown/src/pulldown.ts +5 -5
- package/packages/switch/src/switch.ts +4 -4
- package/packages/tabs/src/tabs.ts +9 -9
- package/packages/tag/src/tag.ts +3 -3
- package/packages/tip/src/tip.ts +5 -5
- package/packages/tree/src/tree.ts +7 -7
- package/packages/upload/src/upload.ts +26 -26
- package/types/components/button.d.ts +2 -1
- package/types/components/image-group.d.ts +3 -0
- package/types/components/image-preview.d.ts +32 -0
- package/types/components/image.d.ts +2 -0
- package/types/components/table-module/filter.d.ts +2 -7
- package/types/components/table.d.ts +10 -5
- /package/es/icon/{iconfont.1747176327959.ttf → iconfont.1747279440023.ttf} +0 -0
- /package/es/icon/{iconfont.1747176327959.woff → iconfont.1747279440023.woff} +0 -0
- /package/es/icon/{iconfont.1747176327959.woff2 → iconfont.1747279440023.woff2} +0 -0
- /package/es/{iconfont.1747176327959.ttf → iconfont.1747279440023.ttf} +0 -0
- /package/es/{iconfont.1747176327959.woff → iconfont.1747279440023.woff} +0 -0
- /package/es/{iconfont.1747176327959.woff2 → iconfont.1747279440023.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1747176327959.ttf → iconfont.1747279440023.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1747176327959.woff → iconfont.1747279440023.woff} +0 -0
- /package/lib/icon/style/{iconfont.1747176327959.woff2 → iconfont.1747279440023.woff2} +0 -0
- /package/lib/{iconfont.1747176327959.ttf → iconfont.1747279440023.ttf} +0 -0
- /package/lib/{iconfont.1747176327959.woff → iconfont.1747279440023.woff} +0 -0
- /package/lib/{iconfont.1747176327959.woff2 → iconfont.1747279440023.woff2} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { defineComponent, h, onUnmounted, inject, ref, provide, onMounted, PropType, reactive
|
|
1
|
+
import { defineComponent, h, onUnmounted, inject, ref, provide, onMounted, PropType, reactive } from 'vue'
|
|
2
2
|
import { createItem, watchItem, destroyItem, assembleItem, XEFormItemProvide } from './util'
|
|
3
|
-
import { renderer } from '../../ui'
|
|
3
|
+
import { renderer, renderEmptyElement } from '../../ui'
|
|
4
4
|
import { isEnableConf } from '../../ui/src/utils'
|
|
5
5
|
import { renderTitle, renderItemContent, getItemClass, getItemContentClass } from './render'
|
|
6
6
|
import XEUtils from 'xe-utils'
|
|
@@ -90,6 +90,8 @@ export default defineComponent({
|
|
|
90
90
|
name: 'VxeFormItem',
|
|
91
91
|
props: formItemProps,
|
|
92
92
|
setup (props, { slots }) {
|
|
93
|
+
const xID = XEUtils.uniqueId()
|
|
94
|
+
|
|
93
95
|
const refElem = ref<HTMLDivElement>()
|
|
94
96
|
const $xeForm = inject('$xeForm', {} as VxeFormConstructor & VxeFormPrivateMethods)
|
|
95
97
|
const $xeFormGroup = inject<XEFormItemProvide | null>('$xeFormGroup', null)
|
|
@@ -110,7 +112,7 @@ export default defineComponent({
|
|
|
110
112
|
const itemContentStyle = compConf ? (compConf.formItemContentStyle || compConf.itemContentStyle) : null
|
|
111
113
|
const params = { data, disabled, readonly, field, property: field, item, $form: $xeForm, $grid: $xeGrid }
|
|
112
114
|
if (visible === false) {
|
|
113
|
-
return
|
|
115
|
+
return renderEmptyElement($xeFormitem)
|
|
114
116
|
}
|
|
115
117
|
return h('div', {
|
|
116
118
|
ref: refElem,
|
|
@@ -120,7 +122,7 @@ export default defineComponent({
|
|
|
120
122
|
}, [
|
|
121
123
|
renderTitle($xeForm, item),
|
|
122
124
|
showContent === false
|
|
123
|
-
?
|
|
125
|
+
? renderEmptyElement($xeFormitem)
|
|
124
126
|
: h('div', {
|
|
125
127
|
class: getItemContentClass($xeForm, item),
|
|
126
128
|
style: Object.assign({}, XEUtils.isFunction(itemContentStyle) ? itemContentStyle(params) : itemContentStyle, XEUtils.isFunction(contentStyle) ? contentStyle(params) : contentStyle)
|
|
@@ -140,6 +142,7 @@ export default defineComponent({
|
|
|
140
142
|
}
|
|
141
143
|
|
|
142
144
|
const $xeFormitem = {
|
|
145
|
+
xID,
|
|
143
146
|
formItem,
|
|
144
147
|
|
|
145
148
|
renderVN
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { h, defineComponent, PropType, inject, createCommentVNode } from 'vue'
|
|
2
|
-
import { getIcon, getI18n } from '
|
|
2
|
+
import { getIcon, getI18n } from '../../ui'
|
|
3
3
|
import VxeFormComponent from '../../form/src/form'
|
|
4
4
|
import VxeFormItemComponent from '../../form/src/form-item'
|
|
5
5
|
import VxeSwitchComponent from '../../switch/src/switch'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { defineComponent, ref, h, reactive, nextTick, PropType, inject, provide, watch
|
|
1
|
+
import { defineComponent, ref, h, reactive, nextTick, PropType, inject, provide, watch } from 'vue'
|
|
2
2
|
import XEUtils from 'xe-utils'
|
|
3
|
-
import { getConfig, renderer, useSize, createEvent } from '../../ui'
|
|
3
|
+
import { getConfig, renderer, useSize, createEvent, renderEmptyElement } from '../../ui'
|
|
4
4
|
import { getSlotVNs } from '../../ui/src/vn'
|
|
5
5
|
import { createDefaultFormViewPCFormConfig } from './default-setting-data'
|
|
6
6
|
import VxeFormComponent from '../../form/src/form'
|
|
@@ -287,7 +287,7 @@ export default defineComponent({
|
|
|
287
287
|
? h('div', {
|
|
288
288
|
class: 'vxe-form-view--top'
|
|
289
289
|
}, getSlotVNs(topSlot({ $formView: $xeFormView })))
|
|
290
|
-
:
|
|
290
|
+
: renderEmptyElement($xeFormView),
|
|
291
291
|
h(VxeFormComponent, {
|
|
292
292
|
ref: formRef,
|
|
293
293
|
...formConfig,
|
|
@@ -309,7 +309,7 @@ export default defineComponent({
|
|
|
309
309
|
return headerSlot({})
|
|
310
310
|
}
|
|
311
311
|
})
|
|
312
|
-
:
|
|
312
|
+
: renderEmptyElement($xeFormView),
|
|
313
313
|
...widgetObjList.map(widget => {
|
|
314
314
|
const { name } = widget
|
|
315
315
|
const compConf = renderer.get(name) || {}
|
|
@@ -347,7 +347,7 @@ export default defineComponent({
|
|
|
347
347
|
return footerSlot({})
|
|
348
348
|
}
|
|
349
349
|
})
|
|
350
|
-
:
|
|
350
|
+
: renderEmptyElement($xeFormView)
|
|
351
351
|
]
|
|
352
352
|
}
|
|
353
353
|
}),
|
|
@@ -355,7 +355,7 @@ export default defineComponent({
|
|
|
355
355
|
? h('div', {
|
|
356
356
|
class: 'vxe-form-view--bottom'
|
|
357
357
|
}, getSlotVNs(bottomSlot({ $formView: $xeFormView })))
|
|
358
|
-
:
|
|
358
|
+
: renderEmptyElement($xeFormView)
|
|
359
359
|
])
|
|
360
360
|
}
|
|
361
361
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { defineComponent, h, Teleport, PropType, ref, inject, watch, computed, provide, onUnmounted, reactive, nextTick, onMounted
|
|
1
|
+
import { defineComponent, h, Teleport, PropType, ref, inject, watch, computed, provide, onUnmounted, reactive, nextTick, onMounted } from 'vue'
|
|
2
2
|
import XEUtils from 'xe-utils'
|
|
3
|
-
import { getConfig, getIcon, getI18n, globalEvents, createEvent, useSize, GLOBAL_EVENT_KEYS } from '../../ui'
|
|
3
|
+
import { getConfig, getIcon, getI18n, globalEvents, createEvent, useSize, GLOBAL_EVENT_KEYS, renderEmptyElement } from '../../ui'
|
|
4
4
|
import { getEventTargetNode, getAbsolutePos } from '../../ui/src/dom'
|
|
5
5
|
import { getLastZIndex, nextZIndex, getFuncText } from '../../ui/src/utils'
|
|
6
6
|
|
|
@@ -478,7 +478,7 @@ export default defineComponent({
|
|
|
478
478
|
? h('div', {
|
|
479
479
|
class: 'vxe-ico-picker--item-title'
|
|
480
480
|
}, `${item.title || ''}`)
|
|
481
|
-
:
|
|
481
|
+
: renderEmptyElement($xeIconPicker)
|
|
482
482
|
])
|
|
483
483
|
}))
|
|
484
484
|
}))
|
|
@@ -575,7 +575,7 @@ export default defineComponent({
|
|
|
575
575
|
}, [
|
|
576
576
|
renderIconWrapper()
|
|
577
577
|
])
|
|
578
|
-
:
|
|
578
|
+
: renderEmptyElement($xeIconPicker)
|
|
579
579
|
])
|
|
580
580
|
])
|
|
581
581
|
])
|
|
@@ -16,6 +16,7 @@ export default defineComponent({
|
|
|
16
16
|
},
|
|
17
17
|
imageStyle: Object as PropType<VxeImageGroupPropTypes.ImageStyle>,
|
|
18
18
|
size: { type: String as PropType<VxeImageGroupPropTypes.Size>, default: () => getConfig().imageGroup.size || getConfig().size },
|
|
19
|
+
toolbarConfig: Object as PropType<VxeImageGroupPropTypes.ToolbarConfig>,
|
|
19
20
|
showPrintButton: {
|
|
20
21
|
type: Boolean as PropType<VxeImageGroupPropTypes.ShowPrintButton>,
|
|
21
22
|
default: () => getConfig().imageGroup.showPrintButton
|
|
@@ -78,13 +79,14 @@ export default defineComponent({
|
|
|
78
79
|
|
|
79
80
|
const imageGroupPrivateMethods: ImageGroupPrivateMethods = {
|
|
80
81
|
handleClickImgEvent (evnt, params) {
|
|
81
|
-
const { showPreview, showPrintButton, showDownloadButton } = props
|
|
82
|
+
const { showPreview, toolbarConfig, showPrintButton, showDownloadButton } = props
|
|
82
83
|
const { url } = params
|
|
83
84
|
const imgList = computeImgList.value
|
|
84
85
|
if (showPreview && url) {
|
|
85
86
|
openPreviewImage({
|
|
86
87
|
activeIndex: Math.max(0, XEUtils.findIndexOf(imgList, item => item.url === url)),
|
|
87
88
|
urlList: imgList,
|
|
89
|
+
toolbarConfig,
|
|
88
90
|
showPrintButton,
|
|
89
91
|
showDownloadButton
|
|
90
92
|
})
|
|
@@ -20,6 +20,7 @@ export default defineComponent({
|
|
|
20
20
|
type: Boolean as PropType<VxeImagePropTypes.MaskClosable>,
|
|
21
21
|
default: () => getConfig().image.maskClosable
|
|
22
22
|
},
|
|
23
|
+
toolbarConfig: Object as PropType<VxeImagePropTypes.ToolbarConfig>,
|
|
23
24
|
showPreview: {
|
|
24
25
|
type: Boolean as PropType<VxeImagePropTypes.ShowPreview>,
|
|
25
26
|
default: () => getConfig().image.showPreview
|
|
@@ -122,7 +123,7 @@ export default defineComponent({
|
|
|
122
123
|
}
|
|
123
124
|
|
|
124
125
|
const clickEvent = (evnt: MouseEvent) => {
|
|
125
|
-
const { showPreview, showPrintButton, showDownloadButton, maskClosable } = props
|
|
126
|
+
const { showPreview, toolbarConfig, showPrintButton, showDownloadButton, maskClosable } = props
|
|
126
127
|
const imgList = computeImgList.value
|
|
127
128
|
const imgUrl = computeImgUrl.value
|
|
128
129
|
if ($xeImageGroup) {
|
|
@@ -131,6 +132,7 @@ export default defineComponent({
|
|
|
131
132
|
if (showPreview && imgUrl) {
|
|
132
133
|
openPreviewImage({
|
|
133
134
|
urlList: imgList,
|
|
135
|
+
toolbarConfig,
|
|
134
136
|
showPrintButton,
|
|
135
137
|
showDownloadButton,
|
|
136
138
|
maskClosable
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { defineComponent, h, provide, PropType, ref, reactive, computed, watch, onMounted, onUnmounted,
|
|
2
|
-
import { VxeUI, getConfig, createEvent, getIcon, globalEvents, GLOBAL_EVENT_KEYS, getI18n } from '../../ui'
|
|
1
|
+
import { defineComponent, h, provide, PropType, ref, reactive, computed, watch, onMounted, onUnmounted, onBeforeUnmount } from 'vue'
|
|
2
|
+
import { VxeUI, getConfig, createEvent, getIcon, globalEvents, GLOBAL_EVENT_KEYS, getI18n, renderEmptyElement } from '../../ui'
|
|
3
3
|
import XEUtils from 'xe-utils'
|
|
4
4
|
import { getDomNode, addClass, removeClass, hasControlKey } from '../../ui/src/dom'
|
|
5
5
|
|
|
6
|
-
import type { VxeImagePreviewConstructor, ImagePreviewReactData, ImagePreviewPrivateRef, VxeGlobalIcon, VxeImagePreviewEmits, VxeImagePreviewPrivateMethods, ImagePreviewPrivateMethods, ImagePreviewPrivateComputed, ImagePreviewMethods, VxeImagePreviewPropTypes, ValueOf } from '../../../types'
|
|
6
|
+
import type { VxeImagePreviewConstructor, ImagePreviewReactData, ImagePreviewPrivateRef, VxeGlobalIcon, VxeImagePreviewEmits, VxeImagePreviewPrivateMethods, ImagePreviewPrivateMethods, ImagePreviewPrivateComputed, ImagePreviewMethods, VxeImagePreviewPropTypes, ValueOf, VxeImagePreviewDefines } from '../../../types'
|
|
7
7
|
|
|
8
8
|
export default defineComponent({
|
|
9
9
|
name: 'VxeImagePreview',
|
|
@@ -30,6 +30,7 @@ export default defineComponent({
|
|
|
30
30
|
type: Boolean as PropType<VxeImagePreviewPropTypes.ShowDownloadButton>,
|
|
31
31
|
default: () => getConfig().imagePreview.showDownloadButton
|
|
32
32
|
},
|
|
33
|
+
toolbarConfig: Object as PropType<VxeImagePreviewPropTypes.ToolbarConfig>,
|
|
33
34
|
beforeDownloadMethod: Function as PropType<VxeImagePreviewPropTypes.BeforeDownloadMethod>,
|
|
34
35
|
downloadMethod: Function as PropType<VxeImagePreviewPropTypes.DownloadMethod>
|
|
35
36
|
},
|
|
@@ -67,6 +68,10 @@ export default defineComponent({
|
|
|
67
68
|
return XEUtils.toNumber(props.marginSize || 0) || 16
|
|
68
69
|
})
|
|
69
70
|
|
|
71
|
+
const computeToolbarOpts = computed(() => {
|
|
72
|
+
return Object.assign({}, getConfig().imagePreview.toolbarConfig, props.toolbarConfig)
|
|
73
|
+
})
|
|
74
|
+
|
|
70
75
|
const computeRotateText = computed(() => {
|
|
71
76
|
const { offsetRotate } = reactData
|
|
72
77
|
if (offsetRotate) {
|
|
@@ -314,10 +319,13 @@ export default defineComponent({
|
|
|
314
319
|
|
|
315
320
|
const handleDownloadImg = (evnt: MouseEvent) => {
|
|
316
321
|
const { activeIndex } = reactData
|
|
322
|
+
const toolbarOpts = computeToolbarOpts.value
|
|
323
|
+
const btnConf = toolbarOpts.download
|
|
324
|
+
const btnOpts = XEUtils.isBoolean(btnConf) ? {} : (btnConf ? Object.assign({}, btnConf) : {})
|
|
317
325
|
const imgList = computeImgList.value
|
|
318
326
|
const imgUrl = imgList[activeIndex || 0]
|
|
319
|
-
const beforeDownloadFn = props.beforeDownloadMethod || getConfig().imagePreview.beforeDownloadMethod
|
|
320
|
-
const downloadFn = props.downloadMethod || getConfig().imagePreview.downloadMethod
|
|
327
|
+
const beforeDownloadFn = props.beforeDownloadMethod || btnOpts.beforeDownloadMethod || getConfig().imagePreview.beforeDownloadMethod
|
|
328
|
+
const downloadFn = props.downloadMethod || btnOpts.downloadMethod || getConfig().imagePreview.downloadMethod
|
|
321
329
|
Promise.resolve(
|
|
322
330
|
beforeDownloadFn
|
|
323
331
|
? beforeDownloadFn({
|
|
@@ -345,7 +353,7 @@ export default defineComponent({
|
|
|
345
353
|
})
|
|
346
354
|
}
|
|
347
355
|
|
|
348
|
-
const handleOperationBtn = (evnt: MouseEvent, code:
|
|
356
|
+
const handleOperationBtn = (evnt: MouseEvent, code: VxeImagePreviewDefines.ToolbarCode) => {
|
|
349
357
|
const { activeIndex } = reactData
|
|
350
358
|
const imgList = computeImgList.value
|
|
351
359
|
const imgUrl = imgList[activeIndex || 0]
|
|
@@ -501,18 +509,24 @@ export default defineComponent({
|
|
|
501
509
|
}))
|
|
502
510
|
}
|
|
503
511
|
|
|
504
|
-
const renderOperationBtn = (code:
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
512
|
+
const renderOperationBtn = (code: VxeImagePreviewDefines.ToolbarCode, icon: keyof VxeGlobalIcon) => {
|
|
513
|
+
const toolbarOpts = computeToolbarOpts.value
|
|
514
|
+
const btnConf = toolbarOpts[code]
|
|
515
|
+
const btnOpts = XEUtils.isBoolean(btnConf) ? {} : (btnConf ? Object.assign({}, btnConf) : {})
|
|
516
|
+
const showBtn = btnConf !== false
|
|
517
|
+
return showBtn
|
|
518
|
+
? h('div', {
|
|
519
|
+
class: 'vxe-image-preview--operation-btn',
|
|
520
|
+
title: getI18n(`vxe.imagePreview.operBtn.${code}`),
|
|
521
|
+
onClick (evnt) {
|
|
522
|
+
handleOperationBtn(evnt, code)
|
|
523
|
+
}
|
|
524
|
+
}, [
|
|
525
|
+
h('i', {
|
|
526
|
+
class: btnOpts.icon || getIcon()[icon]
|
|
527
|
+
})
|
|
528
|
+
])
|
|
529
|
+
: renderEmptyElement($xeImagePreview)
|
|
516
530
|
}
|
|
517
531
|
|
|
518
532
|
const renderBtnWrapper = () => {
|
|
@@ -521,6 +535,7 @@ export default defineComponent({
|
|
|
521
535
|
const imgList = computeImgList.value
|
|
522
536
|
const rotateText = computeRotateText.value
|
|
523
537
|
const scaleText = computeScaleText.value
|
|
538
|
+
const toolbarOpts = computeToolbarOpts.value
|
|
524
539
|
|
|
525
540
|
return h('div', {
|
|
526
541
|
class: 'vxe-image-preview--btn-wrapper'
|
|
@@ -551,7 +566,7 @@ export default defineComponent({
|
|
|
551
566
|
class: getIcon().IMAGE_PREVIEW_PREVIOUS
|
|
552
567
|
})
|
|
553
568
|
])
|
|
554
|
-
:
|
|
569
|
+
: renderEmptyElement($xeImagePreview),
|
|
555
570
|
imgList.length > 1
|
|
556
571
|
? h('div', {
|
|
557
572
|
class: 'vxe-image-preview--next-btn',
|
|
@@ -563,7 +578,7 @@ export default defineComponent({
|
|
|
563
578
|
class: getIcon().IMAGE_PREVIEW_NEXT
|
|
564
579
|
})
|
|
565
580
|
])
|
|
566
|
-
:
|
|
581
|
+
: renderEmptyElement($xeImagePreview),
|
|
567
582
|
h('div', {
|
|
568
583
|
class: 'vxe-image-preview--operation-info'
|
|
569
584
|
}, [
|
|
@@ -593,8 +608,8 @@ export default defineComponent({
|
|
|
593
608
|
renderOperationBtn('pct11', 'IMAGE_PREVIEW_PCT_1_1'),
|
|
594
609
|
renderOperationBtn('rotateLeft', 'IMAGE_PREVIEW_ROTATE_LEFT'),
|
|
595
610
|
renderOperationBtn('rotateRight', 'IMAGE_PREVIEW_ROTATE_RIGHT'),
|
|
596
|
-
showPrintButton ? renderOperationBtn('print', 'IMAGE_PREVIEW_PRINT') :
|
|
597
|
-
showDownloadButton ? renderOperationBtn('download', 'IMAGE_PREVIEW_DOWNLOAD') :
|
|
611
|
+
showPrintButton || toolbarOpts.print ? renderOperationBtn('print', 'IMAGE_PREVIEW_PRINT') : renderEmptyElement($xeImagePreview),
|
|
612
|
+
showDownloadButton || toolbarOpts.download ? renderOperationBtn('download', 'IMAGE_PREVIEW_DOWNLOAD') : renderEmptyElement($xeImagePreview)
|
|
598
613
|
])
|
|
599
614
|
])
|
|
600
615
|
}
|
|
@@ -30,6 +30,7 @@ export const openPreviewImage: VxeImageDefines.PreviewImageFunction = (options)
|
|
|
30
30
|
urlField: opts.urlField,
|
|
31
31
|
marginSize: opts.marginSize,
|
|
32
32
|
maskClosable: opts.maskClosable,
|
|
33
|
+
toolbarConfig: opts.toolbarConfig,
|
|
33
34
|
showPrintButton: opts.showPrintButton,
|
|
34
35
|
showDownloadButton: opts.showDownloadButton,
|
|
35
36
|
beforeDownloadMethod: opts.beforeDownloadMethod,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { defineComponent, ref, PropType, h, reactive, provide, watch, nextTick, computed
|
|
2
|
-
import { VxeUI, getConfig, createEvent, getI18n, renderer, useSize } from '../../ui'
|
|
1
|
+
import { defineComponent, ref, PropType, h, reactive, provide, watch, nextTick, computed } from 'vue'
|
|
2
|
+
import { VxeUI, getConfig, createEvent, getI18n, renderer, useSize, renderEmptyElement } from '../../ui'
|
|
3
3
|
import { errLog } from '../../ui/src/log'
|
|
4
4
|
import { toCssUnit } from '../../ui/src/dom'
|
|
5
5
|
import { getSlotVNs } from '../../ui/src/vn'
|
|
@@ -445,7 +445,7 @@ export default defineComponent({
|
|
|
445
445
|
}), Object.assign({}, slots, {
|
|
446
446
|
default: undefined
|
|
447
447
|
}))
|
|
448
|
-
:
|
|
448
|
+
: renderEmptyElement($xeListView))
|
|
449
449
|
]),
|
|
450
450
|
/**
|
|
451
451
|
* 加载中
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { reactive, defineComponent, h, computed, PropType, watch
|
|
2
|
-
import { getConfig, getIcon, getI18n, createEvent, useSize } from '../../ui'
|
|
1
|
+
import { reactive, defineComponent, h, computed, PropType, watch } from 'vue'
|
|
2
|
+
import { getConfig, getIcon, getI18n, createEvent, useSize, renderEmptyElement } from '../../ui'
|
|
3
3
|
import { getSlotVNs } from '../../ui/src/vn'
|
|
4
4
|
import XEUtils from 'xe-utils'
|
|
5
5
|
|
|
@@ -94,7 +94,7 @@ export default defineComponent({
|
|
|
94
94
|
const loadingText = computeLoadingText.value
|
|
95
95
|
|
|
96
96
|
if (!initialized && !modelValue) {
|
|
97
|
-
return
|
|
97
|
+
return renderEmptyElement($xeLoading)
|
|
98
98
|
}
|
|
99
99
|
|
|
100
100
|
return h('div', {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { defineComponent, ref, h, reactive, PropType, inject, resolveComponent,
|
|
1
|
+
import { defineComponent, ref, h, reactive, PropType, inject, resolveComponent, watch, VNode, computed, nextTick, onBeforeUnmount, onMounted } from 'vue'
|
|
2
2
|
import XEUtils from 'xe-utils'
|
|
3
|
-
import { getConfig, getIcon, createEvent, permission, useSize, globalEvents } from '../../ui'
|
|
3
|
+
import { getConfig, getIcon, createEvent, permission, useSize, globalEvents, renderEmptyElement } from '../../ui'
|
|
4
4
|
import { toCssUnit } from '../../ui/src/dom'
|
|
5
5
|
import { getLastZIndex, nextZIndex } from '../../ui/src/utils'
|
|
6
6
|
import { getSlotVNs } from '../../ui/src/vn'
|
|
@@ -302,7 +302,7 @@ export default defineComponent({
|
|
|
302
302
|
class: isExpand ? getIcon().MENU_ITEM_EXPAND_OPEN : getIcon().MENU_ITEM_EXPAND_CLOSE
|
|
303
303
|
})
|
|
304
304
|
])
|
|
305
|
-
:
|
|
305
|
+
: renderEmptyElement($xeMenu)
|
|
306
306
|
]
|
|
307
307
|
}
|
|
308
308
|
|
|
@@ -312,7 +312,7 @@ export default defineComponent({
|
|
|
312
312
|
const isCollapsed = computeIsCollapsed.value
|
|
313
313
|
if (item.permissionCode) {
|
|
314
314
|
if (!permission.checkVisible(item.permissionCode)) {
|
|
315
|
-
return
|
|
315
|
+
return renderEmptyElement($xeMenu)
|
|
316
316
|
}
|
|
317
317
|
}
|
|
318
318
|
return h('div', {
|
|
@@ -343,7 +343,7 @@ export default defineComponent({
|
|
|
343
343
|
? h('div', {
|
|
344
344
|
class: 'vxe-menu--item-group'
|
|
345
345
|
}, childList.map(child => renderDefaultChildren(child)))
|
|
346
|
-
:
|
|
346
|
+
: renderEmptyElement($xeMenu)
|
|
347
347
|
])
|
|
348
348
|
}
|
|
349
349
|
|
|
@@ -351,7 +351,7 @@ export default defineComponent({
|
|
|
351
351
|
const { itemKey, level, hasChild, isActive, isExactActive, routerLink, childList } = item
|
|
352
352
|
if (item.permissionCode) {
|
|
353
353
|
if (!permission.checkVisible(item.permissionCode)) {
|
|
354
|
-
return
|
|
354
|
+
return renderEmptyElement($xeMenu)
|
|
355
355
|
}
|
|
356
356
|
}
|
|
357
357
|
return h('div', {
|
|
@@ -381,7 +381,7 @@ export default defineComponent({
|
|
|
381
381
|
? h('div', {
|
|
382
382
|
class: 'vxe-menu--item-group'
|
|
383
383
|
}, childList.map(child => renderDefaultChildren(child)))
|
|
384
|
-
:
|
|
384
|
+
: renderEmptyElement($xeMenu)
|
|
385
385
|
])
|
|
386
386
|
}
|
|
387
387
|
|
|
@@ -418,9 +418,9 @@ export default defineComponent({
|
|
|
418
418
|
? h('div', {
|
|
419
419
|
class: 'vxe-menu--item-list'
|
|
420
420
|
}, menuList.map(child => renderDefaultChildren(child)))
|
|
421
|
-
:
|
|
421
|
+
: renderEmptyElement($xeMenu)
|
|
422
422
|
])
|
|
423
|
-
:
|
|
423
|
+
: renderEmptyElement($xeMenu),
|
|
424
424
|
/**
|
|
425
425
|
* 加载中
|
|
426
426
|
*/
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { defineComponent, h, Teleport, ref, Ref, inject, computed, reactive, provide, nextTick, watch, PropType, VNode, onMounted, onUnmounted
|
|
1
|
+
import { defineComponent, h, Teleport, ref, Ref, inject, computed, reactive, provide, nextTick, watch, PropType, VNode, onMounted, onUnmounted } from 'vue'
|
|
2
2
|
import XEUtils from 'xe-utils'
|
|
3
3
|
import { getDomNode, getEventTargetNode, toCssUnit } from '../../ui/src/dom'
|
|
4
4
|
import { getLastZIndex, nextZIndex, getFuncText, handleBooleanDefaultValue } from '../../ui/src/utils'
|
|
5
|
-
import { VxeUI, getConfig, getIcon, getI18n, globalEvents, GLOBAL_EVENT_KEYS, createEvent, useSize } from '../../ui'
|
|
5
|
+
import { VxeUI, getConfig, getIcon, getI18n, globalEvents, GLOBAL_EVENT_KEYS, createEvent, useSize, renderEmptyElement } from '../../ui'
|
|
6
6
|
import VxeButtonComponent from '../../button/src/button'
|
|
7
7
|
import VxeLoadingComponent from '../../loading/index'
|
|
8
8
|
import { getSlotVNs } from '../../ui/src/vn'
|
|
@@ -1167,7 +1167,7 @@ export default defineComponent({
|
|
|
1167
1167
|
? h('div', {
|
|
1168
1168
|
class: 'vxe-modal--corner-wrapper'
|
|
1169
1169
|
}, getSlotVNs(cornerSlot({ $modal: $xeModal })))
|
|
1170
|
-
:
|
|
1170
|
+
: renderEmptyElement($xeModal),
|
|
1171
1171
|
(XEUtils.isBoolean(showMinimize) ? showMinimize : showZoom)
|
|
1172
1172
|
? h('div', {
|
|
1173
1173
|
class: ['vxe-modal--zoom-btn', 'trigger--btn'],
|
|
@@ -1178,7 +1178,7 @@ export default defineComponent({
|
|
|
1178
1178
|
class: zoomStatus === 'minimize' ? getIcon().MODAL_ZOOM_REVERT : getIcon().MODAL_ZOOM_MIN
|
|
1179
1179
|
})
|
|
1180
1180
|
])
|
|
1181
|
-
:
|
|
1181
|
+
: renderEmptyElement($xeModal),
|
|
1182
1182
|
(XEUtils.isBoolean(showMaximize) ? showMaximize : showZoom) && zoomStatus !== 'minimize'
|
|
1183
1183
|
? h('div', {
|
|
1184
1184
|
class: ['vxe-modal--zoom-btn', 'trigger--btn'],
|
|
@@ -1189,7 +1189,7 @@ export default defineComponent({
|
|
|
1189
1189
|
class: zoomStatus === 'maximize' ? getIcon().MODAL_ZOOM_OUT : getIcon().MODAL_ZOOM_IN
|
|
1190
1190
|
})
|
|
1191
1191
|
])
|
|
1192
|
-
:
|
|
1192
|
+
: renderEmptyElement($xeModal),
|
|
1193
1193
|
showClose
|
|
1194
1194
|
? h('div', {
|
|
1195
1195
|
class: ['vxe-modal--close-btn', 'trigger--btn'],
|
|
@@ -1200,7 +1200,7 @@ export default defineComponent({
|
|
|
1200
1200
|
class: getIcon().MODAL_CLOSE
|
|
1201
1201
|
})
|
|
1202
1202
|
])
|
|
1203
|
-
:
|
|
1203
|
+
: renderEmptyElement($xeModal)
|
|
1204
1204
|
])
|
|
1205
1205
|
]
|
|
1206
1206
|
}
|
|
@@ -1224,7 +1224,7 @@ export default defineComponent({
|
|
|
1224
1224
|
...headerOns
|
|
1225
1225
|
}, headerSlot ? getSlotVNs(headerSlot({ $modal: $xeModal })) : renderTitles())
|
|
1226
1226
|
}
|
|
1227
|
-
return
|
|
1227
|
+
return renderEmptyElement($xeModal)
|
|
1228
1228
|
}
|
|
1229
1229
|
|
|
1230
1230
|
const renderBody = () => {
|
|
@@ -1258,7 +1258,7 @@ export default defineComponent({
|
|
|
1258
1258
|
? h('div', {
|
|
1259
1259
|
class: 'vxe-modal--body-left'
|
|
1260
1260
|
}, getSlotVNs(leftSlot({ $modal: $xeModal })))
|
|
1261
|
-
:
|
|
1261
|
+
: renderEmptyElement($xeModal),
|
|
1262
1262
|
h('div', {
|
|
1263
1263
|
class: 'vxe-modal--body-default'
|
|
1264
1264
|
}, contVNs),
|
|
@@ -1266,9 +1266,9 @@ export default defineComponent({
|
|
|
1266
1266
|
? h('div', {
|
|
1267
1267
|
class: 'vxe-modal--body-right'
|
|
1268
1268
|
}, getSlotVNs(rightSlot({ $modal: $xeModal })))
|
|
1269
|
-
:
|
|
1269
|
+
: renderEmptyElement($xeModal),
|
|
1270
1270
|
isMsg
|
|
1271
|
-
?
|
|
1271
|
+
? renderEmptyElement($xeModal)
|
|
1272
1272
|
: h(VxeLoadingComponent, {
|
|
1273
1273
|
class: 'vxe-modal--loading',
|
|
1274
1274
|
modelValue: props.loading
|
|
@@ -1323,7 +1323,7 @@ export default defineComponent({
|
|
|
1323
1323
|
class: 'vxe-modal--footer'
|
|
1324
1324
|
}, footerSlot ? getSlotVNs(footerSlot({ $modal: $xeModal })) : [renderDefaultFooter()])
|
|
1325
1325
|
}
|
|
1326
|
-
return
|
|
1326
|
+
return renderEmptyElement($xeModal)
|
|
1327
1327
|
}
|
|
1328
1328
|
|
|
1329
1329
|
const renderVN = () => {
|
|
@@ -1386,10 +1386,10 @@ export default defineComponent({
|
|
|
1386
1386
|
class: ['vxe-modal--status-icon', iconStatus || getIcon()[`MODAL_${status}`.toLocaleUpperCase() as 'MODAL_SUCCESS' | 'MODAL_ERROR']]
|
|
1387
1387
|
})
|
|
1388
1388
|
])
|
|
1389
|
-
:
|
|
1389
|
+
: renderEmptyElement($xeModal)
|
|
1390
1390
|
]
|
|
1391
1391
|
)
|
|
1392
|
-
:
|
|
1392
|
+
: renderEmptyElement($xeModal),
|
|
1393
1393
|
h('div', {
|
|
1394
1394
|
class: 'vxe-modal--container'
|
|
1395
1395
|
}, !reactData.initialized || (destroyOnClose && !reactData.visible)
|
|
@@ -1408,7 +1408,7 @@ export default defineComponent({
|
|
|
1408
1408
|
onMousedown: dragEvent
|
|
1409
1409
|
})
|
|
1410
1410
|
}))
|
|
1411
|
-
:
|
|
1411
|
+
: renderEmptyElement($xeModal)
|
|
1412
1412
|
])
|
|
1413
1413
|
])
|
|
1414
1414
|
])
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { defineComponent, h, ref, Ref, computed, reactive, inject, nextTick, watch,
|
|
1
|
+
import { defineComponent, h, ref, Ref, computed, reactive, inject, nextTick, watch, PropType } from 'vue'
|
|
2
2
|
import XEUtils from 'xe-utils'
|
|
3
|
-
import { getConfig, getIcon, getI18n, createEvent, useSize } from '../../ui'
|
|
3
|
+
import { getConfig, getIcon, getI18n, createEvent, useSize, renderEmptyElement } from '../../ui'
|
|
4
4
|
import { getFuncText } from '../../ui/src/utils'
|
|
5
5
|
import { getSlotVNs } from '../../ui/src/vn'
|
|
6
6
|
|
|
@@ -267,8 +267,8 @@ export default defineComponent({
|
|
|
267
267
|
class: getIcon().INPUT_CLEAR
|
|
268
268
|
})
|
|
269
269
|
])
|
|
270
|
-
:
|
|
271
|
-
controls ? renderPasswordIcon() :
|
|
270
|
+
: renderEmptyElement($xePasswordInput),
|
|
271
|
+
controls ? renderPasswordIcon() : renderEmptyElement($xePasswordInput),
|
|
272
272
|
suffixSlot || suffixIcon
|
|
273
273
|
? h('div', {
|
|
274
274
|
class: 'vxe-password-input--suffix-icon',
|
|
@@ -280,7 +280,7 @@ export default defineComponent({
|
|
|
280
280
|
class: suffixIcon
|
|
281
281
|
})
|
|
282
282
|
])
|
|
283
|
-
:
|
|
283
|
+
: renderEmptyElement($xePasswordInput)
|
|
284
284
|
])
|
|
285
285
|
: null
|
|
286
286
|
}
|
|
@@ -339,7 +339,7 @@ export default defineComponent({
|
|
|
339
339
|
}],
|
|
340
340
|
spellcheck: false
|
|
341
341
|
}, [
|
|
342
|
-
prefix ||
|
|
342
|
+
prefix || renderEmptyElement($xePasswordInput),
|
|
343
343
|
h('div', {
|
|
344
344
|
class: 'vxe-password-input--wrapper'
|
|
345
345
|
}, [
|
|
@@ -361,7 +361,7 @@ export default defineComponent({
|
|
|
361
361
|
onBlur: blurEvent
|
|
362
362
|
})
|
|
363
363
|
]),
|
|
364
|
-
suffix ||
|
|
364
|
+
suffix || renderEmptyElement($xePasswordInput)
|
|
365
365
|
])
|
|
366
366
|
}
|
|
367
367
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { defineComponent, ref, h, reactive, PropType, provide
|
|
1
|
+
import { defineComponent, ref, h, reactive, PropType, provide } from 'vue'
|
|
2
2
|
import XEUtils from 'xe-utils'
|
|
3
|
-
import { getConfig, createEvent } from '../../ui'
|
|
3
|
+
import { getConfig, createEvent, renderEmptyElement } from '../../ui'
|
|
4
4
|
import { printHtml, trimHtml } from './util'
|
|
5
5
|
import { getSlotVNs } from '../../ui/src/vn'
|
|
6
6
|
|
|
@@ -125,7 +125,7 @@ export default defineComponent({
|
|
|
125
125
|
? h('div', {
|
|
126
126
|
class: 'vxe-print-page-break--header-title'
|
|
127
127
|
}, `${title || ''}`)
|
|
128
|
-
:
|
|
128
|
+
: renderEmptyElement($xePrint)
|
|
129
129
|
]),
|
|
130
130
|
h('div', {
|
|
131
131
|
class: 'vxe-print-page-break--body'
|
|
@@ -149,7 +149,7 @@ export default defineComponent({
|
|
|
149
149
|
? h('div', {
|
|
150
150
|
class: 'vxe-print-page-break--footer-page-number'
|
|
151
151
|
}, `${currentPage}/${pageCount}`)
|
|
152
|
-
:
|
|
152
|
+
: renderEmptyElement($xePrint)
|
|
153
153
|
])
|
|
154
154
|
])
|
|
155
155
|
})
|
|
@@ -185,7 +185,7 @@ export default defineComponent({
|
|
|
185
185
|
? h('div', {
|
|
186
186
|
class: 'vxe-print-page-break--header-title'
|
|
187
187
|
}, `${title || ''}`)
|
|
188
|
-
:
|
|
188
|
+
: renderEmptyElement($xePrint)
|
|
189
189
|
]),
|
|
190
190
|
h('div', {
|
|
191
191
|
class: 'vxe-print-page-break--body'
|
|
@@ -209,7 +209,7 @@ export default defineComponent({
|
|
|
209
209
|
? h('div', {
|
|
210
210
|
class: 'vxe-print-page-break--footer-page-number'
|
|
211
211
|
}, `${currentPage}/${pageCount}`)
|
|
212
|
-
:
|
|
212
|
+
: renderEmptyElement($xePrint)
|
|
213
213
|
])
|
|
214
214
|
])
|
|
215
215
|
})
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { defineComponent, h, Teleport, ref, Ref, onUnmounted, reactive, inject, computed, nextTick, PropType, watch
|
|
1
|
+
import { defineComponent, h, Teleport, ref, Ref, onUnmounted, reactive, inject, computed, nextTick, PropType, watch } from 'vue'
|
|
2
2
|
import XEUtils from 'xe-utils'
|
|
3
|
-
import { getConfig, globalEvents, createEvent, useSize,
|
|
3
|
+
import { getConfig, globalEvents, createEvent, useSize, renderEmptyElement } from '../../ui'
|
|
4
4
|
import { getEventTargetNode, updatePanelPlacement } from '../../ui/src/dom'
|
|
5
5
|
import { getLastZIndex, nextZIndex } from '../../ui/src/utils'
|
|
6
6
|
|
|
7
|
-
import type { VxePulldownConstructor, VxePulldownPropTypes, PulldownInternalData, VxePulldownEmits, PulldownReactData, PulldownMethods, PulldownPrivateRef, VxePulldownMethods, VxeDrawerConstructor, VxeDrawerMethods, VxeFormConstructor, VxeFormPrivateMethods, VxeModalConstructor, VxeModalMethods } from '../../../types'
|
|
7
|
+
import type { VxePulldownConstructor, VxePulldownPropTypes, PulldownInternalData, VxePulldownEmits, PulldownReactData, ValueOf, PulldownMethods, PulldownPrivateRef, VxePulldownMethods, VxeDrawerConstructor, VxeDrawerMethods, VxeFormConstructor, VxeFormPrivateMethods, VxeModalConstructor, VxeModalMethods } from '../../../types'
|
|
8
8
|
import type { VxeTableConstructor, VxeTablePrivateMethods } from '../../../types/components/table'
|
|
9
9
|
|
|
10
10
|
export default defineComponent({
|
|
@@ -365,7 +365,7 @@ export default defineComponent({
|
|
|
365
365
|
? h('div', {
|
|
366
366
|
class: 'vxe-pulldown--panel-header'
|
|
367
367
|
}, headerSlot({ $pulldown: $xePulldown }))
|
|
368
|
-
:
|
|
368
|
+
: renderEmptyElement($xePulldown),
|
|
369
369
|
h('div', {
|
|
370
370
|
class: 'vxe-pulldown--panel-body'
|
|
371
371
|
}, dropdownSlot
|
|
@@ -377,7 +377,7 @@ export default defineComponent({
|
|
|
377
377
|
? h('div', {
|
|
378
378
|
class: 'vxe-pulldown--panel-footer'
|
|
379
379
|
}, footerSlot({ $pulldown: $xePulldown }))
|
|
380
|
-
:
|
|
380
|
+
: renderEmptyElement($xePulldown)
|
|
381
381
|
]
|
|
382
382
|
: [])
|
|
383
383
|
])
|