vxe-pc-ui 3.17.29 → 3.18.0
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 +12 -10
- package/es/cascader/src/cascader.js +10 -19
- package/es/color-picker/src/color-picker.js +10 -19
- package/es/date-picker/src/date-picker.js +10 -19
- package/es/date-range-picker/src/date-range-picker.js +11 -20
- package/es/icon/style.css +1 -1
- package/es/icon-picker/src/icon-picker.js +20 -19
- package/es/number-input/src/number-input.js +1 -1
- package/es/pulldown/src/pulldown.js +10 -25
- package/es/select/src/select.js +10 -19
- package/es/slider/src/slider.js +87 -3
- package/es/slider/style.css +53 -6
- package/es/slider/style.min.css +1 -1
- package/es/space/src/space.js +39 -3
- package/es/space/style.css +7 -0
- package/es/space/style.min.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/table-select/src/table-select.js +10 -19
- package/es/tree-select/src/tree-select.js +10 -19
- package/es/ui/index.js +5 -2
- package/es/ui/src/dom.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/vxe-slider/style.css +53 -6
- package/es/vxe-slider/style.min.css +1 -1
- package/es/vxe-space/style.css +7 -0
- package/es/vxe-space/style.min.css +1 -1
- package/lib/button/src/button.js +12 -10
- package/lib/button/src/button.min.js +1 -1
- package/lib/cascader/src/cascader.js +10 -18
- package/lib/cascader/src/cascader.min.js +1 -1
- package/lib/color-picker/src/color-picker.js +10 -18
- package/lib/color-picker/src/color-picker.min.js +1 -1
- package/lib/date-picker/src/date-picker.js +10 -18
- package/lib/date-picker/src/date-picker.min.js +1 -1
- package/lib/date-range-picker/src/date-range-picker.js +11 -19
- 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 +20 -18
- package/lib/icon-picker/src/icon-picker.min.js +1 -1
- package/lib/index.umd.js +269 -191
- package/lib/index.umd.min.js +1 -1
- package/lib/number-input/src/number-input.js +1 -1
- package/lib/number-input/src/number-input.min.js +1 -1
- package/lib/pulldown/src/pulldown.js +10 -25
- package/lib/pulldown/src/pulldown.min.js +1 -1
- package/lib/select/src/select.js +10 -18
- package/lib/select/src/select.min.js +1 -1
- package/lib/slider/src/slider.js +91 -3
- package/lib/slider/src/slider.min.js +1 -1
- package/lib/slider/style/style.css +53 -6
- package/lib/slider/style/style.min.css +1 -1
- package/lib/space/src/space.js +55 -3
- package/lib/space/src/space.min.js +1 -1
- package/lib/space/style/style.css +7 -0
- package/lib/space/style/style.min.css +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/table-select/src/table-select.js +10 -18
- package/lib/table-select/src/table-select.min.js +1 -1
- package/lib/tree-select/src/tree-select.js +10 -18
- package/lib/tree-select/src/tree-select.min.js +1 -1
- package/lib/ui/index.js +5 -2
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/dom.js +1 -1
- package/lib/ui/src/dom.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/vxe-slider/style/style.css +53 -6
- package/lib/vxe-slider/style/style.min.css +1 -1
- package/lib/vxe-space/style/style.css +7 -0
- package/lib/vxe-space/style/style.min.css +1 -1
- package/package.json +1 -1
- package/packages/button/src/button.ts +15 -11
- package/packages/cascader/src/cascader.ts +11 -19
- package/packages/color-picker/src/color-picker.ts +11 -19
- package/packages/date-picker/src/date-picker.ts +11 -19
- package/packages/date-range-picker/src/date-range-picker.ts +12 -20
- package/packages/icon-picker/src/icon-picker.ts +22 -19
- package/packages/number-input/src/number-input.ts +1 -1
- package/packages/pulldown/src/pulldown.ts +11 -25
- package/packages/select/src/select.ts +11 -19
- package/packages/slider/src/slider.ts +94 -3
- package/packages/space/src/space.ts +39 -3
- package/packages/table-select/src/table-select.ts +11 -19
- package/packages/tree-select/src/tree-select.ts +11 -19
- package/packages/ui/index.ts +4 -1
- package/packages/ui/src/dom.ts +1 -1
- package/styles/components/slider.scss +15 -1
- package/styles/components/space.scss +9 -0
- package/types/components/number-input.d.ts +1 -1
- package/types/components/slider.d.ts +12 -0
- package/types/components/space.d.ts +10 -0
- /package/es/icon/{iconfont.1788486212224.ttf → iconfont.1788505321817.ttf} +0 -0
- /package/es/icon/{iconfont.1788486212224.woff → iconfont.1788505321817.woff} +0 -0
- /package/es/icon/{iconfont.1788486212224.woff2 → iconfont.1788505321817.woff2} +0 -0
- /package/es/{iconfont.1788486212224.ttf → iconfont.1788505321817.ttf} +0 -0
- /package/es/{iconfont.1788486212224.woff → iconfont.1788505321817.woff} +0 -0
- /package/es/{iconfont.1788486212224.woff2 → iconfont.1788505321817.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1788486212224.ttf → iconfont.1788505321817.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1788486212224.woff → iconfont.1788505321817.woff} +0 -0
- /package/lib/icon/style/{iconfont.1788486212224.woff2 → iconfont.1788505321817.woff2} +0 -0
- /package/lib/{iconfont.1788486212224.ttf → iconfont.1788505321817.ttf} +0 -0
- /package/lib/{iconfont.1788486212224.woff → iconfont.1788505321817.woff} +0 -0
- /package/lib/{iconfont.1788486212224.woff2 → iconfont.1788505321817.woff2} +0 -0
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import { CreateElement, VNode, PropType } from 'vue'
|
|
2
2
|
import { defineVxeComponent } from '../../ui/src/comp'
|
|
3
3
|
import XEUtils from 'xe-utils'
|
|
4
|
-
import { getConfig, createEvent, renderEmptyElement } from '../../ui'
|
|
4
|
+
import { VxeUI, getConfig, createEvent, renderEmptyElement } from '../../ui'
|
|
5
|
+
import { getText } from '../../ui/src/utils'
|
|
5
6
|
|
|
6
7
|
import type { SliderReactData, SliderInternalData, VxeSliderEmits, ValueOf, VxeSliderPropTypes, VxeFormDefines, VxeComponentSizeType, VxeFormConstructor, VxeFormPrivateMethods } from '../../../types'
|
|
7
8
|
|
|
8
9
|
function createInternalData (): SliderInternalData {
|
|
9
10
|
return {
|
|
10
11
|
// _isUp: false,
|
|
12
|
+
isDragStatus: false,
|
|
13
|
+
isBtnActive: false,
|
|
11
14
|
currValue: 0,
|
|
12
15
|
startValue: 0,
|
|
13
16
|
endValue: 0
|
|
@@ -58,10 +61,19 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
58
61
|
type: Boolean as PropType<VxeSliderPropTypes.Disabled>,
|
|
59
62
|
default: null
|
|
60
63
|
},
|
|
64
|
+
status: {
|
|
65
|
+
type: String as PropType<VxeSliderPropTypes.Status>,
|
|
66
|
+
default: () => getConfig().slider.status
|
|
67
|
+
},
|
|
61
68
|
immediate: {
|
|
62
69
|
type: Boolean as PropType<VxeSliderPropTypes.Immediate>,
|
|
63
70
|
default: () => getConfig().slider.immediate
|
|
64
|
-
}
|
|
71
|
+
},
|
|
72
|
+
showTooltip: {
|
|
73
|
+
type: Boolean as PropType<VxeSliderPropTypes.ShowTooltip>,
|
|
74
|
+
default: () => getConfig().slider.showTooltip
|
|
75
|
+
},
|
|
76
|
+
tooltipConfig: Object as PropType<VxeSliderPropTypes.TooltipConfig>
|
|
65
77
|
},
|
|
66
78
|
inject: {
|
|
67
79
|
$xeForm: {
|
|
@@ -135,6 +147,12 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
135
147
|
|
|
136
148
|
const { range, startValue, endValue } = props
|
|
137
149
|
return range ? `${startValue || ''}${endValue || ''}` : ''
|
|
150
|
+
},
|
|
151
|
+
computeTooltipOpts () {
|
|
152
|
+
const $xeSlider = this
|
|
153
|
+
const props = $xeSlider
|
|
154
|
+
|
|
155
|
+
return Object.assign({}, getConfig().slider.tooltipConfig, props.tooltipConfig)
|
|
138
156
|
}
|
|
139
157
|
},
|
|
140
158
|
methods: {
|
|
@@ -312,6 +330,47 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
312
330
|
const raw = minNum + ratio * (maxNum - minNum)
|
|
313
331
|
return Math.floor(raw)
|
|
314
332
|
},
|
|
333
|
+
handleShowTip (btnElem: HTMLDivElement) {
|
|
334
|
+
const $xeSlider = this
|
|
335
|
+
const props = $xeSlider
|
|
336
|
+
const internalData = $xeSlider.internalData
|
|
337
|
+
|
|
338
|
+
const { showTooltip } = props
|
|
339
|
+
if (showTooltip) {
|
|
340
|
+
if (VxeUI.tooltip) {
|
|
341
|
+
const { currValue } = internalData
|
|
342
|
+
const tooltipOpts = $xeSlider.computeTooltipOpts
|
|
343
|
+
const { contentMethod } = tooltipOpts
|
|
344
|
+
const content = getText(contentMethod
|
|
345
|
+
? contentMethod({
|
|
346
|
+
$slider: $xeSlider,
|
|
347
|
+
value: currValue
|
|
348
|
+
})
|
|
349
|
+
: '' + currValue)
|
|
350
|
+
if (content) {
|
|
351
|
+
VxeUI.tooltip.open(btnElem, Object.assign({}, {
|
|
352
|
+
...tooltipOpts,
|
|
353
|
+
content
|
|
354
|
+
}, {
|
|
355
|
+
contentMethod: undefined
|
|
356
|
+
}))
|
|
357
|
+
} else {
|
|
358
|
+
VxeUI.tooltip.close()
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
},
|
|
363
|
+
handleHideTip () {
|
|
364
|
+
const $xeSlider = this
|
|
365
|
+
const props = $xeSlider
|
|
366
|
+
|
|
367
|
+
const { showTooltip } = props
|
|
368
|
+
if (showTooltip) {
|
|
369
|
+
if (VxeUI.tooltip) {
|
|
370
|
+
VxeUI.tooltip.close()
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
},
|
|
315
374
|
handleBtnMousedownEvent (evnt: MouseEvent) {
|
|
316
375
|
const $xeSlider = this
|
|
317
376
|
const props = $xeSlider
|
|
@@ -352,10 +411,12 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
352
411
|
$xeSlider.changeEvent(evnt)
|
|
353
412
|
}
|
|
354
413
|
$xeSlider.updateTrackStyle()
|
|
414
|
+
$xeSlider.handleShowTip(btnElem)
|
|
355
415
|
}
|
|
356
416
|
document.onmouseup = (evnt: MouseEvent) => {
|
|
357
417
|
document.onmousemove = null
|
|
358
418
|
document.onmouseup = null
|
|
419
|
+
internalData.isDragStatus = false
|
|
359
420
|
$xeSlider.dispatchEvent('track-dragend', {
|
|
360
421
|
currentValue: internalData.currValue,
|
|
361
422
|
startValue: internalData.startValue,
|
|
@@ -363,12 +424,37 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
363
424
|
}, evnt)
|
|
364
425
|
$xeSlider.changeEvent(evnt)
|
|
365
426
|
$xeSlider.updateTrackStyle()
|
|
427
|
+
if (!internalData.isBtnActive) {
|
|
428
|
+
$xeSlider.handleHideTip()
|
|
429
|
+
}
|
|
366
430
|
}
|
|
367
431
|
$xeSlider.dispatchEvent('track-dragstart', {
|
|
368
432
|
currentValue: internalData.currValue,
|
|
369
433
|
startValue: internalData.startValue,
|
|
370
434
|
endValue: internalData.endValue
|
|
371
435
|
}, evnt)
|
|
436
|
+
internalData.isDragStatus = false
|
|
437
|
+
}
|
|
438
|
+
},
|
|
439
|
+
handleBtnMouseenterEvent (evnt: MouseEvent) {
|
|
440
|
+
const $xeSlider = this
|
|
441
|
+
const internalData = $xeSlider.internalData
|
|
442
|
+
|
|
443
|
+
const { startValue, endValue } = internalData
|
|
444
|
+
const btnElem = evnt.currentTarget as HTMLDivElement
|
|
445
|
+
const btnType = btnElem.getAttribute('data-type')
|
|
446
|
+
internalData.currValue = btnType === '1' ? startValue : endValue
|
|
447
|
+
internalData.isBtnActive = true
|
|
448
|
+
$xeSlider.handleShowTip(btnElem)
|
|
449
|
+
},
|
|
450
|
+
handleBtnMouseleaveEvent () {
|
|
451
|
+
const $xeSlider = this
|
|
452
|
+
const internalData = $xeSlider.internalData
|
|
453
|
+
|
|
454
|
+
const { isDragStatus } = internalData
|
|
455
|
+
internalData.isBtnActive = false
|
|
456
|
+
if (!isDragStatus) {
|
|
457
|
+
$xeSlider.handleHideTip()
|
|
372
458
|
}
|
|
373
459
|
},
|
|
374
460
|
|
|
@@ -379,7 +465,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
379
465
|
const $xeSlider = this
|
|
380
466
|
const props = $xeSlider
|
|
381
467
|
|
|
382
|
-
const { vertical, range } = props
|
|
468
|
+
const { status, vertical, range } = props
|
|
383
469
|
const vSize = $xeSlider.computeSize
|
|
384
470
|
const formReadonly = $xeSlider.computeFormReadonly
|
|
385
471
|
const isDisabled = $xeSlider.computeIsDisabled
|
|
@@ -387,6 +473,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
387
473
|
ref: 'refElem',
|
|
388
474
|
class: ['vxe-slider', {
|
|
389
475
|
[`size--${vSize}`]: vSize,
|
|
476
|
+
[`theme--${status}`]: status,
|
|
390
477
|
'is--vertical': vertical,
|
|
391
478
|
'is--readonly': formReadonly,
|
|
392
479
|
'is--disabled': isDisabled
|
|
@@ -412,6 +499,8 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
412
499
|
'data-type': '1'
|
|
413
500
|
},
|
|
414
501
|
on: {
|
|
502
|
+
mouseenter: $xeSlider.handleBtnMouseenterEvent,
|
|
503
|
+
mouseleave: $xeSlider.handleBtnMouseleaveEvent,
|
|
415
504
|
mousedown: $xeSlider.handleBtnMousedownEvent
|
|
416
505
|
}
|
|
417
506
|
}),
|
|
@@ -424,6 +513,8 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
424
513
|
'data-type': '2'
|
|
425
514
|
},
|
|
426
515
|
on: {
|
|
516
|
+
mouseenter: $xeSlider.handleBtnMouseenterEvent,
|
|
517
|
+
mouseleave: $xeSlider.handleBtnMouseleaveEvent,
|
|
427
518
|
mousedown: $xeSlider.handleBtnMousedownEvent
|
|
428
519
|
}
|
|
429
520
|
})
|
|
@@ -45,6 +45,26 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
45
45
|
align: {
|
|
46
46
|
type: String as PropType<VxeSpacePropTypes.Align>,
|
|
47
47
|
default: () => getConfig().space.align
|
|
48
|
+
},
|
|
49
|
+
fill: {
|
|
50
|
+
type: Boolean as PropType<VxeSpacePropTypes.Fill>,
|
|
51
|
+
default: () => getConfig().space.fill
|
|
52
|
+
},
|
|
53
|
+
itemWidth: {
|
|
54
|
+
type: [String, Number] as PropType<VxeSpacePropTypes.ItemWidth>,
|
|
55
|
+
default: () => getConfig().space.itemWidth
|
|
56
|
+
},
|
|
57
|
+
itemMinWidth: {
|
|
58
|
+
type: [String, Number] as PropType<VxeSpacePropTypes.ItemMinWidth>,
|
|
59
|
+
default: () => getConfig().space.itemMinWidth
|
|
60
|
+
},
|
|
61
|
+
itemMaxWidth: {
|
|
62
|
+
type: [String, Number] as PropType<VxeSpacePropTypes.ItemMaxWidth>,
|
|
63
|
+
default: () => getConfig().space.itemMaxWidth
|
|
64
|
+
},
|
|
65
|
+
separatorWidth: {
|
|
66
|
+
type: [String, Number] as PropType<VxeSpacePropTypes.SeparatorWidth>,
|
|
67
|
+
default: () => getConfig().space.separatorWidth
|
|
48
68
|
}
|
|
49
69
|
},
|
|
50
70
|
data () {
|
|
@@ -111,10 +131,24 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
111
131
|
const props = $xeSpace
|
|
112
132
|
const slots = $xeSpace.$scopedSlots
|
|
113
133
|
|
|
114
|
-
const { separator, itemClassName } = props
|
|
134
|
+
const { separator, itemClassName, itemWidth, itemMinWidth, itemMaxWidth, separatorWidth } = props
|
|
115
135
|
const itemVNs: VNode[] = []
|
|
116
136
|
const defaultSlot = slots.default
|
|
117
137
|
const separatorSlot = slots.separator
|
|
138
|
+
const srStys: VxeComponentStyleType = {}
|
|
139
|
+
if (separatorWidth) {
|
|
140
|
+
srStys.width = toCssUnit(itemWidth)
|
|
141
|
+
}
|
|
142
|
+
const itemStys: VxeComponentStyleType = {}
|
|
143
|
+
if (itemWidth) {
|
|
144
|
+
itemStys.width = toCssUnit(itemWidth)
|
|
145
|
+
}
|
|
146
|
+
if (itemMinWidth) {
|
|
147
|
+
itemStys.minWidth = toCssUnit(itemMinWidth)
|
|
148
|
+
}
|
|
149
|
+
if (itemMaxWidth) {
|
|
150
|
+
itemStys.maxWidth = toCssUnit(itemMaxWidth)
|
|
151
|
+
}
|
|
118
152
|
if (defaultSlot) {
|
|
119
153
|
XEUtils.each(defaultSlot({}), (itemVN, index, items) => {
|
|
120
154
|
itemVNs.push(
|
|
@@ -139,7 +173,7 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
139
173
|
const $xeSpace = this
|
|
140
174
|
const props = $xeSpace
|
|
141
175
|
|
|
142
|
-
const { vertical, wrap, className } = props
|
|
176
|
+
const { vertical, wrap, className, fill, itemWidth, itemMinWidth, itemMaxWidth } = props
|
|
143
177
|
const wrapperStyle = $xeSpace.computeWrapperStyle
|
|
144
178
|
const vSize = $xeSpace.computeSize
|
|
145
179
|
return h('div', {
|
|
@@ -147,7 +181,9 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
147
181
|
class: ['vxe-space', getPropClass(className, {}), {
|
|
148
182
|
[`size--${vSize}`]: vSize,
|
|
149
183
|
'is--wrap': wrap,
|
|
150
|
-
'is--vertical': vertical
|
|
184
|
+
'is--vertical': vertical,
|
|
185
|
+
'is--fill': fill,
|
|
186
|
+
'is--width': itemWidth || itemMinWidth || itemMaxWidth
|
|
151
187
|
}],
|
|
152
188
|
style: wrapperStyle
|
|
153
189
|
}, $xeSpace.renderItems(h))
|
|
@@ -569,23 +569,6 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
569
569
|
$xeTableSelect.clearValueEvent(evnt, null)
|
|
570
570
|
$xeTableSelect.hideOptionPanel()
|
|
571
571
|
},
|
|
572
|
-
handleGlobalMousewheelEvent (evnt: MouseEvent) {
|
|
573
|
-
const $xeTableSelect = this
|
|
574
|
-
const reactData = $xeTableSelect.reactData
|
|
575
|
-
|
|
576
|
-
const { visiblePanel } = reactData
|
|
577
|
-
const isDisabled = $xeTableSelect.computeIsDisabled
|
|
578
|
-
if (!isDisabled) {
|
|
579
|
-
if (visiblePanel) {
|
|
580
|
-
const panelElem = $xeTableSelect.$refs.refOptionPanel as HTMLDivElement
|
|
581
|
-
if (getEventTargetNode(evnt, panelElem).flag) {
|
|
582
|
-
$xeTableSelect.updatePlacement()
|
|
583
|
-
} else {
|
|
584
|
-
$xeTableSelect.hideOptionPanel()
|
|
585
|
-
}
|
|
586
|
-
}
|
|
587
|
-
}
|
|
588
|
-
},
|
|
589
572
|
handleGlobalMousedownEvent (evnt: MouseEvent) {
|
|
590
573
|
const $xeTableSelect = this
|
|
591
574
|
const reactData = $xeTableSelect.reactData
|
|
@@ -628,6 +611,15 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
628
611
|
$xeTableSelect.updatePlacement()
|
|
629
612
|
}
|
|
630
613
|
},
|
|
614
|
+
handleGlobalScrollEvent () {
|
|
615
|
+
const $xeTableSelect = this
|
|
616
|
+
const reactData = $xeTableSelect.reactData
|
|
617
|
+
|
|
618
|
+
const { visiblePanel } = reactData
|
|
619
|
+
if (visiblePanel) {
|
|
620
|
+
$xeTableSelect.updatePlacement()
|
|
621
|
+
}
|
|
622
|
+
},
|
|
631
623
|
focusEvent (evnt: FocusEvent) {
|
|
632
624
|
const $xeTableSelect = this
|
|
633
625
|
const reactData = $xeTableSelect.reactData
|
|
@@ -898,10 +890,10 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
898
890
|
reactData.initialized = true
|
|
899
891
|
}
|
|
900
892
|
}
|
|
901
|
-
globalEvents.on($xeTableSelect, 'mousewheel', $xeTableSelect.handleGlobalMousewheelEvent)
|
|
902
893
|
globalEvents.on($xeTableSelect, 'mousedown', $xeTableSelect.handleGlobalMousedownEvent)
|
|
903
894
|
globalEvents.on($xeTableSelect, 'blur', $xeTableSelect.handleGlobalBlurEvent)
|
|
904
895
|
globalEvents.on($xeTableSelect, 'resize', $xeTableSelect.handleGlobalResizeEvent)
|
|
896
|
+
globalEvents.on($xeTableSelect, 'scroll', $xeTableSelect.handleGlobalScrollEvent)
|
|
905
897
|
},
|
|
906
898
|
beforeDestroy () {
|
|
907
899
|
const $xeTableSelect = this
|
|
@@ -912,10 +904,10 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
912
904
|
if (panelElem && panelElem.parentNode) {
|
|
913
905
|
panelElem.parentNode.removeChild(panelElem)
|
|
914
906
|
}
|
|
915
|
-
globalEvents.off($xeTableSelect, 'mousewheel')
|
|
916
907
|
globalEvents.off($xeTableSelect, 'mousedown')
|
|
917
908
|
globalEvents.off($xeTableSelect, 'blur')
|
|
918
909
|
globalEvents.off($xeTableSelect, 'resize')
|
|
910
|
+
globalEvents.off($xeTableSelect, 'scroll')
|
|
919
911
|
XEUtils.assign(reactData, createReactData())
|
|
920
912
|
XEUtils.assign(internalData, createInternalData())
|
|
921
913
|
},
|
|
@@ -729,23 +729,6 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
729
729
|
$tree.clearAllExpandNode()
|
|
730
730
|
}
|
|
731
731
|
},
|
|
732
|
-
handleGlobalMousewheelEvent (evnt: MouseEvent) {
|
|
733
|
-
const $xeTreeSelect = this
|
|
734
|
-
const reactData = $xeTreeSelect.reactData
|
|
735
|
-
|
|
736
|
-
const { visiblePanel } = reactData
|
|
737
|
-
const isDisabled = $xeTreeSelect.computeIsDisabled
|
|
738
|
-
if (!isDisabled) {
|
|
739
|
-
if (visiblePanel) {
|
|
740
|
-
const panelElem = $xeTreeSelect.$refs.refOptionPanel as HTMLElement
|
|
741
|
-
if (getEventTargetNode(evnt, panelElem).flag) {
|
|
742
|
-
$xeTreeSelect.updatePlacement()
|
|
743
|
-
} else {
|
|
744
|
-
$xeTreeSelect.hideOptionPanel(evnt)
|
|
745
|
-
}
|
|
746
|
-
}
|
|
747
|
-
}
|
|
748
|
-
},
|
|
749
732
|
handleGlobalMousedownEvent (evnt: MouseEvent) {
|
|
750
733
|
const $xeTreeSelect = this
|
|
751
734
|
const reactData = $xeTreeSelect.reactData
|
|
@@ -788,6 +771,15 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
788
771
|
$xeTreeSelect.updatePlacement()
|
|
789
772
|
}
|
|
790
773
|
},
|
|
774
|
+
handleGlobalScrollEvent () {
|
|
775
|
+
const $xeTreeSelect = this
|
|
776
|
+
const reactData = $xeTreeSelect.reactData
|
|
777
|
+
|
|
778
|
+
const { visiblePanel } = reactData
|
|
779
|
+
if (visiblePanel) {
|
|
780
|
+
$xeTreeSelect.updatePlacement()
|
|
781
|
+
}
|
|
782
|
+
},
|
|
791
783
|
handleFocusSearch () {
|
|
792
784
|
const $xeSelect = this
|
|
793
785
|
const props = $xeSelect
|
|
@@ -1233,10 +1225,10 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
1233
1225
|
if (XEUtils.isBoolean(props.autoClose)) {
|
|
1234
1226
|
warnLog('vxe.error.delProp', ['auto-close', 'checked-closable | clear-closable'])
|
|
1235
1227
|
}
|
|
1236
|
-
globalEvents.on($xeTreeSelect, 'mousewheel', $xeTreeSelect.handleGlobalMousewheelEvent)
|
|
1237
1228
|
globalEvents.on($xeTreeSelect, 'mousedown', $xeTreeSelect.handleGlobalMousedownEvent)
|
|
1238
1229
|
globalEvents.on($xeTreeSelect, 'blur', $xeTreeSelect.handleGlobalBlurEvent)
|
|
1239
1230
|
globalEvents.on($xeTreeSelect, 'resize', $xeTreeSelect.handleGlobalResizeEvent)
|
|
1231
|
+
globalEvents.on($xeTreeSelect, 'scroll', $xeTreeSelect.handleGlobalScrollEvent)
|
|
1240
1232
|
},
|
|
1241
1233
|
beforeDestroy () {
|
|
1242
1234
|
const $xeTreeSelect = this
|
|
@@ -1247,10 +1239,10 @@ export default /* define-vxe-component start */ defineVxeComponent({
|
|
|
1247
1239
|
if (panelElem && panelElem.parentNode) {
|
|
1248
1240
|
panelElem.parentNode.removeChild(panelElem)
|
|
1249
1241
|
}
|
|
1250
|
-
globalEvents.off($xeTreeSelect, 'mousewheel')
|
|
1251
1242
|
globalEvents.off($xeTreeSelect, 'mousedown')
|
|
1252
1243
|
globalEvents.off($xeTreeSelect, 'blur')
|
|
1253
1244
|
globalEvents.off($xeTreeSelect, 'resize')
|
|
1245
|
+
globalEvents.off($xeTreeSelect, 'scroll')
|
|
1254
1246
|
XEUtils.assign(reactData, createReactData())
|
|
1255
1247
|
XEUtils.assign(internalData, createInternalData())
|
|
1256
1248
|
},
|
package/packages/ui/index.ts
CHANGED
package/packages/ui/src/dom.ts
CHANGED
|
@@ -223,7 +223,7 @@ export function updatePanelPlacement (targetElem: HTMLElement | null | undefined
|
|
|
223
223
|
minWidth = targetElem.offsetWidth
|
|
224
224
|
|
|
225
225
|
if (teleportTo) {
|
|
226
|
-
left = defaultLeft || (targetLeft)
|
|
226
|
+
left = defaultLeft || (targetLeft - (panelWidth - targetWidth) / 2)
|
|
227
227
|
top = defaultTop || (targetTop + targetHeight)
|
|
228
228
|
if (placement === 'top') {
|
|
229
229
|
panelPlacement = 'top'
|
|
@@ -64,12 +64,25 @@ $sliderThemeList: (
|
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
66
|
.vxe-slider--bar-btn {
|
|
67
|
-
|
|
67
|
+
border-color: map.get($item, textColor);
|
|
68
|
+
}
|
|
69
|
+
&.is--disabled {
|
|
70
|
+
.vxe-slider--bar-track {
|
|
71
|
+
background-color: map.get($item, disabledColor);
|
|
72
|
+
}
|
|
73
|
+
.vxe-slider--bar-btn {
|
|
74
|
+
border-color: map.get($item, disabledColor);
|
|
75
|
+
cursor: not-allowed;
|
|
76
|
+
}
|
|
68
77
|
}
|
|
69
78
|
}
|
|
70
79
|
}
|
|
71
80
|
&.is--disabled {
|
|
81
|
+
.vxe-slider--bar-track {
|
|
82
|
+
background-color: var(--vxe-ui-font-primary-disabled-color);
|
|
83
|
+
}
|
|
72
84
|
.vxe-slider--bar-btn {
|
|
85
|
+
border-color: var(--vxe-ui-font-primary-disabled-color);
|
|
73
86
|
cursor: not-allowed;
|
|
74
87
|
}
|
|
75
88
|
}
|
|
@@ -84,6 +97,7 @@ $sliderThemeList: (
|
|
|
84
97
|
}
|
|
85
98
|
&:active {
|
|
86
99
|
transform: translate(-50%, -50%) scale(1.1);
|
|
100
|
+
cursor: grab;
|
|
87
101
|
}
|
|
88
102
|
}
|
|
89
103
|
}
|
|
@@ -94,7 +94,7 @@ export namespace VxeNumberInputPropTypes {
|
|
|
94
94
|
export type ShowTooltip = boolean
|
|
95
95
|
export interface TooltipConfig extends Omit<VxeTooltipProps, 'content' | 'transfer' | 'appendTo'> {
|
|
96
96
|
contentMethod?: (params: {
|
|
97
|
-
$
|
|
97
|
+
$numberInput: VxeNumberInputConstructor
|
|
98
98
|
type: VxeNumberInputPropTypes.Type
|
|
99
99
|
value: VxeNumberInputPropTypes.ModelValue
|
|
100
100
|
label: string
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { DefineVxeComponentApp, DefineVxeComponentOptions, DefineVxeComponentInstance, VxeComponentSizeType, VxeComponentStatusType, VxeComponentEventParams } from '@vxe-ui/core'
|
|
2
|
+
import { VxeTooltipProps } from './tooltip'
|
|
2
3
|
|
|
3
4
|
/* eslint-disable @typescript-eslint/no-empty-interface,no-use-before-define,@typescript-eslint/ban-types */
|
|
4
5
|
|
|
@@ -30,6 +31,13 @@ export namespace VxeSliderPropTypes {
|
|
|
30
31
|
export type Readonly = boolean
|
|
31
32
|
export type Disabled = boolean
|
|
32
33
|
export type Immediate = boolean
|
|
34
|
+
export type ShowTooltip = boolean
|
|
35
|
+
export interface TooltipConfig extends Omit<VxeTooltipProps, 'content' | 'transfer' | 'appendTo'> {
|
|
36
|
+
contentMethod?: (params: {
|
|
37
|
+
$slider: VxeSliderConstructor
|
|
38
|
+
value: number
|
|
39
|
+
}) => string | number | null | undefined
|
|
40
|
+
}
|
|
33
41
|
}
|
|
34
42
|
|
|
35
43
|
export interface VxeSliderProps {
|
|
@@ -46,6 +54,8 @@ export interface VxeSliderProps {
|
|
|
46
54
|
readonly?: VxeSliderPropTypes.Readonly
|
|
47
55
|
disabled?: VxeSliderPropTypes.Disabled
|
|
48
56
|
immediate?: VxeSliderPropTypes.Immediate
|
|
57
|
+
showTooltip?: VxeSliderPropTypes.ShowTooltip
|
|
58
|
+
tooltipConfig?: VxeSliderPropTypes.TooltipConfig
|
|
49
59
|
}
|
|
50
60
|
|
|
51
61
|
export interface SliderPrivateComputed {
|
|
@@ -56,6 +66,8 @@ export interface SliderReactData {
|
|
|
56
66
|
}
|
|
57
67
|
export interface SliderInternalData {
|
|
58
68
|
_isUp?: boolean
|
|
69
|
+
isDragStatus: boolean
|
|
70
|
+
isBtnActive: boolean
|
|
59
71
|
currValue: number
|
|
60
72
|
startValue: number
|
|
61
73
|
endValue: number
|
|
@@ -24,6 +24,11 @@ export namespace VxeSpacePropTypes {
|
|
|
24
24
|
export type ItemClassName = string
|
|
25
25
|
export type Separator = string
|
|
26
26
|
export type Align = 'stretch' | 'start' | 'end' | 'center' | 'baseline' | '' | null
|
|
27
|
+
export type Fill = boolean
|
|
28
|
+
export type ItemWidth = string | number
|
|
29
|
+
export type ItemMinWidth = string | number
|
|
30
|
+
export type ItemMaxWidth = string | number
|
|
31
|
+
export type SeparatorWidth = string | number
|
|
27
32
|
}
|
|
28
33
|
|
|
29
34
|
export interface VxeSpaceProps {
|
|
@@ -47,6 +52,11 @@ export interface VxeSpaceProps {
|
|
|
47
52
|
*/
|
|
48
53
|
separator?: VxeSpacePropTypes.Separator
|
|
49
54
|
align?: VxeSpacePropTypes.Align
|
|
55
|
+
fill?: VxeSpacePropTypes.Fill
|
|
56
|
+
itemWidth?: VxeSpacePropTypes.ItemWidth
|
|
57
|
+
itemMinWidth?: VxeSpacePropTypes.ItemMinWidth
|
|
58
|
+
itemMaxWidth?: VxeSpacePropTypes.ItemMaxWidth
|
|
59
|
+
separatorWidth?: VxeSpacePropTypes.SeparatorWidth
|
|
50
60
|
}
|
|
51
61
|
|
|
52
62
|
export interface SpacePrivateComputed {
|
|
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
|