vxe-pc-ui 3.20.5 → 3.20.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/button/src/button.js +1 -0
- package/es/cascader/src/cascader.js +1 -0
- package/es/color-picker/src/color-picker.js +1 -0
- package/es/date-picker/src/date-picker.js +1 -0
- package/es/date-range-picker/src/date-range-picker.js +1 -0
- package/es/icon/style.css +1 -1
- package/es/icon-picker/src/icon-picker.js +1 -0
- package/es/pulldown/src/pulldown.js +1 -0
- package/es/select/src/select.js +1 -0
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table-select/src/table-select.js +1 -0
- package/es/tooltip/src/tooltip.js +2 -1
- package/es/tree-select/src/tree-select.js +1 -0
- package/es/ui/index.js +1 -1
- package/es/ui/src/dom.js +11 -8
- package/es/ui/src/log.js +1 -1
- package/lib/button/src/button.js +1 -0
- package/lib/button/src/button.min.js +1 -1
- package/lib/cascader/src/cascader.js +1 -0
- package/lib/cascader/src/cascader.min.js +1 -1
- package/lib/color-picker/src/color-picker.js +1 -0
- package/lib/color-picker/src/color-picker.min.js +1 -1
- package/lib/date-picker/src/date-picker.js +1 -0
- package/lib/date-picker/src/date-picker.min.js +1 -1
- package/lib/date-range-picker/src/date-range-picker.js +1 -0
- 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 +1 -0
- package/lib/icon-picker/src/icon-picker.min.js +1 -1
- package/lib/index.umd.js +25 -9
- package/lib/index.umd.min.js +1 -1
- package/lib/pulldown/src/pulldown.js +1 -0
- package/lib/pulldown/src/pulldown.min.js +1 -1
- package/lib/select/src/select.js +1 -0
- 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 +1 -0
- package/lib/table-select/src/table-select.min.js +1 -1
- package/lib/tooltip/src/tooltip.js +2 -0
- package/lib/tooltip/src/tooltip.min.js +1 -1
- package/lib/tree-select/src/tree-select.js +1 -0
- 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/dom.js +11 -7
- package/lib/ui/src/dom.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +2 -2
- package/packages/button/src/button.ts +2 -1
- package/packages/cascader/src/cascader.ts +1 -0
- package/packages/color-picker/src/color-picker.ts +1 -0
- package/packages/date-picker/src/date-picker.ts +1 -0
- package/packages/date-range-picker/src/date-range-picker.ts +1 -0
- package/packages/icon-picker/src/icon-picker.ts +1 -0
- package/packages/pulldown/src/pulldown.ts +1 -0
- package/packages/select/src/select.ts +1 -0
- package/packages/table-select/src/table-select.ts +1 -0
- package/packages/tooltip/src/tooltip.ts +2 -1
- package/packages/tree-select/src/tree-select.ts +1 -0
- package/packages/ui/src/dom.ts +12 -8
- package/types/components/button.d.ts +4 -0
- package/types/components/cascader.d.ts +4 -0
- /package/es/icon/{iconfont.1792048654011.ttf → iconfont.1792054426799.ttf} +0 -0
- /package/es/icon/{iconfont.1792048654011.woff → iconfont.1792054426799.woff} +0 -0
- /package/es/icon/{iconfont.1792048654011.woff2 → iconfont.1792054426799.woff2} +0 -0
- /package/es/{iconfont.1792048654011.ttf → iconfont.1792054426799.ttf} +0 -0
- /package/es/{iconfont.1792048654011.woff → iconfont.1792054426799.woff} +0 -0
- /package/es/{iconfont.1792048654011.woff2 → iconfont.1792054426799.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1792048654011.ttf → iconfont.1792054426799.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1792048654011.woff → iconfont.1792054426799.woff} +0 -0
- /package/lib/icon/style/{iconfont.1792048654011.woff2 → iconfont.1792054426799.woff2} +0 -0
- /package/lib/{iconfont.1792048654011.ttf → iconfont.1792054426799.ttf} +0 -0
- /package/lib/{iconfont.1792048654011.woff → iconfont.1792054426799.woff} +0 -0
- /package/lib/{iconfont.1792048654011.woff2 → iconfont.1792054426799.woff2} +0 -0
|
@@ -568,6 +568,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
568
568
|
isMinWidth: !popupOpts.width,
|
|
569
569
|
placement: popupOpts.placement || placement,
|
|
570
570
|
defaultPlacement: popupOpts.defaultPlacement,
|
|
571
|
+
appendTo: popupOpts.appendTo,
|
|
571
572
|
teleportTo: btnTransfer
|
|
572
573
|
})
|
|
573
574
|
const panelStyle: { [key: string]: string | number } = Object.assign(ppObj.style, {
|
package/packages/ui/src/dom.ts
CHANGED
|
@@ -179,6 +179,7 @@ interface PanelPlacementOptions {
|
|
|
179
179
|
defaultLeft?: number
|
|
180
180
|
placement?: '' | 'top' | 'bottom' | null
|
|
181
181
|
defaultPlacement?: '' | 'top' | 'bottom' | null
|
|
182
|
+
appendTo?: string | HTMLElement | ((params: any) => string | HTMLElement)
|
|
182
183
|
teleportTo?: boolean
|
|
183
184
|
marginSize?: number
|
|
184
185
|
isMinWidth?: boolean
|
|
@@ -188,7 +189,8 @@ interface PanelPlacementOptions {
|
|
|
188
189
|
* 通用定位计算
|
|
189
190
|
*/
|
|
190
191
|
export function updatePanelPlacement (targetElem: HTMLElement | null | undefined, panelElem: HTMLElement | null | undefined, options: PanelPlacementOptions) {
|
|
191
|
-
const { defaultTop, defaultLeft, placement, defaultPlacement, teleportTo, marginSize, isMinWidth } = Object.assign({
|
|
192
|
+
const { defaultTop, defaultLeft, placement, defaultPlacement, appendTo, teleportTo, marginSize, isMinWidth } = Object.assign({
|
|
193
|
+
appendTo: '',
|
|
192
194
|
teleportTo: false,
|
|
193
195
|
marginSize: 18,
|
|
194
196
|
isMinWidth: true
|
|
@@ -202,7 +204,7 @@ export function updatePanelPlacement (targetElem: HTMLElement | null | undefined
|
|
|
202
204
|
const stys: Record<string, string> = {}
|
|
203
205
|
if (panelElem && targetElem) {
|
|
204
206
|
const bodyEl = document.body
|
|
205
|
-
const parentWrapperEl = getPopupWrapperElement(panelElem)
|
|
207
|
+
const parentWrapperEl = getPopupWrapperElement(teleportTo ? getPopupAppendElement(appendTo) : panelElem)
|
|
206
208
|
if (parentWrapperEl) {
|
|
207
209
|
const targetWidth = targetElem.offsetWidth
|
|
208
210
|
const targetHeight = targetElem.offsetHeight
|
|
@@ -215,16 +217,18 @@ export function updatePanelPlacement (targetElem: HTMLElement | null | undefined
|
|
|
215
217
|
const visibleHeight = bodyEl.clientHeight
|
|
216
218
|
const visibleWidth = bodyEl.clientWidth
|
|
217
219
|
|
|
218
|
-
const
|
|
219
|
-
const
|
|
220
|
+
const parentWrapperScrollLeft = parentWrapperEl.scrollLeft
|
|
221
|
+
const parentWrapperScrollTop = parentWrapperEl.scrollTop
|
|
222
|
+
const parentWrapperOffsetLeft = parentWrapperRect.left
|
|
223
|
+
const parentWrapperOffsetTop = parentWrapperRect.top
|
|
220
224
|
const targetLeft = targetRect.left
|
|
221
225
|
const targetTop = targetRect.top
|
|
222
226
|
|
|
223
227
|
minWidth = targetElem.offsetWidth
|
|
224
228
|
|
|
225
229
|
if (teleportTo) {
|
|
226
|
-
left = defaultLeft || (targetLeft - (panelWidth - targetWidth) / 2)
|
|
227
|
-
top = defaultTop || (targetTop + targetHeight)
|
|
230
|
+
left = (defaultLeft || (targetLeft - (panelWidth - targetWidth) / 2)) - parentWrapperScrollLeft
|
|
231
|
+
top = (defaultTop || (targetTop + targetHeight)) - parentWrapperScrollTop
|
|
228
232
|
if (placement === 'top') {
|
|
229
233
|
panelPlacement = 'top'
|
|
230
234
|
top = targetTop - panelHeight
|
|
@@ -267,8 +271,8 @@ export function updatePanelPlacement (targetElem: HTMLElement | null | undefined
|
|
|
267
271
|
}
|
|
268
272
|
|
|
269
273
|
// 偏移
|
|
270
|
-
top -=
|
|
271
|
-
left -=
|
|
274
|
+
top -= parentWrapperOffsetTop
|
|
275
|
+
left -= parentWrapperOffsetLeft
|
|
272
276
|
} else {
|
|
273
277
|
if (placement === 'top') {
|
|
274
278
|
panelPlacement = 'top'
|
|
@@ -143,6 +143,10 @@ export namespace VxeCascaderPropTypes {
|
|
|
143
143
|
*/
|
|
144
144
|
defaultPlacement?: 'top' | 'bottom' | '' | null
|
|
145
145
|
transfer?: boolean
|
|
146
|
+
/**
|
|
147
|
+
* 挂载到指定元素下
|
|
148
|
+
*/
|
|
149
|
+
appendTo?: string | HTMLElement | ((params: {}) => string | HTMLElement)
|
|
146
150
|
height?: number | string
|
|
147
151
|
nodeWidth?: number | string
|
|
148
152
|
nodeHeight?: number | string
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|